diff --git a/2018/09/asg-container_runtimes/container-runtimes.pdf b/2018/09/asg-container_runtimes/container-runtimes.pdf new file mode 100644 index 0000000..7ad6b35 Binary files /dev/null and b/2018/09/asg-container_runtimes/container-runtimes.pdf differ diff --git a/2018/09/asg-container_runtimes/container-runtimes/0c750f65e1f4c6b7362abbc9c5963392.png b/2018/09/asg-container_runtimes/container-runtimes/0c750f65e1f4c6b7362abbc9c5963392.png new file mode 100644 index 0000000..84aae77 Binary files /dev/null and b/2018/09/asg-container_runtimes/container-runtimes/0c750f65e1f4c6b7362abbc9c5963392.png differ diff --git a/2018/09/asg-container_runtimes/container-runtimes/339e84e5deca8af62480a1dc3fb7af96.gif b/2018/09/asg-container_runtimes/container-runtimes/339e84e5deca8af62480a1dc3fb7af96.gif new file mode 120000 index 0000000..97e7e94 --- /dev/null +++ b/2018/09/asg-container_runtimes/container-runtimes/339e84e5deca8af62480a1dc3fb7af96.gif @@ -0,0 +1 @@ +../../../../2016/05-Container_past_present_future-coreosfest-de/containers-past-present-and-future/339e84e5deca8af62480a1dc3fb7af96.gif \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/container-runtimes/41bdbfee7c1333d20604b26b7ed5087c.gif b/2018/09/asg-container_runtimes/container-runtimes/41bdbfee7c1333d20604b26b7ed5087c.gif new file mode 120000 index 0000000..61f584c --- /dev/null +++ b/2018/09/asg-container_runtimes/container-runtimes/41bdbfee7c1333d20604b26b7ed5087c.gif @@ -0,0 +1 @@ +../../../../2016/09-Common_container_standards_past_presnt_and_future-ContainerCon.eu/containers-past-present-and-future-3-6-7/41bdbfee7c1333d20604b26b7ed5087c.gif \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/container-runtimes/5e1a7c37f8b075137176a16db5edc490.svg b/2018/09/asg-container_runtimes/container-runtimes/5e1a7c37f8b075137176a16db5edc490.svg new file mode 120000 index 0000000..003e81d --- /dev/null +++ b/2018/09/asg-container_runtimes/container-runtimes/5e1a7c37f8b075137176a16db5edc490.svg @@ -0,0 +1 @@ +../../../../2016/05-Container_past_present_future-coreosfest-de/containers-past-present-and-future/5e1a7c37f8b075137176a16db5edc490.svg \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/container-runtimes/60672f0849c5b758b11dc0905dc42c02.svg b/2018/09/asg-container_runtimes/container-runtimes/60672f0849c5b758b11dc0905dc42c02.svg new file mode 120000 index 0000000..472a4c3 --- /dev/null +++ b/2018/09/asg-container_runtimes/container-runtimes/60672f0849c5b758b11dc0905dc42c02.svg @@ -0,0 +1 @@ +../../../../2016/05-Container_past_present_future-coreosfest-de/containers-past-present-and-future/60672f0849c5b758b11dc0905dc42c02.svg \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/container-runtimes/798496c4607c11d48ebc0056daad3a57.png b/2018/09/asg-container_runtimes/container-runtimes/798496c4607c11d48ebc0056daad3a57.png new file mode 120000 index 0000000..761755a --- /dev/null +++ b/2018/09/asg-container_runtimes/container-runtimes/798496c4607c11d48ebc0056daad3a57.png @@ -0,0 +1 @@ +../../../../2017/03-state_of_container_ecosystem_oci_pov/containers-standards-on-the-horizon-12/798496c4607c11d48ebc0056daad3a57.png \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/index.html b/2018/09/asg-container_runtimes/index.html new file mode 100644 index 0000000..5a13847 --- /dev/null +++ b/2018/09/asg-container_runtimes/index.html @@ -0,0 +1,2458 @@ + + + + + + + Container Runtimes (ASG 2018) + + + + + + + + + + + + + +
+
+
+ + +
+

CONTAINer Runtimes

+ +

Draw Some Lines

+ +

 

+ +

 

+ +

bit.ly/asg2018-vbatts-CR

+ +

 

+ +

Vincent Batts @vbatts

+
+
+
+
$> finger $(whoami)
+Login: vbatts                           Name: Vincent Batts
+Directory: /home/vbatts                 Shell: /bin/bash
+Such mail.
+Plan:
+OHMAN
+$> id -Gn
+devel opencontainers docker appc redhat golang slackware
+
+

Containers

+
+ + + + + + + + + + + + +
+
+
+

Containers

+
+ + + + + + + + + + + + +
+
+
+

Container Runtimes

+
+ + + + + + + + + + + + + +
+

chroot + unshare (mnt ns) + cgroups

+
+
+

a history

+
+
+

LXC

+ + +
+
+

systemd-nspawn

+ + +
+
+

Container Runtimes

+
+ + + + + + + + + + + + + + +
+

a history

+
+ +
+

Docker

+ +
    +
  • all the things
  • +
  • 2013 python script became golang
  • +
  • (not a single good link to the source)
  • +
+
+
+

lmctfy

+ +
    +
  • 2013
  • +
  • academic offering
  • +
  • dead, but still a good example of form over function
  • +
+
+
+

rkt

+ +
    +
  • Dec 2014
  • +
  • spec-first design (appC spec)
  • +
+
+
+

Container Runtimes

+
+ + + + + + + + + + + + + + +
+

a history

+
+ +
+

libcontainer (now runc)

+ +
    +
  • 2014
  • +
  • to have something golang native, rather than shell-out to lxc
  • +
  • (eventually meant more shelling-out)
  • +
  • the original OCI runtime
  • +
+
+
+

  lxd

+ +
    +
  • 2014
  • +
  • container manager built on lxc
  • +
  • (came after Docker made asks of lxc, then abandoned it for libcontainer)
  • +
+
+
+

libct

+ +
    +
  • from odis/openVZ folks
  • +
  • C library of container helpers (not docker or lxc related)
  • +
+
+
+

Container Runtimes

+
+ + + + + + + + + + + + + + +
+

a history

+
+ +
+

OCI Specification

+ + +
+
+

Container Runtime Interface

+
+ + + + + + + + + + + + + + + + +
+

Kubernetes

+ +
    +
  • 2014
  • +
  • was (is?) entirely too docker-centric
  • +
  • with rkt it was clear there were big changes needed
  • +
  • Enter CRI (2016) +
      +
    • gRPC interface for ImageService and RuntimeService
    • +
    +
  • +
+
+
+

migration via dockershim

+ +
    +
  • completely switched to docker via CRI in v1.8
  • +
+
+
+
+

(source)

+
+
+

Container Runtime Interface

+
+ + + + + + + + + + + + + + + + +
+

cri-o (originally oci-d)

+ +
    +
  • kubernetes only use-case
  • +
  • OCI images and runtime
  • +
  • primarily called runc, but is flexible to call other runtimes
  • +
+
+
+

containerd

+ +
    +
  • primarily docker use-case, but includes a CRI shim
  • +
  • OCI and Docker images
  • +
+
+
+

alibaba/pouch

+ +
    +
  • swiss arm knife of sorts
  • +
  • uses kvm pieces
  • +
  • supports 2.6.32+ kernel
  • +
  • imports from runc, docker, p2p backend, and expose a CRI socket
  • +
+
+
+

Container Runtime Interface

+
+ + + + + + + + + + + + + + + + +
+

cri-tools

+ +
    +
  • `crictl`
  • +
  • the cli for working or debugging directly with CRI layer
  • +
+
+ + + + + + + + + + + + + + +
+

OCI RUNTIMES

+
+
+

oracle/railcar

+ +
    +
  • 2017
  • +
  • an OCI runtime
  • +
  • written in rust
  • +
+
+
+

kata-containers (formerly clear containers and hyperV)

+ +
    +
  • mixed years
  • +
  • an OCI runtime
  • +
  • thinVM (qemu with custom machine type)
  • +
+
+
+

nabla-containers (IBM research)

+ +
    +
  • has an OCI runtime
  • +
  • unikernel approach
  • +
  • requires tailored container images with their executor
  • +
+
+ + + + + + + + + + + + + + +
+

OCI RUNTIMES

+
+
+

nvidia fork of runc

+ +
    +
  • inherently an OCI runtime
  • +
  • exposes GPU specific configuration
  • +
+
+
+

google/gvisor (`runsc`)

+ +
    +
  • has an OCI runtime
  • +
  • syscall emulation layer
  • +
  • uses a bit of kvm
  • +
  • feels a bit like thrown over the wall
  • +
+
+
+

windows/hcsshim (`runhcs`)

+ +
    +
  • has an OCI runtime
  • +
  • windows native container API
  • +
+
+ + + + + + + + + + + + + + +
+

OCI RUNTIMES

+
+
+ +
+
+

systemd-nspawn native support (pr9762)

+ +
    +
  • preferable than wrapper
  • +
  • still has a couple of pieces missing like hooks and compatible cli
  • +
+
+ + + + + + + + + + + + + + +
+

non-docker options

+
+
+

podman

+ +
    +
  • easy alias for `docker`
  • +
  • direct invocation
  • +
  • now supports non-root
  • +
+
+
+

buildah

+ +
    +
  • drop-in for `docker build`, as well as shell subcommands
  • +
  • direct invocation
  • +
  • now supports non-root builds
  • +
+
+
+

umoci

+ +
    +
  • utility for working with OCI container images
  • +
  • unpack, modify, repack
  • +
+
+
+

skopeo

+ +
    +
  • initially just remote inspect images
  • +
  • now copies (local <=> remote) and translates formats
  • +
+
+
+

Vincent Batts

+ +

@vbatts| vbatts@redhat.com

+
+
+
+ + + + + + + + + + + + + + + diff --git a/2018/09/asg-container_runtimes/lib/fonts/asul/asul-bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/asul/asul-bold.ttf new file mode 120000 index 0000000..06b62f5 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/asul/asul-bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/asul/asul-bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/asul/asul-bold.woff b/2018/09/asg-container_runtimes/lib/fonts/asul/asul-bold.woff new file mode 120000 index 0000000..bae2cd5 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/asul/asul-bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/asul/asul-bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/asul/asul-regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/asul/asul-regular.ttf new file mode 120000 index 0000000..dd23474 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/asul/asul-regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/asul/asul-regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/asul/asul-regular.woff b/2018/09/asg-container_runtimes/lib/fonts/asul/asul-regular.woff new file mode 120000 index 0000000..689e42b --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/asul/asul-regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/asul/asul-regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/asul/asul.css b/2018/09/asg-container_runtimes/lib/fonts/asul/asul.css new file mode 120000 index 0000000..3942e79 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/asul/asul.css @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/asul/asul.css \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch-bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch-bold.ttf new file mode 120000 index 0000000..494976e --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch-bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/cabinsketch/cabinsketch-bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch-bold.woff b/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch-bold.woff new file mode 120000 index 0000000..6f17ef8 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch-bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/cabinsketch/cabinsketch-bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch-regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch-regular.ttf new file mode 120000 index 0000000..907888e --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch-regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/cabinsketch/cabinsketch-regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch-regular.woff b/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch-regular.woff new file mode 120000 index 0000000..8ee8dc3 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch-regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/cabinsketch/cabinsketch-regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch.css b/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch.css new file mode 120000 index 0000000..670e933 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/cabinsketch/cabinsketch.css @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/cabinsketch/cabinsketch.css \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-bold.ttf new file mode 120000 index 0000000..bf73faf --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/josefinsans/josefinsans-bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-bold.woff b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-bold.woff new file mode 120000 index 0000000..1c5df3b --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/josefinsans/josefinsans-bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-bolditalic.ttf b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-bolditalic.ttf new file mode 120000 index 0000000..83476a4 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-bolditalic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/josefinsans/josefinsans-bolditalic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-bolditalic.woff b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-bolditalic.woff new file mode 120000 index 0000000..502c11a --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-bolditalic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/josefinsans/josefinsans-bolditalic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-italic.ttf b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-italic.ttf new file mode 120000 index 0000000..a94fef4 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-italic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/josefinsans/josefinsans-italic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-italic.woff b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-italic.woff new file mode 120000 index 0000000..47ce5e7 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-italic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/josefinsans/josefinsans-italic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-regular.ttf new file mode 120000 index 0000000..b8cc91a --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/josefinsans/josefinsans-regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-regular.woff b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-regular.woff new file mode 120000 index 0000000..5ef9a99 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans-regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/josefinsans/josefinsans-regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans.css b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans.css new file mode 120000 index 0000000..8130bf9 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/josefinsans/josefinsans.css @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/josefinsans/josefinsans.css \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_AMS-Regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_AMS-Regular.ttf new file mode 120000 index 0000000..9636468 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_AMS-Regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_AMS-Regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_AMS-Regular.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_AMS-Regular.woff new file mode 120000 index 0000000..640fb80 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_AMS-Regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_AMS-Regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Caligraphic-Bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Caligraphic-Bold.ttf new file mode 120000 index 0000000..df5a45e --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Caligraphic-Bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Caligraphic-Bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Caligraphic-Bold.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Caligraphic-Bold.woff new file mode 120000 index 0000000..53a0a6c --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Caligraphic-Bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Caligraphic-Bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Caligraphic-Regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Caligraphic-Regular.ttf new file mode 120000 index 0000000..c931796 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Caligraphic-Regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Caligraphic-Regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Caligraphic-Regular.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Caligraphic-Regular.woff new file mode 120000 index 0000000..43a2e0c --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Caligraphic-Regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Caligraphic-Regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Fraktur-Bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Fraktur-Bold.ttf new file mode 120000 index 0000000..7faa490 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Fraktur-Bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Fraktur-Bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Fraktur-Bold.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Fraktur-Bold.woff new file mode 120000 index 0000000..a850c3f --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Fraktur-Bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Fraktur-Bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Fraktur-Regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Fraktur-Regular.ttf new file mode 120000 index 0000000..d54b144 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Fraktur-Regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Fraktur-Regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Fraktur-Regular.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Fraktur-Regular.woff new file mode 120000 index 0000000..8552164 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Fraktur-Regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Fraktur-Regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Bold.ttf new file mode 120000 index 0000000..a7bcd0b --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Main-Bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Bold.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Bold.woff new file mode 120000 index 0000000..d3c656e --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Main-Bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Italic.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Italic.ttf new file mode 120000 index 0000000..9ffed28 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Italic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Main-Italic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Italic.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Italic.woff new file mode 120000 index 0000000..ace0148 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Italic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Main-Italic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Regular.ttf new file mode 120000 index 0000000..fcb1146 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Main-Regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Regular.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Regular.woff new file mode 120000 index 0000000..ca6f0c6 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Main-Regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Main-Regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-BoldItalic.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-BoldItalic.ttf new file mode 120000 index 0000000..8e84009 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-BoldItalic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Math-BoldItalic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-BoldItalic.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-BoldItalic.woff new file mode 120000 index 0000000..d58dcf3 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-BoldItalic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Math-BoldItalic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-Italic.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-Italic.ttf new file mode 120000 index 0000000..da24463 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-Italic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Math-Italic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-Italic.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-Italic.woff new file mode 120000 index 0000000..a7e8133 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-Italic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Math-Italic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-Regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-Regular.ttf new file mode 120000 index 0000000..17f3d1c --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-Regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Math-Regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-Regular.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-Regular.woff new file mode 120000 index 0000000..e28ab16 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Math-Regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Math-Regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Bold.ttf new file mode 120000 index 0000000..e9b42f8 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_SansSerif-Bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Bold.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Bold.woff new file mode 120000 index 0000000..9707bd8 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_SansSerif-Bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Italic.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Italic.ttf new file mode 120000 index 0000000..28e2494 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Italic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_SansSerif-Italic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Italic.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Italic.woff new file mode 120000 index 0000000..753a89c --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Italic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_SansSerif-Italic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Regular.ttf new file mode 120000 index 0000000..a4baf12 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_SansSerif-Regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Regular.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Regular.woff new file mode 120000 index 0000000..94ca4a4 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_SansSerif-Regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_SansSerif-Regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Script-Regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Script-Regular.ttf new file mode 120000 index 0000000..06acf48 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Script-Regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Script-Regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Script-Regular.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Script-Regular.woff new file mode 120000 index 0000000..9b07c6d --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Script-Regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Script-Regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size1-Regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size1-Regular.ttf new file mode 120000 index 0000000..5bdf0e8 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size1-Regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Size1-Regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size1-Regular.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size1-Regular.woff new file mode 120000 index 0000000..4d7419e --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size1-Regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Size1-Regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size2-Regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size2-Regular.ttf new file mode 120000 index 0000000..3e70568 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size2-Regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Size2-Regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size2-Regular.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size2-Regular.woff new file mode 120000 index 0000000..923cd20 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size2-Regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Size2-Regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size3-Regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size3-Regular.ttf new file mode 120000 index 0000000..1095818 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size3-Regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Size3-Regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size3-Regular.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size3-Regular.woff new file mode 120000 index 0000000..fbc8b72 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size3-Regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Size3-Regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size4-Regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size4-Regular.ttf new file mode 120000 index 0000000..dface4a --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size4-Regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Size4-Regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size4-Regular.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size4-Regular.woff new file mode 120000 index 0000000..1e55789 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Size4-Regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Size4-Regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Typewriter-Regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Typewriter-Regular.ttf new file mode 120000 index 0000000..584088c --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Typewriter-Regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Typewriter-Regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Typewriter-Regular.woff b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Typewriter-Regular.woff new file mode 120000 index 0000000..0c109b1 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/katex/KaTeX_Typewriter-Regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/katex/KaTeX_Typewriter-Regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/lato/lato-bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-bold.ttf new file mode 120000 index 0000000..445659d --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/lato/lato-bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/lato/lato-bold.woff b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-bold.woff new file mode 120000 index 0000000..98df9bf --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/lato/lato-bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/lato/lato-bolditalic.ttf b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-bolditalic.ttf new file mode 120000 index 0000000..1153abe --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-bolditalic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/lato/lato-bolditalic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/lato/lato-bolditalic.woff b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-bolditalic.woff new file mode 120000 index 0000000..6ce3901 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-bolditalic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/lato/lato-bolditalic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/lato/lato-italic.ttf b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-italic.ttf new file mode 120000 index 0000000..5592a8e --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-italic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/lato/lato-italic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/lato/lato-italic.woff b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-italic.woff new file mode 120000 index 0000000..2bec5c5 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-italic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/lato/lato-italic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/lato/lato-regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-regular.ttf new file mode 120000 index 0000000..409dfac --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/lato/lato-regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/lato/lato-regular.woff b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-regular.woff new file mode 120000 index 0000000..8826420 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/lato/lato-regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/lato/lato-regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/lato/lato.css b/2018/09/asg-container_runtimes/lib/fonts/lato/lato.css new file mode 120000 index 0000000..0917ba4 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/lato/lato.css @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/lato/lato.css \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/league/league_gothic.css b/2018/09/asg-container_runtimes/lib/fonts/league/league_gothic.css new file mode 120000 index 0000000..9341bf5 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/league/league_gothic.css @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/league/league_gothic.css \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/league/league_gothic.ttf b/2018/09/asg-container_runtimes/lib/fonts/league/league_gothic.ttf new file mode 120000 index 0000000..a281d8e --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/league/league_gothic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/league/league_gothic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/league/league_gothic.woff b/2018/09/asg-container_runtimes/lib/fonts/league/league_gothic.woff new file mode 120000 index 0000000..6e1c940 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/league/league_gothic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/league/league_gothic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/league/league_gothic_license b/2018/09/asg-container_runtimes/lib/fonts/league/league_gothic_license new file mode 120000 index 0000000..f13bfc2 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/league/league_gothic_license @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/league/league_gothic_license \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans-bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans-bold.ttf new file mode 120000 index 0000000..6a78bd2 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans-bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/merriweathersans/merriweathersans-bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans-bold.woff b/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans-bold.woff new file mode 120000 index 0000000..47fa15a --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans-bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/merriweathersans/merriweathersans-bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans-regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans-regular.ttf new file mode 120000 index 0000000..f46467d --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans-regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/merriweathersans/merriweathersans-regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans-regular.woff b/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans-regular.woff new file mode 120000 index 0000000..2978c87 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans-regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/merriweathersans/merriweathersans-regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans.css b/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans.css new file mode 120000 index 0000000..9db3a46 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/merriweathersans/merriweathersans.css @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/merriweathersans/merriweathersans.css \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat-bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat-bold.ttf new file mode 120000 index 0000000..4e12fe5 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat-bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/montserrat/montserrat-bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat-bold.woff b/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat-bold.woff new file mode 120000 index 0000000..dd2e673 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat-bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/montserrat/montserrat-bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat-regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat-regular.ttf new file mode 120000 index 0000000..f59263c --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat-regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/montserrat/montserrat-regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat-regular.woff b/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat-regular.woff new file mode 120000 index 0000000..f6b9346 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat-regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/montserrat/montserrat-regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat.css b/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat.css new file mode 120000 index 0000000..5761a5c --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/montserrat/montserrat.css @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/montserrat/montserrat.css \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle-bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle-bold.ttf new file mode 120000 index 0000000..ccdf3b2 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle-bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/newscycle/newscycle-bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle-bold.woff b/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle-bold.woff new file mode 120000 index 0000000..824a867 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle-bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/newscycle/newscycle-bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle-regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle-regular.ttf new file mode 120000 index 0000000..da42326 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle-regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/newscycle/newscycle-regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle-regular.woff b/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle-regular.woff new file mode 120000 index 0000000..1a1b00a --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle-regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/newscycle/newscycle-regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle.css b/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle.css new file mode 120000 index 0000000..b7a8b37 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/newscycle/newscycle.css @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/newscycle/newscycle.css \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-bold.ttf new file mode 120000 index 0000000..df6bfd1 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/opensans/opensans-bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-bold.woff b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-bold.woff new file mode 120000 index 0000000..c3f7ed6 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/opensans/opensans-bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-bolditalic.ttf b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-bolditalic.ttf new file mode 120000 index 0000000..f248786 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-bolditalic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/opensans/opensans-bolditalic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-bolditalic.woff b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-bolditalic.woff new file mode 120000 index 0000000..e420f0a --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-bolditalic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/opensans/opensans-bolditalic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-italic.ttf b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-italic.ttf new file mode 120000 index 0000000..c8a67a1 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-italic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/opensans/opensans-italic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-italic.woff b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-italic.woff new file mode 120000 index 0000000..54dfa04 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-italic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/opensans/opensans-italic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-regular.ttf new file mode 120000 index 0000000..9e4c729 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/opensans/opensans-regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-regular.woff b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-regular.woff new file mode 120000 index 0000000..95cab48 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans-regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/opensans/opensans-regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans.css b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans.css new file mode 120000 index 0000000..27b8257 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/opensans/opensans.css @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/opensans/opensans.css \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-bold.ttf new file mode 120000 index 0000000..eec4d6d --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass/overpass-bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-bold.woff b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-bold.woff new file mode 120000 index 0000000..8d6124b --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass/overpass-bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-light.ttf b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-light.ttf new file mode 120000 index 0000000..d522e10 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-light.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass/overpass-light.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-light.woff b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-light.woff new file mode 120000 index 0000000..fafaf7f --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-light.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass/overpass-light.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-regular.ttf new file mode 120000 index 0000000..1955de4 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass/overpass-regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-regular.woff b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-regular.woff new file mode 120000 index 0000000..0419286 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass-regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass/overpass-regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass.css b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass.css new file mode 120000 index 0000000..ab38eca --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass/overpass.css @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass/overpass.css \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-bold.ttf new file mode 120000 index 0000000..ecac98c --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-bold.woff b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-bold.woff new file mode 120000 index 0000000..ce46224 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-bolditalic.ttf b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-bolditalic.ttf new file mode 120000 index 0000000..7483ce9 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-bolditalic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-bolditalic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-bolditalic.woff b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-bolditalic.woff new file mode 120000 index 0000000..148b6ca --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-bolditalic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-bolditalic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-extralight.ttf b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-extralight.ttf new file mode 120000 index 0000000..6af7c3c --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-extralight.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-extralight.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-extralight.woff b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-extralight.woff new file mode 120000 index 0000000..d71bcc7 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-extralight.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-extralight.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-extralightitalic.ttf b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-extralightitalic.ttf new file mode 120000 index 0000000..6936201 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-extralightitalic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-extralightitalic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-extralightitalic.woff b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-extralightitalic.woff new file mode 120000 index 0000000..35b0ecc --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-extralightitalic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-extralightitalic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-italic.ttf b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-italic.ttf new file mode 120000 index 0000000..918a247 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-italic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-italic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-italic.woff b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-italic.woff new file mode 120000 index 0000000..1fa21fb --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-italic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-italic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-light.ttf b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-light.ttf new file mode 120000 index 0000000..6bc1b79 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-light.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-light.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-light.woff b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-light.woff new file mode 120000 index 0000000..4ad14c3 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-light.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-light.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-lightitalic.ttf b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-lightitalic.ttf new file mode 120000 index 0000000..b7e25c6 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-lightitalic.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-lightitalic.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-lightitalic.woff b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-lightitalic.woff new file mode 120000 index 0000000..e5a05e4 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-lightitalic.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-lightitalic.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-regular.ttf new file mode 120000 index 0000000..65dea68 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-regular.woff b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-regular.woff new file mode 120000 index 0000000..5a3a9ae --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2-regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2-regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2.css b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2.css new file mode 120000 index 0000000..bd1ed27 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/overpass2/overpass2.css @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/overpass2/overpass2.css \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen-bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen-bold.ttf new file mode 120000 index 0000000..d6e9946 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen-bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/oxygen/oxygen-bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen-bold.woff b/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen-bold.woff new file mode 120000 index 0000000..0d05bc8 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen-bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/oxygen/oxygen-bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen-regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen-regular.ttf new file mode 120000 index 0000000..33c5a18 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen-regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/oxygen/oxygen-regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen-regular.woff b/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen-regular.woff new file mode 120000 index 0000000..f828f25 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen-regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/oxygen/oxygen-regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen.css b/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen.css new file mode 120000 index 0000000..a90f471 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/oxygen/oxygen.css @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/oxygen/oxygen.css \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand-bold.ttf b/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand-bold.ttf new file mode 120000 index 0000000..b31c2e0 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand-bold.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/quicksand/quicksand-bold.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand-bold.woff b/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand-bold.woff new file mode 120000 index 0000000..1fb689b --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand-bold.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/quicksand/quicksand-bold.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand-regular.ttf b/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand-regular.ttf new file mode 120000 index 0000000..267ceb1 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand-regular.ttf @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/quicksand/quicksand-regular.ttf \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand-regular.woff b/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand-regular.woff new file mode 120000 index 0000000..88e4ece --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand-regular.woff @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/quicksand/quicksand-regular.woff \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand.css b/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand.css new file mode 120000 index 0000000..0c66081 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/fonts/quicksand/quicksand.css @@ -0,0 +1 @@ +../../../../../../2016/05-Container_past_present_future-coreosfest-de/lib/fonts/quicksand/quicksand.css \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/head.min.js b/2018/09/asg-container_runtimes/lib/head.min.js new file mode 120000 index 0000000..9b3c5e9 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/head.min.js @@ -0,0 +1 @@ +../../../../2016/05-Container_past_present_future-coreosfest-de/lib/head.min.js \ No newline at end of file diff --git a/2018/09/asg-container_runtimes/lib/offline-v1.css b/2018/09/asg-container_runtimes/lib/offline-v1.css new file mode 100644 index 0000000..4bbac49 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/offline-v1.css @@ -0,0 +1,11 @@ +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */@import url("fonts/montserrat/montserrat.css");@import url("fonts/opensans/opensans.css");@import url("fonts/lato/lato.css");@import url("fonts/asul/asul.css");@import url("fonts/josefinsans/josefinsans.css");@import url("fonts/league/league_gothic.css");@import url("fonts/merriweathersans/merriweathersans.css");@import url("fonts/overpass/overpass.css");@import url("fonts/overpass2/overpass2.css");@import url("fonts/quicksand/quicksand.css");@import url("fonts/cabinsketch/cabinsketch.css");@import url("fonts/newscycle/newscycle.css");@import url("fonts/oxygen/oxygen.css");article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:0.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace, serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.theme-font-asul .themed,.theme-font-asul.themed,.theme-font-asul .reveal,.theme-font-asul.reveal{font-family:"Asul", sans-serif;font-size:36px;font-weight:normal;letter-spacing:-0.02em}.theme-font-asul .themed h1,.theme-font-asul .themed h2,.theme-font-asul .themed h3,.theme-font-asul .themed h4,.theme-font-asul .themed h5,.theme-font-asul .themed h6,.theme-font-asul.themed h1,.theme-font-asul.themed h2,.theme-font-asul.themed h3,.theme-font-asul.themed h4,.theme-font-asul.themed h5,.theme-font-asul.themed h6,.theme-font-asul .reveal h1,.theme-font-asul .reveal h2,.theme-font-asul .reveal h3,.theme-font-asul .reveal h4,.theme-font-asul .reveal h5,.theme-font-asul .reveal h6,.theme-font-asul.reveal h1,.theme-font-asul.reveal h2,.theme-font-asul.reveal h3,.theme-font-asul.reveal h4,.theme-font-asul.reveal h5,.theme-font-asul.reveal h6{font-family:"Asul", sans-serif;font-weight:normal;line-height:1;letter-spacing:0.02em;text-transform:none;margin:0 0 20px 0}.theme-font-asul .themed h1,.theme-font-asul.themed h1,.theme-font-asul .reveal h1,.theme-font-asul.reveal h1{font-size:115.362px}.theme-font-asul .themed h2,.theme-font-asul.themed h2,.theme-font-asul .reveal h2,.theme-font-asul.reveal h2{font-size:64.566px}.theme-font-asul .themed h3,.theme-font-asul.themed h3,.theme-font-asul .reveal h3,.theme-font-asul.reveal h3{font-size:47.43px}.theme-font-asul .themed h4,.theme-font-asul.themed h4,.theme-font-asul .reveal h4,.theme-font-asul.reveal h4{font-size:30.6px}.theme-font-asul .themed h5,.theme-font-asul.themed h5,.theme-font-asul .reveal h5,.theme-font-asul.reveal h5{font-size:30.6px}.theme-font-asul .themed h6,.theme-font-asul.themed h6,.theme-font-asul .reveal h6,.theme-font-asul.reveal h6{font-size:30.6px}.theme-font-asul .themed h1,.theme-font-asul.themed h1,.theme-font-asul .reveal h1,.theme-font-asul.reveal h1{text-shadow:0px 0px 6px rgba(0,0,0,0.2)}.theme-font-asul .themed section,.theme-font-asul .themed section p,.theme-font-asul .themed section div,.theme-font-asul .themed section a.roll,.theme-font-asul.themed section,.theme-font-asul.themed section p,.theme-font-asul.themed section div,.theme-font-asul.themed section a.roll,.theme-font-asul .reveal section,.theme-font-asul .reveal section p,.theme-font-asul .reveal section div,.theme-font-asul .reveal section a.roll,.theme-font-asul.reveal section,.theme-font-asul.reveal section p,.theme-font-asul.reveal section div,.theme-font-asul.reveal section a.roll{line-height:1.3em}.theme-font-asul .themed section p,.theme-font-asul.themed section p,.theme-font-asul .reveal section p,.theme-font-asul.reveal section p{margin-bottom:10px}.theme-font-asul .themed section font,.theme-font-asul.themed section font,.theme-font-asul .reveal section font,.theme-font-asul.reveal section font{line-height:1}.ua-safari.theme-font-asul .reveal,.ua-safari.theme-font-asul.reveal,.ua-safari .theme-font-asul .reveal,.ua-safari .theme-font-asul.reveal,.ua-phantomjs.theme-font-asul .reveal,.ua-phantomjs.theme-font-asul.reveal,.ua-phantomjs .theme-font-asul .reveal,.ua-phantomjs .theme-font-asul.reveal{letter-spacing:-1px}.theme-font-helvetica .themed,.theme-font-helvetica.themed,.theme-font-helvetica .reveal,.theme-font-helvetica.reveal{font-family:Helvetica, Arial, sans-serif;font-size:36px;font-weight:normal;letter-spacing:-0.02em}.theme-font-helvetica .themed h1,.theme-font-helvetica .themed h2,.theme-font-helvetica .themed h3,.theme-font-helvetica .themed h4,.theme-font-helvetica .themed h5,.theme-font-helvetica .themed h6,.theme-font-helvetica.themed h1,.theme-font-helvetica.themed h2,.theme-font-helvetica.themed h3,.theme-font-helvetica.themed h4,.theme-font-helvetica.themed h5,.theme-font-helvetica.themed h6,.theme-font-helvetica .reveal h1,.theme-font-helvetica .reveal h2,.theme-font-helvetica .reveal h3,.theme-font-helvetica .reveal h4,.theme-font-helvetica .reveal h5,.theme-font-helvetica .reveal h6,.theme-font-helvetica.reveal h1,.theme-font-helvetica.reveal h2,.theme-font-helvetica.reveal h3,.theme-font-helvetica.reveal h4,.theme-font-helvetica.reveal h5,.theme-font-helvetica.reveal h6{font-family:Helvetica, Arial, sans-serif;font-weight:normal;line-height:1;letter-spacing:-0.03em;text-transform:none;margin:0 0 20px 0}.theme-font-helvetica .themed h1,.theme-font-helvetica.themed h1,.theme-font-helvetica .reveal h1,.theme-font-helvetica.reveal h1{font-size:115.362px}.theme-font-helvetica .themed h2,.theme-font-helvetica.themed h2,.theme-font-helvetica .reveal h2,.theme-font-helvetica.reveal h2{font-size:64.566px}.theme-font-helvetica .themed h3,.theme-font-helvetica.themed h3,.theme-font-helvetica .reveal h3,.theme-font-helvetica.reveal h3{font-size:47.43px}.theme-font-helvetica .themed h4,.theme-font-helvetica.themed h4,.theme-font-helvetica .reveal h4,.theme-font-helvetica.reveal h4{font-size:30.6px}.theme-font-helvetica .themed h5,.theme-font-helvetica.themed h5,.theme-font-helvetica .reveal h5,.theme-font-helvetica.reveal h5{font-size:30.6px}.theme-font-helvetica .themed h6,.theme-font-helvetica.themed h6,.theme-font-helvetica .reveal h6,.theme-font-helvetica.reveal h6{font-size:30.6px}.theme-font-helvetica .themed h1,.theme-font-helvetica.themed h1,.theme-font-helvetica .reveal h1,.theme-font-helvetica.reveal h1{text-shadow:0px 0px 6px rgba(0,0,0,0.2)}.theme-font-helvetica .themed section,.theme-font-helvetica .themed section p,.theme-font-helvetica .themed section div,.theme-font-helvetica .themed section a.roll,.theme-font-helvetica.themed section,.theme-font-helvetica.themed section p,.theme-font-helvetica.themed section div,.theme-font-helvetica.themed section a.roll,.theme-font-helvetica .reveal section,.theme-font-helvetica .reveal section p,.theme-font-helvetica .reveal section div,.theme-font-helvetica .reveal section a.roll,.theme-font-helvetica.reveal section,.theme-font-helvetica.reveal section p,.theme-font-helvetica.reveal section div,.theme-font-helvetica.reveal section a.roll{line-height:1.3em}.theme-font-helvetica .themed section p,.theme-font-helvetica.themed section p,.theme-font-helvetica .reveal section p,.theme-font-helvetica.reveal section p{margin-bottom:10px}.theme-font-helvetica .themed section font,.theme-font-helvetica.themed section font,.theme-font-helvetica .reveal section font,.theme-font-helvetica.reveal section font{line-height:1}.ua-safari.theme-font-helvetica .reveal,.ua-safari.theme-font-helvetica.reveal,.ua-safari .theme-font-helvetica .reveal,.ua-safari .theme-font-helvetica.reveal,.ua-phantomjs.theme-font-helvetica .reveal,.ua-phantomjs.theme-font-helvetica.reveal,.ua-phantomjs .theme-font-helvetica .reveal,.ua-phantomjs .theme-font-helvetica.reveal{letter-spacing:-1px}.theme-font-josefine .themed,.theme-font-josefine.themed,.theme-font-josefine .reveal,.theme-font-josefine.reveal{font-family:"Lato", sans-serif;font-size:36px;font-weight:normal;letter-spacing:-0.02em}.theme-font-josefine .themed h1,.theme-font-josefine .themed h2,.theme-font-josefine .themed h3,.theme-font-josefine .themed h4,.theme-font-josefine .themed h5,.theme-font-josefine .themed h6,.theme-font-josefine.themed h1,.theme-font-josefine.themed h2,.theme-font-josefine.themed h3,.theme-font-josefine.themed h4,.theme-font-josefine.themed h5,.theme-font-josefine.themed h6,.theme-font-josefine .reveal h1,.theme-font-josefine .reveal h2,.theme-font-josefine .reveal h3,.theme-font-josefine .reveal h4,.theme-font-josefine .reveal h5,.theme-font-josefine .reveal h6,.theme-font-josefine.reveal h1,.theme-font-josefine.reveal h2,.theme-font-josefine.reveal h3,.theme-font-josefine.reveal h4,.theme-font-josefine.reveal h5,.theme-font-josefine.reveal h6{font-family:"Josefin Sans", sans-serif;font-weight:normal;line-height:1;letter-spacing:-0.03em;text-transform:none;margin:0 0 20px 0}.theme-font-josefine .themed h1,.theme-font-josefine.themed h1,.theme-font-josefine .reveal h1,.theme-font-josefine.reveal h1{font-size:115.362px}.theme-font-josefine .themed h2,.theme-font-josefine.themed h2,.theme-font-josefine .reveal h2,.theme-font-josefine.reveal h2{font-size:64.566px}.theme-font-josefine .themed h3,.theme-font-josefine.themed h3,.theme-font-josefine .reveal h3,.theme-font-josefine.reveal h3{font-size:47.43px}.theme-font-josefine .themed h4,.theme-font-josefine.themed h4,.theme-font-josefine .reveal h4,.theme-font-josefine.reveal h4{font-size:30.6px}.theme-font-josefine .themed h5,.theme-font-josefine.themed h5,.theme-font-josefine .reveal h5,.theme-font-josefine.reveal h5{font-size:30.6px}.theme-font-josefine .themed h6,.theme-font-josefine.themed h6,.theme-font-josefine .reveal h6,.theme-font-josefine.reveal h6{font-size:30.6px}.theme-font-josefine .themed h1,.theme-font-josefine.themed h1,.theme-font-josefine .reveal h1,.theme-font-josefine.reveal h1{text-shadow:0px 0px 6px rgba(0,0,0,0.2)}.theme-font-josefine .themed section,.theme-font-josefine .themed section p,.theme-font-josefine .themed section div,.theme-font-josefine .themed section a.roll,.theme-font-josefine.themed section,.theme-font-josefine.themed section p,.theme-font-josefine.themed section div,.theme-font-josefine.themed section a.roll,.theme-font-josefine .reveal section,.theme-font-josefine .reveal section p,.theme-font-josefine .reveal section div,.theme-font-josefine .reveal section a.roll,.theme-font-josefine.reveal section,.theme-font-josefine.reveal section p,.theme-font-josefine.reveal section div,.theme-font-josefine.reveal section a.roll{line-height:1.3em}.theme-font-josefine .themed section p,.theme-font-josefine.themed section p,.theme-font-josefine .reveal section p,.theme-font-josefine.reveal section p{margin-bottom:10px}.theme-font-josefine .themed section font,.theme-font-josefine.themed section font,.theme-font-josefine .reveal section font,.theme-font-josefine.reveal section font{line-height:1}.ua-safari.theme-font-josefine .reveal,.ua-safari.theme-font-josefine.reveal,.ua-safari .theme-font-josefine .reveal,.ua-safari .theme-font-josefine.reveal,.ua-phantomjs.theme-font-josefine .reveal,.ua-phantomjs.theme-font-josefine.reveal,.ua-phantomjs .theme-font-josefine .reveal,.ua-phantomjs .theme-font-josefine.reveal{letter-spacing:-1px}.theme-font-league .themed,.theme-font-league.themed,.theme-font-league .reveal,.theme-font-league.reveal{font-family:"Lato", sans-serif;font-size:36px;font-weight:normal;letter-spacing:-0.02em}.theme-font-league .themed h1,.theme-font-league .themed h2,.theme-font-league .themed h3,.theme-font-league .themed h4,.theme-font-league .themed h5,.theme-font-league .themed h6,.theme-font-league.themed h1,.theme-font-league.themed h2,.theme-font-league.themed h3,.theme-font-league.themed h4,.theme-font-league.themed h5,.theme-font-league.themed h6,.theme-font-league .reveal h1,.theme-font-league .reveal h2,.theme-font-league .reveal h3,.theme-font-league .reveal h4,.theme-font-league .reveal h5,.theme-font-league .reveal h6,.theme-font-league.reveal h1,.theme-font-league.reveal h2,.theme-font-league.reveal h3,.theme-font-league.reveal h4,.theme-font-league.reveal h5,.theme-font-league.reveal h6{font-family:"League Gothic", Impact, sans-serif;font-weight:normal;line-height:0.9em;letter-spacing:0.02em;text-transform:uppercase;text-shadow:0px 0px 6px rgba(0,0,0,0.2);margin:0 0 20px 0}.theme-font-league .themed h1,.theme-font-league.themed h1,.theme-font-league .reveal h1,.theme-font-league.reveal h1{font-size:135.72px}.theme-font-league .themed h2,.theme-font-league.themed h2,.theme-font-league .reveal h2,.theme-font-league.reveal h2{font-size:75.96px}.theme-font-league .themed h3,.theme-font-league.themed h3,.theme-font-league .reveal h3,.theme-font-league.reveal h3{font-size:55.8px}.theme-font-league .themed h4,.theme-font-league.themed h4,.theme-font-league .reveal h4,.theme-font-league.reveal h4{font-size:36px}.theme-font-league .themed h5,.theme-font-league.themed h5,.theme-font-league .reveal h5,.theme-font-league.reveal h5{font-size:36px}.theme-font-league .themed h6,.theme-font-league.themed h6,.theme-font-league .reveal h6,.theme-font-league.reveal h6{font-size:36px}.theme-font-league .themed h1,.theme-font-league.themed h1,.theme-font-league .reveal h1,.theme-font-league.reveal h1{text-shadow:0px 0px 6px rgba(0,0,0,0.2)}.theme-font-league .themed section,.theme-font-league .themed section p,.theme-font-league .themed section div,.theme-font-league .themed section a.roll,.theme-font-league.themed section,.theme-font-league.themed section p,.theme-font-league.themed section div,.theme-font-league.themed section a.roll,.theme-font-league .reveal section,.theme-font-league .reveal section p,.theme-font-league .reveal section div,.theme-font-league .reveal section a.roll,.theme-font-league.reveal section,.theme-font-league.reveal section p,.theme-font-league.reveal section div,.theme-font-league.reveal section a.roll{line-height:1.3em}.theme-font-league .themed section p,.theme-font-league.themed section p,.theme-font-league .reveal section p,.theme-font-league.reveal section p{margin-bottom:10px}.theme-font-league .themed section font,.theme-font-league.themed section font,.theme-font-league .reveal section font,.theme-font-league.reveal section font{line-height:1}.ua-safari.theme-font-league .reveal,.ua-safari.theme-font-league.reveal,.ua-safari .theme-font-league .reveal,.ua-safari .theme-font-league.reveal,.ua-phantomjs.theme-font-league .reveal,.ua-phantomjs.theme-font-league.reveal,.ua-phantomjs .theme-font-league .reveal,.ua-phantomjs .theme-font-league.reveal{letter-spacing:-1px}.theme-font-merriweather .themed,.theme-font-merriweather.themed,.theme-font-merriweather .reveal,.theme-font-merriweather.reveal{font-family:"Oxygen", sans-serif;font-size:36px;font-weight:normal;letter-spacing:-0.02em}.theme-font-merriweather .themed h1,.theme-font-merriweather .themed h2,.theme-font-merriweather .themed h3,.theme-font-merriweather .themed h4,.theme-font-merriweather .themed h5,.theme-font-merriweather .themed h6,.theme-font-merriweather.themed h1,.theme-font-merriweather.themed h2,.theme-font-merriweather.themed h3,.theme-font-merriweather.themed h4,.theme-font-merriweather.themed h5,.theme-font-merriweather.themed h6,.theme-font-merriweather .reveal h1,.theme-font-merriweather .reveal h2,.theme-font-merriweather .reveal h3,.theme-font-merriweather .reveal h4,.theme-font-merriweather .reveal h5,.theme-font-merriweather .reveal h6,.theme-font-merriweather.reveal h1,.theme-font-merriweather.reveal h2,.theme-font-merriweather.reveal h3,.theme-font-merriweather.reveal h4,.theme-font-merriweather.reveal h5,.theme-font-merriweather.reveal h6{font-family:"Merriweather Sans", sans-serif;font-weight:normal;line-height:1;letter-spacing:-0.03em;text-transform:none;margin:0 0 20px 0}.theme-font-merriweather .themed h1,.theme-font-merriweather.themed h1,.theme-font-merriweather .reveal h1,.theme-font-merriweather.reveal h1{font-size:115.362px}.theme-font-merriweather .themed h2,.theme-font-merriweather.themed h2,.theme-font-merriweather .reveal h2,.theme-font-merriweather.reveal h2{font-size:64.566px}.theme-font-merriweather .themed h3,.theme-font-merriweather.themed h3,.theme-font-merriweather .reveal h3,.theme-font-merriweather.reveal h3{font-size:47.43px}.theme-font-merriweather .themed h4,.theme-font-merriweather.themed h4,.theme-font-merriweather .reveal h4,.theme-font-merriweather.reveal h4{font-size:30.6px}.theme-font-merriweather .themed h5,.theme-font-merriweather.themed h5,.theme-font-merriweather .reveal h5,.theme-font-merriweather.reveal h5{font-size:30.6px}.theme-font-merriweather .themed h6,.theme-font-merriweather.themed h6,.theme-font-merriweather .reveal h6,.theme-font-merriweather.reveal h6{font-size:30.6px}.theme-font-merriweather .themed h1,.theme-font-merriweather.themed h1,.theme-font-merriweather .reveal h1,.theme-font-merriweather.reveal h1{text-shadow:0px 0px 6px rgba(0,0,0,0.2)}.theme-font-merriweather .themed section,.theme-font-merriweather .themed section p,.theme-font-merriweather .themed section div,.theme-font-merriweather .themed section a.roll,.theme-font-merriweather.themed section,.theme-font-merriweather.themed section p,.theme-font-merriweather.themed section div,.theme-font-merriweather.themed section a.roll,.theme-font-merriweather .reveal section,.theme-font-merriweather .reveal section p,.theme-font-merriweather .reveal section div,.theme-font-merriweather .reveal section a.roll,.theme-font-merriweather.reveal section,.theme-font-merriweather.reveal section p,.theme-font-merriweather.reveal section div,.theme-font-merriweather.reveal section a.roll{line-height:1.3em}.theme-font-merriweather .themed section p,.theme-font-merriweather.themed section p,.theme-font-merriweather .reveal section p,.theme-font-merriweather.reveal section p{margin-bottom:10px}.theme-font-merriweather .themed section font,.theme-font-merriweather.themed section font,.theme-font-merriweather .reveal section font,.theme-font-merriweather.reveal section font{line-height:1}.ua-safari.theme-font-merriweather .reveal,.ua-safari.theme-font-merriweather.reveal,.ua-safari .theme-font-merriweather .reveal,.ua-safari .theme-font-merriweather.reveal,.ua-phantomjs.theme-font-merriweather .reveal,.ua-phantomjs.theme-font-merriweather.reveal,.ua-phantomjs .theme-font-merriweather .reveal,.ua-phantomjs .theme-font-merriweather.reveal{letter-spacing:-1px}.theme-font-montserrat .themed,.theme-font-montserrat.themed,.theme-font-montserrat .reveal,.theme-font-montserrat.reveal{font-family:"Open Sans", sans-serif;font-size:30px;font-weight:normal;letter-spacing:-0.02em}.theme-font-montserrat .themed h1,.theme-font-montserrat .themed h2,.theme-font-montserrat .themed h3,.theme-font-montserrat .themed h4,.theme-font-montserrat .themed h5,.theme-font-montserrat .themed h6,.theme-font-montserrat.themed h1,.theme-font-montserrat.themed h2,.theme-font-montserrat.themed h3,.theme-font-montserrat.themed h4,.theme-font-montserrat.themed h5,.theme-font-montserrat.themed h6,.theme-font-montserrat .reveal h1,.theme-font-montserrat .reveal h2,.theme-font-montserrat .reveal h3,.theme-font-montserrat .reveal h4,.theme-font-montserrat .reveal h5,.theme-font-montserrat .reveal h6,.theme-font-montserrat.reveal h1,.theme-font-montserrat.reveal h2,.theme-font-montserrat.reveal h3,.theme-font-montserrat.reveal h4,.theme-font-montserrat.reveal h5,.theme-font-montserrat.reveal h6{font-family:"Montserrat", Impact, sans-serif;font-weight:normal;line-height:1;letter-spacing:-0.03em;text-transform:none;margin:0 0 20px 0}.theme-font-montserrat .themed h1,.theme-font-montserrat.themed h1,.theme-font-montserrat .reveal h1,.theme-font-montserrat.reveal h1{font-size:96.135px}.theme-font-montserrat .themed h2,.theme-font-montserrat.themed h2,.theme-font-montserrat .reveal h2,.theme-font-montserrat.reveal h2{font-size:53.805px}.theme-font-montserrat .themed h3,.theme-font-montserrat.themed h3,.theme-font-montserrat .reveal h3,.theme-font-montserrat.reveal h3{font-size:39.525px}.theme-font-montserrat .themed h4,.theme-font-montserrat.themed h4,.theme-font-montserrat .reveal h4,.theme-font-montserrat.reveal h4{font-size:25.5px}.theme-font-montserrat .themed h5,.theme-font-montserrat.themed h5,.theme-font-montserrat .reveal h5,.theme-font-montserrat.reveal h5{font-size:25.5px}.theme-font-montserrat .themed h6,.theme-font-montserrat.themed h6,.theme-font-montserrat .reveal h6,.theme-font-montserrat.reveal h6{font-size:25.5px}.theme-font-montserrat .themed h1,.theme-font-montserrat.themed h1,.theme-font-montserrat .reveal h1,.theme-font-montserrat.reveal h1{text-shadow:0px 0px 6px rgba(0,0,0,0.2)}.theme-font-montserrat .themed section,.theme-font-montserrat .themed section p,.theme-font-montserrat .themed section div,.theme-font-montserrat .themed section a.roll,.theme-font-montserrat.themed section,.theme-font-montserrat.themed section p,.theme-font-montserrat.themed section div,.theme-font-montserrat.themed section a.roll,.theme-font-montserrat .reveal section,.theme-font-montserrat .reveal section p,.theme-font-montserrat .reveal section div,.theme-font-montserrat .reveal section a.roll,.theme-font-montserrat.reveal section,.theme-font-montserrat.reveal section p,.theme-font-montserrat.reveal section div,.theme-font-montserrat.reveal section a.roll{line-height:1.3em}.theme-font-montserrat .themed section p,.theme-font-montserrat.themed section p,.theme-font-montserrat .reveal section p,.theme-font-montserrat.reveal section p{margin-bottom:10px}.theme-font-montserrat .themed section font,.theme-font-montserrat.themed section font,.theme-font-montserrat .reveal section font,.theme-font-montserrat.reveal section font{line-height:1}.ua-safari.theme-font-montserrat .reveal,.ua-safari.theme-font-montserrat.reveal,.ua-safari .theme-font-montserrat .reveal,.ua-safari .theme-font-montserrat.reveal,.ua-phantomjs.theme-font-montserrat .reveal,.ua-phantomjs.theme-font-montserrat.reveal,.ua-phantomjs .theme-font-montserrat .reveal,.ua-phantomjs .theme-font-montserrat.reveal{letter-spacing:-1px}.theme-font-news .themed,.theme-font-news.themed,.theme-font-news .reveal,.theme-font-news.reveal{font-family:"Lato", sans-serif;font-size:36px;font-weight:normal;letter-spacing:-0.02em}.theme-font-news .themed h1,.theme-font-news .themed h2,.theme-font-news .themed h3,.theme-font-news .themed h4,.theme-font-news .themed h5,.theme-font-news .themed h6,.theme-font-news.themed h1,.theme-font-news.themed h2,.theme-font-news.themed h3,.theme-font-news.themed h4,.theme-font-news.themed h5,.theme-font-news.themed h6,.theme-font-news .reveal h1,.theme-font-news .reveal h2,.theme-font-news .reveal h3,.theme-font-news .reveal h4,.theme-font-news .reveal h5,.theme-font-news .reveal h6,.theme-font-news.reveal h1,.theme-font-news.reveal h2,.theme-font-news.reveal h3,.theme-font-news.reveal h4,.theme-font-news.reveal h5,.theme-font-news.reveal h6{font-family:"News Cycle", Impact, sans-serif;font-weight:normal;line-height:1;letter-spacing:0.02em;text-transform:none;margin:0 0 20px 0}.theme-font-news .themed h1,.theme-font-news.themed h1,.theme-font-news .reveal h1,.theme-font-news.reveal h1{font-size:135.72px}.theme-font-news .themed h2,.theme-font-news.themed h2,.theme-font-news .reveal h2,.theme-font-news.reveal h2{font-size:75.96px}.theme-font-news .themed h3,.theme-font-news.themed h3,.theme-font-news .reveal h3,.theme-font-news.reveal h3{font-size:55.8px}.theme-font-news .themed h4,.theme-font-news.themed h4,.theme-font-news .reveal h4,.theme-font-news.reveal h4{font-size:36px}.theme-font-news .themed h5,.theme-font-news.themed h5,.theme-font-news .reveal h5,.theme-font-news.reveal h5{font-size:36px}.theme-font-news .themed h6,.theme-font-news.themed h6,.theme-font-news .reveal h6,.theme-font-news.reveal h6{font-size:36px}.theme-font-news .themed h1,.theme-font-news.themed h1,.theme-font-news .reveal h1,.theme-font-news.reveal h1{text-shadow:0px 0px 6px rgba(0,0,0,0.2)}.theme-font-news .themed section,.theme-font-news .themed section p,.theme-font-news .themed section div,.theme-font-news .themed section a.roll,.theme-font-news.themed section,.theme-font-news.themed section p,.theme-font-news.themed section div,.theme-font-news.themed section a.roll,.theme-font-news .reveal section,.theme-font-news .reveal section p,.theme-font-news .reveal section div,.theme-font-news .reveal section a.roll,.theme-font-news.reveal section,.theme-font-news.reveal section p,.theme-font-news.reveal section div,.theme-font-news.reveal section a.roll{line-height:1.3em}.theme-font-news .themed section p,.theme-font-news.themed section p,.theme-font-news .reveal section p,.theme-font-news.reveal section p{margin-bottom:10px}.theme-font-news .themed section font,.theme-font-news.themed section font,.theme-font-news .reveal section font,.theme-font-news.reveal section font{line-height:1}.ua-safari.theme-font-news .reveal,.ua-safari.theme-font-news.reveal,.ua-safari .theme-font-news .reveal,.ua-safari .theme-font-news.reveal,.ua-phantomjs.theme-font-news .reveal,.ua-phantomjs.theme-font-news.reveal,.ua-phantomjs .theme-font-news .reveal,.ua-phantomjs .theme-font-news.reveal{letter-spacing:-1px}.theme-font-opensans .themed,.theme-font-opensans.themed,.theme-font-opensans .reveal,.theme-font-opensans.reveal{font-family:"Open Sans", sans-serif;font-size:30px;font-weight:normal;letter-spacing:-0.02em}.theme-font-opensans .themed h1,.theme-font-opensans .themed h2,.theme-font-opensans .themed h3,.theme-font-opensans .themed h4,.theme-font-opensans .themed h5,.theme-font-opensans .themed h6,.theme-font-opensans.themed h1,.theme-font-opensans.themed h2,.theme-font-opensans.themed h3,.theme-font-opensans.themed h4,.theme-font-opensans.themed h5,.theme-font-opensans.themed h6,.theme-font-opensans .reveal h1,.theme-font-opensans .reveal h2,.theme-font-opensans .reveal h3,.theme-font-opensans .reveal h4,.theme-font-opensans .reveal h5,.theme-font-opensans .reveal h6,.theme-font-opensans.reveal h1,.theme-font-opensans.reveal h2,.theme-font-opensans.reveal h3,.theme-font-opensans.reveal h4,.theme-font-opensans.reveal h5,.theme-font-opensans.reveal h6{font-family:"Open Sans", Impact, sans-serif;font-weight:bold;line-height:1;letter-spacing:-0.03em;text-transform:none;margin:0 0 20px 0}.theme-font-opensans .themed h1,.theme-font-opensans.themed h1,.theme-font-opensans .reveal h1,.theme-font-opensans.reveal h1{font-size:96.135px}.theme-font-opensans .themed h2,.theme-font-opensans.themed h2,.theme-font-opensans .reveal h2,.theme-font-opensans.reveal h2{font-size:53.805px}.theme-font-opensans .themed h3,.theme-font-opensans.themed h3,.theme-font-opensans .reveal h3,.theme-font-opensans.reveal h3{font-size:39.525px}.theme-font-opensans .themed h4,.theme-font-opensans.themed h4,.theme-font-opensans .reveal h4,.theme-font-opensans.reveal h4{font-size:25.5px}.theme-font-opensans .themed h5,.theme-font-opensans.themed h5,.theme-font-opensans .reveal h5,.theme-font-opensans.reveal h5{font-size:25.5px}.theme-font-opensans .themed h6,.theme-font-opensans.themed h6,.theme-font-opensans .reveal h6,.theme-font-opensans.reveal h6{font-size:25.5px}.theme-font-opensans .themed h1,.theme-font-opensans.themed h1,.theme-font-opensans .reveal h1,.theme-font-opensans.reveal h1{text-shadow:0px 0px 6px rgba(0,0,0,0.2)}.theme-font-opensans .themed section,.theme-font-opensans .themed section p,.theme-font-opensans .themed section div,.theme-font-opensans .themed section a.roll,.theme-font-opensans.themed section,.theme-font-opensans.themed section p,.theme-font-opensans.themed section div,.theme-font-opensans.themed section a.roll,.theme-font-opensans .reveal section,.theme-font-opensans .reveal section p,.theme-font-opensans .reveal section div,.theme-font-opensans .reveal section a.roll,.theme-font-opensans.reveal section,.theme-font-opensans.reveal section p,.theme-font-opensans.reveal section div,.theme-font-opensans.reveal section a.roll{line-height:1.3em}.theme-font-opensans .themed section p,.theme-font-opensans.themed section p,.theme-font-opensans .reveal section p,.theme-font-opensans.reveal section p{margin-bottom:10px}.theme-font-opensans .themed section font,.theme-font-opensans.themed section font,.theme-font-opensans .reveal section font,.theme-font-opensans.reveal section font{line-height:1}.ua-safari.theme-font-opensans .reveal,.ua-safari.theme-font-opensans.reveal,.ua-safari .theme-font-opensans .reveal,.ua-safari .theme-font-opensans.reveal,.ua-phantomjs.theme-font-opensans .reveal,.ua-phantomjs.theme-font-opensans.reveal,.ua-phantomjs .theme-font-opensans .reveal,.ua-phantomjs .theme-font-opensans.reveal{letter-spacing:-1px}.theme-font-palatino .themed,.theme-font-palatino.themed,.theme-font-palatino .reveal,.theme-font-palatino.reveal{font-family:"Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif;font-size:36px;font-weight:normal;letter-spacing:-0.02em}.theme-font-palatino .themed h1,.theme-font-palatino .themed h2,.theme-font-palatino .themed h3,.theme-font-palatino .themed h4,.theme-font-palatino .themed h5,.theme-font-palatino .themed h6,.theme-font-palatino.themed h1,.theme-font-palatino.themed h2,.theme-font-palatino.themed h3,.theme-font-palatino.themed h4,.theme-font-palatino.themed h5,.theme-font-palatino.themed h6,.theme-font-palatino .reveal h1,.theme-font-palatino .reveal h2,.theme-font-palatino .reveal h3,.theme-font-palatino .reveal h4,.theme-font-palatino .reveal h5,.theme-font-palatino .reveal h6,.theme-font-palatino.reveal h1,.theme-font-palatino.reveal h2,.theme-font-palatino.reveal h3,.theme-font-palatino.reveal h4,.theme-font-palatino.reveal h5,.theme-font-palatino.reveal h6{font-family:"Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif;font-weight:normal;line-height:1;letter-spacing:0.02em;text-transform:none;margin:0 0 20px 0}.theme-font-palatino .themed h1,.theme-font-palatino.themed h1,.theme-font-palatino .reveal h1,.theme-font-palatino.reveal h1{font-size:115.362px}.theme-font-palatino .themed h2,.theme-font-palatino.themed h2,.theme-font-palatino .reveal h2,.theme-font-palatino.reveal h2{font-size:64.566px}.theme-font-palatino .themed h3,.theme-font-palatino.themed h3,.theme-font-palatino .reveal h3,.theme-font-palatino.reveal h3{font-size:47.43px}.theme-font-palatino .themed h4,.theme-font-palatino.themed h4,.theme-font-palatino .reveal h4,.theme-font-palatino.reveal h4{font-size:30.6px}.theme-font-palatino .themed h5,.theme-font-palatino.themed h5,.theme-font-palatino .reveal h5,.theme-font-palatino.reveal h5{font-size:30.6px}.theme-font-palatino .themed h6,.theme-font-palatino.themed h6,.theme-font-palatino .reveal h6,.theme-font-palatino.reveal h6{font-size:30.6px}.theme-font-palatino .themed h1,.theme-font-palatino.themed h1,.theme-font-palatino .reveal h1,.theme-font-palatino.reveal h1{text-shadow:0px 0px 6px rgba(0,0,0,0.2)}.theme-font-palatino .themed section,.theme-font-palatino .themed section p,.theme-font-palatino .themed section div,.theme-font-palatino .themed section a.roll,.theme-font-palatino.themed section,.theme-font-palatino.themed section p,.theme-font-palatino.themed section div,.theme-font-palatino.themed section a.roll,.theme-font-palatino .reveal section,.theme-font-palatino .reveal section p,.theme-font-palatino .reveal section div,.theme-font-palatino .reveal section a.roll,.theme-font-palatino.reveal section,.theme-font-palatino.reveal section p,.theme-font-palatino.reveal section div,.theme-font-palatino.reveal section a.roll{line-height:1.3em}.theme-font-palatino .themed section p,.theme-font-palatino.themed section p,.theme-font-palatino .reveal section p,.theme-font-palatino.reveal section p{margin-bottom:10px}.theme-font-palatino .themed section font,.theme-font-palatino.themed section font,.theme-font-palatino .reveal section font,.theme-font-palatino.reveal section font{line-height:1}.ua-safari.theme-font-palatino .reveal,.ua-safari.theme-font-palatino.reveal,.ua-safari .theme-font-palatino .reveal,.ua-safari .theme-font-palatino.reveal,.ua-phantomjs.theme-font-palatino .reveal,.ua-phantomjs.theme-font-palatino.reveal,.ua-phantomjs .theme-font-palatino .reveal,.ua-phantomjs .theme-font-palatino.reveal{letter-spacing:-1px}.theme-font-quicksand .themed,.theme-font-quicksand.themed,.theme-font-quicksand .reveal,.theme-font-quicksand.reveal{font-family:"Open Sans", sans-serif;font-size:36px;font-weight:normal;letter-spacing:-0.02em}.theme-font-quicksand .themed h1,.theme-font-quicksand .themed h2,.theme-font-quicksand .themed h3,.theme-font-quicksand .themed h4,.theme-font-quicksand .themed h5,.theme-font-quicksand .themed h6,.theme-font-quicksand.themed h1,.theme-font-quicksand.themed h2,.theme-font-quicksand.themed h3,.theme-font-quicksand.themed h4,.theme-font-quicksand.themed h5,.theme-font-quicksand.themed h6,.theme-font-quicksand .reveal h1,.theme-font-quicksand .reveal h2,.theme-font-quicksand .reveal h3,.theme-font-quicksand .reveal h4,.theme-font-quicksand .reveal h5,.theme-font-quicksand .reveal h6,.theme-font-quicksand.reveal h1,.theme-font-quicksand.reveal h2,.theme-font-quicksand.reveal h3,.theme-font-quicksand.reveal h4,.theme-font-quicksand.reveal h5,.theme-font-quicksand.reveal h6{font-family:"Quicksand", sans-serif;font-weight:normal;line-height:0.9em;letter-spacing:-0.08em;text-transform:uppercase;margin:0 0 20px 0}.theme-font-quicksand .themed h1,.theme-font-quicksand.themed h1,.theme-font-quicksand .reveal h1,.theme-font-quicksand.reveal h1{font-size:115.362px}.theme-font-quicksand .themed h2,.theme-font-quicksand.themed h2,.theme-font-quicksand .reveal h2,.theme-font-quicksand.reveal h2{font-size:64.566px}.theme-font-quicksand .themed h3,.theme-font-quicksand.themed h3,.theme-font-quicksand .reveal h3,.theme-font-quicksand.reveal h3{font-size:47.43px}.theme-font-quicksand .themed h4,.theme-font-quicksand.themed h4,.theme-font-quicksand .reveal h4,.theme-font-quicksand.reveal h4{font-size:30.6px}.theme-font-quicksand .themed h5,.theme-font-quicksand.themed h5,.theme-font-quicksand .reveal h5,.theme-font-quicksand.reveal h5{font-size:30.6px}.theme-font-quicksand .themed h6,.theme-font-quicksand.themed h6,.theme-font-quicksand .reveal h6,.theme-font-quicksand.reveal h6{font-size:30.6px}.theme-font-quicksand .themed h1,.theme-font-quicksand.themed h1,.theme-font-quicksand .reveal h1,.theme-font-quicksand.reveal h1{text-shadow:0px 0px 6px rgba(0,0,0,0.2)}.theme-font-quicksand .themed section,.theme-font-quicksand .themed section p,.theme-font-quicksand .themed section div,.theme-font-quicksand .themed section a.roll,.theme-font-quicksand.themed section,.theme-font-quicksand.themed section p,.theme-font-quicksand.themed section div,.theme-font-quicksand.themed section a.roll,.theme-font-quicksand .reveal section,.theme-font-quicksand .reveal section p,.theme-font-quicksand .reveal section div,.theme-font-quicksand .reveal section a.roll,.theme-font-quicksand.reveal section,.theme-font-quicksand.reveal section p,.theme-font-quicksand.reveal section div,.theme-font-quicksand.reveal section a.roll{line-height:1.3em}.theme-font-quicksand .themed section p,.theme-font-quicksand.themed section p,.theme-font-quicksand .reveal section p,.theme-font-quicksand.reveal section p{margin-bottom:10px}.theme-font-quicksand .themed section font,.theme-font-quicksand.themed section font,.theme-font-quicksand .reveal section font,.theme-font-quicksand.reveal section font{line-height:1}.ua-safari.theme-font-quicksand .reveal,.ua-safari.theme-font-quicksand.reveal,.ua-safari .theme-font-quicksand .reveal,.ua-safari .theme-font-quicksand.reveal,.ua-phantomjs.theme-font-quicksand .reveal,.ua-phantomjs.theme-font-quicksand.reveal,.ua-phantomjs .theme-font-quicksand .reveal,.ua-phantomjs .theme-font-quicksand.reveal{letter-spacing:-1px}.theme-font-sketch .themed,.theme-font-sketch.themed,.theme-font-sketch .reveal,.theme-font-sketch.reveal{font-family:"Oxygen", sans-serif;font-size:36px;font-weight:normal;letter-spacing:-0.02em}.theme-font-sketch .themed h1,.theme-font-sketch .themed h2,.theme-font-sketch .themed h3,.theme-font-sketch .themed h4,.theme-font-sketch .themed h5,.theme-font-sketch .themed h6,.theme-font-sketch.themed h1,.theme-font-sketch.themed h2,.theme-font-sketch.themed h3,.theme-font-sketch.themed h4,.theme-font-sketch.themed h5,.theme-font-sketch.themed h6,.theme-font-sketch .reveal h1,.theme-font-sketch .reveal h2,.theme-font-sketch .reveal h3,.theme-font-sketch .reveal h4,.theme-font-sketch .reveal h5,.theme-font-sketch .reveal h6,.theme-font-sketch.reveal h1,.theme-font-sketch.reveal h2,.theme-font-sketch.reveal h3,.theme-font-sketch.reveal h4,.theme-font-sketch.reveal h5,.theme-font-sketch.reveal h6{font-family:"Cabin Sketch", sans-serif;font-weight:normal;line-height:1;letter-spacing:-0.03em;text-transform:none;margin:0 0 20px 0}.theme-font-sketch .themed h1,.theme-font-sketch.themed h1,.theme-font-sketch .reveal h1,.theme-font-sketch.reveal h1{font-size:115.362px}.theme-font-sketch .themed h2,.theme-font-sketch.themed h2,.theme-font-sketch .reveal h2,.theme-font-sketch.reveal h2{font-size:64.566px}.theme-font-sketch .themed h3,.theme-font-sketch.themed h3,.theme-font-sketch .reveal h3,.theme-font-sketch.reveal h3{font-size:47.43px}.theme-font-sketch .themed h4,.theme-font-sketch.themed h4,.theme-font-sketch .reveal h4,.theme-font-sketch.reveal h4{font-size:30.6px}.theme-font-sketch .themed h5,.theme-font-sketch.themed h5,.theme-font-sketch .reveal h5,.theme-font-sketch.reveal h5{font-size:30.6px}.theme-font-sketch .themed h6,.theme-font-sketch.themed h6,.theme-font-sketch .reveal h6,.theme-font-sketch.reveal h6{font-size:30.6px}.theme-font-sketch .themed h1,.theme-font-sketch.themed h1,.theme-font-sketch .reveal h1,.theme-font-sketch.reveal h1{text-shadow:0px 0px 6px rgba(0,0,0,0.2)}.theme-font-sketch .themed section,.theme-font-sketch .themed section p,.theme-font-sketch .themed section div,.theme-font-sketch .themed section a.roll,.theme-font-sketch.themed section,.theme-font-sketch.themed section p,.theme-font-sketch.themed section div,.theme-font-sketch.themed section a.roll,.theme-font-sketch .reveal section,.theme-font-sketch .reveal section p,.theme-font-sketch .reveal section div,.theme-font-sketch .reveal section a.roll,.theme-font-sketch.reveal section,.theme-font-sketch.reveal section p,.theme-font-sketch.reveal section div,.theme-font-sketch.reveal section a.roll{line-height:1.3em}.theme-font-sketch .themed section p,.theme-font-sketch.themed section p,.theme-font-sketch .reveal section p,.theme-font-sketch.reveal section p{margin-bottom:10px}.theme-font-sketch .themed section font,.theme-font-sketch.themed section font,.theme-font-sketch .reveal section font,.theme-font-sketch.reveal section font{line-height:1}.ua-safari.theme-font-sketch .reveal,.ua-safari.theme-font-sketch.reveal,.ua-safari .theme-font-sketch .reveal,.ua-safari .theme-font-sketch.reveal,.ua-phantomjs.theme-font-sketch .reveal,.ua-phantomjs.theme-font-sketch.reveal,.ua-phantomjs .theme-font-sketch .reveal,.ua-phantomjs .theme-font-sketch.reveal{letter-spacing:-1px}.theme-font-overpass .themed,.theme-font-overpass.themed,.theme-font-overpass .reveal,.theme-font-overpass.reveal{font-family:"Overpass", sans-serif;font-size:28px;font-weight:normal;letter-spacing:-0.02em}.theme-font-overpass .themed h1,.theme-font-overpass .themed h2,.theme-font-overpass .themed h3,.theme-font-overpass .themed h4,.theme-font-overpass .themed h5,.theme-font-overpass .themed h6,.theme-font-overpass.themed h1,.theme-font-overpass.themed h2,.theme-font-overpass.themed h3,.theme-font-overpass.themed h4,.theme-font-overpass.themed h5,.theme-font-overpass.themed h6,.theme-font-overpass .reveal h1,.theme-font-overpass .reveal h2,.theme-font-overpass .reveal h3,.theme-font-overpass .reveal h4,.theme-font-overpass .reveal h5,.theme-font-overpass .reveal h6,.theme-font-overpass.reveal h1,.theme-font-overpass.reveal h2,.theme-font-overpass.reveal h3,.theme-font-overpass.reveal h4,.theme-font-overpass.reveal h5,.theme-font-overpass.reveal h6{font-family:"Overpass", sans-serif;font-weight:bold;line-height:1;letter-spacing:0.02em;text-transform:uppercase;margin:0 0 20px 0}.theme-font-overpass .themed h1,.theme-font-overpass.themed h1,.theme-font-overpass .reveal h1,.theme-font-overpass.reveal h1{font-size:105.56px}.theme-font-overpass .themed h2,.theme-font-overpass.themed h2,.theme-font-overpass .reveal h2,.theme-font-overpass.reveal h2{font-size:59.08px}.theme-font-overpass .themed h3,.theme-font-overpass.themed h3,.theme-font-overpass .reveal h3,.theme-font-overpass.reveal h3{font-size:43.4px}.theme-font-overpass .themed h4,.theme-font-overpass.themed h4,.theme-font-overpass .reveal h4,.theme-font-overpass.reveal h4{font-size:28px}.theme-font-overpass .themed h5,.theme-font-overpass.themed h5,.theme-font-overpass .reveal h5,.theme-font-overpass.reveal h5{font-size:28px}.theme-font-overpass .themed h6,.theme-font-overpass.themed h6,.theme-font-overpass .reveal h6,.theme-font-overpass.reveal h6{font-size:28px}.theme-font-overpass .themed section,.theme-font-overpass .themed section p,.theme-font-overpass .themed section div,.theme-font-overpass .themed section a.roll,.theme-font-overpass.themed section,.theme-font-overpass.themed section p,.theme-font-overpass.themed section div,.theme-font-overpass.themed section a.roll,.theme-font-overpass .reveal section,.theme-font-overpass .reveal section p,.theme-font-overpass .reveal section div,.theme-font-overpass .reveal section a.roll,.theme-font-overpass.reveal section,.theme-font-overpass.reveal section p,.theme-font-overpass.reveal section div,.theme-font-overpass.reveal section a.roll{line-height:1.3em}.theme-font-overpass .themed section p,.theme-font-overpass.themed section p,.theme-font-overpass .reveal section p,.theme-font-overpass.reveal section p{margin-bottom:10px}.theme-font-overpass .themed section font,.theme-font-overpass.themed section font,.theme-font-overpass .reveal section font,.theme-font-overpass.reveal section font{line-height:1}.ua-safari.theme-font-overpass .reveal,.ua-safari.theme-font-overpass.reveal,.ua-safari .theme-font-overpass .reveal,.ua-safari .theme-font-overpass.reveal,.ua-phantomjs.theme-font-overpass .reveal,.ua-phantomjs.theme-font-overpass.reveal,.ua-phantomjs .theme-font-overpass .reveal,.ua-phantomjs .theme-font-overpass.reveal{letter-spacing:-1px}.theme-font-overpass .themed,.theme-font-overpass.themed,.theme-font-overpass .reveal,.theme-font-overpass.reveal{letter-spacing:normal}.theme-font-overpass .themed h1,.theme-font-overpass.themed h1,.theme-font-overpass .reveal h1,.theme-font-overpass.reveal h1{font-size:49px;margin-bottom:.25em;letter-spacing:.015em}.theme-font-overpass .themed h2,.theme-font-overpass.themed h2,.theme-font-overpass .reveal h2,.theme-font-overpass.reveal h2{font-size:32.2px;margin-bottom:.5em;letter-spacing:.036661em}.theme-font-overpass .themed h3,.theme-font-overpass.themed h3,.theme-font-overpass .reveal h3,.theme-font-overpass.reveal h3{font-size:28px;margin-bottom:.5em;letter-spacing:.041em}.theme-font-overpass .themed h4,.theme-font-overpass.themed h4,.theme-font-overpass .reveal h4,.theme-font-overpass.reveal h4{font-size:28px}.theme-font-overpass .themed h5,.theme-font-overpass.themed h5,.theme-font-overpass .reveal h5,.theme-font-overpass.reveal h5{font-size:28px}.theme-font-overpass .themed h6,.theme-font-overpass.themed h6,.theme-font-overpass .reveal h6,.theme-font-overpass.reveal h6{font-size:28px}.theme-font-overpass2 .themed,.theme-font-overpass2.themed,.theme-font-overpass2 .reveal,.theme-font-overpass2.reveal{font-family:"Overpass 2", sans-serif;font-size:28px;font-weight:normal;letter-spacing:-0.02em}.theme-font-overpass2 .themed h1,.theme-font-overpass2 .themed h2,.theme-font-overpass2 .themed h3,.theme-font-overpass2 .themed h4,.theme-font-overpass2 .themed h5,.theme-font-overpass2 .themed h6,.theme-font-overpass2.themed h1,.theme-font-overpass2.themed h2,.theme-font-overpass2.themed h3,.theme-font-overpass2.themed h4,.theme-font-overpass2.themed h5,.theme-font-overpass2.themed h6,.theme-font-overpass2 .reveal h1,.theme-font-overpass2 .reveal h2,.theme-font-overpass2 .reveal h3,.theme-font-overpass2 .reveal h4,.theme-font-overpass2 .reveal h5,.theme-font-overpass2 .reveal h6,.theme-font-overpass2.reveal h1,.theme-font-overpass2.reveal h2,.theme-font-overpass2.reveal h3,.theme-font-overpass2.reveal h4,.theme-font-overpass2.reveal h5,.theme-font-overpass2.reveal h6{font-family:"Overpass 2", sans-serif;font-weight:bold;line-height:1;letter-spacing:0.02em;text-transform:uppercase;margin:0 0 20px 0}.theme-font-overpass2 .themed h1,.theme-font-overpass2.themed h1,.theme-font-overpass2 .reveal h1,.theme-font-overpass2.reveal h1{font-size:105.56px}.theme-font-overpass2 .themed h2,.theme-font-overpass2.themed h2,.theme-font-overpass2 .reveal h2,.theme-font-overpass2.reveal h2{font-size:59.08px}.theme-font-overpass2 .themed h3,.theme-font-overpass2.themed h3,.theme-font-overpass2 .reveal h3,.theme-font-overpass2.reveal h3{font-size:43.4px}.theme-font-overpass2 .themed h4,.theme-font-overpass2.themed h4,.theme-font-overpass2 .reveal h4,.theme-font-overpass2.reveal h4{font-size:28px}.theme-font-overpass2 .themed h5,.theme-font-overpass2.themed h5,.theme-font-overpass2 .reveal h5,.theme-font-overpass2.reveal h5{font-size:28px}.theme-font-overpass2 .themed h6,.theme-font-overpass2.themed h6,.theme-font-overpass2 .reveal h6,.theme-font-overpass2.reveal h6{font-size:28px}.theme-font-overpass2 .themed section,.theme-font-overpass2 .themed section p,.theme-font-overpass2 .themed section div,.theme-font-overpass2 .themed section a.roll,.theme-font-overpass2.themed section,.theme-font-overpass2.themed section p,.theme-font-overpass2.themed section div,.theme-font-overpass2.themed section a.roll,.theme-font-overpass2 .reveal section,.theme-font-overpass2 .reveal section p,.theme-font-overpass2 .reveal section div,.theme-font-overpass2 .reveal section a.roll,.theme-font-overpass2.reveal section,.theme-font-overpass2.reveal section p,.theme-font-overpass2.reveal section div,.theme-font-overpass2.reveal section a.roll{line-height:1.3em}.theme-font-overpass2 .themed section p,.theme-font-overpass2.themed section p,.theme-font-overpass2 .reveal section p,.theme-font-overpass2.reveal section p{margin-bottom:10px}.theme-font-overpass2 .themed section font,.theme-font-overpass2.themed section font,.theme-font-overpass2 .reveal section font,.theme-font-overpass2.reveal section font{line-height:1}.ua-safari.theme-font-overpass2 .reveal,.ua-safari.theme-font-overpass2.reveal,.ua-safari .theme-font-overpass2 .reveal,.ua-safari .theme-font-overpass2.reveal,.ua-phantomjs.theme-font-overpass2 .reveal,.ua-phantomjs.theme-font-overpass2.reveal,.ua-phantomjs .theme-font-overpass2 .reveal,.ua-phantomjs .theme-font-overpass2.reveal{letter-spacing:-1px}.theme-font-overpass2 .themed,.theme-font-overpass2.themed,.theme-font-overpass2 .reveal,.theme-font-overpass2.reveal{letter-spacing:normal}.theme-font-overpass2 .themed h1,.theme-font-overpass2.themed h1,.theme-font-overpass2 .reveal h1,.theme-font-overpass2.reveal h1{font-size:49px;margin-bottom:.25em;letter-spacing:.015em}.theme-font-overpass2 .themed h2,.theme-font-overpass2.themed h2,.theme-font-overpass2 .reveal h2,.theme-font-overpass2.reveal h2{font-size:32.2px;margin-bottom:.5em;letter-spacing:.036661em}.theme-font-overpass2 .themed h3,.theme-font-overpass2.themed h3,.theme-font-overpass2 .reveal h3,.theme-font-overpass2.reveal h3{font-size:28px;margin-bottom:.5em;letter-spacing:.041em}.theme-font-overpass2 .themed h4,.theme-font-overpass2.themed h4,.theme-font-overpass2 .reveal h4,.theme-font-overpass2.reveal h4{font-size:28px}.theme-font-overpass2 .themed h5,.theme-font-overpass2.themed h5,.theme-font-overpass2 .reveal h5,.theme-font-overpass2.reveal h5{font-size:28px}.theme-font-overpass2 .themed h6,.theme-font-overpass2.themed h6,.theme-font-overpass2 .reveal h6,.theme-font-overpass2.reveal h6{font-size:28px}.theme-font-no-font .themed,.theme-font-no-font.themed,.theme-font-no-font .reveal,.theme-font-no-font.reveal{font-family:sans-serif;font-size:36px}.theme-font-no-font .themed section font,.theme-font-no-font.themed section font,.theme-font-no-font .reveal section font,.theme-font-no-font.reveal section font{line-height:1}.hljs{display:block;overflow-x:auto;background:#3f3f3f;color:#dcdcdc}.hljs-keyword,.hljs-selector-tag,.hljs-tag{color:#e3ceab}.hljs-template-tag{color:#dcdcdc}.hljs-number{color:#8cd0d3}.hljs-variable,.hljs-template-variable,.hljs-attribute{color:#efdcbc}.hljs-literal{color:#efefaf}.hljs-subst{color:#8f8f8f}.hljs-title,.hljs-name,.hljs-selector-id,.hljs-selector-class,.hljs-section,.hljs-type{color:#efef8f}.hljs-symbol,.hljs-bullet,.hljs-link{color:#dca3a3}.hljs-deletion,.hljs-string,.hljs-built_in,.hljs-builtin-name{color:#cc9393}.hljs-addition,.hljs-comment,.hljs-quote,.hljs-meta{color:#7f9f7f}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold}/*! + * Main styles for Slides + * + * @author Hakim El Hattab + */*{box-sizing:border-box}html,body{padding:0;margin:0;color:#252525;font-family:"Open Sans", Helvetica, sans-serif;font-size:16px}html:before,body:before{content:'' !important}html{-webkit-font-smoothing:subpixel-antialiased !important}html.sl-root:not(.loaded) *{-webkit-transition:none !important;transition:none !important}body{overflow-y:scroll}body>*:not(.reveal){font-family:"Open Sans", Helvetica, sans-serif}html,#container{background-color:#eee}#container{position:relative;z-index:1}html.full-width,html.full-width #container{background-color:transparent}html.full-width .column{max-width:none}.icon{display:inline-block;line-height:1}.spinner{display:block;width:32px;height:32px;margin-top:16px;margin-left:16px}.spinner.centered{position:absolute;top:50%;left:50%;margin-top:-16px;margin-left:-16px}.spinner.centered-horizontally{margin-left:auto;margin-right:auto}.spinner-bitmap{display:block;width:32px;height:32px;background-image:url(data:image/png;base64,R0lGODlhIAAgAPMAAP///wAAAMbGxoSEhLa2tpqamjY2NlZWVtjY2OTk5Ly8vB4eHgQEBAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHRLYKhKP1oZmADdEAAAh+QQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY/CZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB+A4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6+Ho7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq+B6QDtuetcaBPnW6+O7wDHpIiK9SaVK5GgV543tzjgGcghAgAh+QQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK++G+w48edZPK+M6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE+G+cD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm+FNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk+aV+oJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0/VNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc+XiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30/iI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE/jiuL04RGEBgwWhShRgQExHBAAh+QQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR+ipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY+Yip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd+MFCN6HAAIKgNggY0KtEBAAh+QQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1+vsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d+jYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg+ygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0+bm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h+Kr0SJ8MFihpNbx+4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX+BP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA==);background-repeat:no-repeat}.clear{clear:both}.vcenter:before{content:'';display:inline-block;height:100%;vertical-align:middle}.vcenter-target{display:inline-block;vertical-align:middle}.no-transition,.no-transition *{-webkit-transition:none !important;transition:none !important;-webkit-animation-duration:0s !important;animation-duration:0s !important}.grow-in-on-load{opacity:0;-webkit-transform:scale(0.96);-ms-transform:scale(0.96);transform:scale(0.96);-webkit-transition:all 0.3s ease;transition:all 0.3s ease}html.loaded .grow-in-on-load{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}.cc-window{z-index:2000}.cc-window,.cc-window.cc-banner{box-shadow:0 0 15px rgba(0,0,0,0.05);font-size:14px}.cc-window .cc-btn{border-radius:2px}h1,h2,h3,h4,h5,h6{font-family:"Open Sans", Helvetica, sans-serif;line-height:1.3em;font-weight:normal}h1,h2,h3,h4,h5,h6,ul,li{margin:0;padding:0}h1{font-size:35.2px}h2{font-size:27.2px;font-weight:600}h3{font-size:20.8px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:16px;font-weight:600}h6{font-size:16px;font-weight:600}p{margin:1em 0}a{color:#255c7c;text-decoration:none;outline:0;-webkit-transition:color 0.1s ease;transition:color 0.1s ease}a:hover{color:#4195c6}a:focus{outline:1px solid #1baee1}p a,table a{border-bottom:1px solid #8fc1de}b{font-weight:600}small{font-size:0.8em}button{border:0;background:transparent;cursor:pointer}.text-semi-bold{font-weight:600}.main{line-height:1.5}.reveal-viewport{width:100%;height:100%}.container .column{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}@media screen and (max-width: 380px){.container .column{padding:0 10px}}.container .column>section,.container .column>div>section{position:relative;width:100%;margin:40px auto;padding:40px;background:#fff;box-shadow:0 14px 30px rgba(0,0,0,0.1);border-radius:2px}.container .column>section h2,.container .column>div>section h2{margin-bottom:20px}.container .column>section h3:first-child,.container .column>div>section h3:first-child{margin-top:0}.container .column>section .header-with-description h2,.container .column>div>section .header-with-description h2{margin-bottom:10px}.container .column>section .header-with-description p,.container .column>div>section .header-with-description p{margin-top:0;margin-bottom:20px;color:#999;font-size:0.9em}.container .column>section.critical-error,.container .column>div>section.critical-error{border-color:#f00;background:#eb5555;color:#fff}@media screen and (max-width: 380px){.container .column>section,.container .column>div>section{padding:20px;box-shadow:none}.container .column>section:first-child,.container .column>div>section:first-child{margin-top:10px}}.container .column>section.transparent,.container .column>div>section.transparent{background:transparent;box-shadow:none}.flash-notification{position:absolute;width:100%;top:0;left:0;text-align:center;z-index:100;display:none}.flash-notification p{display:inline-block;margin:13px;padding:10px 20px;background:#111;color:white;border:1px solid #333;border-radius:4px}.page-loader{position:fixed;width:100%;height:100%;left:0;top:0;z-index:2000;background:#111;color:#fff;opacity:1;visibility:hidden;opacity:0;-webkit-transition:all 0.5s ease;transition:all 0.5s ease}.page-loader .page-loader-inner{position:absolute;display:block;top:40%;width:100%;text-align:center}.page-loader .page-loader-inner .page-loader-spinner{display:block;position:relative;width:50px;height:50px;margin:0 auto 20px auto;-webkit-animation:spin-rectangle-to-circle 2.5s cubic-bezier(0.75, 0, 0.5, 1) infinite normal;animation:spin-rectangle-to-circle 2.5s cubic-bezier(0.75, 0, 0.5, 1) infinite normal;background-color:#E4637C;border-radius:1px}.page-loader .page-loader-inner .page-loader-message{display:block;margin:0;vertical-align:top;line-height:32px;font-size:14px;color:#bbb;font-family:Helvetica, sans-serif}.page-loader.visible{visibility:visible;opacity:1}.page-loader.frozen .page-loader-spinner{-webkit-animation:none;animation:none}.pro-badge{display:inline-block;position:relative;padding:3px 6px 2px 6px;font-size:12px;font-weight:normal;line-height:14px;letter-spacing:1px;border-radius:2px;border:1px solid #2d739c;background:#3990c3;color:#fff;vertical-align:middle}.pro-badge:after{display:inline-block;position:relative;top:-1px;margin-left:2px;color:#fff;content:"\e094";font-family:'slides';font-weight:normal;-webkit-font-smoothing:antialiased}.pro-badge:hover{color:#fff;border-color:#3381af;background:#5fa6d0}.touch .user-view li .controls{opacity:1 !important}.touch .deck-view .options{opacity:1}.sl-info{display:inline-block;font-size:0.8em;width:1.3em;height:1.3em;line-height:1.3em;border-radius:1.3em;color:#fff;background-color:rgba(0,0,0,0.3);text-align:center;vertical-align:middle}.sl-info:hover{background-color:rgba(0,0,0,0.5)}.sl-info-inline{margin-top:-0.2em}.sl-info:after{font-family:serif;content:'i'}.sl-info-help:after{font-family:Helvetica, sans-serif;content:'?'}.funnel-intro{margin-bottom:1.5em}.funnel-intro h2,.funnel-intro h3{margin-top:0 !important;margin-bottom:0.1em;text-align:center}.funnel-intro h2{font-size:2em;font-weight:600;color:#888}.funnel-intro h3{font-size:1.5em;color:#aaa}@media screen and (max-width: 600px){.funnel-intro{margin-top:20px}}.sl-coupon{margin:auto;text-align:center}.sl-coupon .sl-coupon-inner{display:inline-block;padding:12px 20px;margin:0;border-radius:4px;text-align:left;background-color:#fff;border-left:4px solid #1baee1}.sl-coupon .sl-coupon-redeem-by{color:#aaa;margin-top:4px}.sl-coupon p{margin:0}/*! + * reveal.js + * http://revealjs.com + * MIT licensed + * + * Copyright (C) 2018 Hakim El Hattab, http://hakim.se + */html,body,.reveal div,.reveal span,.reveal applet,.reveal object,.reveal iframe,.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6,.reveal p,.reveal blockquote,.reveal pre,.reveal a,.reveal abbr,.reveal acronym,.reveal address,.reveal big,.reveal cite,.reveal code,.reveal del,.reveal dfn,.reveal em,.reveal img,.reveal ins,.reveal kbd,.reveal q,.reveal s,.reveal samp,.reveal small,.reveal strike,.reveal strong,.reveal sub,.reveal sup,.reveal tt,.reveal var,.reveal b,.reveal u,.reveal center,.reveal dl,.reveal dt,.reveal dd,.reveal ol,.reveal ul,.reveal li,.reveal fieldset,.reveal form,.reveal label,.reveal legend,.reveal table,.reveal caption,.reveal tbody,.reveal tfoot,.reveal thead,.reveal tr,.reveal th,.reveal td,.reveal article,.reveal aside,.reveal canvas,.reveal details,.reveal embed,.reveal figure,.reveal figcaption,.reveal footer,.reveal header,.reveal hgroup,.reveal menu,.reveal nav,.reveal output,.reveal ruby,.reveal section,.reveal summary,.reveal time,.reveal mark,.reveal audio,.reveal video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}.reveal article,.reveal aside,.reveal details,.reveal figcaption,.reveal figure,.reveal footer,.reveal header,.reveal hgroup,.reveal menu,.reveal nav,.reveal section{display:block}html,body{width:100%;height:100%;overflow:hidden}body{position:relative;line-height:1;background-color:#fff;color:#000}.reveal .slides section .fragment{opacity:0;visibility:hidden;-webkit-transition:all .2s ease;transition:all .2s ease}.reveal .slides section .fragment.visible{opacity:1;visibility:inherit}.reveal .slides section .fragment.grow{opacity:1;visibility:inherit}.reveal .slides section .fragment.grow.visible{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.reveal .slides section .fragment.shrink{opacity:1;visibility:inherit}.reveal .slides section .fragment.shrink.visible{-webkit-transform:scale(0.7);-ms-transform:scale(0.7);transform:scale(0.7)}.reveal .slides section .fragment.zoom-in{-webkit-transform:scale(0.1);-ms-transform:scale(0.1);transform:scale(0.1)}.reveal .slides section .fragment.zoom-in.visible{-webkit-transform:none;-ms-transform:none;transform:none}.reveal .slides section .fragment.fade-out{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .slides section .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .slides section .fragment.semi-fade-out.visible{opacity:0.5;visibility:inherit}.reveal .slides section .fragment.strike{opacity:1;visibility:inherit}.reveal .slides section .fragment.strike.visible{text-decoration:line-through}.reveal .slides section .fragment.fade-up{-webkit-transform:translate(0, 20%);-ms-transform:translate(0, 20%);transform:translate(0, 20%)}.reveal .slides section .fragment.fade-up.visible{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.reveal .slides section .fragment.fade-down{-webkit-transform:translate(0, -20%);-ms-transform:translate(0, -20%);transform:translate(0, -20%)}.reveal .slides section .fragment.fade-down.visible{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.reveal .slides section .fragment.fade-right{-webkit-transform:translate(-20%, 0);-ms-transform:translate(-20%, 0);transform:translate(-20%, 0)}.reveal .slides section .fragment.fade-right.visible{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.reveal .slides section .fragment.fade-left{-webkit-transform:translate(20%, 0);-ms-transform:translate(20%, 0);transform:translate(20%, 0)}.reveal .slides section .fragment.fade-left.visible{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.reveal .slides section .fragment.fade-in-then-out,.reveal .slides section .fragment.current-visible{opacity:0;visibility:hidden}.reveal .slides section .fragment.fade-in-then-out.current-fragment,.reveal .slides section .fragment.current-visible.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .slides section .fragment.fade-in-then-semi-out.visible{opacity:0.3;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-red,.reveal .slides section .fragment.highlight-current-red,.reveal .slides section .fragment.highlight-green,.reveal .slides section .fragment.highlight-current-green,.reveal .slides section .fragment.highlight-blue,.reveal .slides section .fragment.highlight-current-blue{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-red.visible{color:#ff2c2d}.reveal .slides section .fragment.highlight-green.visible{color:#17ff2e}.reveal .slides section .fragment.highlight-blue.visible{color:#1b91ff}.reveal .slides section .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .slides section .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .slides section .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:'';font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}.reveal .stretch{max-width:none;max-height:none}.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}@-webkit-keyframes bounce-right{0%, 10%, 25%, 40%, 50%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-transform:translateX(10px);transform:translateX(10px)}30%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}}@keyframes bounce-right{0%, 10%, 25%, 40%, 50%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-transform:translateX(10px);transform:translateX(10px)}30%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}}@-webkit-keyframes bounce-down{0%, 10%, 25%, 40%, 50%{-webkit-transform:translateY(0);transform:translateY(0)}20%{-webkit-transform:translateY(10px);transform:translateY(10px)}30%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}}@keyframes bounce-down{0%, 10%, 25%, 40%, 50%{-webkit-transform:translateY(0);transform:translateY(0)}20%{-webkit-transform:translateY(10px);transform:translateY(10px)}30%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}}.reveal .controls{display:none;position:absolute;top:auto;bottom:12px;right:12px;left:auto;z-index:1;color:#000;pointer-events:none;font-size:10px}.reveal .controls button{position:absolute;padding:0;background-color:transparent;border:0;outline:0;cursor:pointer;color:currentColor;-webkit-transform:scale(0.9999);-ms-transform:scale(0.9999);transform:scale(0.9999);-webkit-transition:color 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;transition:color 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;transition:color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;transition:color 0.2s ease, opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.reveal .controls .controls-arrow:before,.reveal .controls .controls-arrow:after{content:'';position:absolute;top:0;left:0;width:2.6em;height:0.5em;border-radius:0.25em;background-color:currentColor;-webkit-transition:all 0.15s ease, background-color 0.8s ease;transition:all 0.15s ease, background-color 0.8s ease;-webkit-transform-origin:0.2em 50%;-ms-transform-origin:0.2em 50%;transform-origin:0.2em 50%;will-change:transform}.reveal .controls .controls-arrow{position:relative;width:3.6em;height:3.6em}.reveal .controls .controls-arrow:before{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(45deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(45deg);transform:translateX(0.5em) translateY(1.55em) rotate(45deg)}.reveal .controls .controls-arrow:after{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(-45deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(-45deg);transform:translateX(0.5em) translateY(1.55em) rotate(-45deg)}.reveal .controls .controls-arrow:hover:before{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(40deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(40deg);transform:translateX(0.5em) translateY(1.55em) rotate(40deg)}.reveal .controls .controls-arrow:hover:after{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(-40deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(-40deg);transform:translateX(0.5em) translateY(1.55em) rotate(-40deg)}.reveal .controls .controls-arrow:active:before{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(36deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(36deg);transform:translateX(0.5em) translateY(1.55em) rotate(36deg)}.reveal .controls .controls-arrow:active:after{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(-36deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(-36deg);transform:translateX(0.5em) translateY(1.55em) rotate(-36deg)}.reveal .controls .navigate-left{right:6.4em;bottom:3.2em;-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}.reveal .controls .navigate-right{right:0;bottom:3.2em;-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}.reveal .controls .navigate-right .controls-arrow{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{-webkit-animation:bounce-right 2s 50 both ease-out;animation:bounce-right 2s 50 both ease-out}.reveal .controls .navigate-up{right:3.2em;bottom:6.4em;-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.reveal .controls .navigate-down{right:3.2em;bottom:0;-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{-webkit-animation:bounce-down 2s 50 both ease-out;animation:bounce-down 2s 50 both ease-out}.reveal .controls[data-controls-back-arrows="faded"] .navigate-left.enabled,.reveal .controls[data-controls-back-arrows="faded"] .navigate-up.enabled{opacity:0.3}.reveal .controls[data-controls-back-arrows="faded"] .navigate-left.enabled:hover,.reveal .controls[data-controls-back-arrows="faded"] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows="hidden"] .navigate-left.enabled,.reveal .controls[data-controls-back-arrows="hidden"] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:0.9;cursor:pointer;-webkit-transform:none;-ms-transform:none;transform:none}.reveal .controls .enabled.fragmented{opacity:0.5}.reveal .controls .enabled:hover,.reveal .controls .enabled.fragmented:hover{opacity:1}.reveal:not(.has-vertical-slides) .controls .navigate-left{bottom:1.4em;right:5.5em}.reveal:not(.has-vertical-slides) .controls .navigate-right{bottom:1.4em;right:0.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{right:1.4em;bottom:5em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{right:1.4em;bottom:0.5em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:hover:before,.reveal.no-hover .controls .controls-arrow:active:before{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(45deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(45deg);transform:translateX(0.5em) translateY(1.55em) rotate(45deg)}.reveal.no-hover .controls .controls-arrow:hover:after,.reveal.no-hover .controls .controls-arrow:active:after{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(-45deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(-45deg);transform:translateX(0.5em) translateY(1.55em) rotate(-45deg)}@media screen and (min-width: 500px){.reveal .controls[data-controls-layout="edges"]{top:0;right:0;bottom:0;left:0}.reveal .controls[data-controls-layout="edges"] .navigate-left,.reveal .controls[data-controls-layout="edges"] .navigate-right,.reveal .controls[data-controls-layout="edges"] .navigate-up,.reveal .controls[data-controls-layout="edges"] .navigate-down{bottom:auto;right:auto}.reveal .controls[data-controls-layout="edges"] .navigate-left{top:50%;left:8px;margin-top:-1.8em}.reveal .controls[data-controls-layout="edges"] .navigate-right{top:50%;right:8px;margin-top:-1.8em}.reveal .controls[data-controls-layout="edges"] .navigate-up{top:8px;left:50%;margin-left:-1.8em}.reveal .controls[data-controls-layout="edges"] .navigate-down{bottom:8px;left:50%;margin-left:-1.8em}}.reveal .progress{position:absolute;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10;background-color:rgba(0,0,0,0.2);color:#fff}.reveal .progress:after{content:'';display:block;position:absolute;height:10px;width:100%;top:-10px}.reveal .progress span{display:block;height:100%;width:0px;background-color:currentColor;-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.reveal .slide-number{position:absolute;display:block;right:8px;bottom:8px;z-index:31;font-family:Helvetica, sans-serif;font-size:12px;line-height:1;color:#fff;background-color:rgba(0,0,0,0.4);padding:5px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{position:relative;width:100%;height:100%;overflow:hidden;-ms-touch-action:none;touch-action:none}@media only screen and (orientation: landscape){.reveal.ua-iphone{position:fixed}}.reveal .slides{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;overflow:visible;z-index:1;text-align:center;-webkit-perspective:600px;perspective:600px;-webkit-perspective-origin:50% 40%;perspective-origin:50% 40%}.reveal .slides>section{-ms-perspective:600px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;padding:20px 0px;pointer-events:auto;z-index:10;-webkit-transform-style:flat;transform-style:flat;-webkit-transition:visibility 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),opacity 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-webkit-transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-webkit-transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:visibility 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),opacity 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-webkit-transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-webkit-transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),visibility 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),opacity 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),visibility 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),opacity 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-webkit-transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-ms-transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-webkit-transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.reveal[data-transition-speed="fast"] .slides section{-webkit-transition-duration:400ms;transition-duration:400ms}.reveal[data-transition-speed="slow"] .slides section{-webkit-transition-duration:1200ms;transition-duration:1200ms}.reveal .slides section[data-transition-speed="fast"]{-webkit-transition-duration:400ms;transition-duration:400ms}.reveal .slides section[data-transition-speed="slow"]{-webkit-transition-duration:1200ms;transition-duration:1200ms}.reveal .slides>section.stack{padding-top:0;padding-bottom:0;pointer-events:none}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section[data-background-interactive],.reveal .slides>section>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0 !important}.reveal .slides>section.future,.reveal .slides>section>section.future,.reveal .slides>section.past,.reveal .slides>section>section.past{pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.past,.reveal .slides>section.future,.reveal .slides>section>section.past,.reveal .slides>section>section.future{opacity:0}.reveal.slide section{-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{-webkit-transform:translate(-150%, 0);-ms-transform:translate(-150%, 0);transform:translate(-150%, 0)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{-webkit-transform:translate(150%, 0);-ms-transform:translate(150%, 0);transform:translate(150%, 0)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{-webkit-transform:translate(0, -150%);-ms-transform:translate(0, -150%);transform:translate(0, -150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{-webkit-transform:translate(0, 150%);-ms-transform:translate(0, 150%);transform:translate(0, 150%)}.reveal.linear section{-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past{-webkit-transform:translate(-150%, 0);-ms-transform:translate(-150%, 0);transform:translate(-150%, 0)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{-webkit-transform:translate(150%, 0);-ms-transform:translate(150%, 0);transform:translate(150%, 0)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{-webkit-transform:translate(0, -150%);-ms-transform:translate(0, -150%);transform:translate(0, -150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{-webkit-transform:translate(0, 150%);-ms-transform:translate(0, 150%);transform:translate(0, 150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{-webkit-transform:translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{-webkit-transform:translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{-webkit-transform:translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);transform:translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{-webkit-transform:translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);transform:translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{-webkit-transform:translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{-webkit-transform:translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{-webkit-transform:translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);transform:translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{-webkit-transform:translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);transform:translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0)}.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{-webkit-transform:translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{-webkit-transform:translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{-webkit-transform:translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);transform:translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{-webkit-transform:translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);transform:translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){-webkit-transition-timing-function:ease;transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;-webkit-transform:scale(16);-ms-transform:scale(16);transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;-webkit-transform:scale(0.2);-ms-transform:scale(0.2);transform:scale(0.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{-webkit-transform:translate(0, -150%);-ms-transform:translate(0, -150%);transform:translate(0, -150%)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{-webkit-transform:translate(0, 150%);-ms-transform:translate(0, 150%);transform:translate(0, 150%)}.reveal.cube .slides{-webkit-perspective:1300px;perspective:1300px}.reveal.cube .slides section{padding:30px;min-height:700px;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:'';position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,0.1);border-radius:4px;-webkit-transform:translateZ(-20px);transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:'';position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:none;z-index:1;border-radius:4px;box-shadow:0px 95px 25px rgba(0,0,0,0.2);-webkit-transform:translateZ(-90px) rotateX(65deg);transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:none}.reveal.cube .slides>section.past{-webkit-transform-origin:100% 0%;-ms-transform-origin:100% 0%;transform-origin:100% 0%;-webkit-transform:translate3d(-100%, 0, 0) rotateY(-90deg);transform:translate3d(-100%, 0, 0) rotateY(-90deg)}.reveal.cube .slides>section.future{-webkit-transform-origin:0% 0%;-ms-transform-origin:0% 0%;transform-origin:0% 0%;-webkit-transform:translate3d(100%, 0, 0) rotateY(90deg);transform:translate3d(100%, 0, 0) rotateY(90deg)}.reveal.cube .slides>section>section.past{-webkit-transform-origin:0% 100%;-ms-transform-origin:0% 100%;transform-origin:0% 100%;-webkit-transform:translate3d(0, -100%, 0) rotateX(90deg);transform:translate3d(0, -100%, 0) rotateX(90deg)}.reveal.cube .slides>section>section.future{-webkit-transform-origin:0% 0%;-ms-transform-origin:0% 0%;transform-origin:0% 0%;-webkit-transform:translate3d(0, 100%, 0) rotateX(-90deg);transform:translate3d(0, 100%, 0) rotateX(-90deg)}.reveal.page .slides{-webkit-perspective-origin:0% 50%;perspective-origin:0% 50%;-webkit-perspective:3000px;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;box-sizing:border-box;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:'';position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,0.1);-webkit-transform:translateZ(-20px);transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:'';position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:none;z-index:1;border-radius:4px;box-shadow:0px 95px 25px rgba(0,0,0,0.2);-webkit-transform:translateZ(-90px) rotateX(65deg)}.reveal.page .slides>section.stack{padding:0;background:none}.reveal.page .slides>section.past{-webkit-transform-origin:0% 0%;-ms-transform-origin:0% 0%;transform-origin:0% 0%;-webkit-transform:translate3d(-40%, 0, 0) rotateY(-80deg);transform:translate3d(-40%, 0, 0) rotateY(-80deg)}.reveal.page .slides>section.future{-webkit-transform-origin:100% 0%;-ms-transform-origin:100% 0%;transform-origin:100% 0%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.reveal.page .slides>section>section.past{-webkit-transform-origin:0% 0%;-ms-transform-origin:0% 0%;transform-origin:0% 0%;-webkit-transform:translate3d(0, -40%, 0) rotateX(80deg);transform:translate3d(0, -40%, 0) rotateX(80deg)}.reveal.page .slides>section>section.future{-webkit-transform-origin:0% 100%;-ms-transform-origin:0% 100%;transform-origin:0% 100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:opacity 0.5s;transition:opacity 0.5s}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{-webkit-transition:none;transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:none;transition:none}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:black;visibility:hidden;opacity:0;z-index:100;-webkit-transition:all 1s ease;transition:all 1s ease}.reveal .pause-overlay .resume-button{position:absolute;bottom:20px;right:20px;color:#ccc;border-radius:2px;padding:6px 14px;border:2px solid #ccc;font-size:16px;background:transparent;cursor:pointer}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.no-transforms{overflow-y:auto}.no-transforms .reveal .slides{position:relative;width:80%;height:auto !important;top:0;left:50%;margin:0;text-align:center}.no-transforms .reveal .controls,.no-transforms .reveal .progress{display:none !important}.no-transforms .reveal .slides section{display:block !important;opacity:1 !important;position:relative !important;height:auto;min-height:0;top:0;left:-50%;margin:70px 0;-webkit-transform:none;-ms-transform:none;transform:none}.no-transforms .reveal .slides section section{left:0}.reveal .no-transition,.reveal .no-transition *{-webkit-transition:none !important;transition:none !important}.reveal .backgrounds{position:absolute;width:100%;height:100%;top:0;left:0;-webkit-perspective:600px;perspective:600px}.reveal .slide-background{display:none;position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;overflow:hidden;background-color:transparent;-webkit-transition:all 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:all 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.reveal .slide-background-content{position:absolute;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1 !important;visibility:visible !important}.reveal .slide-background video{position:absolute;width:100%;height:100%;max-width:none;max-height:none;top:0;left:0;-o-object-fit:cover;object-fit:cover}.reveal .slide-background[data-background-size="contain"] video{-o-object-fit:contain;object-fit:contain}.reveal[data-background-transition=none]>.backgrounds .slide-background,.reveal>.backgrounds .slide-background[data-background-transition=none]{-webkit-transition:none;transition:none}.reveal[data-background-transition=slide]>.backgrounds .slide-background,.reveal>.backgrounds .slide-background[data-background-transition=slide]{opacity:1;-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal[data-background-transition=slide]>.backgrounds .slide-background.past,.reveal>.backgrounds .slide-background.past[data-background-transition=slide]{-webkit-transform:translate(-100%, 0);-ms-transform:translate(-100%, 0);transform:translate(-100%, 0)}.reveal[data-background-transition=slide]>.backgrounds .slide-background.future,.reveal>.backgrounds .slide-background.future[data-background-transition=slide]{-webkit-transform:translate(100%, 0);-ms-transform:translate(100%, 0);transform:translate(100%, 0)}.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past,.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide]{-webkit-transform:translate(0, -100%);-ms-transform:translate(0, -100%);transform:translate(0, -100%)}.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future,.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide]{-webkit-transform:translate(0, 100%);-ms-transform:translate(0, 100%);transform:translate(0, 100%)}.reveal[data-background-transition=convex]>.backgrounds .slide-background.past,.reveal>.backgrounds .slide-background.past[data-background-transition=convex]{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0)}.reveal[data-background-transition=convex]>.backgrounds .slide-background.future,.reveal>.backgrounds .slide-background.future[data-background-transition=convex]{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0)}.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past,.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex]{opacity:0;-webkit-transform:translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0)}.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future,.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex]{opacity:0;-webkit-transform:translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0)}.reveal[data-background-transition=concave]>.backgrounds .slide-background.past,.reveal>.backgrounds .slide-background.past[data-background-transition=concave]{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0)}.reveal[data-background-transition=concave]>.backgrounds .slide-background.future,.reveal>.backgrounds .slide-background.future[data-background-transition=concave]{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0)}.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past,.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave]{opacity:0;-webkit-transform:translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0)}.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future,.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave]{opacity:0;-webkit-transform:translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background,.reveal>.backgrounds .slide-background[data-background-transition=zoom]{-webkit-transition-timing-function:ease;transition-timing-function:ease}.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past,.reveal>.backgrounds .slide-background.past[data-background-transition=zoom]{opacity:0;visibility:hidden;-webkit-transform:scale(16);-ms-transform:scale(16);transform:scale(16)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future,.reveal>.backgrounds .slide-background.future[data-background-transition=zoom]{opacity:0;visibility:hidden;-webkit-transform:scale(0.2);-ms-transform:scale(0.2);transform:scale(0.2)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past,.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom]{opacity:0;visibility:hidden;-webkit-transform:scale(16);-ms-transform:scale(16);transform:scale(16)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future,.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom]{opacity:0;visibility:hidden;-webkit-transform:scale(0.2);-ms-transform:scale(0.2);transform:scale(0.2)}.reveal[data-transition-speed="fast"]>.backgrounds .slide-background{-webkit-transition-duration:400ms;transition-duration:400ms}.reveal[data-transition-speed="slow"]>.backgrounds .slide-background{-webkit-transition-duration:1200ms;transition-duration:1200ms}.reveal.overview{-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%;-webkit-perspective:700px;perspective:700px}.reveal.overview .slides{-moz-transform-style:preserve-3d}.reveal.overview .slides section{height:100%;top:0 !important;opacity:1 !important;overflow:hidden;visibility:visible !important;cursor:pointer;box-sizing:border-box}.reveal.overview .slides section:hover,.reveal.overview .slides section.present{outline:10px solid rgba(150,150,150,0.4);outline-offset:10px}.reveal.overview .slides section .fragment{opacity:1;-webkit-transition:none;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none !important}.reveal.overview .slides>section.stack{padding:0;top:0 !important;background:none;outline:none;overflow:visible}.reveal.overview .backgrounds{-webkit-perspective:inherit;perspective:inherit;-moz-transform-style:preserve-3d}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline:10px solid rgba(150,150,150,0.1);outline-offset:10px}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section{-webkit-transition:none;transition:none}.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{-webkit-transition:none;transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl pre,.reveal.rtl code{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{float:right}.reveal.has-parallax-background .backgrounds{-webkit-transition:all 0.8s ease;transition:all 0.8s ease}.reveal.has-parallax-background[data-transition-speed="fast"] .backgrounds{-webkit-transition-duration:400ms;transition-duration:400ms}.reveal.has-parallax-background[data-transition-speed="slow"] .backgrounds{-webkit-transition-duration:1200ms;transition-duration:1200ms}.reveal>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:rgba(0,0,0,0.9);opacity:0;visibility:hidden;-webkit-transition:all 0.3s ease;transition:all 0.3s ease}.reveal>.overlay.visible{opacity:1;visibility:visible}.reveal>.overlay .spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);visibility:visible;opacity:0.6;-webkit-transition:all 0.3s ease;transition:all 0.3s ease}.reveal>.overlay header{position:absolute;left:0;top:0;width:100%;height:40px;z-index:2;border-bottom:1px solid #222}.reveal>.overlay header a{display:inline-block;width:40px;height:40px;line-height:36px;padding:0 10px;float:right;opacity:0.6;box-sizing:border-box}.reveal>.overlay header a:hover{opacity:1}.reveal>.overlay header a .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.reveal>.overlay header a.close .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC)}.reveal>.overlay header a.external .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==)}.reveal>.overlay .viewport{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;top:40px;right:0;bottom:0;left:0}.reveal>.overlay.overlay-preview .viewport iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;-webkit-transition:all 0.3s ease;transition:all 0.3s ease}.reveal>.overlay.overlay-preview.loaded .viewport iframe{opacity:1;visibility:visible}.reveal>.overlay.overlay-preview.loaded .viewport-inner{position:absolute;z-index:-1;left:0;top:45%;width:100%;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-preview .x-frame-error{opacity:0;-webkit-transition:opacity 0.3s ease 0.3s;transition:opacity 0.3s ease 0.3s}.reveal>.overlay.overlay-preview.loaded .x-frame-error{opacity:1}.reveal>.overlay.overlay-preview.loaded .spinner{opacity:0;visibility:hidden;-webkit-transform:scale(0.2);-ms-transform:scale(0.2);transform:scale(0.2)}.reveal>.overlay.overlay-help .viewport{overflow:auto;color:#fff}.reveal>.overlay.overlay-help .viewport .viewport-inner{width:600px;margin:auto;padding:20px 20px 80px 20px;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-help .viewport .viewport-inner .title{font-size:20px}.reveal>.overlay.overlay-help .viewport .viewport-inner table{border:1px solid #fff;border-collapse:collapse;font-size:16px}.reveal>.overlay.overlay-help .viewport .viewport-inner table th,.reveal>.overlay.overlay-help .viewport .viewport-inner table td{width:200px;padding:14px;border:1px solid #fff;vertical-align:middle}.reveal>.overlay.overlay-help .viewport .viewport-inner table th{padding-top:20px;padding-bottom:20px}.reveal .playback{position:absolute;left:15px;bottom:20px;z-index:30;cursor:pointer;-webkit-transition:all 400ms ease;transition:all 400ms ease;-webkit-tap-highlight-color:transparent}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;-webkit-perspective:400px;perspective:400px;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%}.reveal .roll:hover{background:none;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;-webkit-transition:all 400ms ease;transition:all 400ms ease;-webkit-transform-origin:50% 0%;-ms-transform-origin:50% 0%;transform-origin:50% 0%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .roll:hover span{background:rgba(0,0,0,0.5);-webkit-transform:translate3d(0px, 0px, -45px) rotateX(90deg);transform:translate3d(0px, 0px, -45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:absolute;left:0;top:0;padding:0 2px;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 0%;-ms-transform-origin:50% 0%;transform-origin:50% 0%;-webkit-transform:translate3d(0px, 110%, 0px) rotateX(-90deg);transform:translate3d(0px, 110%, 0px) rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{display:none;position:absolute;width:25vw;height:100%;top:0;left:100%;padding:14px 18px 14px 18px;z-index:1;font-size:18px;line-height:1.4;border:1px solid rgba(0,0,0,0.05);color:#222;background-color:#f5f5f5;overflow:auto;box-sizing:border-box;text-align:left;font-family:Helvetica, sans-serif;-webkit-overflow-scrolling:touch}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:none}.reveal .speaker-notes:before{content:'Speaker notes';display:block;margin-bottom:10px;opacity:0.5}.reveal.show-notes{max-width:75vw;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width: 1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width: 1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70%;overflow:visible}.reveal.show-notes .speaker-notes{top:100%;left:0;width:100%;height:42.8571428571%}}@media screen and (max-width: 600px){.reveal.show-notes{max-height:60%}.reveal.show-notes .speaker-notes{top:100%;height:66.6666666667%}.reveal .speaker-notes{font-size:14px}}.zoomed .reveal *,.zoomed .reveal *:before,.zoomed .reveal *:after{-webkit-backface-visibility:visible !important;backface-visibility:visible !important}.zoomed .reveal .progress,.zoomed .reveal .controls{opacity:0}.zoomed .reveal .roll span{background:none}.zoomed .reveal .roll span:after{visibility:hidden}.reveal .slides>section,.reveal .slides>section>section{line-height:1.2em;font-weight:inherit}.reveal p{margin-bottom:10px;line-height:1.2em}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal strong,.reveal b{font-weight:bold}.reveal em{font-style:italic}.reveal ol,.reveal dl,.reveal ul{display:inline-block;text-align:left;margin:0 0 0 1em}.reveal ol{list-style-type:decimal}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal dt{font-weight:bold}.reveal dd{margin-left:40px}.reveal q,.reveal blockquote{quotes:none}.reveal blockquote{display:block;position:relative;width:70%;margin:5px auto;padding:5px;font-style:italic;background:rgba(255,255,255,0.05);box-shadow:0px 0px 2px rgba(0,0,0,0.2)}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{display:block;position:relative;width:90%;margin:15px auto;text-align:left;font-size:0.55em;font-family:monospace;line-height:1.2em;word-wrap:break-word;box-shadow:0px 0px 6px rgba(0,0,0,0.3)}.reveal code{font-family:monospace}.reveal pre code{display:block;padding:5px;overflow:auto;max-height:400px;word-wrap:normal;background:#3F3F3F;color:#DCDCDC}.reveal table{margin:auto;border-collapse:collapse;border-spacing:0}.reveal table th{font-weight:bold}.reveal table th,.reveal table td{text-align:left;padding:0.2em 0.5em 0.2em 0.5em;border-bottom:1px solid}.reveal table tr:last-child td{border-bottom:none}.reveal sup{vertical-align:super}.reveal sub{vertical-align:sub}.reveal small{display:inline-block;font-size:0.6em;line-height:1.2em;vertical-align:top}.reveal small *{vertical-align:top}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{word-wrap:break-word;line-height:1}.reveal h1{font-size:3.77em}.reveal h2{font-size:2.11em}.reveal h3{font-size:1.55em}.reveal h4{font-size:1em}.theme-color-asphalt-orange{background:#415B77;background:-webkit-radial-gradient(circle farthest-corner at center, #415B77 0%, #2c3e50 100%);background:radial-gradient(circle farthest-corner at center, #415B77 0%, #2c3e50 100%);background-color:#2c3e50}.theme-color-asphalt-orange body{background:transparent}.theme-color-asphalt-orange .theme-body-color-block{background:#eee}.theme-color-asphalt-orange .theme-link-color-block{background:#ffc200}.theme-color-asphalt-orange .themed,.theme-color-asphalt-orange.themed,.theme-color-asphalt-orange .reveal,.theme-color-asphalt-orange.reveal{color:#eee}.theme-color-asphalt-orange .themed a,.theme-color-asphalt-orange.themed a,.theme-color-asphalt-orange .reveal a,.theme-color-asphalt-orange.reveal a{color:#ffc200;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-asphalt-orange .themed a:hover,.theme-color-asphalt-orange.themed a:hover,.theme-color-asphalt-orange .reveal a:hover,.theme-color-asphalt-orange.reveal a:hover{color:#ffda66;text-shadow:none;border:none}.theme-color-asphalt-orange .themed .roll span:after,.theme-color-asphalt-orange.themed .roll span:after,.theme-color-asphalt-orange .reveal .roll span:after,.theme-color-asphalt-orange.reveal .roll span:after{color:#fff;background:#b38800}.theme-color-asphalt-orange .themed section img,.theme-color-asphalt-orange.themed section img,.theme-color-asphalt-orange .reveal section img,.theme-color-asphalt-orange.reveal section img{margin:15px;border:4px solid transparent}.theme-color-asphalt-orange .themed a img,.theme-color-asphalt-orange.themed a img,.theme-color-asphalt-orange .reveal a img,.theme-color-asphalt-orange.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-asphalt-orange .themed a:hover img,.theme-color-asphalt-orange.themed a:hover img,.theme-color-asphalt-orange .reveal a:hover img,.theme-color-asphalt-orange.reveal a:hover img{border-color:#ffc200}.theme-color-asphalt-orange .reveal .controls,.theme-color-asphalt-orange.reveal .controls{color:#ffc200}.theme-color-asphalt-orange .reveal.has-dark-background .controls,.theme-color-asphalt-orange.reveal.has-dark-background .controls{color:#fff}.theme-color-asphalt-orange .reveal.has-light-background .controls,.theme-color-asphalt-orange.reveal.has-light-background .controls{color:#000}.theme-color-asphalt-orange .reveal .progress,.theme-color-asphalt-orange.reveal .progress{background:rgba(0,0,0,0.2);color:#ffc200}.theme-color-asphalt-orange .reveal .progress span,.theme-color-asphalt-orange.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-asphalt-orange .reveal .slide-number,.theme-color-asphalt-orange.reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-beige-brown{background:white;background:-webkit-radial-gradient(circle farthest-corner at center, #fff 0%, #f7f2d3 100%);background:radial-gradient(circle farthest-corner at center, #fff 0%, #f7f2d3 100%);background-color:#f7f3de}.theme-color-beige-brown body{background:transparent}.theme-color-beige-brown .theme-body-color-block{background:#333}.theme-color-beige-brown .theme-link-color-block{background:#8b743d}.theme-color-beige-brown .themed,.theme-color-beige-brown.themed,.theme-color-beige-brown .reveal,.theme-color-beige-brown.reveal{color:#333}.theme-color-beige-brown .themed a,.theme-color-beige-brown.themed a,.theme-color-beige-brown .reveal a,.theme-color-beige-brown.reveal a{color:#8b743d;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-beige-brown .themed a:hover,.theme-color-beige-brown.themed a:hover,.theme-color-beige-brown .reveal a:hover,.theme-color-beige-brown.reveal a:hover{color:#c0a86e;text-shadow:none;border:none}.theme-color-beige-brown .themed .roll span:after,.theme-color-beige-brown.themed .roll span:after,.theme-color-beige-brown .reveal .roll span:after,.theme-color-beige-brown.reveal .roll span:after{color:#fff;background:#564826}.theme-color-beige-brown .themed section img,.theme-color-beige-brown.themed section img,.theme-color-beige-brown .reveal section img,.theme-color-beige-brown.reveal section img{margin:15px;border:4px solid transparent}.theme-color-beige-brown .themed a img,.theme-color-beige-brown.themed a img,.theme-color-beige-brown .reveal a img,.theme-color-beige-brown.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-beige-brown .themed a:hover img,.theme-color-beige-brown.themed a:hover img,.theme-color-beige-brown .reveal a:hover img,.theme-color-beige-brown.reveal a:hover img{border-color:#8b743d}.theme-color-beige-brown .reveal .controls,.theme-color-beige-brown.reveal .controls{color:#8b743d}.theme-color-beige-brown .reveal.has-dark-background .controls,.theme-color-beige-brown.reveal.has-dark-background .controls{color:#fff}.theme-color-beige-brown .reveal.has-light-background .controls,.theme-color-beige-brown.reveal.has-light-background .controls{color:#000}.theme-color-beige-brown .reveal .progress,.theme-color-beige-brown.reveal .progress{background:rgba(0,0,0,0.2);color:#8b743d}.theme-color-beige-brown .reveal .progress span,.theme-color-beige-brown.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-beige-brown .reveal .slide-number,.theme-color-beige-brown.reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-black-mint{background:#111;background-color:#111}.theme-color-black-mint body{background:transparent}.theme-color-black-mint .theme-body-color-block{background:#fff}.theme-color-black-mint .theme-link-color-block{background:#8dd792}.theme-color-black-mint .themed,.theme-color-black-mint.themed,.theme-color-black-mint .reveal,.theme-color-black-mint.reveal{color:#fff}.theme-color-black-mint .themed a,.theme-color-black-mint.themed a,.theme-color-black-mint .reveal a,.theme-color-black-mint.reveal a{color:#8dd792;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-black-mint .themed a:hover,.theme-color-black-mint.themed a:hover,.theme-color-black-mint .reveal a:hover,.theme-color-black-mint.reveal a:hover{color:#d9f1da;text-shadow:none;border:none}.theme-color-black-mint .themed .roll span:after,.theme-color-black-mint.themed .roll span:after,.theme-color-black-mint .reveal .roll span:after,.theme-color-black-mint.reveal .roll span:after{color:#fff;background:#54c35c}.theme-color-black-mint .themed section img,.theme-color-black-mint.themed section img,.theme-color-black-mint .reveal section img,.theme-color-black-mint.reveal section img{margin:15px;border:4px solid transparent}.theme-color-black-mint .themed a img,.theme-color-black-mint.themed a img,.theme-color-black-mint .reveal a img,.theme-color-black-mint.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-black-mint .themed a:hover img,.theme-color-black-mint.themed a:hover img,.theme-color-black-mint .reveal a:hover img,.theme-color-black-mint.reveal a:hover img{border-color:#8dd792}.theme-color-black-mint .reveal .controls,.theme-color-black-mint.reveal .controls{color:#8dd792}.theme-color-black-mint .reveal.has-dark-background .controls,.theme-color-black-mint.reveal.has-dark-background .controls{color:#fff}.theme-color-black-mint .reveal.has-light-background .controls,.theme-color-black-mint.reveal.has-light-background .controls{color:#000}.theme-color-black-mint .reveal .progress,.theme-color-black-mint.reveal .progress{background:rgba(0,0,0,0.2);color:#8dd792}.theme-color-black-mint .reveal .progress span,.theme-color-black-mint.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-black-mint .reveal .slide-number,.theme-color-black-mint.reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-black-orange{background:#222;background-color:#222}.theme-color-black-orange body{background:transparent}.theme-color-black-orange .theme-body-color-block{background:#eee}.theme-color-black-orange .theme-link-color-block{background:#e7ad52}.theme-color-black-orange .themed,.theme-color-black-orange.themed,.theme-color-black-orange .reveal,.theme-color-black-orange.reveal{color:#eee}.theme-color-black-orange .themed a,.theme-color-black-orange.themed a,.theme-color-black-orange .reveal a,.theme-color-black-orange.reveal a{color:#e7ad52;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-black-orange .themed a:hover,.theme-color-black-orange.themed a:hover,.theme-color-black-orange .reveal a:hover,.theme-color-black-orange.reveal a:hover{color:#f3d7ac;text-shadow:none;border:none}.theme-color-black-orange .themed .roll span:after,.theme-color-black-orange.themed .roll span:after,.theme-color-black-orange .reveal .roll span:after,.theme-color-black-orange.reveal .roll span:after{color:#fff;background:#d08a1d}.theme-color-black-orange .themed section img,.theme-color-black-orange.themed section img,.theme-color-black-orange .reveal section img,.theme-color-black-orange.reveal section img{margin:15px;border:4px solid transparent}.theme-color-black-orange .themed a img,.theme-color-black-orange.themed a img,.theme-color-black-orange .reveal a img,.theme-color-black-orange.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-black-orange .themed a:hover img,.theme-color-black-orange.themed a:hover img,.theme-color-black-orange .reveal a:hover img,.theme-color-black-orange.reveal a:hover img{border-color:#e7ad52}.theme-color-black-orange .reveal .controls,.theme-color-black-orange.reveal .controls{color:#e7ad52}.theme-color-black-orange .reveal.has-dark-background .controls,.theme-color-black-orange.reveal.has-dark-background .controls{color:#fff}.theme-color-black-orange .reveal.has-light-background .controls,.theme-color-black-orange.reveal.has-light-background .controls{color:#000}.theme-color-black-orange .reveal .progress,.theme-color-black-orange.reveal .progress{background:rgba(0,0,0,0.2);color:#e7ad52}.theme-color-black-orange .reveal .progress span,.theme-color-black-orange.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-black-orange .reveal .slide-number,.theme-color-black-orange.reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-cobalt-orange{background:#1a4984;background:-webkit-radial-gradient(circle farthest-corner at center, #1a4984 0%, #13335a 100%);background:radial-gradient(circle farthest-corner at center, #1a4984 0%, #13335a 100%);background-color:#13335a}.theme-color-cobalt-orange body{background:transparent}.theme-color-cobalt-orange .theme-body-color-block{background:#fff}.theme-color-cobalt-orange .theme-link-color-block{background:#e08c14}.theme-color-cobalt-orange .themed,.theme-color-cobalt-orange.themed,.theme-color-cobalt-orange .reveal,.theme-color-cobalt-orange.reveal{color:#fff}.theme-color-cobalt-orange .themed a,.theme-color-cobalt-orange.themed a,.theme-color-cobalt-orange .reveal a,.theme-color-cobalt-orange.reveal a{color:#e08c14;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-cobalt-orange .themed a:hover,.theme-color-cobalt-orange.themed a:hover,.theme-color-cobalt-orange .reveal a:hover,.theme-color-cobalt-orange.reveal a:hover{color:#f2b968;text-shadow:none;border:none}.theme-color-cobalt-orange .themed .roll span:after,.theme-color-cobalt-orange.themed .roll span:after,.theme-color-cobalt-orange .reveal .roll span:after,.theme-color-cobalt-orange.reveal .roll span:after{color:#fff;background:#9a600e}.theme-color-cobalt-orange .themed section img,.theme-color-cobalt-orange.themed section img,.theme-color-cobalt-orange .reveal section img,.theme-color-cobalt-orange.reveal section img{margin:15px;border:4px solid transparent}.theme-color-cobalt-orange .themed a img,.theme-color-cobalt-orange.themed a img,.theme-color-cobalt-orange .reveal a img,.theme-color-cobalt-orange.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-cobalt-orange .themed a:hover img,.theme-color-cobalt-orange.themed a:hover img,.theme-color-cobalt-orange .reveal a:hover img,.theme-color-cobalt-orange.reveal a:hover img{border-color:#e08c14}.theme-color-cobalt-orange .reveal .controls,.theme-color-cobalt-orange.reveal .controls{color:#e08c14}.theme-color-cobalt-orange .reveal.has-dark-background .controls,.theme-color-cobalt-orange.reveal.has-dark-background .controls{color:#fff}.theme-color-cobalt-orange .reveal.has-light-background .controls,.theme-color-cobalt-orange.reveal.has-light-background .controls{color:#000}.theme-color-cobalt-orange .reveal .progress,.theme-color-cobalt-orange.reveal .progress{background:rgba(0,0,0,0.2);color:#e08c14}.theme-color-cobalt-orange .reveal .progress span,.theme-color-cobalt-orange.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-cobalt-orange .reveal .slide-number,.theme-color-cobalt-orange.reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-coral-blue{background:#d59177;background:-webkit-radial-gradient(circle farthest-corner at center, #d59177 0%, #C97150 100%);background:radial-gradient(circle farthest-corner at center, #d59177 0%, #C97150 100%);background-color:#C97150}.theme-color-coral-blue body{background:transparent}.theme-color-coral-blue .theme-body-color-block{background:#fff}.theme-color-coral-blue .theme-link-color-block{background:#3A65C0}.theme-color-coral-blue .themed,.theme-color-coral-blue.themed,.theme-color-coral-blue .reveal,.theme-color-coral-blue.reveal{color:#fff}.theme-color-coral-blue .themed a,.theme-color-coral-blue.themed a,.theme-color-coral-blue .reveal a,.theme-color-coral-blue.reveal a{color:#3A65C0;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-coral-blue .themed a:hover,.theme-color-coral-blue.themed a:hover,.theme-color-coral-blue .reveal a:hover,.theme-color-coral-blue.reveal a:hover{color:#86a1da;text-shadow:none;border:none}.theme-color-coral-blue .themed .roll span:after,.theme-color-coral-blue.themed .roll span:after,.theme-color-coral-blue .reveal .roll span:after,.theme-color-coral-blue.reveal .roll span:after{color:#fff;background:#284685}.theme-color-coral-blue .themed section img,.theme-color-coral-blue.themed section img,.theme-color-coral-blue .reveal section img,.theme-color-coral-blue.reveal section img{margin:15px;border:4px solid transparent}.theme-color-coral-blue .themed a img,.theme-color-coral-blue.themed a img,.theme-color-coral-blue .reveal a img,.theme-color-coral-blue.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-coral-blue .themed a:hover img,.theme-color-coral-blue.themed a:hover img,.theme-color-coral-blue .reveal a:hover img,.theme-color-coral-blue.reveal a:hover img{border-color:#3A65C0}.theme-color-coral-blue .reveal .controls,.theme-color-coral-blue.reveal .controls{color:#3A65C0}.theme-color-coral-blue .reveal.has-dark-background .controls,.theme-color-coral-blue.reveal.has-dark-background .controls{color:#fff}.theme-color-coral-blue .reveal.has-light-background .controls,.theme-color-coral-blue.reveal.has-light-background .controls{color:#000}.theme-color-coral-blue .reveal .progress,.theme-color-coral-blue.reveal .progress{background:rgba(0,0,0,0.2);color:#3A65C0}.theme-color-coral-blue .reveal .progress span,.theme-color-coral-blue.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-coral-blue .reveal .slide-number,.theme-color-coral-blue.reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-forest-yellow{background:#189d49;background:-webkit-radial-gradient(circle farthest-corner at center, #189d49 0%, #14853d 100%);background:radial-gradient(circle farthest-corner at center, #189d49 0%, #14853d 100%);background-color:#14853d}.theme-color-forest-yellow body{background:transparent}.theme-color-forest-yellow .theme-body-color-block{background:#fff}.theme-color-forest-yellow .theme-link-color-block{background:#d9d72b}.theme-color-forest-yellow .themed,.theme-color-forest-yellow.themed,.theme-color-forest-yellow .reveal,.theme-color-forest-yellow.reveal{color:#fff}.theme-color-forest-yellow .themed a,.theme-color-forest-yellow.themed a,.theme-color-forest-yellow .reveal a,.theme-color-forest-yellow.reveal a{color:#d9d72b;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-forest-yellow .themed a:hover,.theme-color-forest-yellow.themed a:hover,.theme-color-forest-yellow .reveal a:hover,.theme-color-forest-yellow.reveal a:hover{color:#e9e781;text-shadow:none;border:none}.theme-color-forest-yellow .themed .roll span:after,.theme-color-forest-yellow.themed .roll span:after,.theme-color-forest-yellow .reveal .roll span:after,.theme-color-forest-yellow.reveal .roll span:after{color:#fff;background:#9c9a1c}.theme-color-forest-yellow .themed section img,.theme-color-forest-yellow.themed section img,.theme-color-forest-yellow .reveal section img,.theme-color-forest-yellow.reveal section img{margin:15px;border:4px solid transparent}.theme-color-forest-yellow .themed a img,.theme-color-forest-yellow.themed a img,.theme-color-forest-yellow .reveal a img,.theme-color-forest-yellow.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-forest-yellow .themed a:hover img,.theme-color-forest-yellow.themed a:hover img,.theme-color-forest-yellow .reveal a:hover img,.theme-color-forest-yellow.reveal a:hover img{border-color:#d9d72b}.theme-color-forest-yellow .reveal .controls,.theme-color-forest-yellow.reveal .controls{color:#d9d72b}.theme-color-forest-yellow .reveal.has-dark-background .controls,.theme-color-forest-yellow.reveal.has-dark-background .controls{color:#fff}.theme-color-forest-yellow .reveal.has-light-background .controls,.theme-color-forest-yellow.reveal.has-light-background .controls{color:#000}.theme-color-forest-yellow .reveal .progress,.theme-color-forest-yellow.reveal .progress{background:rgba(0,0,0,0.2);color:#d9d72b}.theme-color-forest-yellow .reveal .progress span,.theme-color-forest-yellow.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-forest-yellow .reveal .slide-number,.theme-color-forest-yellow.reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-grey-blue{background:#555a5f;background:-webkit-radial-gradient(circle farthest-corner at center, #555a5f 0%, #1c1e20 100%);background:radial-gradient(circle farthest-corner at center, #555a5f 0%, #1c1e20 100%);background-color:#2b2b2b}.theme-color-grey-blue body{background:transparent}.theme-color-grey-blue .theme-body-color-block{background:#eee}.theme-color-grey-blue .theme-link-color-block{background:#13DAEC}.theme-color-grey-blue .themed,.theme-color-grey-blue.themed,.theme-color-grey-blue .reveal,.theme-color-grey-blue.reveal{color:#eee}.theme-color-grey-blue .themed a,.theme-color-grey-blue.themed a,.theme-color-grey-blue .reveal a,.theme-color-grey-blue.reveal a{color:#13DAEC;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-grey-blue .themed a:hover,.theme-color-grey-blue.themed a:hover,.theme-color-grey-blue .reveal a:hover,.theme-color-grey-blue.reveal a:hover{color:#71e9f4;text-shadow:none;border:none}.theme-color-grey-blue .themed .roll span:after,.theme-color-grey-blue.themed .roll span:after,.theme-color-grey-blue .reveal .roll span:after,.theme-color-grey-blue.reveal .roll span:after{color:#fff;background:#0d99a5}.theme-color-grey-blue .themed section img,.theme-color-grey-blue.themed section img,.theme-color-grey-blue .reveal section img,.theme-color-grey-blue.reveal section img{margin:15px;border:4px solid transparent}.theme-color-grey-blue .themed a img,.theme-color-grey-blue.themed a img,.theme-color-grey-blue .reveal a img,.theme-color-grey-blue.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-grey-blue .themed a:hover img,.theme-color-grey-blue.themed a:hover img,.theme-color-grey-blue .reveal a:hover img,.theme-color-grey-blue.reveal a:hover img{border-color:#13DAEC}.theme-color-grey-blue .reveal .controls,.theme-color-grey-blue.reveal .controls{color:#13DAEC}.theme-color-grey-blue .reveal.has-dark-background .controls,.theme-color-grey-blue.reveal.has-dark-background .controls{color:#fff}.theme-color-grey-blue .reveal.has-light-background .controls,.theme-color-grey-blue.reveal.has-light-background .controls{color:#000}.theme-color-grey-blue .reveal .progress,.theme-color-grey-blue.reveal .progress{background:rgba(0,0,0,0.2);color:#13DAEC}.theme-color-grey-blue .reveal .progress span,.theme-color-grey-blue.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-grey-blue .reveal .slide-number,.theme-color-grey-blue.reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-lila-yellow{background:#793f62;background:-webkit-radial-gradient(circle farthest-corner at center, #793f62 0%, #512b42 100%);background:radial-gradient(circle farthest-corner at center, #793f62 0%, #512b42 100%);background-color:#512b42}.theme-color-lila-yellow body{background:transparent}.theme-color-lila-yellow .theme-body-color-block{background:#eee}.theme-color-lila-yellow .theme-link-color-block{background:#ffc200}.theme-color-lila-yellow .themed,.theme-color-lila-yellow.themed,.theme-color-lila-yellow .reveal,.theme-color-lila-yellow.reveal{color:#eee}.theme-color-lila-yellow .themed a,.theme-color-lila-yellow.themed a,.theme-color-lila-yellow .reveal a,.theme-color-lila-yellow.reveal a{color:#ffc200;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-lila-yellow .themed a:hover,.theme-color-lila-yellow.themed a:hover,.theme-color-lila-yellow .reveal a:hover,.theme-color-lila-yellow.reveal a:hover{color:#ffda66;text-shadow:none;border:none}.theme-color-lila-yellow .themed .roll span:after,.theme-color-lila-yellow.themed .roll span:after,.theme-color-lila-yellow .reveal .roll span:after,.theme-color-lila-yellow.reveal .roll span:after{color:#fff;background:#b38800}.theme-color-lila-yellow .themed section img,.theme-color-lila-yellow.themed section img,.theme-color-lila-yellow .reveal section img,.theme-color-lila-yellow.reveal section img{margin:15px;border:4px solid transparent}.theme-color-lila-yellow .themed a img,.theme-color-lila-yellow.themed a img,.theme-color-lila-yellow .reveal a img,.theme-color-lila-yellow.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-lila-yellow .themed a:hover img,.theme-color-lila-yellow.themed a:hover img,.theme-color-lila-yellow .reveal a:hover img,.theme-color-lila-yellow.reveal a:hover img{border-color:#ffc200}.theme-color-lila-yellow .reveal .controls,.theme-color-lila-yellow.reveal .controls{color:#ffc200}.theme-color-lila-yellow .reveal.has-dark-background .controls,.theme-color-lila-yellow.reveal.has-dark-background .controls{color:#fff}.theme-color-lila-yellow .reveal.has-light-background .controls,.theme-color-lila-yellow.reveal.has-light-background .controls{color:#000}.theme-color-lila-yellow .reveal .progress,.theme-color-lila-yellow.reveal .progress{background:rgba(0,0,0,0.2);color:#ffc200}.theme-color-lila-yellow .reveal .progress span,.theme-color-lila-yellow.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-lila-yellow .reveal .slide-number,.theme-color-lila-yellow.reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-mint-beige{background:#2aa57e;background:-webkit-radial-gradient(circle farthest-corner at center, #2aa57e 0%, #207C5F 100%);background:radial-gradient(circle farthest-corner at center, #2aa57e 0%, #207C5F 100%);background-color:#207C5F}.theme-color-mint-beige body{background:transparent}.theme-color-mint-beige .theme-body-color-block{background:#fff}.theme-color-mint-beige .theme-link-color-block{background:#ecec6a}.theme-color-mint-beige .themed,.theme-color-mint-beige.themed,.theme-color-mint-beige .reveal,.theme-color-mint-beige.reveal{color:#fff}.theme-color-mint-beige .themed a,.theme-color-mint-beige.themed a,.theme-color-mint-beige .reveal a,.theme-color-mint-beige.reveal a{color:#ecec6a;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-mint-beige .themed a:hover,.theme-color-mint-beige.themed a:hover,.theme-color-mint-beige .reveal a:hover,.theme-color-mint-beige.reveal a:hover{color:#f8f8c4;text-shadow:none;border:none}.theme-color-mint-beige .themed .roll span:after,.theme-color-mint-beige.themed .roll span:after,.theme-color-mint-beige .reveal .roll span:after,.theme-color-mint-beige.reveal .roll span:after{color:#fff;background:#e3e326}.theme-color-mint-beige .themed section img,.theme-color-mint-beige.themed section img,.theme-color-mint-beige .reveal section img,.theme-color-mint-beige.reveal section img{margin:15px;border:4px solid transparent}.theme-color-mint-beige .themed a img,.theme-color-mint-beige.themed a img,.theme-color-mint-beige .reveal a img,.theme-color-mint-beige.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-mint-beige .themed a:hover img,.theme-color-mint-beige.themed a:hover img,.theme-color-mint-beige .reveal a:hover img,.theme-color-mint-beige.reveal a:hover img{border-color:#ecec6a}.theme-color-mint-beige .reveal .controls,.theme-color-mint-beige.reveal .controls{color:#ecec6a}.theme-color-mint-beige .reveal.has-dark-background .controls,.theme-color-mint-beige.reveal.has-dark-background .controls{color:#fff}.theme-color-mint-beige .reveal.has-light-background .controls,.theme-color-mint-beige.reveal.has-light-background .controls{color:#000}.theme-color-mint-beige .reveal .progress,.theme-color-mint-beige.reveal .progress{background:rgba(0,0,0,0.2);color:#ecec6a}.theme-color-mint-beige .reveal .progress span,.theme-color-mint-beige.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-mint-beige .reveal .slide-number,.theme-color-mint-beige.reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-no-color{background-color:#fff}.theme-color-no-color .theme-body-color-block,.theme-color-no-color .theme-link-color-block{background:#000}.theme-color-no-color .themed,.theme-color-no-color.themed,.theme-color-no-color .reveal,.theme-color-no-color.reveal{color:#000}.theme-color-sand-grey{background:#F0F1EB;background-color:#F0F1EB}.theme-color-sand-grey body{background:transparent}.theme-color-sand-grey .theme-body-color-block{background:#111}.theme-color-sand-grey .theme-link-color-block{background:#51483D}.theme-color-sand-grey .themed,.theme-color-sand-grey.themed,.theme-color-sand-grey .reveal,.theme-color-sand-grey.reveal{color:#111}.theme-color-sand-grey .themed a,.theme-color-sand-grey.themed a,.theme-color-sand-grey .reveal a,.theme-color-sand-grey.reveal a{color:#51483D;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-sand-grey .themed a:hover,.theme-color-sand-grey.themed a:hover,.theme-color-sand-grey .reveal a:hover,.theme-color-sand-grey.reveal a:hover{color:#8b7c69;text-shadow:none;border:none}.theme-color-sand-grey .themed .roll span:after,.theme-color-sand-grey.themed .roll span:after,.theme-color-sand-grey .reveal .roll span:after,.theme-color-sand-grey.reveal .roll span:after{color:#fff;background:#25211c}.theme-color-sand-grey .themed section img,.theme-color-sand-grey.themed section img,.theme-color-sand-grey .reveal section img,.theme-color-sand-grey.reveal section img{margin:15px;border:4px solid transparent}.theme-color-sand-grey .themed a img,.theme-color-sand-grey.themed a img,.theme-color-sand-grey .reveal a img,.theme-color-sand-grey.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-sand-grey .themed a:hover img,.theme-color-sand-grey.themed a:hover img,.theme-color-sand-grey .reveal a:hover img,.theme-color-sand-grey.reveal a:hover img{border-color:#51483D}.theme-color-sand-grey .reveal .controls,.theme-color-sand-grey.reveal .controls{color:#51483D}.theme-color-sand-grey .reveal.has-dark-background .controls,.theme-color-sand-grey.reveal.has-dark-background .controls{color:#fff}.theme-color-sand-grey .reveal.has-light-background .controls,.theme-color-sand-grey.reveal.has-light-background .controls{color:#000}.theme-color-sand-grey .reveal .progress,.theme-color-sand-grey.reveal .progress{background:rgba(0,0,0,0.2);color:#51483D}.theme-color-sand-grey .reveal .progress span,.theme-color-sand-grey.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-sand-grey .reveal .slide-number,.theme-color-sand-grey.reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-sea-yellow{background:#6cc9cd;background:-webkit-linear-gradient(top, #6cc9cd 0%, #297477 100%);background:linear-gradient(to bottom, #6cc9cd 0%, #297477 100%);background-color:#297477}.theme-color-sea-yellow body{background:transparent}.theme-color-sea-yellow .theme-body-color-block{background:#fff}.theme-color-sea-yellow .theme-link-color-block{background:#ffc200}.theme-color-sea-yellow .themed,.theme-color-sea-yellow.themed,.theme-color-sea-yellow .reveal,.theme-color-sea-yellow.reveal{color:#fff}.theme-color-sea-yellow .themed a,.theme-color-sea-yellow.themed a,.theme-color-sea-yellow .reveal a,.theme-color-sea-yellow.reveal a{color:#ffc200;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-sea-yellow .themed a:hover,.theme-color-sea-yellow.themed a:hover,.theme-color-sea-yellow .reveal a:hover,.theme-color-sea-yellow.reveal a:hover{color:#ffda66;text-shadow:none;border:none}.theme-color-sea-yellow .themed .roll span:after,.theme-color-sea-yellow.themed .roll span:after,.theme-color-sea-yellow .reveal .roll span:after,.theme-color-sea-yellow.reveal .roll span:after{color:#fff;background:#b38800}.theme-color-sea-yellow .themed section img,.theme-color-sea-yellow.themed section img,.theme-color-sea-yellow .reveal section img,.theme-color-sea-yellow.reveal section img{margin:15px;border:4px solid transparent}.theme-color-sea-yellow .themed a img,.theme-color-sea-yellow.themed a img,.theme-color-sea-yellow .reveal a img,.theme-color-sea-yellow.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-sea-yellow .themed a:hover img,.theme-color-sea-yellow.themed a:hover img,.theme-color-sea-yellow .reveal a:hover img,.theme-color-sea-yellow.reveal a:hover img{border-color:#ffc200}.theme-color-sea-yellow .reveal .controls,.theme-color-sea-yellow.reveal .controls{color:#ffc200}.theme-color-sea-yellow .reveal.has-dark-background .controls,.theme-color-sea-yellow.reveal.has-dark-background .controls{color:#fff}.theme-color-sea-yellow .reveal.has-light-background .controls,.theme-color-sea-yellow.reveal.has-light-background .controls{color:#000}.theme-color-sea-yellow .reveal .progress,.theme-color-sea-yellow.reveal .progress{background:rgba(0,0,0,0.2);color:#ffc200}.theme-color-sea-yellow .reveal .progress span,.theme-color-sea-yellow.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-sea-yellow .reveal .slide-number,.theme-color-sea-yellow.reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-silver-blue{background:white;background:-webkit-radial-gradient(circle farthest-corner at center, #fff 0%, #bbb 100%);background:radial-gradient(circle farthest-corner at center, #fff 0%, #bbb 100%);background-color:#bbb}.theme-color-silver-blue body{background:transparent}.theme-color-silver-blue .theme-body-color-block{background:#111}.theme-color-silver-blue .theme-link-color-block{background:#106bcc}.theme-color-silver-blue .themed,.theme-color-silver-blue.themed,.theme-color-silver-blue .reveal,.theme-color-silver-blue.reveal{color:#111}.theme-color-silver-blue .themed a,.theme-color-silver-blue.themed a,.theme-color-silver-blue .reveal a,.theme-color-silver-blue.reveal a{color:#106bcc;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-silver-blue .themed a:hover,.theme-color-silver-blue.themed a:hover,.theme-color-silver-blue .reveal a:hover,.theme-color-silver-blue.reveal a:hover{color:#2184ee;text-shadow:none;border:none}.theme-color-silver-blue .themed .roll span:after,.theme-color-silver-blue.themed .roll span:after,.theme-color-silver-blue .reveal .roll span:after,.theme-color-silver-blue.reveal .roll span:after{color:#fff;background:#0a4685}.theme-color-silver-blue .themed section img,.theme-color-silver-blue.themed section img,.theme-color-silver-blue .reveal section img,.theme-color-silver-blue.reveal section img{margin:15px;border:4px solid transparent}.theme-color-silver-blue .themed a img,.theme-color-silver-blue.themed a img,.theme-color-silver-blue .reveal a img,.theme-color-silver-blue.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-silver-blue .themed a:hover img,.theme-color-silver-blue.themed a:hover img,.theme-color-silver-blue .reveal a:hover img,.theme-color-silver-blue.reveal a:hover img{border-color:#106bcc}.theme-color-silver-blue .reveal .controls,.theme-color-silver-blue.reveal .controls{color:#106bcc}.theme-color-silver-blue .reveal.has-dark-background .controls,.theme-color-silver-blue.reveal.has-dark-background .controls{color:#fff}.theme-color-silver-blue .reveal.has-light-background .controls,.theme-color-silver-blue.reveal.has-light-background .controls{color:#000}.theme-color-silver-blue .reveal .progress,.theme-color-silver-blue.reveal .progress{background:rgba(0,0,0,0.2);color:#106bcc}.theme-color-silver-blue .reveal .progress span,.theme-color-silver-blue.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-silver-blue .reveal .slide-number,.theme-color-silver-blue.reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-silver-green{background:white;background:-webkit-radial-gradient(circle farthest-corner at center, #fff 0%, #bbb 100%);background:radial-gradient(circle farthest-corner at center, #fff 0%, #bbb 100%);background-color:#bbb}.theme-color-silver-green body{background:transparent}.theme-color-silver-green .theme-body-color-block{background:#111}.theme-color-silver-green .theme-link-color-block{background:#039426}.theme-color-silver-green .themed,.theme-color-silver-green.themed,.theme-color-silver-green .reveal,.theme-color-silver-green.reveal{color:#111}.theme-color-silver-green .themed a,.theme-color-silver-green.themed a,.theme-color-silver-green .reveal a,.theme-color-silver-green.reveal a{color:#039426;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-silver-green .themed a:hover,.theme-color-silver-green.themed a:hover,.theme-color-silver-green .reveal a:hover,.theme-color-silver-green.reveal a:hover{color:#04c633;text-shadow:none;border:none}.theme-color-silver-green .themed .roll span:after,.theme-color-silver-green.themed .roll span:after,.theme-color-silver-green .reveal .roll span:after,.theme-color-silver-green.reveal .roll span:after{color:#fff;background:#014913}.theme-color-silver-green .themed section img,.theme-color-silver-green.themed section img,.theme-color-silver-green .reveal section img,.theme-color-silver-green.reveal section img{margin:15px;border:4px solid transparent}.theme-color-silver-green .themed a img,.theme-color-silver-green.themed a img,.theme-color-silver-green .reveal a img,.theme-color-silver-green.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-silver-green .themed a:hover img,.theme-color-silver-green.themed a:hover img,.theme-color-silver-green .reveal a:hover img,.theme-color-silver-green.reveal a:hover img{border-color:#039426}.theme-color-silver-green .reveal .controls,.theme-color-silver-green.reveal .controls{color:#039426}.theme-color-silver-green .reveal.has-dark-background .controls,.theme-color-silver-green.reveal.has-dark-background .controls{color:#fff}.theme-color-silver-green .reveal.has-light-background .controls,.theme-color-silver-green.reveal.has-light-background .controls{color:#000}.theme-color-silver-green .reveal .progress,.theme-color-silver-green.reveal .progress{background:rgba(0,0,0,0.2);color:#039426}.theme-color-silver-green .reveal .progress span,.theme-color-silver-green.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-silver-green .reveal .slide-number,.theme-color-silver-green.reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-sky-blue{background:#f7fbfc;background:-webkit-radial-gradient(circle farthest-corner at center, #f7fbfc 0%, #add9e4 100%);background:radial-gradient(circle farthest-corner at center, #f7fbfc 0%, #add9e4 100%);background-color:#f7fbfc}.theme-color-sky-blue body{background:transparent}.theme-color-sky-blue .theme-body-color-block{background:#333}.theme-color-sky-blue .theme-link-color-block{background:#3b759e}.theme-color-sky-blue .themed,.theme-color-sky-blue.themed,.theme-color-sky-blue .reveal,.theme-color-sky-blue.reveal{color:#333}.theme-color-sky-blue .themed a,.theme-color-sky-blue.themed a,.theme-color-sky-blue .reveal a,.theme-color-sky-blue.reveal a{color:#3b759e;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-sky-blue .themed a:hover,.theme-color-sky-blue.themed a:hover,.theme-color-sky-blue .reveal a:hover,.theme-color-sky-blue.reveal a:hover{color:#74a7cb;text-shadow:none;border:none}.theme-color-sky-blue .themed .roll span:after,.theme-color-sky-blue.themed .roll span:after,.theme-color-sky-blue .reveal .roll span:after,.theme-color-sky-blue.reveal .roll span:after{color:#fff;background:#264c66}.theme-color-sky-blue .themed section img,.theme-color-sky-blue.themed section img,.theme-color-sky-blue .reveal section img,.theme-color-sky-blue.reveal section img{margin:15px;border:4px solid transparent}.theme-color-sky-blue .themed a img,.theme-color-sky-blue.themed a img,.theme-color-sky-blue .reveal a img,.theme-color-sky-blue.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-sky-blue .themed a:hover img,.theme-color-sky-blue.themed a:hover img,.theme-color-sky-blue .reveal a:hover img,.theme-color-sky-blue.reveal a:hover img{border-color:#3b759e}.theme-color-sky-blue .reveal .controls,.theme-color-sky-blue.reveal .controls{color:#3b759e}.theme-color-sky-blue .reveal.has-dark-background .controls,.theme-color-sky-blue.reveal.has-dark-background .controls{color:#fff}.theme-color-sky-blue .reveal.has-light-background .controls,.theme-color-sky-blue.reveal.has-light-background .controls{color:#000}.theme-color-sky-blue .reveal .progress,.theme-color-sky-blue.reveal .progress{background:rgba(0,0,0,0.2);color:#3b759e}.theme-color-sky-blue .reveal .progress span,.theme-color-sky-blue.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-sky-blue .reveal .slide-number,.theme-color-sky-blue.reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-white-blue{background:#fff;background-color:#fff}.theme-color-white-blue body{background:transparent}.theme-color-white-blue .theme-body-color-block{background:#000}.theme-color-white-blue .theme-link-color-block{background:#00008B}.theme-color-white-blue .themed,.theme-color-white-blue.themed,.theme-color-white-blue .reveal,.theme-color-white-blue.reveal{color:#000}.theme-color-white-blue .themed a,.theme-color-white-blue.themed a,.theme-color-white-blue .reveal a,.theme-color-white-blue.reveal a{color:#00008B;text-decoration:none;-webkit-transition:color .15s ease;transition:color .15s ease}.theme-color-white-blue .themed a:hover,.theme-color-white-blue.themed a:hover,.theme-color-white-blue .reveal a:hover,.theme-color-white-blue.reveal a:hover{color:#0000f1;text-shadow:none;border:none}.theme-color-white-blue .themed .roll span:after,.theme-color-white-blue.themed .roll span:after,.theme-color-white-blue .reveal .roll span:after,.theme-color-white-blue.reveal .roll span:after{color:#fff;background:#00003f}.theme-color-white-blue .themed section img,.theme-color-white-blue.themed section img,.theme-color-white-blue .reveal section img,.theme-color-white-blue.reveal section img{margin:15px;border:4px solid transparent}.theme-color-white-blue .themed a img,.theme-color-white-blue.themed a img,.theme-color-white-blue .reveal a img,.theme-color-white-blue.reveal a img{-webkit-transition:all .15s linear;transition:all .15s linear}.theme-color-white-blue .themed a:hover img,.theme-color-white-blue.themed a:hover img,.theme-color-white-blue .reveal a:hover img,.theme-color-white-blue.reveal a:hover img{border-color:#00008B}.theme-color-white-blue .reveal .controls,.theme-color-white-blue.reveal .controls{color:#00008B}.theme-color-white-blue .reveal.has-dark-background .controls,.theme-color-white-blue.reveal.has-dark-background .controls{color:#fff}.theme-color-white-blue .reveal.has-light-background .controls,.theme-color-white-blue.reveal.has-light-background .controls{color:#000}.theme-color-white-blue .reveal .progress,.theme-color-white-blue.reveal .progress{background:rgba(0,0,0,0.2);color:#00008B}.theme-color-white-blue .reveal .progress span,.theme-color-white-blue.reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-white-blue .reveal .slide-number,.theme-color-white-blue.reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)} diff --git a/2018/09/asg-container_runtimes/lib/offline-v2.css b/2018/09/asg-container_runtimes/lib/offline-v2.css new file mode 100644 index 0000000..98d5400 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/offline-v2.css @@ -0,0 +1,11 @@ +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */@import url("fonts/montserrat/montserrat.css");@import url("fonts/opensans/opensans.css");@import url("fonts/lato/lato.css");@import url("fonts/asul/asul.css");@import url("fonts/josefinsans/josefinsans.css");@import url("fonts/league/league_gothic.css");@import url("fonts/merriweathersans/merriweathersans.css");@import url("fonts/overpass/overpass.css");@import url("fonts/overpass2/overpass2.css");@import url("fonts/quicksand/quicksand.css");@import url("fonts/cabinsketch/cabinsketch.css");@import url("fonts/newscycle/newscycle.css");@import url("fonts/oxygen/oxygen.css");article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:0.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace, serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.theme-font-asul .themed,.theme-font-asul .reveal{font-family:"Asul", sans-serif;font-size:30px}.theme-font-asul .themed section,.theme-font-asul .reveal section{line-height:1.3}.theme-font-asul .themed h1,.theme-font-asul .themed h2,.theme-font-asul .themed h3,.theme-font-asul .themed h4,.theme-font-asul .themed h5,.theme-font-asul .themed h6,.theme-font-asul .reveal h1,.theme-font-asul .reveal h2,.theme-font-asul .reveal h3,.theme-font-asul .reveal h4,.theme-font-asul .reveal h5,.theme-font-asul .reveal h6{font-family:"Asul", sans-serif;text-transform:none;line-height:1.3;font-weight:normal}.theme-font-helvetica .themed,.theme-font-helvetica .reveal{font-family:Helvetica, Arial, sans-serif;font-size:30px}.theme-font-helvetica .themed section,.theme-font-helvetica .reveal section{line-height:1.3}.theme-font-helvetica .themed h1,.theme-font-helvetica .themed h2,.theme-font-helvetica .themed h3,.theme-font-helvetica .themed h4,.theme-font-helvetica .themed h5,.theme-font-helvetica .themed h6,.theme-font-helvetica .reveal h1,.theme-font-helvetica .reveal h2,.theme-font-helvetica .reveal h3,.theme-font-helvetica .reveal h4,.theme-font-helvetica .reveal h5,.theme-font-helvetica .reveal h6{font-family:Helvetica, Arial, sans-serif;text-transform:none;line-height:1.3;font-weight:normal}.theme-font-josefine .themed,.theme-font-josefine .reveal{font-family:"Lato", sans-serif;font-size:30px}.theme-font-josefine .themed section,.theme-font-josefine .reveal section{line-height:1.3}.theme-font-josefine .themed h1,.theme-font-josefine .themed h2,.theme-font-josefine .themed h3,.theme-font-josefine .themed h4,.theme-font-josefine .themed h5,.theme-font-josefine .themed h6,.theme-font-josefine .reveal h1,.theme-font-josefine .reveal h2,.theme-font-josefine .reveal h3,.theme-font-josefine .reveal h4,.theme-font-josefine .reveal h5,.theme-font-josefine .reveal h6{font-family:"Josefin Sans", sans-serif;text-transform:none;line-height:1.3;font-weight:normal}.theme-font-league .themed,.theme-font-league .reveal{font-family:"Lato", Helvetica, sans-serif;font-size:30px}.theme-font-league .themed section,.theme-font-league .reveal section{line-height:1.3}.theme-font-league .themed h1,.theme-font-league .themed h2,.theme-font-league .themed h3,.theme-font-league .themed h4,.theme-font-league .themed h5,.theme-font-league .themed h6,.theme-font-league .reveal h1,.theme-font-league .reveal h2,.theme-font-league .reveal h3,.theme-font-league .reveal h4,.theme-font-league .reveal h5,.theme-font-league .reveal h6{font-family:"League Gothic", Impact, sans-serif;text-transform:uppercase;line-height:1.3;font-weight:normal}.theme-font-merriweather .themed,.theme-font-merriweather .reveal{font-family:"Oxygen", sans-serif;font-size:30px}.theme-font-merriweather .themed section,.theme-font-merriweather .reveal section{line-height:1.3}.theme-font-merriweather .themed h1,.theme-font-merriweather .themed h2,.theme-font-merriweather .themed h3,.theme-font-merriweather .themed h4,.theme-font-merriweather .themed h5,.theme-font-merriweather .themed h6,.theme-font-merriweather .reveal h1,.theme-font-merriweather .reveal h2,.theme-font-merriweather .reveal h3,.theme-font-merriweather .reveal h4,.theme-font-merriweather .reveal h5,.theme-font-merriweather .reveal h6{font-family:"Merriweather Sans", sans-serif;text-transform:none;line-height:1.3;font-weight:normal}.theme-font-montserrat .themed,.theme-font-montserrat .reveal{font-family:"Open Sans", sans-serif;font-size:30px}.theme-font-montserrat .themed section,.theme-font-montserrat .reveal section{line-height:1.3}.theme-font-montserrat .themed h1,.theme-font-montserrat .themed h2,.theme-font-montserrat .themed h3,.theme-font-montserrat .themed h4,.theme-font-montserrat .themed h5,.theme-font-montserrat .themed h6,.theme-font-montserrat .reveal h1,.theme-font-montserrat .reveal h2,.theme-font-montserrat .reveal h3,.theme-font-montserrat .reveal h4,.theme-font-montserrat .reveal h5,.theme-font-montserrat .reveal h6{font-family:"Montserrat", Helvetica, sans-serif;text-transform:none;line-height:1.3;font-weight:normal}.theme-font-news .themed,.theme-font-news .reveal{font-family:"Lato", sans-serif;font-size:30px}.theme-font-news .themed section,.theme-font-news .reveal section{line-height:1.3}.theme-font-news .themed h1,.theme-font-news .themed h2,.theme-font-news .themed h3,.theme-font-news .themed h4,.theme-font-news .themed h5,.theme-font-news .themed h6,.theme-font-news .reveal h1,.theme-font-news .reveal h2,.theme-font-news .reveal h3,.theme-font-news .reveal h4,.theme-font-news .reveal h5,.theme-font-news .reveal h6{font-family:"News Cycle", Impact, sans-serif;text-transform:none;line-height:1.3;font-weight:normal}.theme-font-opensans .themed,.theme-font-opensans .reveal{font-family:"Open Sans", Helvetica, sans-serif;font-size:30px}.theme-font-opensans .themed section,.theme-font-opensans .reveal section{line-height:1.3}.theme-font-opensans .themed h1,.theme-font-opensans .themed h2,.theme-font-opensans .themed h3,.theme-font-opensans .themed h4,.theme-font-opensans .themed h5,.theme-font-opensans .themed h6,.theme-font-opensans .reveal h1,.theme-font-opensans .reveal h2,.theme-font-opensans .reveal h3,.theme-font-opensans .reveal h4,.theme-font-opensans .reveal h5,.theme-font-opensans .reveal h6{font-family:"Open Sans", Helvetica, sans-serif;text-transform:none;line-height:1.3;font-weight:bold}.theme-font-palatino .themed,.theme-font-palatino .reveal{font-family:"Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif;font-size:30px}.theme-font-palatino .themed section,.theme-font-palatino .reveal section{line-height:1.3}.theme-font-palatino .themed h1,.theme-font-palatino .themed h2,.theme-font-palatino .themed h3,.theme-font-palatino .themed h4,.theme-font-palatino .themed h5,.theme-font-palatino .themed h6,.theme-font-palatino .reveal h1,.theme-font-palatino .reveal h2,.theme-font-palatino .reveal h3,.theme-font-palatino .reveal h4,.theme-font-palatino .reveal h5,.theme-font-palatino .reveal h6{font-family:"Palatino Linotype", "Book Antiqua", Palatino, FreeSerif, serif;text-transform:none;line-height:1.3;font-weight:normal}.theme-font-quicksand .themed,.theme-font-quicksand .reveal{font-family:"Open Sans", Helvetica, sans-serif;font-size:30px}.theme-font-quicksand .themed section,.theme-font-quicksand .reveal section{line-height:1.3}.theme-font-quicksand .themed h1,.theme-font-quicksand .themed h2,.theme-font-quicksand .themed h3,.theme-font-quicksand .themed h4,.theme-font-quicksand .themed h5,.theme-font-quicksand .themed h6,.theme-font-quicksand .reveal h1,.theme-font-quicksand .reveal h2,.theme-font-quicksand .reveal h3,.theme-font-quicksand .reveal h4,.theme-font-quicksand .reveal h5,.theme-font-quicksand .reveal h6{font-family:"Quicksand", Helvetica, sans-serif;text-transform:uppercase;line-height:1.3;font-weight:normal}.theme-font-sketch .themed,.theme-font-sketch .reveal{font-family:"Oxygen", sans-serif;font-size:30px}.theme-font-sketch .themed section,.theme-font-sketch .reveal section{line-height:1.3}.theme-font-sketch .themed h1,.theme-font-sketch .themed h2,.theme-font-sketch .themed h3,.theme-font-sketch .themed h4,.theme-font-sketch .themed h5,.theme-font-sketch .themed h6,.theme-font-sketch .reveal h1,.theme-font-sketch .reveal h2,.theme-font-sketch .reveal h3,.theme-font-sketch .reveal h4,.theme-font-sketch .reveal h5,.theme-font-sketch .reveal h6{font-family:"Cabin Sketch", sans-serif;text-transform:none;line-height:1.3;font-weight:normal}.theme-font-overpass .themed,.theme-font-overpass .reveal{font-family:"Overpass", sans-serif;font-size:28px}.theme-font-overpass .themed section,.theme-font-overpass .reveal section{line-height:1.3}.theme-font-overpass .themed h1,.theme-font-overpass .themed h2,.theme-font-overpass .themed h3,.theme-font-overpass .themed h4,.theme-font-overpass .themed h5,.theme-font-overpass .themed h6,.theme-font-overpass .reveal h1,.theme-font-overpass .reveal h2,.theme-font-overpass .reveal h3,.theme-font-overpass .reveal h4,.theme-font-overpass .reveal h5,.theme-font-overpass .reveal h6{font-family:"Overpass", sans-serif;text-transform:uppercase;line-height:1.3;font-weight:bold}.theme-font-overpass .themed h1,.theme-font-overpass.themed h1,.theme-font-overpass .reveal h1,.theme-font-overpass.reveal h1{font-size:1.75em;margin-bottom:.25em;letter-spacing:.015em}.theme-font-overpass .themed h2,.theme-font-overpass.themed h2,.theme-font-overpass .reveal h2,.theme-font-overpass.reveal h2{font-size:1.15em;margin-bottom:.5em;letter-spacing:.036661em}.theme-font-overpass .themed h3,.theme-font-overpass.themed h3,.theme-font-overpass .reveal h3,.theme-font-overpass.reveal h3{font-size:1.00em;margin-bottom:.5em;letter-spacing:.041em}.theme-font-overpass .themed h4,.theme-font-overpass.themed h4,.theme-font-overpass .reveal h4,.theme-font-overpass.reveal h4{font-size:1.00em}.theme-font-overpass .themed h5,.theme-font-overpass.themed h5,.theme-font-overpass .reveal h5,.theme-font-overpass.reveal h5{font-size:1.00em}.theme-font-overpass .themed h6,.theme-font-overpass.themed h6,.theme-font-overpass .reveal h6,.theme-font-overpass.reveal h6{font-size:1.00em}.theme-font-overpass2 .themed,.theme-font-overpass2 .reveal{font-family:"Overpass 2", sans-serif;font-size:28px}.theme-font-overpass2 .themed section,.theme-font-overpass2 .reveal section{line-height:1.3}.theme-font-overpass2 .themed h1,.theme-font-overpass2 .themed h2,.theme-font-overpass2 .themed h3,.theme-font-overpass2 .themed h4,.theme-font-overpass2 .themed h5,.theme-font-overpass2 .themed h6,.theme-font-overpass2 .reveal h1,.theme-font-overpass2 .reveal h2,.theme-font-overpass2 .reveal h3,.theme-font-overpass2 .reveal h4,.theme-font-overpass2 .reveal h5,.theme-font-overpass2 .reveal h6{font-family:"Overpass 2", sans-serif;text-transform:uppercase;line-height:1.3;font-weight:bold}.theme-font-overpass2 .themed h1,.theme-font-overpass2.themed h1,.theme-font-overpass2 .reveal h1,.theme-font-overpass2.reveal h1{font-size:1.75em;margin-bottom:.25em;letter-spacing:.015em}.theme-font-overpass2 .themed h2,.theme-font-overpass2.themed h2,.theme-font-overpass2 .reveal h2,.theme-font-overpass2.reveal h2{font-size:1.15em;margin-bottom:.5em;letter-spacing:.036661em}.theme-font-overpass2 .themed h3,.theme-font-overpass2.themed h3,.theme-font-overpass2 .reveal h3,.theme-font-overpass2.reveal h3{font-size:1.00em;margin-bottom:.5em;letter-spacing:.041em}.theme-font-overpass2 .themed h4,.theme-font-overpass2.themed h4,.theme-font-overpass2 .reveal h4,.theme-font-overpass2.reveal h4{font-size:1.00em}.theme-font-overpass2 .themed h5,.theme-font-overpass2.themed h5,.theme-font-overpass2 .reveal h5,.theme-font-overpass2.reveal h5{font-size:1.00em}.theme-font-overpass2 .themed h6,.theme-font-overpass2.themed h6,.theme-font-overpass2 .reveal h6,.theme-font-overpass2.reveal h6{font-size:1.00em}.theme-font-no-font .themed,.theme-font-no-font.themed,.theme-font-no-font .reveal,.theme-font-no-font.reveal{font-family:sans-serif;font-size:30px}.theme-font-no-font .themed section font,.theme-font-no-font.themed section font,.theme-font-no-font .reveal section font,.theme-font-no-font.reveal section font{line-height:1}@font-face{font-family:'KaTeX_AMS';src:url(fonts/katex/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/katex/KaTeX_AMS-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:'KaTeX_Caligraphic';src:url(fonts/katex/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/katex/KaTeX_Caligraphic-Bold.ttf) format("truetype");font-weight:bold;font-style:normal}@font-face{font-family:'KaTeX_Caligraphic';src:url(fonts/katex/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/katex/KaTeX_Caligraphic-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:'KaTeX_Fraktur';src:url(fonts/katex/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/katex/KaTeX_Fraktur-Bold.ttf) format("truetype");font-weight:bold;font-style:normal}@font-face{font-family:'KaTeX_Fraktur';src:url(fonts/katex/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/katex/KaTeX_Fraktur-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:'KaTeX_Main';src:url(fonts/katex/KaTeX_Main-Bold.woff) format("woff"),url(fonts/katex/KaTeX_Main-Bold.ttf) format("truetype");font-weight:bold;font-style:normal}@font-face{font-family:'KaTeX_Main';src:url(fonts/katex/KaTeX_Main-Italic.woff) format("woff"),url(fonts/katex/KaTeX_Main-Italic.ttf) format("truetype");font-weight:normal;font-style:italic}@font-face{font-family:'KaTeX_Main';src:url(fonts/katex/KaTeX_Main-Regular.woff) format("woff"),url(fonts/katex/KaTeX_Main-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:'KaTeX_Math';src:url(fonts/katex/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/katex/KaTeX_Math-BoldItalic.ttf) format("truetype");font-weight:bold;font-style:italic}@font-face{font-family:'KaTeX_Math';src:url(fonts/katex/KaTeX_Math-Italic.woff) format("woff"),url(fonts/katex/KaTeX_Math-Italic.ttf) format("truetype");font-weight:normal;font-style:italic}@font-face{font-family:'KaTeX_Math';src:url(fonts/katex/KaTeX_Math-Regular.woff) format("woff"),url(fonts/katex/KaTeX_Math-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:'KaTeX_SansSerif';src:url(fonts/katex/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/katex/KaTeX_SansSerif-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:'KaTeX_Script';src:url(fonts/katex/KaTeX_Script-Regular.woff) format("woff"),url(fonts/katex/KaTeX_Script-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:'KaTeX_Size1';src:url(fonts/katex/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/katex/KaTeX_Size1-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:'KaTeX_Size2';src:url(fonts/katex/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/katex/KaTeX_Size2-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:'KaTeX_Size3';src:url(fonts/katex/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/katex/KaTeX_Size3-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:'KaTeX_Size4';src:url(fonts/katex/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/katex/KaTeX_Size4-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}@font-face{font-family:'KaTeX_Typewriter';src:url(fonts/katex/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/katex/KaTeX_Typewriter-Regular.ttf) format("truetype");font-weight:normal;font-style:normal}.katex{font:normal 1.21em KaTeX_Main, Times New Roman, serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none !important}.katex .katex-mathml{position:absolute;clip:rect(1px, 1px, 1px, 1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{position:relative;display:inline-block;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .strut{display:inline-block}.katex .textbf{font-weight:bold}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathit{font-family:KaTeX_Math;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:bold}.katex .boldsymbol{font-family:KaTeX_Math;font-weight:bold;font-style:italic}.katex .amsrm{font-family:KaTeX_AMS}.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:bold}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainit{font-family:KaTeX_Main;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;vertical-align:bottom;position:relative}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;vertical-align:bottom;font-size:1px;width:2px;min-width:2px}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .underline .underline-line,.katex .hline,.katex .hdashline,.katex .rule{min-height:1px}.katex .mspace{display:inline-block}.katex .llap,.katex .rlap,.katex .clap{width:0;position:relative}.katex .llap>.inner,.katex .rlap>.inner,.katex .clap>.inner{position:absolute}.katex .llap>.fix,.katex .rlap>.fix,.katex .clap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .rlap>.inner,.katex .clap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{display:inline-block;border:solid 0;position:relative}.katex .overline .overline-line,.katex .underline .underline-line,.katex .hline{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline{display:inline-block;width:100%;border-bottom-style:dashed}.katex .sqrt>.root{margin-left:0.27777778em;margin-right:-0.55555556em}.katex .sizing,.katex .fontsize-ensurer{display:inline-block}.katex .sizing.reset-size1.size1,.katex .fontsize-ensurer.reset-size1.size1{font-size:1em}.katex .sizing.reset-size1.size2,.katex .fontsize-ensurer.reset-size1.size2{font-size:1.2em}.katex .sizing.reset-size1.size3,.katex .fontsize-ensurer.reset-size1.size3{font-size:1.4em}.katex .sizing.reset-size1.size4,.katex .fontsize-ensurer.reset-size1.size4{font-size:1.6em}.katex .sizing.reset-size1.size5,.katex .fontsize-ensurer.reset-size1.size5{font-size:1.8em}.katex .sizing.reset-size1.size6,.katex .fontsize-ensurer.reset-size1.size6{font-size:2em}.katex .sizing.reset-size1.size7,.katex .fontsize-ensurer.reset-size1.size7{font-size:2.4em}.katex .sizing.reset-size1.size8,.katex .fontsize-ensurer.reset-size1.size8{font-size:2.88em}.katex .sizing.reset-size1.size9,.katex .fontsize-ensurer.reset-size1.size9{font-size:3.456em}.katex .sizing.reset-size1.size10,.katex .fontsize-ensurer.reset-size1.size10{font-size:4.148em}.katex .sizing.reset-size1.size11,.katex .fontsize-ensurer.reset-size1.size11{font-size:4.976em}.katex .sizing.reset-size2.size1,.katex .fontsize-ensurer.reset-size2.size1{font-size:0.83333333em}.katex .sizing.reset-size2.size2,.katex .fontsize-ensurer.reset-size2.size2{font-size:1em}.katex .sizing.reset-size2.size3,.katex .fontsize-ensurer.reset-size2.size3{font-size:1.16666667em}.katex .sizing.reset-size2.size4,.katex .fontsize-ensurer.reset-size2.size4{font-size:1.33333333em}.katex .sizing.reset-size2.size5,.katex .fontsize-ensurer.reset-size2.size5{font-size:1.5em}.katex .sizing.reset-size2.size6,.katex .fontsize-ensurer.reset-size2.size6{font-size:1.66666667em}.katex .sizing.reset-size2.size7,.katex .fontsize-ensurer.reset-size2.size7{font-size:2em}.katex .sizing.reset-size2.size8,.katex .fontsize-ensurer.reset-size2.size8{font-size:2.4em}.katex .sizing.reset-size2.size9,.katex .fontsize-ensurer.reset-size2.size9{font-size:2.88em}.katex .sizing.reset-size2.size10,.katex .fontsize-ensurer.reset-size2.size10{font-size:3.45666667em}.katex .sizing.reset-size2.size11,.katex .fontsize-ensurer.reset-size2.size11{font-size:4.14666667em}.katex .sizing.reset-size3.size1,.katex .fontsize-ensurer.reset-size3.size1{font-size:0.71428571em}.katex .sizing.reset-size3.size2,.katex .fontsize-ensurer.reset-size3.size2{font-size:0.85714286em}.katex .sizing.reset-size3.size3,.katex .fontsize-ensurer.reset-size3.size3{font-size:1em}.katex .sizing.reset-size3.size4,.katex .fontsize-ensurer.reset-size3.size4{font-size:1.14285714em}.katex .sizing.reset-size3.size5,.katex .fontsize-ensurer.reset-size3.size5{font-size:1.28571429em}.katex .sizing.reset-size3.size6,.katex .fontsize-ensurer.reset-size3.size6{font-size:1.42857143em}.katex .sizing.reset-size3.size7,.katex .fontsize-ensurer.reset-size3.size7{font-size:1.71428571em}.katex .sizing.reset-size3.size8,.katex .fontsize-ensurer.reset-size3.size8{font-size:2.05714286em}.katex .sizing.reset-size3.size9,.katex .fontsize-ensurer.reset-size3.size9{font-size:2.46857143em}.katex .sizing.reset-size3.size10,.katex .fontsize-ensurer.reset-size3.size10{font-size:2.96285714em}.katex .sizing.reset-size3.size11,.katex .fontsize-ensurer.reset-size3.size11{font-size:3.55428571em}.katex .sizing.reset-size4.size1,.katex .fontsize-ensurer.reset-size4.size1{font-size:0.625em}.katex .sizing.reset-size4.size2,.katex .fontsize-ensurer.reset-size4.size2{font-size:0.75em}.katex .sizing.reset-size4.size3,.katex .fontsize-ensurer.reset-size4.size3{font-size:0.875em}.katex .sizing.reset-size4.size4,.katex .fontsize-ensurer.reset-size4.size4{font-size:1em}.katex .sizing.reset-size4.size5,.katex .fontsize-ensurer.reset-size4.size5{font-size:1.125em}.katex .sizing.reset-size4.size6,.katex .fontsize-ensurer.reset-size4.size6{font-size:1.25em}.katex .sizing.reset-size4.size7,.katex .fontsize-ensurer.reset-size4.size7{font-size:1.5em}.katex .sizing.reset-size4.size8,.katex .fontsize-ensurer.reset-size4.size8{font-size:1.8em}.katex .sizing.reset-size4.size9,.katex .fontsize-ensurer.reset-size4.size9{font-size:2.16em}.katex .sizing.reset-size4.size10,.katex .fontsize-ensurer.reset-size4.size10{font-size:2.5925em}.katex .sizing.reset-size4.size11,.katex .fontsize-ensurer.reset-size4.size11{font-size:3.11em}.katex .sizing.reset-size5.size1,.katex .fontsize-ensurer.reset-size5.size1{font-size:0.55555556em}.katex .sizing.reset-size5.size2,.katex .fontsize-ensurer.reset-size5.size2{font-size:0.66666667em}.katex .sizing.reset-size5.size3,.katex .fontsize-ensurer.reset-size5.size3{font-size:0.77777778em}.katex .sizing.reset-size5.size4,.katex .fontsize-ensurer.reset-size5.size4{font-size:0.88888889em}.katex .sizing.reset-size5.size5,.katex .fontsize-ensurer.reset-size5.size5{font-size:1em}.katex .sizing.reset-size5.size6,.katex .fontsize-ensurer.reset-size5.size6{font-size:1.11111111em}.katex .sizing.reset-size5.size7,.katex .fontsize-ensurer.reset-size5.size7{font-size:1.33333333em}.katex .sizing.reset-size5.size8,.katex .fontsize-ensurer.reset-size5.size8{font-size:1.6em}.katex .sizing.reset-size5.size9,.katex .fontsize-ensurer.reset-size5.size9{font-size:1.92em}.katex .sizing.reset-size5.size10,.katex .fontsize-ensurer.reset-size5.size10{font-size:2.30444444em}.katex .sizing.reset-size5.size11,.katex .fontsize-ensurer.reset-size5.size11{font-size:2.76444444em}.katex .sizing.reset-size6.size1,.katex .fontsize-ensurer.reset-size6.size1{font-size:0.5em}.katex .sizing.reset-size6.size2,.katex .fontsize-ensurer.reset-size6.size2{font-size:0.6em}.katex .sizing.reset-size6.size3,.katex .fontsize-ensurer.reset-size6.size3{font-size:0.7em}.katex .sizing.reset-size6.size4,.katex .fontsize-ensurer.reset-size6.size4{font-size:0.8em}.katex .sizing.reset-size6.size5,.katex .fontsize-ensurer.reset-size6.size5{font-size:0.9em}.katex .sizing.reset-size6.size6,.katex .fontsize-ensurer.reset-size6.size6{font-size:1em}.katex .sizing.reset-size6.size7,.katex .fontsize-ensurer.reset-size6.size7{font-size:1.2em}.katex .sizing.reset-size6.size8,.katex .fontsize-ensurer.reset-size6.size8{font-size:1.44em}.katex .sizing.reset-size6.size9,.katex .fontsize-ensurer.reset-size6.size9{font-size:1.728em}.katex .sizing.reset-size6.size10,.katex .fontsize-ensurer.reset-size6.size10{font-size:2.074em}.katex .sizing.reset-size6.size11,.katex .fontsize-ensurer.reset-size6.size11{font-size:2.488em}.katex .sizing.reset-size7.size1,.katex .fontsize-ensurer.reset-size7.size1{font-size:0.41666667em}.katex .sizing.reset-size7.size2,.katex .fontsize-ensurer.reset-size7.size2{font-size:0.5em}.katex .sizing.reset-size7.size3,.katex .fontsize-ensurer.reset-size7.size3{font-size:0.58333333em}.katex .sizing.reset-size7.size4,.katex .fontsize-ensurer.reset-size7.size4{font-size:0.66666667em}.katex .sizing.reset-size7.size5,.katex .fontsize-ensurer.reset-size7.size5{font-size:0.75em}.katex .sizing.reset-size7.size6,.katex .fontsize-ensurer.reset-size7.size6{font-size:0.83333333em}.katex .sizing.reset-size7.size7,.katex .fontsize-ensurer.reset-size7.size7{font-size:1em}.katex .sizing.reset-size7.size8,.katex .fontsize-ensurer.reset-size7.size8{font-size:1.2em}.katex .sizing.reset-size7.size9,.katex .fontsize-ensurer.reset-size7.size9{font-size:1.44em}.katex .sizing.reset-size7.size10,.katex .fontsize-ensurer.reset-size7.size10{font-size:1.72833333em}.katex .sizing.reset-size7.size11,.katex .fontsize-ensurer.reset-size7.size11{font-size:2.07333333em}.katex .sizing.reset-size8.size1,.katex .fontsize-ensurer.reset-size8.size1{font-size:0.34722222em}.katex .sizing.reset-size8.size2,.katex .fontsize-ensurer.reset-size8.size2{font-size:0.41666667em}.katex .sizing.reset-size8.size3,.katex .fontsize-ensurer.reset-size8.size3{font-size:0.48611111em}.katex .sizing.reset-size8.size4,.katex .fontsize-ensurer.reset-size8.size4{font-size:0.55555556em}.katex .sizing.reset-size8.size5,.katex .fontsize-ensurer.reset-size8.size5{font-size:0.625em}.katex .sizing.reset-size8.size6,.katex .fontsize-ensurer.reset-size8.size6{font-size:0.69444444em}.katex .sizing.reset-size8.size7,.katex .fontsize-ensurer.reset-size8.size7{font-size:0.83333333em}.katex .sizing.reset-size8.size8,.katex .fontsize-ensurer.reset-size8.size8{font-size:1em}.katex .sizing.reset-size8.size9,.katex .fontsize-ensurer.reset-size8.size9{font-size:1.2em}.katex .sizing.reset-size8.size10,.katex .fontsize-ensurer.reset-size8.size10{font-size:1.44027778em}.katex .sizing.reset-size8.size11,.katex .fontsize-ensurer.reset-size8.size11{font-size:1.72777778em}.katex .sizing.reset-size9.size1,.katex .fontsize-ensurer.reset-size9.size1{font-size:0.28935185em}.katex .sizing.reset-size9.size2,.katex .fontsize-ensurer.reset-size9.size2{font-size:0.34722222em}.katex .sizing.reset-size9.size3,.katex .fontsize-ensurer.reset-size9.size3{font-size:0.40509259em}.katex .sizing.reset-size9.size4,.katex .fontsize-ensurer.reset-size9.size4{font-size:0.46296296em}.katex .sizing.reset-size9.size5,.katex .fontsize-ensurer.reset-size9.size5{font-size:0.52083333em}.katex .sizing.reset-size9.size6,.katex .fontsize-ensurer.reset-size9.size6{font-size:0.5787037em}.katex .sizing.reset-size9.size7,.katex .fontsize-ensurer.reset-size9.size7{font-size:0.69444444em}.katex .sizing.reset-size9.size8,.katex .fontsize-ensurer.reset-size9.size8{font-size:0.83333333em}.katex .sizing.reset-size9.size9,.katex .fontsize-ensurer.reset-size9.size9{font-size:1em}.katex .sizing.reset-size9.size10,.katex .fontsize-ensurer.reset-size9.size10{font-size:1.20023148em}.katex .sizing.reset-size9.size11,.katex .fontsize-ensurer.reset-size9.size11{font-size:1.43981481em}.katex .sizing.reset-size10.size1,.katex .fontsize-ensurer.reset-size10.size1{font-size:0.24108004em}.katex .sizing.reset-size10.size2,.katex .fontsize-ensurer.reset-size10.size2{font-size:0.28929605em}.katex .sizing.reset-size10.size3,.katex .fontsize-ensurer.reset-size10.size3{font-size:0.33751205em}.katex .sizing.reset-size10.size4,.katex .fontsize-ensurer.reset-size10.size4{font-size:0.38572806em}.katex .sizing.reset-size10.size5,.katex .fontsize-ensurer.reset-size10.size5{font-size:0.43394407em}.katex .sizing.reset-size10.size6,.katex .fontsize-ensurer.reset-size10.size6{font-size:0.48216008em}.katex .sizing.reset-size10.size7,.katex .fontsize-ensurer.reset-size10.size7{font-size:0.57859209em}.katex .sizing.reset-size10.size8,.katex .fontsize-ensurer.reset-size10.size8{font-size:0.69431051em}.katex .sizing.reset-size10.size9,.katex .fontsize-ensurer.reset-size10.size9{font-size:0.83317261em}.katex .sizing.reset-size10.size10,.katex .fontsize-ensurer.reset-size10.size10{font-size:1em}.katex .sizing.reset-size10.size11,.katex .fontsize-ensurer.reset-size10.size11{font-size:1.19961427em}.katex .sizing.reset-size11.size1,.katex .fontsize-ensurer.reset-size11.size1{font-size:0.20096463em}.katex .sizing.reset-size11.size2,.katex .fontsize-ensurer.reset-size11.size2{font-size:0.24115756em}.katex .sizing.reset-size11.size3,.katex .fontsize-ensurer.reset-size11.size3{font-size:0.28135048em}.katex .sizing.reset-size11.size4,.katex .fontsize-ensurer.reset-size11.size4{font-size:0.32154341em}.katex .sizing.reset-size11.size5,.katex .fontsize-ensurer.reset-size11.size5{font-size:0.36173633em}.katex .sizing.reset-size11.size6,.katex .fontsize-ensurer.reset-size11.size6{font-size:0.40192926em}.katex .sizing.reset-size11.size7,.katex .fontsize-ensurer.reset-size11.size7{font-size:0.48231511em}.katex .sizing.reset-size11.size8,.katex .fontsize-ensurer.reset-size11.size8{font-size:0.57877814em}.katex .sizing.reset-size11.size9,.katex .fontsize-ensurer.reset-size11.size9{font-size:0.69453376em}.katex .sizing.reset-size11.size10,.katex .fontsize-ensurer.reset-size11.size10{font-size:0.83360129em}.katex .sizing.reset-size11.size11,.katex .fontsize-ensurer.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:0.12em}.katex .delimcenter{position:relative}.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .op-limits>.vlist-t{text-align:center}.katex .accent>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;margin:0 -0.025em;border-right:0.05em solid;min-width:1px}.katex .mtable .vs-dashed{border-right:0.05em dashed}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{display:block;position:absolute;width:100%;height:inherit;fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex svg path{stroke:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy::before,.katex .stretchy::after{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{position:absolute;left:0;width:50.2%;overflow:hidden}.katex .halfarrow-right{position:absolute;right:0;width:50.2%;overflow:hidden}.katex .brace-left{position:absolute;left:0;width:25.1%;overflow:hidden}.katex .brace-center{position:absolute;left:25%;width:50%;overflow:hidden}.katex .brace-right{position:absolute;right:0;width:25.1%;overflow:hidden}.katex .x-arrow-pad{padding:0 0.5em}.katex .x-arrow,.katex .mover,.katex .munder{text-align:center}.katex .boxpad{padding:0 0.3em 0 0.3em}.katex .fbox{box-sizing:border-box;border:0.04em solid black}.katex .fcolorbox{box-sizing:border-box;border:0.04em solid}.katex .cancel-pad{padding:0 0.2em 0 0.2em}.katex .cancel-lap{margin-left:-0.2em;margin-right:-0.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:0.08em}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}[data-highlight-theme="zenburn"] .hljs,.sl-block-content:not([data-highlight-theme]) .hljs{display:block;overflow-x:auto;background:#3f3f3f;color:#dcdcdc}[data-highlight-theme="zenburn"] .hljs-keyword,[data-highlight-theme="zenburn"] .hljs-selector-tag,[data-highlight-theme="zenburn"] .hljs-tag,.sl-block-content:not([data-highlight-theme]) .hljs-keyword,.sl-block-content:not([data-highlight-theme]) .hljs-selector-tag,.sl-block-content:not([data-highlight-theme]) .hljs-tag{color:#e3ceab}[data-highlight-theme="zenburn"] .hljs-template-tag,.sl-block-content:not([data-highlight-theme]) .hljs-template-tag{color:#dcdcdc}[data-highlight-theme="zenburn"] .hljs-number,.sl-block-content:not([data-highlight-theme]) .hljs-number{color:#8cd0d3}[data-highlight-theme="zenburn"] .hljs-variable,[data-highlight-theme="zenburn"] .hljs-template-variable,[data-highlight-theme="zenburn"] .hljs-attribute,.sl-block-content:not([data-highlight-theme]) .hljs-variable,.sl-block-content:not([data-highlight-theme]) .hljs-template-variable,.sl-block-content:not([data-highlight-theme]) .hljs-attribute{color:#efdcbc}[data-highlight-theme="zenburn"] .hljs-literal,.sl-block-content:not([data-highlight-theme]) .hljs-literal{color:#efefaf}[data-highlight-theme="zenburn"] .hljs-subst,.sl-block-content:not([data-highlight-theme]) .hljs-subst{color:#8f8f8f}[data-highlight-theme="zenburn"] .hljs-title,[data-highlight-theme="zenburn"] .hljs-name,[data-highlight-theme="zenburn"] .hljs-selector-id,[data-highlight-theme="zenburn"] .hljs-selector-class,[data-highlight-theme="zenburn"] .hljs-section,[data-highlight-theme="zenburn"] .hljs-type,.sl-block-content:not([data-highlight-theme]) .hljs-title,.sl-block-content:not([data-highlight-theme]) .hljs-name,.sl-block-content:not([data-highlight-theme]) .hljs-selector-id,.sl-block-content:not([data-highlight-theme]) .hljs-selector-class,.sl-block-content:not([data-highlight-theme]) .hljs-section,.sl-block-content:not([data-highlight-theme]) .hljs-type{color:#efef8f}[data-highlight-theme="zenburn"] .hljs-symbol,[data-highlight-theme="zenburn"] .hljs-bullet,[data-highlight-theme="zenburn"] .hljs-link,.sl-block-content:not([data-highlight-theme]) .hljs-symbol,.sl-block-content:not([data-highlight-theme]) .hljs-bullet,.sl-block-content:not([data-highlight-theme]) .hljs-link{color:#dca3a3}[data-highlight-theme="zenburn"] .hljs-deletion,[data-highlight-theme="zenburn"] .hljs-string,[data-highlight-theme="zenburn"] .hljs-built_in,[data-highlight-theme="zenburn"] .hljs-builtin-name,.sl-block-content:not([data-highlight-theme]) .hljs-deletion,.sl-block-content:not([data-highlight-theme]) .hljs-string,.sl-block-content:not([data-highlight-theme]) .hljs-built_in,.sl-block-content:not([data-highlight-theme]) .hljs-builtin-name{color:#cc9393}[data-highlight-theme="zenburn"] .hljs-addition,[data-highlight-theme="zenburn"] .hljs-comment,[data-highlight-theme="zenburn"] .hljs-quote,[data-highlight-theme="zenburn"] .hljs-meta,.sl-block-content:not([data-highlight-theme]) .hljs-addition,.sl-block-content:not([data-highlight-theme]) .hljs-comment,.sl-block-content:not([data-highlight-theme]) .hljs-quote,.sl-block-content:not([data-highlight-theme]) .hljs-meta{color:#7f9f7f}[data-highlight-theme="zenburn"] .hljs-emphasis,.sl-block-content:not([data-highlight-theme]) .hljs-emphasis{font-style:italic}[data-highlight-theme="zenburn"] .hljs-strong,.sl-block-content:not([data-highlight-theme]) .hljs-strong{font-weight:bold}[data-highlight-theme="ascetic"] .hljs{display:block;overflow-x:auto;background:white;color:black}[data-highlight-theme="ascetic"] .hljs-string,[data-highlight-theme="ascetic"] .hljs-variable,[data-highlight-theme="ascetic"] .hljs-template-variable,[data-highlight-theme="ascetic"] .hljs-symbol,[data-highlight-theme="ascetic"] .hljs-bullet,[data-highlight-theme="ascetic"] .hljs-section,[data-highlight-theme="ascetic"] .hljs-addition,[data-highlight-theme="ascetic"] .hljs-attribute,[data-highlight-theme="ascetic"] .hljs-link{color:#888}[data-highlight-theme="ascetic"] .hljs-comment,[data-highlight-theme="ascetic"] .hljs-quote,[data-highlight-theme="ascetic"] .hljs-meta,[data-highlight-theme="ascetic"] .hljs-deletion{color:#ccc}[data-highlight-theme="ascetic"] .hljs-keyword,[data-highlight-theme="ascetic"] .hljs-selector-tag,[data-highlight-theme="ascetic"] .hljs-section,[data-highlight-theme="ascetic"] .hljs-name,[data-highlight-theme="ascetic"] .hljs-type,[data-highlight-theme="ascetic"] .hljs-strong{font-weight:bold}[data-highlight-theme="ascetic"] .hljs-emphasis{font-style:italic}[data-highlight-theme="far"] .hljs{display:block;overflow-x:auto;background:#000080}[data-highlight-theme="far"] .hljs,[data-highlight-theme="far"] .hljs-subst{color:#0ff}[data-highlight-theme="far"] .hljs-string,[data-highlight-theme="far"] .hljs-attribute,[data-highlight-theme="far"] .hljs-symbol,[data-highlight-theme="far"] .hljs-bullet,[data-highlight-theme="far"] .hljs-built_in,[data-highlight-theme="far"] .hljs-builtin-name,[data-highlight-theme="far"] .hljs-template-tag,[data-highlight-theme="far"] .hljs-template-variable,[data-highlight-theme="far"] .hljs-addition{color:#ff0}[data-highlight-theme="far"] .hljs-keyword,[data-highlight-theme="far"] .hljs-selector-tag,[data-highlight-theme="far"] .hljs-section,[data-highlight-theme="far"] .hljs-type,[data-highlight-theme="far"] .hljs-name,[data-highlight-theme="far"] .hljs-selector-id,[data-highlight-theme="far"] .hljs-selector-class,[data-highlight-theme="far"] .hljs-variable{color:#fff}[data-highlight-theme="far"] .hljs-comment,[data-highlight-theme="far"] .hljs-quote,[data-highlight-theme="far"] .hljs-doctag,[data-highlight-theme="far"] .hljs-deletion{color:#888}[data-highlight-theme="far"] .hljs-number,[data-highlight-theme="far"] .hljs-regexp,[data-highlight-theme="far"] .hljs-literal,[data-highlight-theme="far"] .hljs-link{color:#0f0}[data-highlight-theme="far"] .hljs-meta{color:#008080}[data-highlight-theme="far"] .hljs-keyword,[data-highlight-theme="far"] .hljs-selector-tag,[data-highlight-theme="far"] .hljs-title,[data-highlight-theme="far"] .hljs-section,[data-highlight-theme="far"] .hljs-name,[data-highlight-theme="far"] .hljs-strong{font-weight:bold}[data-highlight-theme="far"] .hljs-emphasis{font-style:italic}[data-highlight-theme="github-gist"] .hljs{display:block;background:white;color:#333333;overflow-x:auto}[data-highlight-theme="github-gist"] .hljs-comment,[data-highlight-theme="github-gist"] .hljs-meta{color:#969896}[data-highlight-theme="github-gist"] .hljs-string,[data-highlight-theme="github-gist"] .hljs-variable,[data-highlight-theme="github-gist"] .hljs-template-variable,[data-highlight-theme="github-gist"] .hljs-strong,[data-highlight-theme="github-gist"] .hljs-emphasis,[data-highlight-theme="github-gist"] .hljs-quote{color:#df5000}[data-highlight-theme="github-gist"] .hljs-keyword,[data-highlight-theme="github-gist"] .hljs-selector-tag,[data-highlight-theme="github-gist"] .hljs-type{color:#a71d5d}[data-highlight-theme="github-gist"] .hljs-literal,[data-highlight-theme="github-gist"] .hljs-symbol,[data-highlight-theme="github-gist"] .hljs-bullet,[data-highlight-theme="github-gist"] .hljs-attribute{color:#0086b3}[data-highlight-theme="github-gist"] .hljs-section,[data-highlight-theme="github-gist"] .hljs-name{color:#63a35c}[data-highlight-theme="github-gist"] .hljs-tag{color:#333333}[data-highlight-theme="github-gist"] .hljs-title,[data-highlight-theme="github-gist"] .hljs-attr,[data-highlight-theme="github-gist"] .hljs-selector-id,[data-highlight-theme="github-gist"] .hljs-selector-class,[data-highlight-theme="github-gist"] .hljs-selector-attr,[data-highlight-theme="github-gist"] .hljs-selector-pseudo{color:#795da3}[data-highlight-theme="github-gist"] .hljs-addition{color:#55a532;background-color:#eaffea}[data-highlight-theme="github-gist"] .hljs-deletion{color:#bd2c00;background-color:#ffecec}[data-highlight-theme="github-gist"] .hljs-link{text-decoration:underline}[data-highlight-theme="ir-black"] .hljs{display:block;overflow-x:auto;background:#000;color:#f8f8f8}[data-highlight-theme="ir-black"] .hljs-comment,[data-highlight-theme="ir-black"] .hljs-quote,[data-highlight-theme="ir-black"] .hljs-meta{color:#7c7c7c}[data-highlight-theme="ir-black"] .hljs-keyword,[data-highlight-theme="ir-black"] .hljs-selector-tag,[data-highlight-theme="ir-black"] .hljs-tag,[data-highlight-theme="ir-black"] .hljs-name{color:#96cbfe}[data-highlight-theme="ir-black"] .hljs-attribute,[data-highlight-theme="ir-black"] .hljs-selector-id{color:#ffffb6}[data-highlight-theme="ir-black"] .hljs-string,[data-highlight-theme="ir-black"] .hljs-selector-attr,[data-highlight-theme="ir-black"] .hljs-selector-pseudo,[data-highlight-theme="ir-black"] .hljs-addition{color:#a8ff60}[data-highlight-theme="ir-black"] .hljs-subst{color:#daefa3}[data-highlight-theme="ir-black"] .hljs-regexp,[data-highlight-theme="ir-black"] .hljs-link{color:#e9c062}[data-highlight-theme="ir-black"] .hljs-title,[data-highlight-theme="ir-black"] .hljs-section,[data-highlight-theme="ir-black"] .hljs-type,[data-highlight-theme="ir-black"] .hljs-doctag{color:#ffffb6}[data-highlight-theme="ir-black"] .hljs-symbol,[data-highlight-theme="ir-black"] .hljs-bullet,[data-highlight-theme="ir-black"] .hljs-variable,[data-highlight-theme="ir-black"] .hljs-template-variable,[data-highlight-theme="ir-black"] .hljs-literal{color:#c6c5fe}[data-highlight-theme="ir-black"] .hljs-number,[data-highlight-theme="ir-black"] .hljs-deletion{color:#ff73fd}[data-highlight-theme="ir-black"] .hljs-emphasis{font-style:italic}[data-highlight-theme="ir-black"] .hljs-strong{font-weight:bold}[data-highlight-theme="monokai"] .hljs{display:block;overflow-x:auto;background:#272822;color:#ddd}[data-highlight-theme="monokai"] .hljs-tag,[data-highlight-theme="monokai"] .hljs-keyword,[data-highlight-theme="monokai"] .hljs-selector-tag,[data-highlight-theme="monokai"] .hljs-literal,[data-highlight-theme="monokai"] .hljs-strong,[data-highlight-theme="monokai"] .hljs-name{color:#f92672}[data-highlight-theme="monokai"] .hljs-code{color:#66d9ef}[data-highlight-theme="monokai"] .hljs-class .hljs-title{color:white}[data-highlight-theme="monokai"] .hljs-attribute,[data-highlight-theme="monokai"] .hljs-symbol,[data-highlight-theme="monokai"] .hljs-regexp,[data-highlight-theme="monokai"] .hljs-link{color:#bf79db}[data-highlight-theme="monokai"] .hljs-string,[data-highlight-theme="monokai"] .hljs-bullet,[data-highlight-theme="monokai"] .hljs-subst,[data-highlight-theme="monokai"] .hljs-title,[data-highlight-theme="monokai"] .hljs-section,[data-highlight-theme="monokai"] .hljs-emphasis,[data-highlight-theme="monokai"] .hljs-type,[data-highlight-theme="monokai"] .hljs-built_in,[data-highlight-theme="monokai"] .hljs-builtin-name,[data-highlight-theme="monokai"] .hljs-selector-attr,[data-highlight-theme="monokai"] .hljs-selector-pseudo,[data-highlight-theme="monokai"] .hljs-addition,[data-highlight-theme="monokai"] .hljs-variable,[data-highlight-theme="monokai"] .hljs-template-tag,[data-highlight-theme="monokai"] .hljs-template-variable{color:#a6e22e}[data-highlight-theme="monokai"] .hljs-comment,[data-highlight-theme="monokai"] .hljs-quote,[data-highlight-theme="monokai"] .hljs-deletion,[data-highlight-theme="monokai"] .hljs-meta{color:#75715e}[data-highlight-theme="monokai"] .hljs-keyword,[data-highlight-theme="monokai"] .hljs-selector-tag,[data-highlight-theme="monokai"] .hljs-literal,[data-highlight-theme="monokai"] .hljs-doctag,[data-highlight-theme="monokai"] .hljs-title,[data-highlight-theme="monokai"] .hljs-section,[data-highlight-theme="monokai"] .hljs-type,[data-highlight-theme="monokai"] .hljs-selector-id{font-weight:bold}[data-highlight-theme="obsidian"] .hljs{display:block;overflow-x:auto;background:#282b2e}[data-highlight-theme="obsidian"] .hljs-keyword,[data-highlight-theme="obsidian"] .hljs-selector-tag,[data-highlight-theme="obsidian"] .hljs-literal,[data-highlight-theme="obsidian"] .hljs-selector-id{color:#93c763}[data-highlight-theme="obsidian"] .hljs-number{color:#ffcd22}[data-highlight-theme="obsidian"] .hljs{color:#e0e2e4}[data-highlight-theme="obsidian"] .hljs-attribute{color:#668bb0}[data-highlight-theme="obsidian"] .hljs-code,[data-highlight-theme="obsidian"] .hljs-class .hljs-title,[data-highlight-theme="obsidian"] .hljs-section{color:white}[data-highlight-theme="obsidian"] .hljs-regexp,[data-highlight-theme="obsidian"] .hljs-link{color:#d39745}[data-highlight-theme="obsidian"] .hljs-meta{color:#557182}[data-highlight-theme="obsidian"] .hljs-tag,[data-highlight-theme="obsidian"] .hljs-name,[data-highlight-theme="obsidian"] .hljs-bullet,[data-highlight-theme="obsidian"] .hljs-subst,[data-highlight-theme="obsidian"] .hljs-emphasis,[data-highlight-theme="obsidian"] .hljs-type,[data-highlight-theme="obsidian"] .hljs-built_in,[data-highlight-theme="obsidian"] .hljs-selector-attr,[data-highlight-theme="obsidian"] .hljs-selector-pseudo,[data-highlight-theme="obsidian"] .hljs-addition,[data-highlight-theme="obsidian"] .hljs-variable,[data-highlight-theme="obsidian"] .hljs-template-tag,[data-highlight-theme="obsidian"] .hljs-template-variable{color:#8cbbad}[data-highlight-theme="obsidian"] .hljs-string,[data-highlight-theme="obsidian"] .hljs-symbol{color:#ec7600}[data-highlight-theme="obsidian"] .hljs-comment,[data-highlight-theme="obsidian"] .hljs-quote,[data-highlight-theme="obsidian"] .hljs-deletion{color:#818e96}[data-highlight-theme="obsidian"] .hljs-selector-class{color:#A082BD}[data-highlight-theme="obsidian"] .hljs-keyword,[data-highlight-theme="obsidian"] .hljs-selector-tag,[data-highlight-theme="obsidian"] .hljs-literal,[data-highlight-theme="obsidian"] .hljs-doctag,[data-highlight-theme="obsidian"] .hljs-title,[data-highlight-theme="obsidian"] .hljs-section,[data-highlight-theme="obsidian"] .hljs-type,[data-highlight-theme="obsidian"] .hljs-name,[data-highlight-theme="obsidian"] .hljs-strong{font-weight:bold}[data-highlight-theme="solarized-dark"] .hljs{display:block;overflow-x:auto;background:#002b36;color:#839496}[data-highlight-theme="solarized-dark"] .hljs-comment,[data-highlight-theme="solarized-dark"] .hljs-quote{color:#586e75}[data-highlight-theme="solarized-dark"] .hljs-keyword,[data-highlight-theme="solarized-dark"] .hljs-selector-tag,[data-highlight-theme="solarized-dark"] .hljs-addition{color:#859900}[data-highlight-theme="solarized-dark"] .hljs-number,[data-highlight-theme="solarized-dark"] .hljs-string,[data-highlight-theme="solarized-dark"] .hljs-meta .hljs-meta-string,[data-highlight-theme="solarized-dark"] .hljs-literal,[data-highlight-theme="solarized-dark"] .hljs-doctag,[data-highlight-theme="solarized-dark"] .hljs-regexp{color:#2aa198}[data-highlight-theme="solarized-dark"] .hljs-title,[data-highlight-theme="solarized-dark"] .hljs-section,[data-highlight-theme="solarized-dark"] .hljs-name,[data-highlight-theme="solarized-dark"] .hljs-selector-id,[data-highlight-theme="solarized-dark"] .hljs-selector-class{color:#268bd2}[data-highlight-theme="solarized-dark"] .hljs-attribute,[data-highlight-theme="solarized-dark"] .hljs-attr,[data-highlight-theme="solarized-dark"] .hljs-variable,[data-highlight-theme="solarized-dark"] .hljs-template-variable,[data-highlight-theme="solarized-dark"] .hljs-class .hljs-title,[data-highlight-theme="solarized-dark"] .hljs-type{color:#b58900}[data-highlight-theme="solarized-dark"] .hljs-symbol,[data-highlight-theme="solarized-dark"] .hljs-bullet,[data-highlight-theme="solarized-dark"] .hljs-subst,[data-highlight-theme="solarized-dark"] .hljs-meta,[data-highlight-theme="solarized-dark"] .hljs-meta .hljs-keyword,[data-highlight-theme="solarized-dark"] .hljs-selector-attr,[data-highlight-theme="solarized-dark"] .hljs-selector-pseudo,[data-highlight-theme="solarized-dark"] .hljs-link{color:#cb4b16}[data-highlight-theme="solarized-dark"] .hljs-built_in,[data-highlight-theme="solarized-dark"] .hljs-deletion{color:#dc322f}[data-highlight-theme="solarized-dark"] .hljs-formula{background:#073642}[data-highlight-theme="solarized-dark"] .hljs-emphasis{font-style:italic}[data-highlight-theme="solarized-dark"] .hljs-strong{font-weight:bold}[data-highlight-theme="solarized-light"] .hljs{display:block;overflow-x:auto;background:#fdf6e3;color:#657b83}[data-highlight-theme="solarized-light"] .hljs-comment,[data-highlight-theme="solarized-light"] .hljs-quote{color:#93a1a1}[data-highlight-theme="solarized-light"] .hljs-keyword,[data-highlight-theme="solarized-light"] .hljs-selector-tag,[data-highlight-theme="solarized-light"] .hljs-addition{color:#859900}[data-highlight-theme="solarized-light"] .hljs-number,[data-highlight-theme="solarized-light"] .hljs-string,[data-highlight-theme="solarized-light"] .hljs-meta .hljs-meta-string,[data-highlight-theme="solarized-light"] .hljs-literal,[data-highlight-theme="solarized-light"] .hljs-doctag,[data-highlight-theme="solarized-light"] .hljs-regexp{color:#2aa198}[data-highlight-theme="solarized-light"] .hljs-title,[data-highlight-theme="solarized-light"] .hljs-section,[data-highlight-theme="solarized-light"] .hljs-name,[data-highlight-theme="solarized-light"] .hljs-selector-id,[data-highlight-theme="solarized-light"] .hljs-selector-class{color:#268bd2}[data-highlight-theme="solarized-light"] .hljs-attribute,[data-highlight-theme="solarized-light"] .hljs-attr,[data-highlight-theme="solarized-light"] .hljs-variable,[data-highlight-theme="solarized-light"] .hljs-template-variable,[data-highlight-theme="solarized-light"] .hljs-class .hljs-title,[data-highlight-theme="solarized-light"] .hljs-type{color:#b58900}[data-highlight-theme="solarized-light"] .hljs-symbol,[data-highlight-theme="solarized-light"] .hljs-bullet,[data-highlight-theme="solarized-light"] .hljs-subst,[data-highlight-theme="solarized-light"] .hljs-meta,[data-highlight-theme="solarized-light"] .hljs-meta .hljs-keyword,[data-highlight-theme="solarized-light"] .hljs-selector-attr,[data-highlight-theme="solarized-light"] .hljs-selector-pseudo,[data-highlight-theme="solarized-light"] .hljs-link{color:#cb4b16}[data-highlight-theme="solarized-light"] .hljs-built_in,[data-highlight-theme="solarized-light"] .hljs-deletion{color:#dc322f}[data-highlight-theme="solarized-light"] .hljs-formula{background:#eee8d5}[data-highlight-theme="solarized-light"] .hljs-emphasis{font-style:italic}[data-highlight-theme="solarized-light"] .hljs-strong{font-weight:bold}[data-highlight-theme="tomorrow"] .hljs-comment,[data-highlight-theme="tomorrow"] .hljs-quote{color:#8e908c}[data-highlight-theme="tomorrow"] .hljs-variable,[data-highlight-theme="tomorrow"] .hljs-template-variable,[data-highlight-theme="tomorrow"] .hljs-tag,[data-highlight-theme="tomorrow"] .hljs-name,[data-highlight-theme="tomorrow"] .hljs-selector-id,[data-highlight-theme="tomorrow"] .hljs-selector-class,[data-highlight-theme="tomorrow"] .hljs-regexp,[data-highlight-theme="tomorrow"] .hljs-deletion{color:#c82829}[data-highlight-theme="tomorrow"] .hljs-number,[data-highlight-theme="tomorrow"] .hljs-built_in,[data-highlight-theme="tomorrow"] .hljs-builtin-name,[data-highlight-theme="tomorrow"] .hljs-literal,[data-highlight-theme="tomorrow"] .hljs-type,[data-highlight-theme="tomorrow"] .hljs-params,[data-highlight-theme="tomorrow"] .hljs-meta,[data-highlight-theme="tomorrow"] .hljs-link{color:#f5871f}[data-highlight-theme="tomorrow"] .hljs-attribute{color:#eab700}[data-highlight-theme="tomorrow"] .hljs-string,[data-highlight-theme="tomorrow"] .hljs-symbol,[data-highlight-theme="tomorrow"] .hljs-bullet,[data-highlight-theme="tomorrow"] .hljs-addition{color:#718c00}[data-highlight-theme="tomorrow"] .hljs-title,[data-highlight-theme="tomorrow"] .hljs-section{color:#4271ae}[data-highlight-theme="tomorrow"] .hljs-keyword,[data-highlight-theme="tomorrow"] .hljs-selector-tag{color:#8959a8}[data-highlight-theme="tomorrow"] .hljs{display:block;overflow-x:auto;background:white;color:#4d4d4c}[data-highlight-theme="tomorrow"] .hljs-emphasis{font-style:italic}[data-highlight-theme="tomorrow"] .hljs-strong{font-weight:bold}[data-highlight-theme="xcode"] .hljs{display:block;overflow-x:auto;background:#fff;color:black}[data-highlight-theme="xcode"] .hljs-comment,[data-highlight-theme="xcode"] .hljs-quote{color:#006a00}[data-highlight-theme="xcode"] .hljs-keyword,[data-highlight-theme="xcode"] .hljs-selector-tag,[data-highlight-theme="xcode"] .hljs-literal{color:#aa0d91}[data-highlight-theme="xcode"] .hljs-name{color:#008}[data-highlight-theme="xcode"] .hljs-variable,[data-highlight-theme="xcode"] .hljs-template-variable{color:#660}[data-highlight-theme="xcode"] .hljs-string{color:#c41a16}[data-highlight-theme="xcode"] .hljs-regexp,[data-highlight-theme="xcode"] .hljs-link{color:#080}[data-highlight-theme="xcode"] .hljs-title,[data-highlight-theme="xcode"] .hljs-tag,[data-highlight-theme="xcode"] .hljs-symbol,[data-highlight-theme="xcode"] .hljs-bullet,[data-highlight-theme="xcode"] .hljs-number,[data-highlight-theme="xcode"] .hljs-meta{color:#1c00cf}[data-highlight-theme="xcode"] .hljs-section,[data-highlight-theme="xcode"] .hljs-class .hljs-title,[data-highlight-theme="xcode"] .hljs-type,[data-highlight-theme="xcode"] .hljs-attr,[data-highlight-theme="xcode"] .hljs-built_in,[data-highlight-theme="xcode"] .hljs-builtin-name,[data-highlight-theme="xcode"] .hljs-params{color:#5c2699}[data-highlight-theme="xcode"] .hljs-attribute,[data-highlight-theme="xcode"] .hljs-subst{color:#000}[data-highlight-theme="xcode"] .hljs-formula{background-color:#eee;font-style:italic}[data-highlight-theme="xcode"] .hljs-addition{background-color:#baeeba}[data-highlight-theme="xcode"] .hljs-deletion{background-color:#ffc8bd}[data-highlight-theme="xcode"] .hljs-selector-id,[data-highlight-theme="xcode"] .hljs-selector-class{color:#9b703f}[data-highlight-theme="xcode"] .hljs-doctag,[data-highlight-theme="xcode"] .hljs-strong{font-weight:bold}[data-highlight-theme="xcode"] .hljs-emphasis{font-style:italic}/*! + * Main styles for Slides + * + * @author Hakim El Hattab + */*{box-sizing:border-box}html,body{padding:0;margin:0;color:#252525;font-family:"Open Sans", Helvetica, sans-serif;font-size:16px}html:before,body:before{content:'' !important}html{-webkit-font-smoothing:subpixel-antialiased !important}html.sl-root:not(.loaded) *{-webkit-transition:none !important;transition:none !important}body{overflow-y:scroll}body>*:not(.reveal){font-family:"Open Sans", Helvetica, sans-serif}html,#container{background-color:#eee}#container{position:relative;z-index:1}html.full-width,html.full-width #container{background-color:transparent}html.full-width .column{max-width:none}.icon{display:inline-block;line-height:1}.spinner{display:block;width:32px;height:32px;margin-top:16px;margin-left:16px}.spinner.centered{position:absolute;top:50%;left:50%;margin-top:-16px;margin-left:-16px}.spinner.centered-horizontally{margin-left:auto;margin-right:auto}.spinner-bitmap{display:block;width:32px;height:32px;background-image:url(data:image/png;base64,R0lGODlhIAAgAPMAAP///wAAAMbGxoSEhLa2tpqamjY2NlZWVtjY2OTk5Ly8vB4eHgQEBAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHRLYKhKP1oZmADdEAAAh+QQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY/CZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB+A4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6+Ho7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq+B6QDtuetcaBPnW6+O7wDHpIiK9SaVK5GgV543tzjgGcghAgAh+QQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK++G+w48edZPK+M6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE+G+cD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm+FNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk+aV+oJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0/VNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc+XiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30/iI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE/jiuL04RGEBgwWhShRgQExHBAAh+QQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR+ipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY+Yip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd+MFCN6HAAIKgNggY0KtEBAAh+QQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1+vsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d+jYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg+ygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0+bm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h+Kr0SJ8MFihpNbx+4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX+BP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA==);background-repeat:no-repeat}.clear{clear:both}.vcenter:before{content:'';display:inline-block;height:100%;vertical-align:middle}.vcenter-target{display:inline-block;vertical-align:middle}.no-transition,.no-transition *{-webkit-transition:none !important;transition:none !important;-webkit-animation-duration:0s !important;animation-duration:0s !important}.grow-in-on-load{opacity:0;-webkit-transform:scale(0.96);-ms-transform:scale(0.96);transform:scale(0.96);-webkit-transition:all 0.3s ease;transition:all 0.3s ease}html.loaded .grow-in-on-load{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}.cc-window{z-index:2000}.cc-window,.cc-window.cc-banner{box-shadow:0 0 15px rgba(0,0,0,0.05);font-size:14px}.cc-window .cc-btn{border-radius:2px}h1,h2,h3,h4,h5,h6{font-family:"Open Sans", Helvetica, sans-serif;line-height:1.3em;font-weight:normal}h1,h2,h3,h4,h5,h6,ul,li{margin:0;padding:0}h1{font-size:35.2px}h2{font-size:27.2px;font-weight:600}h3{font-size:20.8px;font-weight:600}h4{font-size:16px;font-weight:600}h5{font-size:16px;font-weight:600}h6{font-size:16px;font-weight:600}p{margin:1em 0}a{color:#255c7c;text-decoration:none;outline:0;-webkit-transition:color 0.1s ease;transition:color 0.1s ease}a:hover{color:#4195c6}a:focus{outline:1px solid #1baee1}p a,table a{border-bottom:1px solid #8fc1de}b{font-weight:600}small{font-size:0.8em}button{border:0;background:transparent;cursor:pointer}.text-semi-bold{font-weight:600}.main{line-height:1.5}.reveal-viewport{width:100%;height:100%}.container .column{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}@media screen and (max-width: 380px){.container .column{padding:0 10px}}.container .column>section,.container .column>div>section{position:relative;width:100%;margin:40px auto;padding:40px;background:#fff;box-shadow:0 14px 30px rgba(0,0,0,0.1);border-radius:2px}.container .column>section h2,.container .column>div>section h2{margin-bottom:20px}.container .column>section h3:first-child,.container .column>div>section h3:first-child{margin-top:0}.container .column>section .header-with-description h2,.container .column>div>section .header-with-description h2{margin-bottom:10px}.container .column>section .header-with-description p,.container .column>div>section .header-with-description p{margin-top:0;margin-bottom:20px;color:#999;font-size:0.9em}.container .column>section.critical-error,.container .column>div>section.critical-error{border-color:#f00;background:#eb5555;color:#fff}@media screen and (max-width: 380px){.container .column>section,.container .column>div>section{padding:20px;box-shadow:none}.container .column>section:first-child,.container .column>div>section:first-child{margin-top:10px}}.container .column>section.transparent,.container .column>div>section.transparent{background:transparent;box-shadow:none}.flash-notification{position:absolute;width:100%;top:0;left:0;text-align:center;z-index:100;display:none}.flash-notification p{display:inline-block;margin:13px;padding:10px 20px;background:#111;color:white;border:1px solid #333;border-radius:4px}.page-loader{position:fixed;width:100%;height:100%;left:0;top:0;z-index:2000;background:#111;color:#fff;opacity:1;visibility:hidden;opacity:0;-webkit-transition:all 0.5s ease;transition:all 0.5s ease}.page-loader .page-loader-inner{position:absolute;display:block;top:40%;width:100%;text-align:center}.page-loader .page-loader-inner .page-loader-spinner{display:block;position:relative;width:50px;height:50px;margin:0 auto 20px auto;-webkit-animation:spin-rectangle-to-circle 2.5s cubic-bezier(0.75, 0, 0.5, 1) infinite normal;animation:spin-rectangle-to-circle 2.5s cubic-bezier(0.75, 0, 0.5, 1) infinite normal;background-color:#E4637C;border-radius:1px}.page-loader .page-loader-inner .page-loader-message{display:block;margin:0;vertical-align:top;line-height:32px;font-size:14px;color:#bbb;font-family:Helvetica, sans-serif}.page-loader.visible{visibility:visible;opacity:1}.page-loader.frozen .page-loader-spinner{-webkit-animation:none;animation:none}.pro-badge{display:inline-block;position:relative;padding:3px 6px 2px 6px;font-size:12px;font-weight:normal;line-height:14px;letter-spacing:1px;border-radius:2px;border:1px solid #2d739c;background:#3990c3;color:#fff;vertical-align:middle}.pro-badge:after{display:inline-block;position:relative;top:-1px;margin-left:2px;color:#fff;content:"\e094";font-family:'slides';font-weight:normal;-webkit-font-smoothing:antialiased}.pro-badge:hover{color:#fff;border-color:#3381af;background:#5fa6d0}.touch .user-view li .controls{opacity:1 !important}.touch .deck-view .options{opacity:1}.sl-info{display:inline-block;font-size:0.8em;width:1.3em;height:1.3em;line-height:1.3em;border-radius:1.3em;color:#fff;background-color:rgba(0,0,0,0.3);text-align:center;vertical-align:middle}.sl-info:hover{background-color:rgba(0,0,0,0.5)}.sl-info-inline{margin-top:-0.2em}.sl-info:after{font-family:serif;content:'i'}.sl-info-help:after{font-family:Helvetica, sans-serif;content:'?'}.funnel-intro{margin-bottom:1.5em}.funnel-intro h2,.funnel-intro h3{margin-top:0 !important;margin-bottom:0.1em;text-align:center}.funnel-intro h2{font-size:2em;font-weight:600;color:#888}.funnel-intro h3{font-size:1.5em;color:#aaa}@media screen and (max-width: 600px){.funnel-intro{margin-top:20px}}.sl-coupon{margin:auto;text-align:center}.sl-coupon .sl-coupon-inner{display:inline-block;padding:12px 20px;margin:0;border-radius:4px;text-align:left;background-color:#fff;border-left:4px solid #1baee1}.sl-coupon .sl-coupon-redeem-by{color:#aaa;margin-top:4px}.sl-coupon p{margin:0}.reveal .sl-block{display:block;position:absolute;z-index:auto}.reveal .sl-block .sl-block-style{display:block;position:relative;width:100%;height:100%;max-width:none;max-height:none;margin:0;outline:0;will-change:opacity}.reveal .sl-block .sl-block-content{display:block;position:relative;width:100%;height:100%;max-width:none;max-height:none;margin:0;outline:0;word-wrap:break-word}.reveal .sl-block .sl-block-content .sl-block-content-preview:not(.inline){position:absolute;width:100%;height:100%;left:0;top:0}.reveal .sl-block .sl-block-content>:first-child{margin-top:0}.reveal .sl-block .sl-block-content>:last-child{margin-bottom:0}.reveal .sl-block .sl-block-content[data-has-letter-spacing] *{letter-spacing:inherit}.reveal .sl-block .sl-block-content[data-has-line-height] *{line-height:inherit}.reveal .sl-block-content[data-animation-type="fade-in"]{opacity:0}.reveal.ready section.present>.sl-block .sl-block-content[data-animation-type="fade-in"]{opacity:1}.reveal .sl-block-content[data-animation-type="fade-out"]{opacity:1}.reveal.ready section.present>.sl-block .sl-block-content[data-animation-type="fade-out"]{opacity:0}.reveal .sl-block-content[data-animation-type="slide-up"]{-webkit-transform:translateY(30px);-ms-transform:translateY(30px);transform:translateY(30px);opacity:0}.reveal.ready section.present>.sl-block .sl-block-content[data-animation-type="slide-up"]{-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}.reveal .sl-block-content[data-animation-type="slide-down"]{-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px);opacity:0}.reveal.ready section.present>.sl-block .sl-block-content[data-animation-type="slide-down"]{-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}.reveal .sl-block-content[data-animation-type="slide-left"]{-webkit-transform:translateX(30px);-ms-transform:translateX(30px);transform:translateX(30px);opacity:0}.reveal.ready section.present>.sl-block .sl-block-content[data-animation-type="slide-left"]{-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}.reveal .sl-block-content[data-animation-type="slide-right"]{-webkit-transform:translateX(-30px);-ms-transform:translateX(-30px);transform:translateX(-30px);opacity:0}.reveal.ready section.present>.sl-block .sl-block-content[data-animation-type="slide-right"]{-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}.reveal .sl-block-content[data-animation-type="scale-up"]{-webkit-transform:scale(0.6);-ms-transform:scale(0.6);transform:scale(0.6);opacity:0}.reveal.ready section.present>.sl-block .sl-block-content[data-animation-type="scale-up"]{-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}.reveal .sl-block-content[data-animation-type="scale-down"]{-webkit-transform:scale(1.4);-ms-transform:scale(1.4);transform:scale(1.4);opacity:0}.reveal.ready section.present>.sl-block .sl-block-content[data-animation-type="scale-down"]{-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}.reveal section .sl-block-content[data-animation-type]{-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform}.reveal section.past>.sl-block .sl-block-content[data-animation-type],.reveal section.future>.sl-block .sl-block-content[data-animation-type]{-webkit-transition-delay:0s !important;transition-delay:0s !important}html.decks.edit.is-editing .reveal section:not(.stack).present .sl-block>*{pointer-events:auto}html.decks.edit.is-editing .reveal .sl-block{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-transition:none;transition:none;pointer-events:none}html.decks.edit.is-editing .reveal .sl-block .sl-block-content{cursor:pointer}html.decks.edit.is-editing .reveal .sl-block .sl-block-content:before{position:absolute;width:100%;height:100%;left:0;top:0;content:'';z-index:1;opacity:0;background-color:transparent}html.decks.edit.is-editing .reveal .sl-block .sl-block-overlay{position:absolute;width:100%;height:100%;left:0;top:0}html.decks.edit.is-editing .reveal .sl-block .sl-block-overlay-message,html.decks.edit.is-editing .reveal .sl-block .sl-block-overlay-warning{display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px;font-size:14px;font-family:"Open Sans", Helvetica, sans-serif;text-align:center;background-color:#222;color:#fff;opacity:0.9;overflow:hidden}html.decks.edit.is-editing .reveal .sl-block .sl-block-overlay-message .overlay-content,html.decks.edit.is-editing .reveal .sl-block .sl-block-overlay-warning .overlay-content{margin:auto}html.decks.edit.is-editing .reveal .sl-block .sl-block-overlay-message.below-content,html.decks.edit.is-editing .reveal .sl-block .sl-block-overlay-warning.below-content{z-index:0 !important}html.decks.edit.is-editing .reveal .sl-block .sl-block-overlay-warning{color:#ffa660}html.decks.edit.is-editing .reveal .sl-block .sl-block-overlay-warning .icon{display:block;margin:0 auto 10px auto;width:2em;height:2em;line-height:2em;border-radius:1em;text-align:center;font-size:12px;color:#fff;background-color:#e06200}html.decks.edit.is-editing .reveal .sl-block .sl-block-placeholder{background-image:url(//assets.slid.es/assets/editor/block-placeholder-white-transparent-500x500.png);background-size:contain;background-color:#222;background-repeat:no-repeat;background-position:50% 50%;opacity:0.9}html.decks.edit.is-editing .reveal .sl-block.is-editing,html.decks.edit.is-editing .reveal .sl-block.is-editing .sl-block-content{cursor:auto}html.decks.edit.is-editing .reveal .sl-block.is-editing .sl-block-content{outline:1px solid rgba(27,174,225,0.4)}html.decks.edit.is-editing .reveal .sl-block.is-editing .sl-block-content:before{display:none}html.decks.edit.is-editing .reveal .sl-block.intro-start{opacity:0;z-index:255;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}html.decks.edit.is-editing .reveal .sl-block.intro-end{z-index:255;-webkit-transition:all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275),opacity 0.2s ease;transition:all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275),opacity 0.2s ease}html.decks.edit.is-editing .sl-block-transform{position:absolute;width:100%;height:100%;left:0;top:0;visibility:hidden;z-index:255;pointer-events:none;border:1px solid #1baee1;font-size:12px;pointer-events:none !important}html.decks.edit.is-editing .sl-block-transform .anchor{position:absolute;width:1em;height:1em;pointer-events:all;visibility:hidden}html.decks.edit.is-editing .sl-block-transform .anchor-point{position:relative;width:100%;height:100%;border:1px solid #1baee1;border-radius:50%;background:#fff;cursor:pointer;z-index:2}html.decks.edit.is-editing .sl-block-transform .anchor-rotation{position:absolute;width:24px;height:24px;border-radius:24px;top:0;left:0;z-index:1;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;cursor:url(//assets.slid.es/assets/icons/block-rotate-icon-16.cur),pointer;cursor:url(//assets.slid.es/assets/icons/block-rotate-icon-16.svg) 8 8,pointer;cursor:-webkit-image-set(url(//assets.slid.es/assets/icons/block-rotate-icon-16.svg) 1x, url(//assets.slid.es/assets/icons/block-rotate-icon-32.svg) 2x) 8 8,pointer}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=n]{left:50%;bottom:100%;margin-left:-0.5em;margin-bottom:-0.4em}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=n] .anchor-point{cursor:ns-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=n] .anchor-rotation{-webkit-transform:rotate(225deg) translate(-1px, -1px);-ms-transform:rotate(225deg) translate(-1px, -1px);transform:rotate(225deg) translate(-1px, -1px);left:1em/2;top:1em}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=e]{left:100%;top:50%;margin-top:-0.5em;margin-left:-0.4em}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=e] .anchor-point{cursor:ew-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=e] .anchor-rotation{-webkit-transform:rotate(315deg) translate(-1px, -1px);-ms-transform:rotate(315deg) translate(-1px, -1px);transform:rotate(315deg) translate(-1px, -1px);top:1em/2}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=s]{left:50%;top:100%;margin-left:-0.5em;margin-top:-0.4em}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=s] .anchor-point{cursor:ns-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=s] .anchor-rotation{-webkit-transform:rotate(45deg) translate(-1px, -1px);-ms-transform:rotate(45deg) translate(-1px, -1px);transform:rotate(45deg) translate(-1px, -1px);left:1em/2}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=w]{right:100%;top:50%;margin-top:-0.5em;margin-right:-0.4em}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=w] .anchor-point{cursor:ew-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=w] .anchor-rotation{-webkit-transform:rotate(135deg) translate(-1px, -1px);-ms-transform:rotate(135deg) translate(-1px, -1px);transform:rotate(135deg) translate(-1px, -1px);left:1em;top:1em/2}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=nw]{right:100%;bottom:100%;margin-right:-0.4em;margin-bottom:-0.4em}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=nw] .anchor-point{cursor:nw-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=nw] .anchor-rotation{-webkit-transform:rotate(180deg) translate(-1px, -1px);-ms-transform:rotate(180deg) translate(-1px, -1px);transform:rotate(180deg) translate(-1px, -1px);left:1em;top:1em}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=ne]{left:100%;bottom:100%;margin-left:-0.4em;margin-bottom:-0.4em}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=ne] .anchor-point{cursor:ne-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=ne] .anchor-rotation{-webkit-transform:rotate(270deg) translate(-1px, -1px);-ms-transform:rotate(270deg) translate(-1px, -1px);transform:rotate(270deg) translate(-1px, -1px);top:1em}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=se]{left:100%;top:100%;margin-left:-0.4em;margin-top:-0.4em}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=se] .anchor-point{cursor:se-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=se] .anchor-rotation{-webkit-transform:rotate(0deg) translate(-1px, -1px);-ms-transform:rotate(0deg) translate(-1px, -1px);transform:rotate(0deg) translate(-1px, -1px)}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=sw]{right:100%;top:100%;margin-right:-0.4em;margin-top:-0.4em}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=sw] .anchor-point{cursor:sw-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=sw] .anchor-rotation{-webkit-transform:rotate(90deg) translate(-1px, -1px);-ms-transform:rotate(90deg) translate(-1px, -1px);transform:rotate(90deg) translate(-1px, -1px);left:1em}html.decks.edit.is-editing .sl-block-transform .anchor[data-cursor-direction=n] .anchor-point{cursor:ns-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-cursor-direction=e] .anchor-point{cursor:ew-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-cursor-direction=s] .anchor-point{cursor:ns-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-cursor-direction=w] .anchor-point{cursor:ew-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-cursor-direction=nw] .anchor-point{cursor:nw-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-cursor-direction=ne] .anchor-point{cursor:ne-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-cursor-direction=se] .anchor-point{cursor:se-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-cursor-direction=sw] .anchor-point{cursor:sw-resize}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=p1],html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=p2]{width:1.6em;height:1.6em;left:0;top:0;margin-left:-0.8em;margin-top:-0.8em}html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=p1] .anchor-point,html.decks.edit.is-editing .sl-block-transform .anchor[data-direction=p2] .anchor-point{background-color:rgba(255,255,255,0.7);border-width:2px;cursor:move}html.decks.edit.is-editing .sl-block-transform.visible{visibility:inherit}html.decks.edit.is-editing .sl-block-transform.visible .anchor{visibility:inherit}html.decks.edit.is-editing .sl-block.is-editing .sl-block-transform{visibility:hidden}html.decks.edit.is-editing .reveal.scaled-75 .sl-block-transform{font-size:18px;border-width:2px}html.decks.edit.is-editing .reveal.scaled-50 .sl-block-transform,html.decks.edit.is-editing.touch-editor .sl-block .sl-block-transform{font-size:24px}html.decks.edit.is-editing .reveal.scaled-50 .sl-block-transform .anchor:before,html.decks.edit.is-editing.touch-editor .sl-block .sl-block-transform .anchor:before{content:'';position:absolute;left:-0.5em;top:-0.5em;width:2em;height:2em}html.decks.edit.is-editing.touch-editor-small .sl-block .sl-block-transform{font-size:30px}html.decks.edit.is-editing.multiple-blocks-selected .sl-block-transform .anchor-rotation{display:none}html.decks.edit .sl-block[data-block-type="text"].has-preview:not(.is-editing) .sl-block-content>*:not(.editing-ui){display:none}html.decks.edit .sl-block[data-block-type="text"].is-editing .sl-block-content-preview{display:none}html.decks.edit.is-editing .reveal .sl-block[data-block-type="text"].is-editing.is-text-overflowing .sl-block-content{max-height:700px;max-height:var(--slide-height);overflow:auto}.reveal .sl-block[data-block-type="image"] .sl-block-placeholder{background-image:url(//assets.slid.es/assets/editor/image-placeholder-white-transparent-500x500.svg) !important}.reveal .sl-block[data-block-type="image"] .sl-block-content{overflow:hidden}.reveal .sl-block[data-block-type="image"] .sl-block-content img{width:100%;height:100%;margin:0;padding:0;border:0;vertical-align:top}.reveal .sl-block[data-block-type="image"] .sl-block-content svg{position:absolute;width:100%;height:100%;top:0;left:0}.reveal .sl-block[data-block-type="image"] a.sl-block-content{color:inherit}.reveal .sl-block[data-block-type="image"] .media-progress,.reveal .sl-block[data-block-type="video"] .media-progress{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:rgba(0,0,0,0.7);font-size:14px;color:#fff;text-align:center}.reveal .sl-block[data-block-type="video"] .sl-block-placeholder{background-image:url(//assets.slid.es/assets/editor/video-placeholder-white-transparent-500x500.png) !important}.reveal .sl-block[data-block-type="video"] .sl-block-content img,.reveal .sl-block[data-block-type="video"] .sl-block-content video{width:100%;height:100%;margin:0;padding:0;border:0;vertical-align:top}.reveal .sl-block[data-block-type="video"] .sl-block-content img{-o-object-fit:contain;object-fit:contain}.reveal .sl-block[data-block-type="video"] .sl-block-content .video-link{position:absolute;width:100%;height:100%;left:0;top:0;z-index:10;background-image:url(//assets.slid.es/assets/icons/video-icon-light-32.svg);background-size:20%;background-position:center;background-repeat:no-repeat;background-color:rgba(0,0,0,0.2)}.reveal .sl-block[data-block-type="iframe"] .sl-block-content{overflow:hidden;-webkit-overflow-scrolling:touch}.reveal .sl-block[data-block-type="iframe"] .sl-block-content iframe{width:100%;height:100%}.reveal .sl-block[data-block-type="shape"] .sl-block-content{line-height:0}.reveal .sl-block[data-block-type="shape"] .sl-block-content svg{vertical-align:top}.reveal .sl-block[data-block-type="code"] .sl-block-placeholder{background-image:url(//assets.slid.es/assets/editor/code-placeholder-white-transparent-500x500.png) !important}.reveal .sl-block[data-block-type="code"] .sl-block-content pre,.reveal .sl-block[data-block-type="code"] .sl-block-content code{width:100%;height:100%;margin:0}.reveal .sl-block[data-block-type="code"] .sl-block-content pre{font-size:0.55em;padding:0}.reveal .sl-block[data-block-type="code"] .sl-block-content code{white-space:pre;word-wrap:normal}.reveal .sl-block[data-block-type="code"] .copy-code-to-clipboard{position:absolute;top:6px;right:6px;font-size:12px;text-transform:uppercase;color:#fff;background:#1baee1;border-radius:2px;padding:4px 8px;display:none}.reveal .sl-block[data-block-type="code"] .copy-code-to-clipboard:hover{background:#46bfe9}.reveal .sl-block[data-block-type="code"] .copy-code-to-clipboard:active{background:#189cca}.reveal .sl-block[data-block-type="code"] .copy-code-to-clipboard.bounce{-webkit-animation:small-bounce 0.4s ease;animation:small-bounce 0.4s ease}.reveal .sl-block[data-block-type="code"] .sl-block-content:hover .copy-code-to-clipboard{display:block}.reveal .sl-block[data-block-type="math"]{font-size:50px}.reveal .sl-block[data-block-type="math"] .sl-block-content{font-style:normal;font-family:KaTeX_Main, Times New Roman, serif;line-height:1.4}.reveal .sl-block[data-block-type="math"] .sl-block-placeholder{background-image:url(//assets.slid.es/assets/editor/math-placeholder-white-transparent-500x500.png) !important}.reveal .sl-block[data-block-type="math"] .math-input{display:none}.reveal .sl-block[data-block-type="math"] .math-output+.math-output{display:none}.reveal .sl-block[data-block-type="math"].is-empty .sl-block-content{width:300px;height:200px}.reveal .katex{font-family:KaTeX_Main, Times New Roman, serif}.reveal .sl-block[data-block-type="table"] .sl-block-content{text-align:left}.reveal .sl-block[data-block-type="table"] .sl-table-column-resizer{display:block;position:absolute;height:100%;width:9px;top:0;margin-left:-4px;z-index:256;cursor:col-resize;opacity:0;background-color:rgba(27,174,225,0.5);-webkit-transition:opacity 0.15s ease;transition:opacity 0.15s ease}.reveal .sl-block[data-block-type="table"] .sl-table-column-resizer:hover,.reveal .sl-block[data-block-type="table"] .sl-table-column-resizer.is-dragging{opacity:1}.reveal .sl-block[data-block-type="table"] table{width:100%;empty-cells:show;table-layout:fixed}.reveal .sl-block[data-block-type="table"] table td,.reveal .sl-block[data-block-type="table"] table th{padding:5px;min-width:40px;border:1px solid currentColor;vertical-align:top;text-align:inherit;outline:0;word-break:break-word}.reveal .sl-block[data-block-type="table"] table td:empty:after,.reveal .sl-block[data-block-type="table"] table th:empty:after,.reveal .sl-block[data-block-type="table"] table td>[contenteditable]:empty:after,.reveal .sl-block[data-block-type="table"] table th>[contenteditable]:empty:after{content:'-';visibility:hidden}.reveal .sl-block[data-block-type="table"] table td.context-menu-is-open,.reveal .sl-block[data-block-type="table"] table th.context-menu-is-open{background-color:rgba(27,174,225,0.2)}.reveal .sl-block[data-block-type="table"] table td>[contenteditable],.reveal .sl-block[data-block-type="table"] table th>[contenteditable]{width:100%;height:100%;outline:0}.reveal .sl-block[data-block-type="line"] svg{display:block;vertical-align:top;overflow:visible;-webkit-transform:scale(0.9999999);-ms-transform:scale(0.9999999);transform:scale(0.9999999)}html.decks.edit.is-editing .reveal .sl-block[data-block-type="line"]>*{pointer-events:none !important}html.decks.edit.is-editing .reveal .sl-block[data-block-type="line"] svg *{pointer-events:auto;pointer-events:all}html.decks.edit.is-editing .reveal .sl-block[data-block-type="line"] .sl-block-transform{border-color:transparent}/*! + * reveal.js + * http://revealjs.com + * MIT licensed + * + * Copyright (C) 2018 Hakim El Hattab, http://hakim.se + */html,body,.reveal div,.reveal span,.reveal applet,.reveal object,.reveal iframe,.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6,.reveal p,.reveal blockquote,.reveal pre,.reveal a,.reveal abbr,.reveal acronym,.reveal address,.reveal big,.reveal cite,.reveal code,.reveal del,.reveal dfn,.reveal em,.reveal img,.reveal ins,.reveal kbd,.reveal q,.reveal s,.reveal samp,.reveal small,.reveal strike,.reveal strong,.reveal sub,.reveal sup,.reveal tt,.reveal var,.reveal b,.reveal u,.reveal center,.reveal dl,.reveal dt,.reveal dd,.reveal ol,.reveal ul,.reveal li,.reveal fieldset,.reveal form,.reveal label,.reveal legend,.reveal table,.reveal caption,.reveal tbody,.reveal tfoot,.reveal thead,.reveal tr,.reveal th,.reveal td,.reveal article,.reveal aside,.reveal canvas,.reveal details,.reveal embed,.reveal figure,.reveal figcaption,.reveal footer,.reveal header,.reveal hgroup,.reveal menu,.reveal nav,.reveal output,.reveal ruby,.reveal section,.reveal summary,.reveal time,.reveal mark,.reveal audio,.reveal video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}.reveal article,.reveal aside,.reveal details,.reveal figcaption,.reveal figure,.reveal footer,.reveal header,.reveal hgroup,.reveal menu,.reveal nav,.reveal section{display:block}html,body{width:100%;height:100%;overflow:hidden}body{position:relative;line-height:1;background-color:#fff;color:#000}.reveal .slides section .fragment{opacity:0;visibility:hidden;-webkit-transition:all .2s ease;transition:all .2s ease}.reveal .slides section .fragment.visible{opacity:1;visibility:inherit}.reveal .slides section .fragment.grow{opacity:1;visibility:inherit}.reveal .slides section .fragment.grow.visible{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.reveal .slides section .fragment.shrink{opacity:1;visibility:inherit}.reveal .slides section .fragment.shrink.visible{-webkit-transform:scale(0.7);-ms-transform:scale(0.7);transform:scale(0.7)}.reveal .slides section .fragment.zoom-in{-webkit-transform:scale(0.1);-ms-transform:scale(0.1);transform:scale(0.1)}.reveal .slides section .fragment.zoom-in.visible{-webkit-transform:none;-ms-transform:none;transform:none}.reveal .slides section .fragment.fade-out{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .slides section .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .slides section .fragment.semi-fade-out.visible{opacity:0.5;visibility:inherit}.reveal .slides section .fragment.strike{opacity:1;visibility:inherit}.reveal .slides section .fragment.strike.visible{text-decoration:line-through}.reveal .slides section .fragment.fade-up{-webkit-transform:translate(0, 20%);-ms-transform:translate(0, 20%);transform:translate(0, 20%)}.reveal .slides section .fragment.fade-up.visible{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.reveal .slides section .fragment.fade-down{-webkit-transform:translate(0, -20%);-ms-transform:translate(0, -20%);transform:translate(0, -20%)}.reveal .slides section .fragment.fade-down.visible{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.reveal .slides section .fragment.fade-right{-webkit-transform:translate(-20%, 0);-ms-transform:translate(-20%, 0);transform:translate(-20%, 0)}.reveal .slides section .fragment.fade-right.visible{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.reveal .slides section .fragment.fade-left{-webkit-transform:translate(20%, 0);-ms-transform:translate(20%, 0);transform:translate(20%, 0)}.reveal .slides section .fragment.fade-left.visible{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.reveal .slides section .fragment.fade-in-then-out,.reveal .slides section .fragment.current-visible{opacity:0;visibility:hidden}.reveal .slides section .fragment.fade-in-then-out.current-fragment,.reveal .slides section .fragment.current-visible.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .slides section .fragment.fade-in-then-semi-out.visible{opacity:0.3;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-red,.reveal .slides section .fragment.highlight-current-red,.reveal .slides section .fragment.highlight-green,.reveal .slides section .fragment.highlight-current-green,.reveal .slides section .fragment.highlight-blue,.reveal .slides section .fragment.highlight-current-blue{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-red.visible{color:#ff2c2d}.reveal .slides section .fragment.highlight-green.visible{color:#17ff2e}.reveal .slides section .fragment.highlight-blue.visible{color:#1b91ff}.reveal .slides section .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .slides section .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .slides section .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:'';font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}.reveal .stretch{max-width:none;max-height:none}.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}@-webkit-keyframes bounce-right{0%, 10%, 25%, 40%, 50%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-transform:translateX(10px);transform:translateX(10px)}30%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}}@keyframes bounce-right{0%, 10%, 25%, 40%, 50%{-webkit-transform:translateX(0);transform:translateX(0)}20%{-webkit-transform:translateX(10px);transform:translateX(10px)}30%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}}@-webkit-keyframes bounce-down{0%, 10%, 25%, 40%, 50%{-webkit-transform:translateY(0);transform:translateY(0)}20%{-webkit-transform:translateY(10px);transform:translateY(10px)}30%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}}@keyframes bounce-down{0%, 10%, 25%, 40%, 50%{-webkit-transform:translateY(0);transform:translateY(0)}20%{-webkit-transform:translateY(10px);transform:translateY(10px)}30%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}}.reveal .controls{display:none;position:absolute;top:auto;bottom:12px;right:12px;left:auto;z-index:1;color:#000;pointer-events:none;font-size:10px}.reveal .controls button{position:absolute;padding:0;background-color:transparent;border:0;outline:0;cursor:pointer;color:currentColor;-webkit-transform:scale(0.9999);-ms-transform:scale(0.9999);transform:scale(0.9999);-webkit-transition:color 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;transition:color 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;transition:color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;transition:color 0.2s ease, opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.reveal .controls .controls-arrow:before,.reveal .controls .controls-arrow:after{content:'';position:absolute;top:0;left:0;width:2.6em;height:0.5em;border-radius:0.25em;background-color:currentColor;-webkit-transition:all 0.15s ease, background-color 0.8s ease;transition:all 0.15s ease, background-color 0.8s ease;-webkit-transform-origin:0.2em 50%;-ms-transform-origin:0.2em 50%;transform-origin:0.2em 50%;will-change:transform}.reveal .controls .controls-arrow{position:relative;width:3.6em;height:3.6em}.reveal .controls .controls-arrow:before{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(45deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(45deg);transform:translateX(0.5em) translateY(1.55em) rotate(45deg)}.reveal .controls .controls-arrow:after{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(-45deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(-45deg);transform:translateX(0.5em) translateY(1.55em) rotate(-45deg)}.reveal .controls .controls-arrow:hover:before{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(40deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(40deg);transform:translateX(0.5em) translateY(1.55em) rotate(40deg)}.reveal .controls .controls-arrow:hover:after{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(-40deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(-40deg);transform:translateX(0.5em) translateY(1.55em) rotate(-40deg)}.reveal .controls .controls-arrow:active:before{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(36deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(36deg);transform:translateX(0.5em) translateY(1.55em) rotate(36deg)}.reveal .controls .controls-arrow:active:after{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(-36deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(-36deg);transform:translateX(0.5em) translateY(1.55em) rotate(-36deg)}.reveal .controls .navigate-left{right:6.4em;bottom:3.2em;-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}.reveal .controls .navigate-right{right:0;bottom:3.2em;-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}.reveal .controls .navigate-right .controls-arrow{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{-webkit-animation:bounce-right 2s 50 both ease-out;animation:bounce-right 2s 50 both ease-out}.reveal .controls .navigate-up{right:3.2em;bottom:6.4em;-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.reveal .controls .navigate-down{right:3.2em;bottom:0;-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{-webkit-animation:bounce-down 2s 50 both ease-out;animation:bounce-down 2s 50 both ease-out}.reveal .controls[data-controls-back-arrows="faded"] .navigate-left.enabled,.reveal .controls[data-controls-back-arrows="faded"] .navigate-up.enabled{opacity:0.3}.reveal .controls[data-controls-back-arrows="faded"] .navigate-left.enabled:hover,.reveal .controls[data-controls-back-arrows="faded"] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows="hidden"] .navigate-left.enabled,.reveal .controls[data-controls-back-arrows="hidden"] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:0.9;cursor:pointer;-webkit-transform:none;-ms-transform:none;transform:none}.reveal .controls .enabled.fragmented{opacity:0.5}.reveal .controls .enabled:hover,.reveal .controls .enabled.fragmented:hover{opacity:1}.reveal:not(.has-vertical-slides) .controls .navigate-left{bottom:1.4em;right:5.5em}.reveal:not(.has-vertical-slides) .controls .navigate-right{bottom:1.4em;right:0.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{right:1.4em;bottom:5em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{right:1.4em;bottom:0.5em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:hover:before,.reveal.no-hover .controls .controls-arrow:active:before{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(45deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(45deg);transform:translateX(0.5em) translateY(1.55em) rotate(45deg)}.reveal.no-hover .controls .controls-arrow:hover:after,.reveal.no-hover .controls .controls-arrow:active:after{-webkit-transform:translateX(0.5em) translateY(1.55em) rotate(-45deg);-ms-transform:translateX(0.5em) translateY(1.55em) rotate(-45deg);transform:translateX(0.5em) translateY(1.55em) rotate(-45deg)}@media screen and (min-width: 500px){.reveal .controls[data-controls-layout="edges"]{top:0;right:0;bottom:0;left:0}.reveal .controls[data-controls-layout="edges"] .navigate-left,.reveal .controls[data-controls-layout="edges"] .navigate-right,.reveal .controls[data-controls-layout="edges"] .navigate-up,.reveal .controls[data-controls-layout="edges"] .navigate-down{bottom:auto;right:auto}.reveal .controls[data-controls-layout="edges"] .navigate-left{top:50%;left:8px;margin-top:-1.8em}.reveal .controls[data-controls-layout="edges"] .navigate-right{top:50%;right:8px;margin-top:-1.8em}.reveal .controls[data-controls-layout="edges"] .navigate-up{top:8px;left:50%;margin-left:-1.8em}.reveal .controls[data-controls-layout="edges"] .navigate-down{bottom:8px;left:50%;margin-left:-1.8em}}.reveal .progress{position:absolute;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10;background-color:rgba(0,0,0,0.2);color:#fff}.reveal .progress:after{content:'';display:block;position:absolute;height:10px;width:100%;top:-10px}.reveal .progress span{display:block;height:100%;width:0px;background-color:currentColor;-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.reveal .slide-number{position:absolute;display:block;right:8px;bottom:8px;z-index:31;font-family:Helvetica, sans-serif;font-size:12px;line-height:1;color:#fff;background-color:rgba(0,0,0,0.4);padding:5px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{position:relative;width:100%;height:100%;overflow:hidden;-ms-touch-action:none;touch-action:none}@media only screen and (orientation: landscape){.reveal.ua-iphone{position:fixed}}.reveal .slides{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;overflow:visible;z-index:1;text-align:center;-webkit-perspective:600px;perspective:600px;-webkit-perspective-origin:50% 40%;perspective-origin:50% 40%}.reveal .slides>section{-ms-perspective:600px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;padding:20px 0px;pointer-events:auto;z-index:10;-webkit-transform-style:flat;transform-style:flat;-webkit-transition:visibility 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),opacity 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-webkit-transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-webkit-transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:visibility 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),opacity 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-webkit-transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-webkit-transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),visibility 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),opacity 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),visibility 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),opacity 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-webkit-transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-ms-transform-origin 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985),-webkit-transform 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.reveal[data-transition-speed="fast"] .slides section{-webkit-transition-duration:400ms;transition-duration:400ms}.reveal[data-transition-speed="slow"] .slides section{-webkit-transition-duration:1200ms;transition-duration:1200ms}.reveal .slides section[data-transition-speed="fast"]{-webkit-transition-duration:400ms;transition-duration:400ms}.reveal .slides section[data-transition-speed="slow"]{-webkit-transition-duration:1200ms;transition-duration:1200ms}.reveal .slides>section.stack{padding-top:0;padding-bottom:0;pointer-events:none}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section[data-background-interactive],.reveal .slides>section>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0 !important}.reveal .slides>section.future,.reveal .slides>section>section.future,.reveal .slides>section.past,.reveal .slides>section>section.past{pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.past,.reveal .slides>section.future,.reveal .slides>section>section.past,.reveal .slides>section>section.future{opacity:0}.reveal.slide section{-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{-webkit-transform:translate(-150%, 0);-ms-transform:translate(-150%, 0);transform:translate(-150%, 0)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{-webkit-transform:translate(150%, 0);-ms-transform:translate(150%, 0);transform:translate(150%, 0)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{-webkit-transform:translate(0, -150%);-ms-transform:translate(0, -150%);transform:translate(0, -150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{-webkit-transform:translate(0, 150%);-ms-transform:translate(0, 150%);transform:translate(0, 150%)}.reveal.linear section{-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past{-webkit-transform:translate(-150%, 0);-ms-transform:translate(-150%, 0);transform:translate(-150%, 0)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{-webkit-transform:translate(150%, 0);-ms-transform:translate(150%, 0);transform:translate(150%, 0)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{-webkit-transform:translate(0, -150%);-ms-transform:translate(0, -150%);transform:translate(0, -150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{-webkit-transform:translate(0, 150%);-ms-transform:translate(0, 150%);transform:translate(0, 150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{-webkit-transform:translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{-webkit-transform:translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{-webkit-transform:translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);transform:translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{-webkit-transform:translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);transform:translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{-webkit-transform:translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{-webkit-transform:translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{-webkit-transform:translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);transform:translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{-webkit-transform:translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);transform:translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0)}.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{-webkit-transform:translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{-webkit-transform:translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{-webkit-transform:translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);transform:translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{-webkit-transform:translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);transform:translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){-webkit-transition-timing-function:ease;transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;-webkit-transform:scale(16);-ms-transform:scale(16);transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;-webkit-transform:scale(0.2);-ms-transform:scale(0.2);transform:scale(0.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{-webkit-transform:translate(0, -150%);-ms-transform:translate(0, -150%);transform:translate(0, -150%)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{-webkit-transform:translate(0, 150%);-ms-transform:translate(0, 150%);transform:translate(0, 150%)}.reveal.cube .slides{-webkit-perspective:1300px;perspective:1300px}.reveal.cube .slides section{padding:30px;min-height:700px;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:'';position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,0.1);border-radius:4px;-webkit-transform:translateZ(-20px);transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:'';position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:none;z-index:1;border-radius:4px;box-shadow:0px 95px 25px rgba(0,0,0,0.2);-webkit-transform:translateZ(-90px) rotateX(65deg);transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:none}.reveal.cube .slides>section.past{-webkit-transform-origin:100% 0%;-ms-transform-origin:100% 0%;transform-origin:100% 0%;-webkit-transform:translate3d(-100%, 0, 0) rotateY(-90deg);transform:translate3d(-100%, 0, 0) rotateY(-90deg)}.reveal.cube .slides>section.future{-webkit-transform-origin:0% 0%;-ms-transform-origin:0% 0%;transform-origin:0% 0%;-webkit-transform:translate3d(100%, 0, 0) rotateY(90deg);transform:translate3d(100%, 0, 0) rotateY(90deg)}.reveal.cube .slides>section>section.past{-webkit-transform-origin:0% 100%;-ms-transform-origin:0% 100%;transform-origin:0% 100%;-webkit-transform:translate3d(0, -100%, 0) rotateX(90deg);transform:translate3d(0, -100%, 0) rotateX(90deg)}.reveal.cube .slides>section>section.future{-webkit-transform-origin:0% 0%;-ms-transform-origin:0% 0%;transform-origin:0% 0%;-webkit-transform:translate3d(0, 100%, 0) rotateX(-90deg);transform:translate3d(0, 100%, 0) rotateX(-90deg)}.reveal.page .slides{-webkit-perspective-origin:0% 50%;perspective-origin:0% 50%;-webkit-perspective:3000px;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;box-sizing:border-box;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:'';position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,0.1);-webkit-transform:translateZ(-20px);transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:'';position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:none;z-index:1;border-radius:4px;box-shadow:0px 95px 25px rgba(0,0,0,0.2);-webkit-transform:translateZ(-90px) rotateX(65deg)}.reveal.page .slides>section.stack{padding:0;background:none}.reveal.page .slides>section.past{-webkit-transform-origin:0% 0%;-ms-transform-origin:0% 0%;transform-origin:0% 0%;-webkit-transform:translate3d(-40%, 0, 0) rotateY(-80deg);transform:translate3d(-40%, 0, 0) rotateY(-80deg)}.reveal.page .slides>section.future{-webkit-transform-origin:100% 0%;-ms-transform-origin:100% 0%;transform-origin:100% 0%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.reveal.page .slides>section>section.past{-webkit-transform-origin:0% 0%;-ms-transform-origin:0% 0%;transform-origin:0% 0%;-webkit-transform:translate3d(0, -40%, 0) rotateX(80deg);transform:translate3d(0, -40%, 0) rotateX(80deg)}.reveal.page .slides>section>section.future{-webkit-transform-origin:0% 100%;-ms-transform-origin:0% 100%;transform-origin:0% 100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:opacity 0.5s;transition:opacity 0.5s}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{-webkit-transition:none;transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:none;transition:none}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:black;visibility:hidden;opacity:0;z-index:100;-webkit-transition:all 1s ease;transition:all 1s ease}.reveal .pause-overlay .resume-button{position:absolute;bottom:20px;right:20px;color:#ccc;border-radius:2px;padding:6px 14px;border:2px solid #ccc;font-size:16px;background:transparent;cursor:pointer}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.no-transforms{overflow-y:auto}.no-transforms .reveal .slides{position:relative;width:80%;height:auto !important;top:0;left:50%;margin:0;text-align:center}.no-transforms .reveal .controls,.no-transforms .reveal .progress{display:none !important}.no-transforms .reveal .slides section{display:block !important;opacity:1 !important;position:relative !important;height:auto;min-height:0;top:0;left:-50%;margin:70px 0;-webkit-transform:none;-ms-transform:none;transform:none}.no-transforms .reveal .slides section section{left:0}.reveal .no-transition,.reveal .no-transition *{-webkit-transition:none !important;transition:none !important}.reveal .backgrounds{position:absolute;width:100%;height:100%;top:0;left:0;-webkit-perspective:600px;perspective:600px}.reveal .slide-background{display:none;position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;overflow:hidden;background-color:transparent;-webkit-transition:all 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:all 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.reveal .slide-background-content{position:absolute;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1 !important;visibility:visible !important}.reveal .slide-background video{position:absolute;width:100%;height:100%;max-width:none;max-height:none;top:0;left:0;-o-object-fit:cover;object-fit:cover}.reveal .slide-background[data-background-size="contain"] video{-o-object-fit:contain;object-fit:contain}.reveal[data-background-transition=none]>.backgrounds .slide-background,.reveal>.backgrounds .slide-background[data-background-transition=none]{-webkit-transition:none;transition:none}.reveal[data-background-transition=slide]>.backgrounds .slide-background,.reveal>.backgrounds .slide-background[data-background-transition=slide]{opacity:1;-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal[data-background-transition=slide]>.backgrounds .slide-background.past,.reveal>.backgrounds .slide-background.past[data-background-transition=slide]{-webkit-transform:translate(-100%, 0);-ms-transform:translate(-100%, 0);transform:translate(-100%, 0)}.reveal[data-background-transition=slide]>.backgrounds .slide-background.future,.reveal>.backgrounds .slide-background.future[data-background-transition=slide]{-webkit-transform:translate(100%, 0);-ms-transform:translate(100%, 0);transform:translate(100%, 0)}.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past,.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide]{-webkit-transform:translate(0, -100%);-ms-transform:translate(0, -100%);transform:translate(0, -100%)}.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future,.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide]{-webkit-transform:translate(0, 100%);-ms-transform:translate(0, 100%);transform:translate(0, 100%)}.reveal[data-background-transition=convex]>.backgrounds .slide-background.past,.reveal>.backgrounds .slide-background.past[data-background-transition=convex]{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0)}.reveal[data-background-transition=convex]>.backgrounds .slide-background.future,.reveal>.backgrounds .slide-background.future[data-background-transition=convex]{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0)}.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past,.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex]{opacity:0;-webkit-transform:translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0)}.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future,.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex]{opacity:0;-webkit-transform:translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0)}.reveal[data-background-transition=concave]>.backgrounds .slide-background.past,.reveal>.backgrounds .slide-background.past[data-background-transition=concave]{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0)}.reveal[data-background-transition=concave]>.backgrounds .slide-background.future,.reveal>.backgrounds .slide-background.future[data-background-transition=concave]{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0)}.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past,.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave]{opacity:0;-webkit-transform:translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0)}.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future,.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave]{opacity:0;-webkit-transform:translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background,.reveal>.backgrounds .slide-background[data-background-transition=zoom]{-webkit-transition-timing-function:ease;transition-timing-function:ease}.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past,.reveal>.backgrounds .slide-background.past[data-background-transition=zoom]{opacity:0;visibility:hidden;-webkit-transform:scale(16);-ms-transform:scale(16);transform:scale(16)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future,.reveal>.backgrounds .slide-background.future[data-background-transition=zoom]{opacity:0;visibility:hidden;-webkit-transform:scale(0.2);-ms-transform:scale(0.2);transform:scale(0.2)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past,.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom]{opacity:0;visibility:hidden;-webkit-transform:scale(16);-ms-transform:scale(16);transform:scale(16)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future,.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom]{opacity:0;visibility:hidden;-webkit-transform:scale(0.2);-ms-transform:scale(0.2);transform:scale(0.2)}.reveal[data-transition-speed="fast"]>.backgrounds .slide-background{-webkit-transition-duration:400ms;transition-duration:400ms}.reveal[data-transition-speed="slow"]>.backgrounds .slide-background{-webkit-transition-duration:1200ms;transition-duration:1200ms}.reveal.overview{-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%;-webkit-perspective:700px;perspective:700px}.reveal.overview .slides{-moz-transform-style:preserve-3d}.reveal.overview .slides section{height:100%;top:0 !important;opacity:1 !important;overflow:hidden;visibility:visible !important;cursor:pointer;box-sizing:border-box}.reveal.overview .slides section:hover,.reveal.overview .slides section.present{outline:10px solid rgba(150,150,150,0.4);outline-offset:10px}.reveal.overview .slides section .fragment{opacity:1;-webkit-transition:none;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none !important}.reveal.overview .slides>section.stack{padding:0;top:0 !important;background:none;outline:none;overflow:visible}.reveal.overview .backgrounds{-webkit-perspective:inherit;perspective:inherit;-moz-transform-style:preserve-3d}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline:10px solid rgba(150,150,150,0.1);outline-offset:10px}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section{-webkit-transition:none;transition:none}.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{-webkit-transition:none;transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl pre,.reveal.rtl code{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{float:right}.reveal.has-parallax-background .backgrounds{-webkit-transition:all 0.8s ease;transition:all 0.8s ease}.reveal.has-parallax-background[data-transition-speed="fast"] .backgrounds{-webkit-transition-duration:400ms;transition-duration:400ms}.reveal.has-parallax-background[data-transition-speed="slow"] .backgrounds{-webkit-transition-duration:1200ms;transition-duration:1200ms}.reveal>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:rgba(0,0,0,0.9);opacity:0;visibility:hidden;-webkit-transition:all 0.3s ease;transition:all 0.3s ease}.reveal>.overlay.visible{opacity:1;visibility:visible}.reveal>.overlay .spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);visibility:visible;opacity:0.6;-webkit-transition:all 0.3s ease;transition:all 0.3s ease}.reveal>.overlay header{position:absolute;left:0;top:0;width:100%;height:40px;z-index:2;border-bottom:1px solid #222}.reveal>.overlay header a{display:inline-block;width:40px;height:40px;line-height:36px;padding:0 10px;float:right;opacity:0.6;box-sizing:border-box}.reveal>.overlay header a:hover{opacity:1}.reveal>.overlay header a .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.reveal>.overlay header a.close .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC)}.reveal>.overlay header a.external .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==)}.reveal>.overlay .viewport{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;top:40px;right:0;bottom:0;left:0}.reveal>.overlay.overlay-preview .viewport iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;-webkit-transition:all 0.3s ease;transition:all 0.3s ease}.reveal>.overlay.overlay-preview.loaded .viewport iframe{opacity:1;visibility:visible}.reveal>.overlay.overlay-preview.loaded .viewport-inner{position:absolute;z-index:-1;left:0;top:45%;width:100%;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-preview .x-frame-error{opacity:0;-webkit-transition:opacity 0.3s ease 0.3s;transition:opacity 0.3s ease 0.3s}.reveal>.overlay.overlay-preview.loaded .x-frame-error{opacity:1}.reveal>.overlay.overlay-preview.loaded .spinner{opacity:0;visibility:hidden;-webkit-transform:scale(0.2);-ms-transform:scale(0.2);transform:scale(0.2)}.reveal>.overlay.overlay-help .viewport{overflow:auto;color:#fff}.reveal>.overlay.overlay-help .viewport .viewport-inner{width:600px;margin:auto;padding:20px 20px 80px 20px;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-help .viewport .viewport-inner .title{font-size:20px}.reveal>.overlay.overlay-help .viewport .viewport-inner table{border:1px solid #fff;border-collapse:collapse;font-size:16px}.reveal>.overlay.overlay-help .viewport .viewport-inner table th,.reveal>.overlay.overlay-help .viewport .viewport-inner table td{width:200px;padding:14px;border:1px solid #fff;vertical-align:middle}.reveal>.overlay.overlay-help .viewport .viewport-inner table th{padding-top:20px;padding-bottom:20px}.reveal .playback{position:absolute;left:15px;bottom:20px;z-index:30;cursor:pointer;-webkit-transition:all 400ms ease;transition:all 400ms ease;-webkit-tap-highlight-color:transparent}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;-webkit-perspective:400px;perspective:400px;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%}.reveal .roll:hover{background:none;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;-webkit-transition:all 400ms ease;transition:all 400ms ease;-webkit-transform-origin:50% 0%;-ms-transform-origin:50% 0%;transform-origin:50% 0%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .roll:hover span{background:rgba(0,0,0,0.5);-webkit-transform:translate3d(0px, 0px, -45px) rotateX(90deg);transform:translate3d(0px, 0px, -45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:absolute;left:0;top:0;padding:0 2px;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:50% 0%;-ms-transform-origin:50% 0%;transform-origin:50% 0%;-webkit-transform:translate3d(0px, 110%, 0px) rotateX(-90deg);transform:translate3d(0px, 110%, 0px) rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{display:none;position:absolute;width:25vw;height:100%;top:0;left:100%;padding:14px 18px 14px 18px;z-index:1;font-size:18px;line-height:1.4;border:1px solid rgba(0,0,0,0.05);color:#222;background-color:#f5f5f5;overflow:auto;box-sizing:border-box;text-align:left;font-family:Helvetica, sans-serif;-webkit-overflow-scrolling:touch}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:none}.reveal .speaker-notes:before{content:'Speaker notes';display:block;margin-bottom:10px;opacity:0.5}.reveal.show-notes{max-width:75vw;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width: 1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width: 1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70%;overflow:visible}.reveal.show-notes .speaker-notes{top:100%;left:0;width:100%;height:42.8571428571%}}@media screen and (max-width: 600px){.reveal.show-notes{max-height:60%}.reveal.show-notes .speaker-notes{top:100%;height:66.6666666667%}.reveal .speaker-notes{font-size:14px}}.zoomed .reveal *,.zoomed .reveal *:before,.zoomed .reveal *:after{-webkit-backface-visibility:visible !important;backface-visibility:visible !important}.zoomed .reveal .progress,.zoomed .reveal .controls{opacity:0}.zoomed .reveal .roll span{background:none}.zoomed .reveal .roll span:after{visibility:hidden}.reveal .slides>section,.reveal .slides>section>section{height:100%;font-weight:inherit;padding:0}.reveal h1{font-size:2.50em;margin-bottom:0.15em}.reveal h2{font-size:1.90em;margin-bottom:0.20em}.reveal h3{font-size:1.30em;margin-bottom:0.25em}.reveal h4{font-size:1.00em;margin-bottom:0.25em}.reveal h5{font-size:1.00em;margin-bottom:0.25em}.reveal h6{font-size:1.00em;margin-bottom:0.25em}.reveal p{margin-bottom:0.25em}.reveal a{text-decoration:none}.reveal b,.reveal strong{font-weight:bold}.reveal em{font-style:italic}.reveal sup{vertical-align:super;font-size:smaller}.reveal sub{vertical-align:sub;font-size:smaller}.reveal small{font-size:0.6em}.reveal ol,.reveal dl,.reveal ul{display:inline-block;margin:0.25em 0 0.25em 1.5em;text-align:left;max-width:100%}.reveal ol{list-style-type:decimal}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:1.5em}.reveal dt{font-weight:bold}.reveal dd{margin-left:1.5em}.reveal q{quotes:none;font-style:italic}.reveal blockquote{display:block;margin:0.25em auto;font-style:italic}.reveal blockquote:before{content:"\201C";display:inline-block;padding:0 0.15em;font-size:2em;line-height:1em;height:1px;vertical-align:top}.reveal blockquote>:first-child{margin-top:0;display:inline}.reveal blockquote>:last-child{margin-bottom:0}.reveal pre{display:block;position:relative;margin:0.25em auto;text-align:left;font-family:monospace;line-height:1.2;word-wrap:break-word}.reveal code{font-family:monospace}.reveal pre code{display:block;padding:5px;overflow:auto;word-wrap:normal}.reveal table{margin:auto;border-collapse:collapse;border-spacing:0}.reveal table th{font-weight:bold}.reveal table th,.reveal table td{text-align:left;padding:0.2em 0.5em 0.2em 0.5em;border-bottom:1px solid}.reveal table tr:last-child td{border-bottom:none}.reveal .speaker-notes{white-space:pre-wrap}.reveal.overview .slides .fragment,.reveal.overview .slides [data-animation-type]{-webkit-transition:none !important;transition:none !important;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;opacity:1 !important;visibility:visible !important}.theme-color-asphalt-orange{background-color:#2c3e50;background-image:-webkit-radial-gradient(circle farthest-corner at center, #415B77 0%, #2c3e50 100%);background-image:radial-gradient(circle farthest-corner at center, #415B77 0%, #2c3e50 100%)}.theme-color-asphalt-orange body{background:transparent}.theme-color-asphalt-orange .theme-body-color-block{background:#fff}.theme-color-asphalt-orange .theme-link-color-block{background:#ffc200}.theme-color-asphalt-orange .themed,.theme-color-asphalt-orange .reveal{color:#fff}.theme-color-asphalt-orange .themed a,.theme-color-asphalt-orange .reveal a{color:#ffc200}.theme-color-asphalt-orange .themed a:hover,.theme-color-asphalt-orange .reveal a:hover{color:#ffda66}.theme-color-asphalt-orange .reveal .controls{color:#ffc200}.theme-color-asphalt-orange .reveal.has-dark-background .controls{color:#fff}.theme-color-asphalt-orange .reveal.has-light-background .controls{color:#000}.theme-color-asphalt-orange .reveal .progress{background:rgba(0,0,0,0.2);color:#ffc200}.theme-color-asphalt-orange .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-asphalt-orange .reveal .slide-number a{color:currentColor}.theme-color-asphalt-orange .reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-beige-brown{background-color:#f7f3de;background-image:-webkit-radial-gradient(circle farthest-corner at center, #fff 0%, #f7f2d3 100%);background-image:radial-gradient(circle farthest-corner at center, #fff 0%, #f7f2d3 100%)}.theme-color-beige-brown body{background:transparent}.theme-color-beige-brown .theme-body-color-block{background:#333}.theme-color-beige-brown .theme-link-color-block{background:#8b743d}.theme-color-beige-brown .themed,.theme-color-beige-brown .reveal{color:#333}.theme-color-beige-brown .themed a,.theme-color-beige-brown .reveal a{color:#8b743d}.theme-color-beige-brown .themed a:hover,.theme-color-beige-brown .reveal a:hover{color:#c0a86e}.theme-color-beige-brown .reveal .controls{color:#8b743d}.theme-color-beige-brown .reveal.has-dark-background .controls{color:#fff}.theme-color-beige-brown .reveal.has-light-background .controls{color:#000}.theme-color-beige-brown .reveal .progress{background:rgba(0,0,0,0.2);color:#8b743d}.theme-color-beige-brown .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-beige-brown .reveal .slide-number a{color:currentColor}.theme-color-beige-brown .reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-black-blue{background:#111}.theme-color-black-blue body{background:transparent}.theme-color-black-blue .theme-body-color-block{background:#fff}.theme-color-black-blue .theme-link-color-block{background:#2F90F8}.theme-color-black-blue .themed,.theme-color-black-blue .reveal{color:#fff}.theme-color-black-blue .themed a,.theme-color-black-blue .reveal a{color:#2F90F8}.theme-color-black-blue .themed a:hover,.theme-color-black-blue .reveal a:hover{color:#79b7fa}.theme-color-black-blue .reveal .controls{color:#2F90F8}.theme-color-black-blue .reveal.has-dark-background .controls{color:#fff}.theme-color-black-blue .reveal.has-light-background .controls{color:#000}.theme-color-black-blue .reveal .progress{background:rgba(0,0,0,0.2);color:#2F90F8}.theme-color-black-blue .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-black-blue .reveal .slide-number a{color:currentColor}.theme-color-black-blue .reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-black-mint{background:#111}.theme-color-black-mint body{background:transparent}.theme-color-black-mint .theme-body-color-block{background:#fff}.theme-color-black-mint .theme-link-color-block{background:#8dd792}.theme-color-black-mint .themed,.theme-color-black-mint .reveal{color:#fff}.theme-color-black-mint .themed a,.theme-color-black-mint .reveal a{color:#8dd792}.theme-color-black-mint .themed a:hover,.theme-color-black-mint .reveal a:hover{color:#c6ebc8}.theme-color-black-mint .reveal .controls{color:#8dd792}.theme-color-black-mint .reveal.has-dark-background .controls{color:#fff}.theme-color-black-mint .reveal.has-light-background .controls{color:#000}.theme-color-black-mint .reveal .progress{background:rgba(0,0,0,0.2);color:#8dd792}.theme-color-black-mint .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-black-mint .reveal .slide-number a{color:currentColor}.theme-color-black-mint .reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-black-orange{background:#222}.theme-color-black-orange body{background:transparent}.theme-color-black-orange .theme-body-color-block{background:#fff}.theme-color-black-orange .theme-link-color-block{background:#e7ad52}.theme-color-black-orange .themed,.theme-color-black-orange .reveal{color:#fff}.theme-color-black-orange .themed a,.theme-color-black-orange .reveal a{color:#e7ad52}.theme-color-black-orange .themed a:hover,.theme-color-black-orange .reveal a:hover{color:#f3d7ac}.theme-color-black-orange .reveal .controls{color:#e7ad52}.theme-color-black-orange .reveal.has-dark-background .controls{color:#fff}.theme-color-black-orange .reveal.has-light-background .controls{color:#000}.theme-color-black-orange .reveal .progress{background:rgba(0,0,0,0.2);color:#e7ad52}.theme-color-black-orange .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-black-orange .reveal .slide-number a{color:currentColor}.theme-color-black-orange .reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-blue-yellow{background:#44A0DD}.theme-color-blue-yellow body{background:transparent}.theme-color-blue-yellow .theme-body-color-block{background:#fff}.theme-color-blue-yellow .theme-link-color-block{background:#ECEC6A}.theme-color-blue-yellow .themed,.theme-color-blue-yellow .reveal{color:#fff}.theme-color-blue-yellow .themed a,.theme-color-blue-yellow .reveal a{color:#ECEC6A}.theme-color-blue-yellow .themed a:hover,.theme-color-blue-yellow .reveal a:hover{color:#f8f8c4}.theme-color-blue-yellow .reveal .controls{color:#ECEC6A}.theme-color-blue-yellow .reveal.has-dark-background .controls{color:#fff}.theme-color-blue-yellow .reveal.has-light-background .controls{color:#000}.theme-color-blue-yellow .reveal .progress{background:rgba(0,0,0,0.2);color:#ECEC6A}.theme-color-blue-yellow .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-blue-yellow .reveal .slide-number a{color:currentColor}.theme-color-blue-yellow .reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-cobalt-orange{background-color:#13335a;background-image:-webkit-radial-gradient(circle farthest-corner at center, #1a4984 0%, #13335a 100%);background-image:radial-gradient(circle farthest-corner at center, #1a4984 0%, #13335a 100%)}.theme-color-cobalt-orange body{background:transparent}.theme-color-cobalt-orange .theme-body-color-block{background:#fff}.theme-color-cobalt-orange .theme-link-color-block{background:#e08c14}.theme-color-cobalt-orange .themed,.theme-color-cobalt-orange .reveal{color:#fff}.theme-color-cobalt-orange .themed a,.theme-color-cobalt-orange .reveal a{color:#e08c14}.theme-color-cobalt-orange .themed a:hover,.theme-color-cobalt-orange .reveal a:hover{color:#f2b968}.theme-color-cobalt-orange .reveal .controls{color:#e08c14}.theme-color-cobalt-orange .reveal.has-dark-background .controls{color:#fff}.theme-color-cobalt-orange .reveal.has-light-background .controls{color:#000}.theme-color-cobalt-orange .reveal .progress{background:rgba(0,0,0,0.2);color:#e08c14}.theme-color-cobalt-orange .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-cobalt-orange .reveal .slide-number a{color:currentColor}.theme-color-cobalt-orange .reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-coral-blue{background-color:#C97150;background-image:-webkit-radial-gradient(circle farthest-corner at center, #d59177 0%, #C97150 100%);background-image:radial-gradient(circle farthest-corner at center, #d59177 0%, #C97150 100%)}.theme-color-coral-blue body{background:transparent}.theme-color-coral-blue .theme-body-color-block{background:#fff}.theme-color-coral-blue .theme-link-color-block{background:#3A65C0}.theme-color-coral-blue .themed,.theme-color-coral-blue .reveal{color:#fff}.theme-color-coral-blue .themed a,.theme-color-coral-blue .reveal a{color:#3A65C0}.theme-color-coral-blue .themed a:hover,.theme-color-coral-blue .reveal a:hover{color:#86a1da}.theme-color-coral-blue .reveal .controls{color:#3A65C0}.theme-color-coral-blue .reveal.has-dark-background .controls{color:#fff}.theme-color-coral-blue .reveal.has-light-background .controls{color:#000}.theme-color-coral-blue .reveal .progress{background:rgba(0,0,0,0.2);color:#3A65C0}.theme-color-coral-blue .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-coral-blue .reveal .slide-number a{color:currentColor}.theme-color-coral-blue .reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-forest-yellow{background:#2BA056}.theme-color-forest-yellow body{background:transparent}.theme-color-forest-yellow .theme-body-color-block{background:#fff}.theme-color-forest-yellow .theme-link-color-block{background:#ECEC6A}.theme-color-forest-yellow .themed,.theme-color-forest-yellow .reveal{color:#fff}.theme-color-forest-yellow .themed a,.theme-color-forest-yellow .reveal a{color:#ECEC6A}.theme-color-forest-yellow .themed a:hover,.theme-color-forest-yellow .reveal a:hover{color:#f8f8c4}.theme-color-forest-yellow .reveal .controls{color:#ECEC6A}.theme-color-forest-yellow .reveal.has-dark-background .controls{color:#fff}.theme-color-forest-yellow .reveal.has-light-background .controls{color:#000}.theme-color-forest-yellow .reveal .progress{background:rgba(0,0,0,0.2);color:#ECEC6A}.theme-color-forest-yellow .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-forest-yellow .reveal .slide-number a{color:currentColor}.theme-color-forest-yellow .reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-grey-blue{background-color:#313538;background-image:-webkit-radial-gradient(circle farthest-corner at center, #555a5f 0%, #1c1e20 100%);background-image:radial-gradient(circle farthest-corner at center, #555a5f 0%, #1c1e20 100%)}.theme-color-grey-blue body{background:transparent}.theme-color-grey-blue .theme-body-color-block{background:#fff}.theme-color-grey-blue .theme-link-color-block{background:#13DAEC}.theme-color-grey-blue .themed,.theme-color-grey-blue .reveal{color:#fff}.theme-color-grey-blue .themed a,.theme-color-grey-blue .reveal a{color:#13DAEC}.theme-color-grey-blue .themed a:hover,.theme-color-grey-blue .reveal a:hover{color:#71e9f4}.theme-color-grey-blue .reveal .controls{color:#13DAEC}.theme-color-grey-blue .reveal.has-dark-background .controls{color:#fff}.theme-color-grey-blue .reveal.has-light-background .controls{color:#000}.theme-color-grey-blue .reveal .progress{background:rgba(0,0,0,0.2);color:#13DAEC}.theme-color-grey-blue .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-grey-blue .reveal .slide-number a{color:currentColor}.theme-color-grey-blue .reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-mint-beige{background-color:#207C5F;background-image:-webkit-radial-gradient(circle farthest-corner at center, #2aa57e 0%, #207C5F 100%);background-image:radial-gradient(circle farthest-corner at center, #2aa57e 0%, #207C5F 100%)}.theme-color-mint-beige body{background:transparent}.theme-color-mint-beige .theme-body-color-block{background:#fff}.theme-color-mint-beige .theme-link-color-block{background:#ecec6a}.theme-color-mint-beige .themed,.theme-color-mint-beige .reveal{color:#fff}.theme-color-mint-beige .themed a,.theme-color-mint-beige .reveal a{color:#ecec6a}.theme-color-mint-beige .themed a:hover,.theme-color-mint-beige .reveal a:hover{color:#f8f8c4}.theme-color-mint-beige .reveal .controls{color:#ecec6a}.theme-color-mint-beige .reveal.has-dark-background .controls{color:#fff}.theme-color-mint-beige .reveal.has-light-background .controls{color:#000}.theme-color-mint-beige .reveal .progress{background:rgba(0,0,0,0.2);color:#ecec6a}.theme-color-mint-beige .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-mint-beige .reveal .slide-number a{color:currentColor}.theme-color-mint-beige .reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-no-color{background-color:#fff}.theme-color-no-color .theme-body-color-block,.theme-color-no-color .theme-link-color-block{background:#000}.theme-color-no-color .themed,.theme-color-no-color.themed,.theme-color-no-color .reveal,.theme-color-no-color.reveal{color:#000}.theme-color-sand-blue{background:#F0F1EB}.theme-color-sand-blue body{background:transparent}.theme-color-sand-blue .theme-body-color-block{background:#111}.theme-color-sand-blue .theme-link-color-block{background:#2F90F8}.theme-color-sand-blue .themed,.theme-color-sand-blue .reveal{color:#111}.theme-color-sand-blue .themed a,.theme-color-sand-blue .reveal a{color:#2F90F8}.theme-color-sand-blue .themed a:hover,.theme-color-sand-blue .reveal a:hover{color:#92c5fb}.theme-color-sand-blue .reveal .controls{color:#2F90F8}.theme-color-sand-blue .reveal.has-dark-background .controls{color:#fff}.theme-color-sand-blue .reveal.has-light-background .controls{color:#000}.theme-color-sand-blue .reveal .progress{background:rgba(0,0,0,0.2);color:#2F90F8}.theme-color-sand-blue .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-sand-blue .reveal .slide-number a{color:currentColor}.theme-color-sand-blue .reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-sea-yellow{background-color:#297477;background-image:-webkit-linear-gradient(top, #6cc9cd 0%, #297477 100%);background-image:linear-gradient(to bottom, #6cc9cd 0%, #297477 100%)}.theme-color-sea-yellow body{background:transparent}.theme-color-sea-yellow .theme-body-color-block{background:#fff}.theme-color-sea-yellow .theme-link-color-block{background:#ffc200}.theme-color-sea-yellow .themed,.theme-color-sea-yellow .reveal{color:#fff}.theme-color-sea-yellow .themed a,.theme-color-sea-yellow .reveal a{color:#ffc200}.theme-color-sea-yellow .themed a:hover,.theme-color-sea-yellow .reveal a:hover{color:#ffda66}.theme-color-sea-yellow .reveal .controls{color:#ffc200}.theme-color-sea-yellow .reveal.has-dark-background .controls{color:#fff}.theme-color-sea-yellow .reveal.has-light-background .controls{color:#000}.theme-color-sea-yellow .reveal .progress{background:rgba(0,0,0,0.2);color:#ffc200}.theme-color-sea-yellow .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-sea-yellow .reveal .slide-number a{color:currentColor}.theme-color-sea-yellow .reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)}.theme-color-silver-blue{background-color:#ddd;background-image:-webkit-radial-gradient(circle farthest-corner at center, #fff 0%, #ddd 100%);background-image:radial-gradient(circle farthest-corner at center, #fff 0%, #ddd 100%)}.theme-color-silver-blue body{background:transparent}.theme-color-silver-blue .theme-body-color-block{background:#111}.theme-color-silver-blue .theme-link-color-block{background:#106bcc}.theme-color-silver-blue .themed,.theme-color-silver-blue .reveal{color:#111}.theme-color-silver-blue .themed a,.theme-color-silver-blue .reveal a{color:#106bcc}.theme-color-silver-blue .themed a:hover,.theme-color-silver-blue .reveal a:hover{color:#2184ee}.theme-color-silver-blue .reveal .controls{color:#106bcc}.theme-color-silver-blue .reveal.has-dark-background .controls{color:#fff}.theme-color-silver-blue .reveal.has-light-background .controls{color:#000}.theme-color-silver-blue .reveal .progress{background:rgba(0,0,0,0.2);color:#106bcc}.theme-color-silver-blue .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-silver-blue .reveal .slide-number a{color:currentColor}.theme-color-silver-blue .reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-silver-green{background-color:#ddd;background-image:-webkit-radial-gradient(circle farthest-corner at center, #fff 0%, #ddd 100%);background-image:radial-gradient(circle farthest-corner at center, #fff 0%, #ddd 100%)}.theme-color-silver-green body{background:transparent}.theme-color-silver-green .theme-body-color-block{background:#111}.theme-color-silver-green .theme-link-color-block{background:#039426}.theme-color-silver-green .themed,.theme-color-silver-green .reveal{color:#111}.theme-color-silver-green .themed a,.theme-color-silver-green .reveal a{color:#039426}.theme-color-silver-green .themed a:hover,.theme-color-silver-green .reveal a:hover{color:#04c633}.theme-color-silver-green .reveal .controls{color:#039426}.theme-color-silver-green .reveal.has-dark-background .controls{color:#fff}.theme-color-silver-green .reveal.has-light-background .controls{color:#000}.theme-color-silver-green .reveal .progress{background:rgba(0,0,0,0.2);color:#039426}.theme-color-silver-green .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-silver-green .reveal .slide-number a{color:currentColor}.theme-color-silver-green .reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-sky-blue{background-color:#DCEDF1;background-image:-webkit-radial-gradient(circle farthest-corner at center, #f7fbfc 0%, #add9e4 100%);background-image:radial-gradient(circle farthest-corner at center, #f7fbfc 0%, #add9e4 100%)}.theme-color-sky-blue body{background:transparent}.theme-color-sky-blue .theme-body-color-block{background:#333}.theme-color-sky-blue .theme-link-color-block{background:#3b759e}.theme-color-sky-blue .themed,.theme-color-sky-blue .reveal{color:#333}.theme-color-sky-blue .themed a,.theme-color-sky-blue .reveal a{color:#3b759e}.theme-color-sky-blue .themed a:hover,.theme-color-sky-blue .reveal a:hover{color:#74a7cb}.theme-color-sky-blue .reveal .controls{color:#3b759e}.theme-color-sky-blue .reveal.has-dark-background .controls{color:#fff}.theme-color-sky-blue .reveal.has-light-background .controls{color:#000}.theme-color-sky-blue .reveal .progress{background:rgba(0,0,0,0.2);color:#3b759e}.theme-color-sky-blue .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-sky-blue .reveal .slide-number a{color:currentColor}.theme-color-sky-blue .reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-white-blue{background:#fff}.theme-color-white-blue body{background:transparent}.theme-color-white-blue .theme-body-color-block{background:#000}.theme-color-white-blue .theme-link-color-block{background:#106bcc}.theme-color-white-blue .themed,.theme-color-white-blue .reveal{color:#000}.theme-color-white-blue .themed a,.theme-color-white-blue .reveal a{color:#106bcc}.theme-color-white-blue .themed a:hover,.theme-color-white-blue .reveal a:hover{color:#3991ef}.theme-color-white-blue .reveal .controls{color:#106bcc}.theme-color-white-blue .reveal.has-dark-background .controls{color:#fff}.theme-color-white-blue .reveal.has-light-background .controls{color:#000}.theme-color-white-blue .reveal .progress{background:rgba(0,0,0,0.2);color:#106bcc}.theme-color-white-blue .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-white-blue .reveal .slide-number a{color:currentColor}.theme-color-white-blue .reveal .slide-number{color:#111;background-color:rgba(255,255,255,0.3)}.theme-color-yellow-black{background:#fff000}.theme-color-yellow-black body{background:transparent}.theme-color-yellow-black .theme-body-color-block{background:#000}.theme-color-yellow-black .theme-link-color-block{background:#4654EC}.theme-color-yellow-black .themed,.theme-color-yellow-black .reveal{color:#000}.theme-color-yellow-black .themed a,.theme-color-yellow-black .reveal a{color:#4654EC}.theme-color-yellow-black .themed a:hover,.theme-color-yellow-black .reveal a:hover{color:#a3aaf6}.theme-color-yellow-black .reveal .controls{color:#4654EC}.theme-color-yellow-black .reveal.has-dark-background .controls{color:#fff}.theme-color-yellow-black .reveal.has-light-background .controls{color:#000}.theme-color-yellow-black .reveal .progress{background:rgba(0,0,0,0.2);color:#4654EC}.theme-color-yellow-black .reveal .progress span{-webkit-transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);transition:width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985)}.theme-color-yellow-black .reveal .slide-number a{color:currentColor}.theme-color-yellow-black .reveal .slide-number{color:#ddd;background-color:rgba(0,0,0,0.3)} diff --git a/2018/09/asg-container_runtimes/lib/offline.js b/2018/09/asg-container_runtimes/lib/offline.js new file mode 100644 index 0000000..e566c36 --- /dev/null +++ b/2018/09/asg-container_runtimes/lib/offline.js @@ -0,0 +1,14 @@ +!function(e){function t(e,t,n,r,i){this._listener=t,this._isOnce=n,this.context=r,this._signal=e,this._priority=i||0}function n(e,t){if("function"!=typeof e)throw new Error("listener is a required param of {fn}() and should be a Function.".replace("{fn}",t))}function r(){this._bindings=[],this._prevParams=null;var e=this;this.dispatch=function(){r.prototype.dispatch.apply(e,arguments)}}t.prototype={active:!0,params:null,execute:function(e){var t,n;return this.active&&this._listener&&(n=this.params?this.params.concat(e):e,t=this._listener.apply(this.context,n),this._isOnce&&this.detach()),t},detach:function(){return this.isBound()?this._signal.remove(this._listener,this.context):null},isBound:function(){return!!this._signal&&!!this._listener},isOnce:function(){return this._isOnce},getListener:function(){return this._listener},getSignal:function(){return this._signal},_destroy:function(){delete this._signal,delete this._listener,delete this.context},toString:function(){return"[SignalBinding isOnce:"+this._isOnce+", isBound:"+this.isBound()+", active:"+this.active+"]"}},r.prototype={VERSION:"1.0.0",memorize:!1,_shouldPropagate:!0,active:!0,_registerListener:function(e,n,r,i){var o,a=this._indexOfListener(e,r);if(a!==-1){if(o=this._bindings[a],o.isOnce()!==n)throw new Error("You cannot add"+(n?"":"Once")+"() then add"+(n?"Once":"")+"() the same listener without removing the relationship first.")}else o=new t(this,e,n,r,i),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(e){var t=this._bindings.length;do--t;while(this._bindings[t]&&e._priority<=this._bindings[t]._priority);this._bindings.splice(t+1,0,e)},_indexOfListener:function(e,t){for(var n,r=this._bindings.length;r--;)if(n=this._bindings[r],n._listener===e&&n.context===t)return r;return-1},has:function(e,t){return this._indexOfListener(e,t)!==-1},add:function(e,t,r){return n(e,"add"),this._registerListener(e,!1,t,r)},addOnce:function(e,t,r){return n(e,"addOnce"),this._registerListener(e,!0,t,r)},remove:function(e,t){n(e,"remove");var r=this._indexOfListener(e,t);return r!==-1&&(this._bindings[r]._destroy(),this._bindings.splice(r,1)),e},removeAll:function(){for(var e=this._bindings.length;e--;)this._bindings[e]._destroy();this._bindings.length=0},getNumListeners:function(){return this._bindings.length},halt:function(){this._shouldPropagate=!1},dispatch:function(){if(this.active){var e,t=Array.prototype.slice.call(arguments),n=this._bindings.length;if(this.memorize&&(this._prevParams=t),n){e=this._bindings.slice(),this._shouldPropagate=!0;do n--;while(e[n]&&this._shouldPropagate&&e[n].execute(t)!==!1)}}},forget:function(){this._prevParams=null},dispose:function(){this.removeAll(),delete this._bindings,delete this._prevParams},toString:function(){return"[Signal active:"+this.active+" numListeners:"+this.getNumListeners()+"]"}};var i=r;i.Signal=r,"function"==typeof define&&define.amd?define(function(){return i}):"undefined"!=typeof module&&module.exports?module.exports=i:e.signals=i}(this),function(e,t,n){function r(e,t){return typeof e===t}function i(){var e,t,n,i,o,a,s;for(var l in w)if(w.hasOwnProperty(l)){if(e=[],t=w[l],t.name&&(e.push(t.name.toLowerCase()),t.options&&t.options.aliases&&t.options.aliases.length))for(n=0;n0&&t-1 in e)}function r(e,t,n){if(pe.isFunction(t))return pe.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return pe.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(Ae.test(t))return pe.filter(t,e,n);t=pe.filter(t,e)}return pe.grep(e,function(e){return pe.inArray(e,t)>-1!==n})}function i(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function o(e){var t={};return pe.each(e.match(Ce)||[],function(e,n){t[n]=!0}),t}function a(){re.addEventListener?(re.removeEventListener("DOMContentLoaded",s),e.removeEventListener("load",s)):(re.detachEvent("onreadystatechange",s),e.detachEvent("onload",s))}function s(){(re.addEventListener||"load"===e.event.type||"complete"===re.readyState)&&(a(),pe.ready())}function l(e,t,n){if(void 0===n&&1===e.nodeType){var r="data-"+t.replace(Re,"-$1").toLowerCase();if(n=e.getAttribute(r),"string"==typeof n){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:Ie.test(n)?pe.parseJSON(n):n)}catch(e){}pe.data(e,t,n)}else n=void 0}return n}function c(e){var t;for(t in e)if(("data"!==t||!pe.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function u(e,t,n,r){if(ze(e)){var i,o,a=pe.expando,s=e.nodeType,l=s?pe.cache:e,c=s?e[a]:e[a]&&a;if(c&&l[c]&&(r||l[c].data)||void 0!==n||"string"!=typeof t)return c||(c=s?e[a]=ne.pop()||pe.guid++:a),l[c]||(l[c]=s?{}:{toJSON:pe.noop}),"object"!=typeof t&&"function"!=typeof t||(r?l[c]=pe.extend(l[c],t):l[c].data=pe.extend(l[c].data,t)),o=l[c],r||(o.data||(o.data={}),o=o.data),void 0!==n&&(o[pe.camelCase(t)]=n),"string"==typeof t?(i=o[t],null==i&&(i=o[pe.camelCase(t)])):i=o,i}}function h(e,t,n){if(ze(e)){var r,i,o=e.nodeType,a=o?pe.cache:e,s=o?e[pe.expando]:pe.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){pe.isArray(t)?t=t.concat(pe.map(t,pe.camelCase)):t in r?t=[t]:(t=pe.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;for(;i--;)delete r[t[i]];if(n?!c(r):!pe.isEmptyObject(r))return}(n||(delete a[s].data,c(a[s])))&&(o?pe.cleanData([e],!0):he.deleteExpando||a!=a.window?delete a[s]:a[s]=void 0)}}}function d(e,t,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return pe.css(e,t,"")},l=s(),c=n&&n[3]||(pe.cssNumber[t]?"":"px"),u=(pe.cssNumber[t]||"px"!==c&&+l)&&De.exec(pe.css(e,t));if(u&&u[3]!==c){c=c||u[3],n=n||[],u=+l||1;do o=o||".5",u/=o,pe.style(e,t,u+c);while(o!==(o=s()/l)&&1!==o&&--a)}return n&&(u=+u||+l||0,i=n[1]?u+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=u,r.end=i)),i}function p(e){var t=Xe.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function m(e,t){var n,r,i=0,o="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):void 0;if(!o)for(o=[],n=e.childNodes||e;null!=(r=n[i]);i++)!t||pe.nodeName(r,t)?o.push(r):pe.merge(o,m(r,t));return void 0===t||t&&pe.nodeName(e,t)?pe.merge([e],o):o}function f(e,t){for(var n,r=0;null!=(n=e[r]);r++)pe._data(n,"globalEval",!t||pe._data(t[r],"globalEval"))}function g(e){He.test(e.type)&&(e.defaultChecked=e.checked)}function v(e,t,n,r,i){for(var o,a,s,l,c,u,h,d=e.length,v=p(t),y=[],x=0;x"!==h[1]||Ve.test(a)?0:l:l.firstChild,o=a&&a.childNodes.length;o--;)pe.nodeName(u=a.childNodes[o],"tbody")&&!u.childNodes.length&&a.removeChild(u);for(pe.merge(y,l.childNodes),l.textContent="";l.firstChild;)l.removeChild(l.firstChild);l=v.lastChild}else y.push(t.createTextNode(a));for(l&&v.removeChild(l),he.appendChecked||pe.grep(m(y,"input"),g),x=0;a=y[x++];)if(r&&pe.inArray(a,r)>-1)i&&i.push(a);else if(s=pe.contains(a.ownerDocument,a),l=m(v.appendChild(a),"script"),s&&f(l),n)for(o=0;a=l[o++];)Fe.test(a.type||"")&&n.push(a);return l=null,v}function y(){return!0}function x(){return!1}function b(){try{return re.activeElement}catch(e){}}function w(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)w(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=x;else if(!i)return e;return 1===o&&(a=i,i=function(e){return pe().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=pe.guid++)),e.each(function(){pe.event.add(this,t,i,r,n)})}function S(e,t){return pe.nodeName(e,"table")&&pe.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function A(e){return e.type=(null!==pe.find.attr(e,"type"))+"/"+e.type,e}function k(e){var t=it.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function T(e,t){if(1===t.nodeType&&pe.hasData(e)){var n,r,i,o=pe._data(e),a=pe._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;r1&&"string"==typeof p&&!he.checkClone&&rt.test(p))return e.each(function(i){var o=e.eq(i);f&&(t[0]=p.call(this,i,o.html())),M(o,t,n,r)});if(h&&(c=v(t,e[0].ownerDocument,!1,e,r),i=c.firstChild,1===c.childNodes.length&&(c=i),i||r)){for(s=pe.map(m(c,"script"),A),a=s.length;u")).appendTo(t.documentElement),t=(lt[0].contentWindow||lt[0].contentDocument).document,t.write(),t.close(),n=C(e,t),lt.detach()),ct[e]=n),n}function N(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function z(e){if(e in kt)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=At.length;n--;)if(e=At[n]+t,e in kt)return e}function I(e,t){for(var n,r,i,o=[],a=0,s=e.length;a=0&&n=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||"object"!==pe.type(e)||e.nodeType||pe.isWindow(e))return!1;try{if(e.constructor&&!ue.call(e,"constructor")&&!ue.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(e){return!1}if(!he.ownFirst)for(t in e)return ue.call(e,t);for(t in e);return void 0===t||ue.call(e,t)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?le[ce.call(e)]||"object":typeof e},globalEval:function(t){t&&pe.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(fe,"ms-").replace(ge,ve)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var r,i=0;if(n(e))for(r=e.length;iS.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[j]=!0,e}function i(e){var t=z.createElement("div");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)S.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||V)-(~e.sourceIndex||V);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function u(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function h(){}function d(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function f(e,n,r){for(var i=0,o=n.length;i-1&&(r[c]=!(a[c]=h))}}else x=g(x===a?x.splice(m,x.length):x),o?o(null,a,x,l):Z.apply(a,x)})}function y(e){for(var t,n,r,i=e.length,o=S.relative[e[0].type],a=o||S.relative[" "],s=o?1:0,l=p(function(e){ +return e===t},a,!0),c=p(function(e){return ee(t,e)>-1},a,!0),u=[function(e,n,r){var i=!o&&(r||n!==_)||((t=n).nodeType?l(e,n,r):c(e,n,r));return t=null,i}];s1&&m(u),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s0,o=e.length>0,a=function(r,a,s,l,c){var u,h,d,p=0,m="0",f=r&&[],v=[],y=_,x=r||o&&S.find.TAG("*",c),b=q+=null==y?1:Math.random()||.1,w=x.length;for(c&&(_=a===z||a||c);m!==w&&null!=(u=x[m]);m++){if(o&&u){for(h=0,a||u.ownerDocument===z||(N(u),s=!R);d=e[h++];)if(d(u,a||z,s)){l.push(u);break}c&&(q=b)}i&&((u=!d&&u)&&p--,r&&f.push(u))}if(p+=m,i&&m!==p){for(h=0;d=n[h++];)d(f,v,a,s);if(r){if(p>0)for(;m--;)f[m]||v[m]||(v[m]=K.call(l));v=g(v)}Z.apply(l,v),c&&!r&&v.length>0&&p+n.length>1&&t.uniqueSort(l)}return c&&(q=b,_=y),f};return i?r(a):a}var b,w,S,A,k,T,E,M,_,C,L,N,z,I,R,O,D,B,P,j="sizzle"+1*new Date,H=e.document,q=0,F=0,U=n(),X=n(),G=n(),$=function(e,t){return e===t&&(L=!0),0},V=1<<31,W={}.hasOwnProperty,J=[],K=J.pop,Y=J.push,Z=J.push,Q=J.slice,ee=function(e,t){for(var n=0,r=e.length;n+~]|"+ne+")"+ne+"*"),ue=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),he=new RegExp(oe),de=new RegExp("^"+re+"$"),pe={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},me=/^(?:input|select|textarea|button)$/i,fe=/^h\d$/i,ge=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,xe=/'|\\/g,be=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),we=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Se=function(){N()};try{Z.apply(J=Q.call(H.childNodes),H.childNodes),J[H.childNodes.length].nodeType}catch(e){Z={apply:J.length?function(e,t){Y.apply(e,Q.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}w=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},N=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:H;return r!==z&&9===r.nodeType&&r.documentElement?(z=r,I=z.documentElement,R=!k(z),(n=z.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Se,!1):n.attachEvent&&n.attachEvent("onunload",Se)),w.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=i(function(e){return e.appendChild(z.createComment("")),!e.getElementsByTagName("*").length}),w.getElementsByClassName=ge.test(z.getElementsByClassName),w.getById=i(function(e){return I.appendChild(e).id=j,!z.getElementsByName||!z.getElementsByName(j).length}),w.getById?(S.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&R){var n=t.getElementById(e);return n?[n]:[]}},S.filter.ID=function(e){var t=e.replace(be,we);return function(e){return e.getAttribute("id")===t}}):(delete S.find.ID,S.filter.ID=function(e){var t=e.replace(be,we);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),S.find.TAG=w.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},S.find.CLASS=w.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&R)return t.getElementsByClassName(e)},D=[],O=[],(w.qsa=ge.test(z.querySelectorAll))&&(i(function(e){I.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&O.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||O.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+j+"-]").length||O.push("~="),e.querySelectorAll(":checked").length||O.push(":checked"),e.querySelectorAll("a#"+j+"+*").length||O.push(".#.+[+~]")}),i(function(e){var t=z.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&O.push("name"+ne+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||O.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),O.push(",.*:")})),(w.matchesSelector=ge.test(B=I.matches||I.webkitMatchesSelector||I.mozMatchesSelector||I.oMatchesSelector||I.msMatchesSelector))&&i(function(e){w.disconnectedMatch=B.call(e,"div"),B.call(e,"[s!='']:x"),D.push("!=",oe)}),O=O.length&&new RegExp(O.join("|")),D=D.length&&new RegExp(D.join("|")),t=ge.test(I.compareDocumentPosition),P=t||ge.test(I.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},$=t?function(e,t){if(e===t)return L=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===z||e.ownerDocument===H&&P(H,e)?-1:t===z||t.ownerDocument===H&&P(H,t)?1:C?ee(C,e)-ee(C,t):0:4&n?-1:1)}:function(e,t){if(e===t)return L=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,s=[e],l=[t];if(!i||!o)return e===z?-1:t===z?1:i?-1:o?1:C?ee(C,e)-ee(C,t):0;if(i===o)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)l.unshift(n);for(;s[r]===l[r];)r++;return r?a(s[r],l[r]):s[r]===H?-1:l[r]===H?1:0},z):z},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==z&&N(e),n=n.replace(ue,"='$1']"),w.matchesSelector&&R&&!G[n+" "]&&(!D||!D.test(n))&&(!O||!O.test(n)))try{var r=B.call(e,n);if(r||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,z,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==z&&N(e),P(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==z&&N(e);var n=S.attrHandle[t.toLowerCase()],r=n&&W.call(S.attrHandle,t.toLowerCase())?n(e,t,!R):void 0;return void 0!==r?r:w.attributes||!R?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(L=!w.detectDuplicates,C=!w.sortStable&&e.slice(0),e.sort($),L){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return C=null,e},A=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=A(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=A(t);return n},S=t.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,we),e[3]=(e[3]||e[4]||e[5]||"").replace(be,we),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&he.test(n)&&(t=T(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(be,we).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ae," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,h,d,p,m,f=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s,x=!1;if(g){if(o){for(;f;){for(d=t;d=d[f];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;m=f="only"===e&&!m&&"nextSibling"}return!0}if(m=[a?g.firstChild:g.lastChild],a&&y){for(d=g,h=d[j]||(d[j]={}),u=h[d.uniqueID]||(h[d.uniqueID]={}),c=u[e]||[],p=c[0]===q&&c[1],x=p&&c[2],d=p&&g.childNodes[p];d=++p&&d&&d[f]||(x=p=0)||m.pop();)if(1===d.nodeType&&++x&&d===t){u[e]=[q,p,x];break}}else if(y&&(d=t,h=d[j]||(d[j]={}),u=h[d.uniqueID]||(h[d.uniqueID]={}),c=u[e]||[],p=c[0]===q&&c[1],x=p),x===!1)for(;(d=++p&&d&&d[f]||(x=p=0)||m.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++x||(y&&(h=d[j]||(d[j]={}),u=h[d.uniqueID]||(h[d.uniqueID]={}),u[e]=[q,x]),d!==t)););return x-=i,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=S.pseudos[e]||S.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[j]?o(n):o.length>1?(i=[e,e,"",n],S.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=ee(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=E(e.replace(se,"$1"));return i[j]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,we),function(t){return(t.textContent||t.innerText||A(t)).indexOf(e)>-1}}),lang:r(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,we).toLowerCase(),function(t){var n;do if(n=R?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===I},focus:function(e){return e===z.activeElement&&(!z.hasFocus||z.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!S.pseudos.empty(e)},header:function(e){return fe.test(e.nodeName)},input:function(e){return me.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[n<0?n+t:n]}),even:c(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(a=o[0]).type&&w.getById&&9===t.nodeType&&R&&S.relative[o[1].type]){if(t=(S.find.ID(a.matches[0].replace(be,we),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!S.relative[s=a.type]);)if((l=S.find[s])&&(r=l(a.matches[0].replace(be,we),ye.test(o[0].type)&&u(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&d(o),!e)return Z.apply(n,r),n;break}}return(c||E(e,h))(r,t,!R,n,!t||ye.test(e)&&u(t.parentNode)||t),n},w.sortStable=j.split("").sort($).join("")===j,w.detectDuplicates=!!L,N(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(z.createElement("div"))}),i(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);pe.find=ye,pe.expr=ye.selectors,pe.expr[":"]=pe.expr.pseudos,pe.uniqueSort=pe.unique=ye.uniqueSort,pe.text=ye.getText,pe.isXMLDoc=ye.isXML,pe.contains=ye.contains;var xe=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&pe(e).is(n))break;r.push(e)}return r},be=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},we=pe.expr.match.needsContext,Se=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Ae=/^.[^:#\[\.,]*$/;pe.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?pe.find.matchesSelector(r,e)?[r]:[]:pe.find.matches(e,pe.grep(t,function(e){return 1===e.nodeType}))},pe.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(pe(e).filter(function(){for(t=0;t1?pe.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},filter:function(e){return this.pushStack(r(this,e||[],!1))},not:function(e){return this.pushStack(r(this,e||[],!0))},is:function(e){return!!r(this,"string"==typeof e&&we.test(e)?pe(e):e||[],!1).length}});var ke,Te=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,Ee=pe.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||ke,"string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:Te.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof pe?t[0]:t,pe.merge(this,pe.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:re,!0)),Se.test(r[1])&&pe.isPlainObject(t))for(r in t)pe.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}if(i=re.getElementById(r[2]),i&&i.parentNode){if(i.id!==r[2])return ke.find(e);this.length=1,this[0]=i}return this.context=re,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):pe.isFunction(e)?"undefined"!=typeof n.ready?n.ready(e):e(pe):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),pe.makeArray(e,this))};Ee.prototype=pe.fn,ke=pe(re);var Me=/^(?:parents|prev(?:Until|All))/,_e={children:!0,contents:!0,next:!0,prev:!0};pe.fn.extend({has:function(e){var t,n=pe(e,this),r=n.length;return this.filter(function(){for(t=0;t-1:1===n.nodeType&&pe.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?pe.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?pe.inArray(this[0],pe(e)):pe.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(pe.uniqueSort(pe.merge(this.get(),pe(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),pe.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return xe(e,"parentNode")},parentsUntil:function(e,t,n){return xe(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return xe(e,"nextSibling")},prevAll:function(e){return xe(e,"previousSibling")},nextUntil:function(e,t,n){return xe(e,"nextSibling",n)},prevUntil:function(e,t,n){return xe(e,"previousSibling",n)},siblings:function(e){return be((e.parentNode||{}).firstChild,e)},children:function(e){return be(e.firstChild)},contents:function(e){return pe.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:pe.merge([],e.childNodes)}},function(e,t){pe.fn[e]=function(n,r){var i=pe.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=pe.filter(r,i)),this.length>1&&(_e[e]||(i=pe.uniqueSort(i)),Me.test(e)&&(i=i.reverse())),this.pushStack(i)}});var Ce=/\S+/g;pe.Callbacks=function(e){e="string"==typeof e?o(e):pe.extend({},e);var t,n,r,i,a=[],s=[],l=-1,c=function(){for(i=e.once,r=t=!0;s.length;l=-1)for(n=s.shift();++l-1;)a.splice(n,1),n<=l&&l--}),this},has:function(e){return e?pe.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=s=[],a=n="",this},disabled:function(){return!a},lock:function(){return i=!0,n||u.disable(),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||c()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!r}};return u},pe.extend({Deferred:function(e){var t=[["resolve","done",pe.Callbacks("once memory"),"resolved"],["reject","fail",pe.Callbacks("once memory"),"rejected"],["notify","progress",pe.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return pe.Deferred(function(n){pe.each(t,function(t,o){var a=pe.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&pe.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?pe.extend(e,r):r}},i={};return r.pipe=r.then,pe.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=ie.call(arguments),a=o.length,s=1!==a||e&&pe.isFunction(e.promise)?a:0,l=1===s?e:pe.Deferred(),c=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?ie.call(arguments):i,r===t?l.notifyWith(n,r):--s||l.resolveWith(n,r)}};if(a>1)for(t=new Array(a),n=new Array(a),r=new Array(a);i0||(Le.resolveWith(re,[pe]),pe.fn.triggerHandler&&(pe(re).triggerHandler("ready"),pe(re).off("ready"))))}}),pe.ready.promise=function(t){if(!Le)if(Le=pe.Deferred(),"complete"===re.readyState||"loading"!==re.readyState&&!re.documentElement.doScroll)e.setTimeout(pe.ready);else if(re.addEventListener)re.addEventListener("DOMContentLoaded",s),e.addEventListener("load",s);else{re.attachEvent("onreadystatechange",s),e.attachEvent("onload",s);var n=!1;try{n=null==e.frameElement&&re.documentElement}catch(e){}n&&n.doScroll&&!function t(){if(!pe.isReady){try{n.doScroll("left")}catch(n){return e.setTimeout(t,50)}a(),pe.ready()}}()}return Le.promise(t)},pe.ready.promise();var Ne;for(Ne in pe(he))break;he.ownFirst="0"===Ne,he.inlineBlockNeedsLayout=!1,pe(function(){var e,t,n,r;n=re.getElementsByTagName("body")[0],n&&n.style&&(t=re.createElement("div"),r=re.createElement("div"),r.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(r).appendChild(t),"undefined"!=typeof t.style.zoom&&(t.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",he.inlineBlockNeedsLayout=e=3===t.offsetWidth,e&&(n.style.zoom=1)),n.removeChild(r))}),function(){var e=re.createElement("div");he.deleteExpando=!0;try{delete e.test}catch(e){he.deleteExpando=!1}e=null}();var ze=function(e){var t=pe.noData[(e.nodeName+" ").toLowerCase()],n=+e.nodeType||1;return(1===n||9===n)&&(!t||t!==!0&&e.getAttribute("classid")===t)},Ie=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Re=/([A-Z])/g;pe.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?pe.cache[e[pe.expando]]:e[pe.expando],!!e&&!c(e)},data:function(e,t,n){return u(e,t,n)},removeData:function(e,t){return h(e,t)},_data:function(e,t,n){return u(e,t,n,!0)},_removeData:function(e,t){return h(e,t,!0)}}),pe.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=pe.data(o),1===o.nodeType&&!pe._data(o,"parsedAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=pe.camelCase(r.slice(5)),l(o,r,i[r])));pe._data(o,"parsedAttrs",!0)}return i}return"object"==typeof e?this.each(function(){pe.data(this,e)}):arguments.length>1?this.each(function(){pe.data(this,e,t)}):o?l(o,e,pe.data(o,e)):void 0},removeData:function(e){return this.each(function(){pe.removeData(this,e)})}}),pe.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=pe._data(e,t),n&&(!r||pe.isArray(n)?r=pe._data(e,t,pe.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=pe.queue(e,t),r=n.length,i=n.shift(),o=pe._queueHooks(e,t),a=function(){pe.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return pe._data(e,n)||pe._data(e,n,{empty:pe.Callbacks("once memory").add(function(){pe._removeData(e,t+"queue"),pe._removeData(e,n)})})}}),pe.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length
a",he.leadingWhitespace=3===e.firstChild.nodeType,he.tbody=!e.getElementsByTagName("tbody").length,he.htmlSerialize=!!e.getElementsByTagName("link").length,he.html5Clone="<:nav>"!==re.createElement("nav").cloneNode(!0).outerHTML,n.type="checkbox",n.checked=!0,t.appendChild(n),he.appendChecked=n.checked,e.innerHTML="",he.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue,t.appendChild(e),n=re.createElement("input"),n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),he.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,he.noCloneEvent=!!e.addEventListener,e[pe.expando]=1,he.attributes=!e.getAttribute(pe.expando)}();var Ge={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:he.htmlSerialize?[0,"",""]:[1,"X
","
"]};Ge.optgroup=Ge.option,Ge.tbody=Ge.tfoot=Ge.colgroup=Ge.caption=Ge.thead,Ge.th=Ge.td;var $e=/<|&#?\w+;/,Ve=/-1&&(m=p.split("."),p=m.shift(),m.sort()),a=p.indexOf(":")<0&&"on"+p,t=t[pe.expando]?t:new pe.Event(p,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=m.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:pe.makeArray(n,[t]),c=pe.event.special[p]||{},i||!c.trigger||c.trigger.apply(r,n)!==!1)){if(!i&&!c.noBubble&&!pe.isWindow(r)){for(l=c.delegateType||p,Ye.test(l+p)||(s=s.parentNode);s;s=s.parentNode)d.push(s),u=s;u===(r.ownerDocument||re)&&d.push(u.defaultView||u.parentWindow||e)}for(h=0;(s=d[h++])&&!t.isPropagationStopped();)t.type=h>1?l:c.bindType||p,o=(pe._data(s,"events")||{})[t.type]&&pe._data(s,"handle"),o&&o.apply(s,n),o=a&&s[a],o&&o.apply&&ze(s)&&(t.result=o.apply(s,n),t.result===!1&&t.preventDefault());if(t.type=p,!i&&!t.isDefaultPrevented()&&(!c._default||c._default.apply(d.pop(),n)===!1)&&ze(r)&&a&&r[p]&&!pe.isWindow(r)){u=r[a],u&&(r[a]=null),pe.event.triggered=p;try{r[p]()}catch(e){}pe.event.triggered=void 0,u&&(r[a]=u)}return t.result}},dispatch:function(e){e=pe.event.fix(e);var t,n,r,i,o,a=[],s=ie.call(arguments),l=(pe._data(this,"events")||{})[e.type]||[],c=pe.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(a=pe.event.handlers.call(this,e,l),t=0;(i=a[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(o.namespace)||(e.handleObj=o,e.data=o.data,r=((pe.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,a=[],s=t.delegateCount,l=e.target;if(s&&l.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(r=[],n=0;n-1:pe.find(i,this,null,[l]).length),r[i]&&r.push(o);r.length&&a.push({elem:l,handlers:r})}return s]","i"),tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,nt=/\s*$/g,at=p(re),st=at.appendChild(re.createElement("div"));pe.extend({htmlPrefilter:function(e){return e.replace(tt,"<$1>")},clone:function(e,t,n){var r,i,o,a,s,l=pe.contains(e.ownerDocument,e);if(he.html5Clone||pe.isXMLDoc(e)||!et.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(st.innerHTML=e.outerHTML,st.removeChild(o=st.firstChild)),!(he.noCloneEvent&&he.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||pe.isXMLDoc(e)))for(r=m(o),s=m(e),a=0;null!=(i=s[a]);++a)r[a]&&E(i,r[a]);if(t)if(n)for(s=s||m(e),r=r||m(o),a=0;null!=(i=s[a]);a++)T(i,r[a]);else T(e,o);return r=m(o,"script"),r.length>0&&f(r,!l&&m(e,"script")),r=s=i=null,o},cleanData:function(e,t){for(var n,r,i,o,a=0,s=pe.expando,l=pe.cache,c=he.attributes,u=pe.event.special;null!=(n=e[a]);a++)if((t||ze(n))&&(i=n[s],o=i&&l[i])){if(o.events)for(r in o.events)u[r]?pe.event.remove(n,r):pe.removeEvent(n,r,o.handle);l[i]&&(delete l[i],c||"undefined"==typeof n.removeAttribute?n[s]=void 0:n.removeAttribute(s),ne.push(i))}}}),pe.fn.extend({domManip:M,detach:function(e){return _(this,e,!0)},remove:function(e){return _(this,e)},text:function(e){return je(this,function(e){return void 0===e?pe.text(this):this.empty().append((this[0]&&this[0].ownerDocument||re).createTextNode(e))},null,e,arguments.length)},append:function(){return M(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=S(this,e);t.appendChild(e)}})},prepend:function(){return M(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=S(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return M(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return M(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&pe.cleanData(m(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&pe.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return pe.clone(this,e,t)})},html:function(e){return je(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e)return 1===t.nodeType?t.innerHTML.replace(Qe,""):void 0;if("string"==typeof e&&!nt.test(e)&&(he.htmlSerialize||!et.test(e))&&(he.leadingWhitespace||!Ue.test(e))&&!Ge[(qe.exec(e)||["",""])[1].toLowerCase()]){e=pe.htmlPrefilter(e);try{for(;nt",c.childNodes[0].style.borderCollapse="separate",t=c.getElementsByTagName("td"),t[0].style.cssText="margin:0;border:0;padding:0;display:none",o=0===t[0].offsetHeight,o&&(t[0].style.display="",t[1].style.display="none",o=0===t[0].offsetHeight)),h.removeChild(l)}var n,r,i,o,a,s,l=re.createElement("div"),c=re.createElement("div");c.style&&(c.style.cssText="float:left;opacity:.5",he.opacity="0.5"===c.style.opacity,he.cssFloat=!!c.style.cssFloat,c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",he.clearCloneStyle="content-box"===c.style.backgroundClip,l=re.createElement("div"),l.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",c.innerHTML="",l.appendChild(c),he.boxSizing=""===c.style.boxSizing||""===c.style.MozBoxSizing||""===c.style.WebkitBoxSizing,pe.extend(he,{reliableHiddenOffsets:function(){return null==n&&t(),o},boxSizingReliable:function(){return null==n&&t(),i},pixelMarginRight:function(){return null==n&&t(),r},pixelPosition:function(){return null==n&&t(),n},reliableMarginRight:function(){return null==n&&t(),a},reliableMarginLeft:function(){return null==n&&t(),s}}))}();var mt,ft,gt=/^(top|right|bottom|left)$/;e.getComputedStyle?(mt=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},ft=function(e,t,n){var r,i,o,a,s=e.style;return n=n||mt(e),a=n?n.getPropertyValue(t)||n[t]:void 0,""!==a&&void 0!==a||pe.contains(e.ownerDocument,e)||(a=pe.style(e,t)),n&&!he.pixelMarginRight()&&ht.test(a)&&ut.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o),void 0===a?a:a+""}):pt.currentStyle&&(mt=function(e){return e.currentStyle},ft=function(e,t,n){var r,i,o,a,s=e.style;return n=n||mt(e),a=n?n[t]:void 0,null==a&&s&&s[t]&&(a=s[t]),ht.test(a)&&!gt.test(t)&&(r=s.left,i=e.runtimeStyle,o=i&&i.left,o&&(i.left=e.currentStyle.left),s.left="fontSize"===t?"1em":a,a=s.pixelLeft+"px",s.left=r,o&&(i.left=o)),void 0===a?a:a+""||"auto"});var vt=/alpha\([^)]*\)/i,yt=/opacity\s*=\s*([^)]*)/i,xt=/^(none|table(?!-c[ea]).+)/,bt=new RegExp("^("+Oe+")(.*)$","i"),wt={position:"absolute",visibility:"hidden",display:"block"},St={letterSpacing:"0",fontWeight:"400"},At=["Webkit","O","Moz","ms"],kt=re.createElement("div").style;pe.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=ft(e,"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":he.cssFloat?"cssFloat":"styleFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=pe.camelCase(t),l=e.style;if(t=pe.cssProps[s]||(pe.cssProps[s]=z(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];if(o=typeof n,"string"===o&&(i=De.exec(n))&&i[1]&&(n=d(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(pe.cssNumber[s]?"":"px")),he.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),!(a&&"set"in a&&void 0===(n=a.set(e,n,r)))))try{l[t]=n}catch(e){}}},css:function(e,t,n,r){var i,o,a,s=pe.camelCase(t);return t=pe.cssProps[s]||(pe.cssProps[s]=z(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],a&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=ft(e,t,r)),"normal"===o&&t in St&&(o=St[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),pe.each(["height","width"],function(e,t){pe.cssHooks[t]={get:function(e,n,r){if(n)return xt.test(pe.css(e,"display"))&&0===e.offsetWidth?dt(e,wt,function(){return D(e,t,r)}):D(e,t,r)},set:function(e,n,r){var i=r&&mt(e);return R(e,n,r?O(e,t,r,he.boxSizing&&"border-box"===pe.css(e,"boxSizing",!1,i),i):0)}}}),he.opacity||(pe.cssHooks.opacity={get:function(e,t){return yt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=pe.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===pe.trim(o.replace(vt,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=vt.test(o)?o.replace(vt,i):o+" "+i)}}),pe.cssHooks.marginRight=N(he.reliableMarginRight,function(e,t){if(t)return dt(e,{display:"inline-block"},ft,[e,"marginRight"])}),pe.cssHooks.marginLeft=N(he.reliableMarginLeft,function(e,t){if(t)return(parseFloat(ft(e,"marginLeft"))||(pe.contains(e.ownerDocument,e)?e.getBoundingClientRect().left-dt(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}):0))+"px"}),pe.each({margin:"",padding:"",border:"Width"},function(e,t){pe.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+Be[r]+t]=o[r]||o[r-2]||o[0];return i}},ut.test(e)||(pe.cssHooks[e+t].set=R)}),pe.fn.extend({css:function(e,t){return je(this,function(e,t,n){var r,i,o={},a=0;if(pe.isArray(t)){for(r=mt(e),i=t.length;a1)},show:function(){return I(this,!0)},hide:function(){return I(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Pe(this)?pe(this).show():pe(this).hide()})}}),pe.Tween=B,B.prototype={constructor:B,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||pe.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(pe.cssNumber[n]?"":"px")},cur:function(){var e=B.propHooks[this.prop];return e&&e.get?e.get(this):B.propHooks._default.get(this)},run:function(e){var t,n=B.propHooks[this.prop];return this.options.duration?this.pos=t=pe.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):B.propHooks._default.set(this),this}},B.prototype.init.prototype=B.prototype,B.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=pe.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){pe.fx.step[e.prop]?pe.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[pe.cssProps[e.prop]]&&!pe.cssHooks[e.prop]?e.elem[e.prop]=e.now:pe.style(e.elem,e.prop,e.now+e.unit)}}},B.propHooks.scrollTop=B.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},pe.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},pe.fx=B.prototype.init,pe.fx.step={};var Tt,Et,Mt=/^(?:toggle|show|hide)$/,_t=/queueHooks$/;pe.Animation=pe.extend(U,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,De.exec(t),n),n}]},tweener:function(e,t){pe.isFunction(e)?(t=e,e=["*"]):e=e.match(Ce);for(var n,r=0,i=e.length;r
a",e=n.getElementsByTagName("a")[0],t.setAttribute("type","checkbox"),n.appendChild(t),e=n.getElementsByTagName("a")[0],e.style.cssText="top:1px",he.getSetAttribute="t"!==n.className,he.style=/top/.test(e.getAttribute("style")),he.hrefNormalized="/a"===e.getAttribute("href"),he.checkOn=!!t.value,he.optSelected=i.selected,he.enctype=!!re.createElement("form").enctype,r.disabled=!0,he.optDisabled=!i.disabled,t=re.createElement("input"),t.setAttribute("value",""),he.input=""===t.getAttribute("value"),t.value="t",t.setAttribute("type","radio"),he.radioValue="t"===t.value}();var Ct=/\r/g,Lt=/[\x20\t\r\n\f]+/g;pe.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=pe.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,pe(this).val()):e,null==i?i="":"number"==typeof i?i+="":pe.isArray(i)&&(i=pe.map(i,function(e){return null==e?"":e+""})),t=pe.valHooks[this.type]||pe.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return t=pe.valHooks[i.type]||pe.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(Ct,""):null==n?"":n)}}}),pe.extend({valHooks:{option:{get:function(e){var t=pe.find.attr(e,"value");return null!=t?t:pe.trim(pe.text(e)).replace(Lt," ")}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||i<0,a=o?null:[],s=o?i+1:r.length,l=i<0?s:o?i:0;l-1)try{r.selected=n=!0}catch(e){r.scrollHeight}else r.selected=!1;return n||(e.selectedIndex=-1),i}}}}),pe.each(["radio","checkbox"],function(){pe.valHooks[this]={set:function(e,t){if(pe.isArray(t))return e.checked=pe.inArray(pe(e).val(),t)>-1}},he.checkOn||(pe.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Nt,zt,It=pe.expr.attrHandle,Rt=/^(?:checked|selected)$/i,Ot=he.getSetAttribute,Dt=he.input;pe.fn.extend({attr:function(e,t){return je(this,pe.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){pe.removeAttr(this,e)})}}),pe.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?pe.prop(e,t,n):(1===o&&pe.isXMLDoc(e)||(t=t.toLowerCase(),i=pe.attrHooks[t]||(pe.expr.match.bool.test(t)?zt:Nt)),void 0!==n?null===n?void pe.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=pe.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!he.radioValue&&"radio"===t&&pe.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(Ce);if(o&&1===e.nodeType)for(;n=o[i++];)r=pe.propFix[n]||n,pe.expr.match.bool.test(n)?Dt&&Ot||!Rt.test(n)?e[r]=!1:e[pe.camelCase("default-"+n)]=e[r]=!1:pe.attr(e,n,""),e.removeAttribute(Ot?n:r)}}),zt={set:function(e,t,n){return t===!1?pe.removeAttr(e,n):Dt&&Ot||!Rt.test(n)?e.setAttribute(!Ot&&pe.propFix[n]||n,n):e[pe.camelCase("default-"+n)]=e[n]=!0,n}},pe.each(pe.expr.match.bool.source.match(/\w+/g),function(e,t){var n=It[t]||pe.find.attr;Dt&&Ot||!Rt.test(t)?It[t]=function(e,t,r){var i,o;return r||(o=It[t],It[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,It[t]=o),i}:It[t]=function(e,t,n){if(!n)return e[pe.camelCase("default-"+t)]?t.toLowerCase():null}}),Dt&&Ot||(pe.attrHooks.value={set:function(e,t,n){return pe.nodeName(e,"input")?void(e.defaultValue=t):Nt&&Nt.set(e,t,n)}}),Ot||(Nt={set:function(e,t,n){var r=e.getAttributeNode(n);if(r||e.setAttributeNode(r=e.ownerDocument.createAttribute(n)),r.value=t+="","value"===n||t===e.getAttribute(n))return t}},It.id=It.name=It.coords=function(e,t,n){var r;if(!n)return(r=e.getAttributeNode(t))&&""!==r.value?r.value:null},pe.valHooks.button={get:function(e,t){var n=e.getAttributeNode(t);if(n&&n.specified)return n.value},set:Nt.set},pe.attrHooks.contenteditable={set:function(e,t,n){Nt.set(e,""!==t&&t,n)}},pe.each(["width","height"],function(e,t){pe.attrHooks[t]={set:function(e,n){if(""===n)return e.setAttribute(t,"auto"),n}}})),he.style||(pe.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var Bt=/^(?:input|select|textarea|button|object)$/i,Pt=/^(?:a|area)$/i;pe.fn.extend({prop:function(e,t){return je(this,pe.prop,e,t,arguments.length>1)},removeProp:function(e){return e=pe.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(e){}})}}),pe.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&pe.isXMLDoc(e)||(t=pe.propFix[t]||t,i=pe.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=pe.find.attr(e,"tabindex");return t?parseInt(t,10):Bt.test(e.nodeName)||Pt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),he.hrefNormalized||pe.each(["href","src"],function(e,t){pe.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),he.optSelected||(pe.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),pe.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){pe.propFix[this.toLowerCase()]=this}),he.enctype||(pe.propFix.enctype="encoding");var jt=/[\t\r\n\f]/g;pe.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,l=0;if(pe.isFunction(e))return this.each(function(t){pe(this).addClass(e.call(this,t,X(this)))});if("string"==typeof e&&e)for(t=e.match(Ce)||[];n=this[l++];)if(i=X(n),r=1===n.nodeType&&(" "+i+" ").replace(jt," ")){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");s=pe.trim(r),i!==s&&pe.attr(n,"class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,l=0;if(pe.isFunction(e))return this.each(function(t){pe(this).removeClass(e.call(this,t,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(Ce)||[];n=this[l++];)if(i=X(n),r=1===n.nodeType&&(" "+i+" ").replace(jt," ")){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");s=pe.trim(r),i!==s&&pe.attr(n,"class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):pe.isFunction(e)?this.each(function(n){pe(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=pe(this),o=e.match(Ce)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=X(this),t&&pe._data(this,"__className__",t),pe.attr(this,"class",t||e===!1?"":pe._data(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+X(n)+" ").replace(jt," ").indexOf(t)>-1)return!0;return!1}}),pe.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){pe.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),pe.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}});var Ht=e.location,qt=pe.now(),Ft=/\?/,Ut=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;pe.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,r=null,i=pe.trim(t+"");return i&&!pe.trim(i.replace(Ut,function(e,t,i,o){return n&&t&&(r=0),0===r?e:(n=i||t,r+=!o-!i,"")}))?Function("return "+i)():pe.error("Invalid JSON: "+t)},pe.parseXML=function(t){var n,r;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(r=new e.DOMParser,n=r.parseFromString(t,"text/xml")):(n=new e.ActiveXObject("Microsoft.XMLDOM"),n.async="false",n.loadXML(t))}catch(e){n=void 0}return n&&n.documentElement&&!n.getElementsByTagName("parsererror").length||pe.error("Invalid XML: "+t),n};var Xt=/#.*$/,Gt=/([?&])_=[^&]*/,$t=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Vt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Wt=/^(?:GET|HEAD)$/,Jt=/^\/\//,Kt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Yt={},Zt={},Qt="*/".concat("*"),en=Ht.href,tn=Kt.exec(en.toLowerCase())||[];pe.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:en,type:"GET",isLocal:Vt.test(tn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Qt,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":pe.parseJSON,"text xml":pe.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?V(V(e,pe.ajaxSettings),t):V(pe.ajaxSettings,e)},ajaxPrefilter:G(Yt),ajaxTransport:G(Zt),ajax:function(t,n){function r(t,n,r,i){var o,h,y,x,w,A=n;2!==b&&(b=2,l&&e.clearTimeout(l),u=void 0,s=i||"",S.readyState=t>0?4:0,o=t>=200&&t<300||304===t,r&&(x=W(d,S,r)),x=J(d,x,S,o),o?(d.ifModified&&(w=S.getResponseHeader("Last-Modified"),w&&(pe.lastModified[a]=w),w=S.getResponseHeader("etag"),w&&(pe.etag[a]=w)),204===t||"HEAD"===d.type?A="nocontent":304===t?A="notmodified":(A=x.state,h=x.data,y=x.error,o=!y)):(y=A,!t&&A||(A="error",t<0&&(t=0))),S.status=t,S.statusText=(n||A)+"",o?f.resolveWith(p,[h,A,S]):f.rejectWith(p,[S,A,y]),S.statusCode(v),v=void 0,c&&m.trigger(o?"ajaxSuccess":"ajaxError",[S,d,o?h:y]),g.fireWith(p,[S,A]),c&&(m.trigger("ajaxComplete",[S,d]),--pe.active||pe.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,l,c,u,h,d=pe.ajaxSetup({},n),p=d.context||d,m=d.context&&(p.nodeType||p.jquery)?pe(p):pe.event,f=pe.Deferred(),g=pe.Callbacks("once memory"),v=d.statusCode||{},y={},x={},b=0,w="canceled",S={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!h)for(h={};t=$t.exec(s);)h[t[1].toLowerCase()]=t[2];t=h[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?s:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=x[n]=x[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(b<2)for(t in e)v[t]=[v[t],e[t]];else S.always(e[S.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),r(0,t),this}};if(f.promise(S).complete=g.add,S.success=S.done,S.error=S.fail,d.url=((t||d.url||en)+"").replace(Xt,"").replace(Jt,tn[1]+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=pe.trim(d.dataType||"*").toLowerCase().match(Ce)||[""],null==d.crossDomain&&(i=Kt.exec(d.url.toLowerCase()),d.crossDomain=!(!i||i[1]===tn[1]&&i[2]===tn[2]&&(i[3]||("http:"===i[1]?"80":"443"))===(tn[3]||("http:"===tn[1]?"80":"443")))),d.data&&d.processData&&"string"!=typeof d.data&&(d.data=pe.param(d.data,d.traditional)),$(Yt,d,n,S),2===b)return S;c=pe.event&&d.global,c&&0===pe.active++&&pe.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Wt.test(d.type),a=d.url,d.hasContent||(d.data&&(a=d.url+=(Ft.test(a)?"&":"?")+d.data,delete d.data),d.cache===!1&&(d.url=Gt.test(a)?a.replace(Gt,"$1_="+qt++):a+(Ft.test(a)?"&":"?")+"_="+qt++)),d.ifModified&&(pe.lastModified[a]&&S.setRequestHeader("If-Modified-Since",pe.lastModified[a]),pe.etag[a]&&S.setRequestHeader("If-None-Match",pe.etag[a])), +(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&S.setRequestHeader("Content-Type",d.contentType),S.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Qt+"; q=0.01":""):d.accepts["*"]);for(o in d.headers)S.setRequestHeader(o,d.headers[o]);if(d.beforeSend&&(d.beforeSend.call(p,S,d)===!1||2===b))return S.abort();w="abort";for(o in{success:1,error:1,complete:1})S[o](d[o]);if(u=$(Zt,d,n,S)){if(S.readyState=1,c&&m.trigger("ajaxSend",[S,d]),2===b)return S;d.async&&d.timeout>0&&(l=e.setTimeout(function(){S.abort("timeout")},d.timeout));try{b=1,u.send(y,r)}catch(e){if(!(b<2))throw e;r(-1,e)}}else r(-1,"No Transport");return S},getJSON:function(e,t,n){return pe.get(e,t,n,"json")},getScript:function(e,t){return pe.get(e,void 0,t,"script")}}),pe.each(["get","post"],function(e,t){pe[t]=function(e,n,r,i){return pe.isFunction(n)&&(i=i||r,r=n,n=void 0),pe.ajax(pe.extend({url:e,type:t,dataType:i,data:n,success:r},pe.isPlainObject(e)&&e))}}),pe._evalUrl=function(e){return pe.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},pe.fn.extend({wrapAll:function(e){if(pe.isFunction(e))return this.each(function(t){pe(this).wrapAll(e.call(this,t))});if(this[0]){var t=pe(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return pe.isFunction(e)?this.each(function(t){pe(this).wrapInner(e.call(this,t))}):this.each(function(){var t=pe(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=pe.isFunction(e);return this.each(function(n){pe(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){pe.nodeName(this,"body")||pe(this).replaceWith(this.childNodes)}).end()}}),pe.expr.filters.hidden=function(e){return he.reliableHiddenOffsets()?e.offsetWidth<=0&&e.offsetHeight<=0&&!e.getClientRects().length:Y(e)},pe.expr.filters.visible=function(e){return!pe.expr.filters.hidden(e)};var nn=/%20/g,rn=/\[\]$/,on=/\r?\n/g,an=/^(?:submit|button|image|reset|file)$/i,sn=/^(?:input|select|textarea|keygen)/i;pe.param=function(e,t){var n,r=[],i=function(e,t){t=pe.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=pe.ajaxSettings&&pe.ajaxSettings.traditional),pe.isArray(e)||e.jquery&&!pe.isPlainObject(e))pe.each(e,function(){i(this.name,this.value)});else for(n in e)Z(n,e[n],t,i);return r.join("&").replace(nn,"+")},pe.fn.extend({serialize:function(){return pe.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=pe.prop(this,"elements");return e?pe.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!pe(this).is(":disabled")&&sn.test(this.nodeName)&&!an.test(e)&&(this.checked||!He.test(e))}).map(function(e,t){var n=pe(this).val();return null==n?null:pe.isArray(n)?pe.map(n,function(e){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),pe.ajaxSettings.xhr=void 0!==e.ActiveXObject?function(){return this.isLocal?ee():re.documentMode>8?Q():/^(get|post|head|put|delete|options)$/i.test(this.type)&&Q()||ee()}:Q;var ln=0,cn={},un=pe.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in cn)cn[e](void 0,!0)}),he.cors=!!un&&"withCredentials"in un,un=he.ajax=!!un,un&&pe.ajaxTransport(function(t){if(!t.crossDomain||he.cors){var n;return{send:function(r,i){var o,a=t.xhr(),s=++ln;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)void 0!==r[o]&&a.setRequestHeader(o,r[o]+"");a.send(t.hasContent&&t.data||null),n=function(e,r){var o,l,c;if(n&&(r||4===a.readyState))if(delete cn[s],n=void 0,a.onreadystatechange=pe.noop,r)4!==a.readyState&&a.abort();else{c={},o=a.status,"string"==typeof a.responseText&&(c.text=a.responseText);try{l=a.statusText}catch(e){l=""}o||!t.isLocal||t.crossDomain?1223===o&&(o=204):o=c.text?200:404}c&&i(o,l,c,a.getAllResponseHeaders())},t.async?4===a.readyState?e.setTimeout(n):a.onreadystatechange=cn[s]=n:n()},abort:function(){n&&n(void 0,!0)}}}}),pe.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return pe.globalEval(e),e}}}),pe.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),pe.ajaxTransport("script",function(e){if(e.crossDomain){var t,n=re.head||pe("head")[0]||re.documentElement;return{send:function(r,i){t=re.createElement("script"),t.async=!0,e.scriptCharset&&(t.charset=e.scriptCharset),t.src=e.url,t.onload=t.onreadystatechange=function(e,n){(n||!t.readyState||/loaded|complete/.test(t.readyState))&&(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),t=null,n||i(200,"success"))},n.insertBefore(t,n.firstChild)},abort:function(){t&&t.onload(void 0,!0)}}}});var hn=[],dn=/(=)\?(?=&|$)|\?\?/;pe.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=hn.pop()||pe.expando+"_"+qt++;return this[e]=!0,e}}),pe.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=t.jsonp!==!1&&(dn.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&dn.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=pe.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(dn,"$1"+i):t.jsonp!==!1&&(t.url+=(Ft.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||pe.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?pe(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,hn.push(i)),a&&pe.isFunction(o)&&o(a[0]),a=o=void 0}),"script"}),pe.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||re;var r=Se.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=v([e],t,i),i&&i.length&&pe(i).remove(),pe.merge([],r.childNodes))};var pn=pe.fn.load;pe.fn.load=function(e,t,n){if("string"!=typeof e&&pn)return pn.apply(this,arguments);var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=pe.trim(e.slice(s,e.length)),e=e.slice(0,s)),pe.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&pe.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?pe("
").append(pe.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},pe.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){pe.fn[t]=function(e){return this.on(t,e)}}),pe.expr.filters.animated=function(e){return pe.grep(pe.timers,function(t){return e===t.elem}).length},pe.offset={setOffset:function(e,t,n){var r,i,o,a,s,l,c,u=pe.css(e,"position"),h=pe(e),d={};"static"===u&&(e.style.position="relative"),s=h.offset(),o=pe.css(e,"top"),l=pe.css(e,"left"),c=("absolute"===u||"fixed"===u)&&pe.inArray("auto",[o,l])>-1,c?(r=h.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(l)||0),pe.isFunction(t)&&(t=t.call(e,n,pe.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+i),"using"in t?t.using.call(e,d):h.css(d)}},pe.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){pe.offset.setOffset(this,e,t)});var t,n,r={top:0,left:0},i=this[0],o=i&&i.ownerDocument;if(o)return t=o.documentElement,pe.contains(t,i)?("undefined"!=typeof i.getBoundingClientRect&&(r=i.getBoundingClientRect()),n=te(o),{top:r.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):r},position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===pe.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),pe.nodeName(e[0],"html")||(n=e.offset()),n.top+=pe.css(e[0],"borderTopWidth",!0),n.left+=pe.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-pe.css(r,"marginTop",!0),left:t.left-n.left-pe.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&!pe.nodeName(e,"html")&&"static"===pe.css(e,"position");)e=e.offsetParent;return e||pt})}}),pe.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n=/Y/.test(t);pe.fn[e]=function(r){return je(this,function(e,r,i){var o=te(e);return void 0===i?o?t in o?o[t]:o.document.documentElement[r]:e[r]:void(o?o.scrollTo(n?pe(o).scrollLeft():i,n?i:pe(o).scrollTop()):e[r]=i)},e,r,arguments.length,null)}}),pe.each(["top","left"],function(e,t){pe.cssHooks[t]=N(he.pixelPosition,function(e,n){if(n)return n=ft(e,t),ht.test(n)?pe(e).position()[t]+"px":n})}),pe.each({Height:"height",Width:"width"},function(e,t){pe.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){pe.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),a=n||(r===!0||i===!0?"margin":"border");return je(this,function(t,n,r){var i;return pe.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===r?pe.css(t,n,a):pe.style(t,n,r,a)},t,o?r:void 0,o,null)}})}),pe.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),pe.fn.size=function(){return this.length},pe.fn.andSelf=pe.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return pe});var mn=e.jQuery,fn=e.$;return pe.noConflict=function(t){return e.$===pe&&(e.$=fn),t&&e.jQuery===pe&&(e.jQuery=mn),pe},t||(e.jQuery=e.$=pe),pe}),!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)t.d(r,i,function(t){return e[t]}.bind(null,i));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e["default"]}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=3)}([function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(){},,function(e,t,n){"use strict";function r(e){for(var t=0;t=Q[t]&&e<=Q[t+1])return!0;return!1}function i(e,t,n){if(!pe[t])throw new Error("Font metrics not found for font: "+t+".");var i=e.charCodeAt(0);e[0]in fe&&(i=fe[e[0]].charCodeAt(0));var o=pe[t][i];if(o||"text"!==n||r(i)&&(o=pe[t][77]),o)return{depth:o[0],height:o[1],italic:o[2],skew:o[3],width:o[4]}}function o(e,t,n,r,i,o){xe[e][i]={font:t,group:n,replace:r},o&&r&&(xe[e][r]=xe[e][i])}function a(e,t){var n=s(e,t);if(!n)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return n}function s(e,t){return e&&e.type===t?e:null}function l(e,t){var n=function(e,t){return e&&"atom"===e.type&&e.family===t?e:null}(e,t);if(!n)throw new Error('Expected node of type "atom" and family "'+t+'", but got '+(e?"atom"===e.type?"atom of family "+e.family:"node of type "+e.type:String(e)));return n}function c(e){return e&&("atom"===e.type||ye.hasOwnProperty(e.type))?e:null}function u(e){for(var t=e.type,n=(e.nodeType,e.names),r=e.props,i=e.handler,o=e.htmlBuilder,a=e.mathmlBuilder,s={type:t,numArgs:r.numArgs,argTypes:r.argTypes,greediness:void 0===r.greediness?1:r.greediness,allowedInText:!!r.allowedInText,allowedInMath:void 0===r.allowedInMath||r.allowedInMath,numOptionalArgs:r.numOptionalArgs||0,infix:!!r.infix,consumeMode:r.consumeMode,handler:i},l=0;l0&&(i.push(d(o,t)),o=[]),i.push(r[a]));o.length>0&&i.push(d(o,t));var l=void 0;n&&((l=d(Et(n,t,!0))).classes=["tag"],i.push(l));var c=wt(["katex-html"],i);if(c.setAttribute("aria-hidden","true"),l){var u=l.children[0];u.style.height=c.height+c.depth+"em",u.style.verticalAlign=-c.depth+"em"}return c}function m(e){return new te(e)}function f(e,t){var n=c(e);if(n&&q.contains(kn,n.text))return n;throw new N("Invalid delimiter: '"+(n?n.text:JSON.stringify(e))+"' after '"+t.funcName+"'",e)}function g(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}function v(e,t){var n=Et(e.body,t,!0);return Mn([e.mclass],n,t)}function y(e,t){var n=jt(e.body,t);return Ot.newDocumentFragment(n)}function x(e,t,n){for(var r=Et(e,t,!1),i=t.sizeMultiplier/n.sizeMultiplier,o=0;o15?"\u2026"+a.slice(i-15,i):a.slice(0,i))+l+(s+15":">","<":"<",'"':""","'":"'"},D=/[&><"']/g,B=void 0;if("undefined"!=typeof document){var P=document.createElement("span");B="textContent"in P?function(e,t){e.textContent=t}:function(e,t){e.innerText=t}}var j=function e(t){return"ordgroup"===t.type?1===t.body.length?e(t.body[0]):t:"color"===t.type?1===t.body.length?e(t.body[0]):t:"font"===t.type?e(t.body):t},H=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},q={contains:function(e,t){return-1!==I(e,t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(D,function(e){return O[e]})},hyphenate:function(e){return e.replace(R,"-$1").toLowerCase()},indexOf:I,setTextContent:B,clearNode:function(e){B(e,"")},getBaseElem:j,isCharacterBox:function(e){var t=j(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type}},F=function(){function e(t){M()(this,e),t=t||{},this.displayMode=q.deflt(t.displayMode,!1),this.throwOnError=q.deflt(t.throwOnError,!0),this.errorColor=q.deflt(t.errorColor,"#cc0000"),this.macros=t.macros||{},this.colorIsTextColor=q.deflt(t.colorIsTextColor,!1),this.strict=q.deflt(t.strict,"warn"),this.maxSize=Math.max(0,q.deflt(t.maxSize,1/0)),this.maxExpand=Math.max(0,q.deflt(t.maxExpand,1e3)),this.allowedProtocols=q.deflt(t.allowedProtocols,["http","https","mailto","_relative"])}return e.prototype.reportNonstrict=function(e,t,n){var r=this.strict;if("function"==typeof r&&(r=r(e,t,n)),r&&"ignore"!==r){if(!0===r||"error"===r)throw new N("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",n);"warn"===r?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+r+"': "+t+" ["+e+"]")}},e.prototype.useStrictBehavior=function(e,t,n){var r=this.strict;if("function"==typeof r)try{r=r(e,t,n)}catch(e){r="error"}return!(!r||"ignore"===r||!0!==r&&"error"!==r&&("warn"===r?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"),1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+r+"': "+t+" ["+e+"]"),1)))},e}(),U=function(){function e(t,n,r){M()(this,e),this.id=t,this.size=n,this.cramped=r}return e.prototype.sup=function(){return X[G[this.id]]},e.prototype.sub=function(){return X[$[this.id]]},e.prototype.fracNum=function(){return X[V[this.id]]},e.prototype.fracDen=function(){return X[W[this.id]]},e.prototype.cramp=function(){return X[J[this.id]]},e.prototype.text=function(){return X[K[this.id]]},e.prototype.isTight=function(){return this.size>=2},e}(),X=[new U(0,0,!1),new U(1,0,!0),new U(2,1,!1),new U(3,1,!0),new U(4,2,!1),new U(5,2,!0),new U(6,3,!1),new U(7,3,!0)],G=[4,5,4,5,6,7,6,7],$=[5,5,5,5,7,7,7,7],V=[2,3,4,5,6,7,6,7],W=[3,3,5,5,7,7,7,7],J=[1,1,3,3,5,5,7,7],K=[0,1,2,3,2,3,2,3],Y={DISPLAY:X[0],TEXT:X[2],SCRIPT:X[4],SCRIPTSCRIPT:X[6]},Z=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}],Q=[];Z.forEach(function(e){return e.blocks.forEach(function(e){return Q.push.apply(Q,e)})});var ee={path:{sqrtMain:"M95,702c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,\n-10,-9.5,-14c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54c44.2,-33.3,65.8,\n-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10s173,378,173,378c0.7,0,\n35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429c69,-144,104.5,-217.7,106.5,\n-221c5.3,-9.3,12,-14,20,-14H400000v40H845.2724s-225.272,467,-225.272,467\ns-235,486,-235,486c-2.7,4.7,-9,7,-19,7c-6,0,-10,-1,-12,-3s-194,-422,-194,-422\ns-65,47,-65,47z M834 80H400000v40H845z",sqrtSize1:"M263,681c0.7,0,18,39.7,52,119c34,79.3,68.167,\n158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120c340,-704.7,510.7,-1060.3,512,-1067\nc4.7,-7.3,11,-11,19,-11H40000v40H1012.3s-271.3,567,-271.3,567c-38.7,80.7,-84,\n175,-136,283c-52,108,-89.167,185.3,-111.5,232c-22.3,46.7,-33.8,70.3,-34.5,71\nc-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1s-109,-253,-109,-253c-72.7,-168,-109.3,\n-252,-110,-252c-10.7,8,-22,16.7,-34,26c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26\ns76,-59,76,-59s76,-60,76,-60z M1001 80H40000v40H1012z",sqrtSize2:"M1001,80H400000v40H1013.1s-83.4,268,-264.1,840c-180.7,\n572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,\n-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744c-10,12,-21,25,-33,39s-32,39,-32,39\nc-6,-5.3,-15,-14,-27,-26s25,-30,25,-30c26.7,-32.7,52,-63,76,-91s52,-60,52,-60\ns208,722,208,722c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,\n-658.5c53.7,-170.3,84.5,-266.8,92.5,-289.5c4,-6.7,10,-10,18,-10z\nM1001 80H400000v40H1013z",sqrtSize3:"M424,2478c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,\n-342,-109.8,-513.3,-110.5,-514c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,\n25c-5.7,9.3,-9.8,16,-12.5,20s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,\n-13s76,-122,76,-122s77,-121,77,-121s209,968,209,968c0,-2,84.7,-361.7,254,-1079\nc169.3,-717.3,254.7,-1077.7,256,-1081c4,-6.7,10,-10,18,-10H400000v40H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M1001 80H400000v40H1014z",sqrtSize4:"M473,2793c339.3,-1799.3,509.3,-2700,510,-2702\nc3.3,-7.3,9.3,-11,18,-11H400000v40H1017.7s-90.5,478,-276.2,1466c-185.7,988,\n-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,\n-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200c0,-1.3,-5.3,8.7,-16,30c-10.7,\n21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26s76,-153,76,-153s77,-151,\n77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,606z\nM1001 80H400000v40H1017z",doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z", +twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 241v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"}},te=function(){function e(t){M()(this,e),this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}return e.prototype.hasClass=function(e){return q.contains(this.classes,e)},e.prototype.tryCombine=function(){return!1},e.prototype.toNode=function(){for(var e=document.createDocumentFragment(),t=0;t"},ae=function(){function e(t,n,r,i){M()(this,e),re.call(this,t,r,i),this.children=n||[]}return e.prototype.setAttribute=function(e,t){this.attributes[e]=t},e.prototype.hasClass=function(e){return q.contains(this.classes,e)},e.prototype.tryCombine=function(){return!1},e.prototype.toNode=function(){return ie.call(this,"span")},e.prototype.toMarkup=function(){return oe.call(this,"span")},e}(),se=function(){function e(t,n,r,i){M()(this,e),re.call(this,n,i),this.children=r||[],this.setAttribute("href",t)}return e.prototype.setAttribute=function(e,t){this.attributes[e]=t},e.prototype.hasClass=function(e){return q.contains(this.classes,e)},e.prototype.tryCombine=function(){return!1},e.prototype.toNode=function(){return ie.call(this,"a")},e.prototype.toMarkup=function(){return oe.call(this,"a")},e}(),le={"\xee":"\u0131\u0302","\xef":"\u0131\u0308","\xed":"\u0131\u0301","\xec":"\u0131\u0300"},ce=function(){function e(t,n,r,i,o,a,s,l){M()(this,e),this.text=t,this.height=n||0,this.depth=r||0,this.italic=i||0,this.skew=o||0,this.width=a||0,this.classes=s||[],this.style=l||{},this.maxFontSize=0;var c=function(e){for(var t=0;t=i[0]&&e<=i[1])return n.name}return null}(this.text.charCodeAt(0));c&&this.classes.push(c+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=le[this.text])}return e.prototype.hasClass=function(e){return q.contains(this.classes,e)},e.prototype.tryCombine=function(t){if(!t||!(t instanceof e)||this.italic>0||ne(this.classes)!==ne(t.classes)||this.skew!==t.skew||this.maxFontSize!==t.maxFontSize)return!1;for(var n in this.style)if(this.style.hasOwnProperty(n)&&this.style[n]!==t.style[n])return!1;for(var r in t.style)if(t.style.hasOwnProperty(r)&&this.style[r]!==t.style[r])return!1;return this.text+=t.text,this.height=Math.max(this.height,t.height),this.depth=Math.max(this.depth,t.depth),this.italic=t.italic,!0},e.prototype.toNode=function(){var e=document.createTextNode(this.text),t=null;for(var n in this.italic>0&&((t=document.createElement("span")).style.marginRight=this.italic+"em"),this.classes.length>0&&((t=t||document.createElement("span")).className=ne(this.classes)),this.style)this.style.hasOwnProperty(n)&&((t=t||document.createElement("span")).style[n]=this.style[n]);return t?(t.appendChild(e),t):e},e.prototype.toMarkup=function(){var e=!1,t="0&&(n+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(r)&&(n+=q.hyphenate(r)+":"+this.style[r]+";");n&&(e=!0,t+=' style="'+q.escape(n)+'"');var i=q.escape(this.text);return e?(t+=">",t+=i,t+=""):i},e}(),ue=function(){function e(t,n){M()(this,e),this.children=t||[],this.attributes=n||{}}return e.prototype.toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(var n=0;n":""},e}(),de=function(){function e(t){M()(this,e),this.attributes=t||{}}return e.prototype.toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","line");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e},e.prototype.toMarkup=function(){var e="",">"),o("math",we,Ee,":",":"),o("math",we,Ee,"\u2248","\\approx",!0),o("math",we,Ee,"\u2245","\\cong",!0),o("math",we,Ee,"\u2265","\\ge"),o("math",we,Ee,"\u2265","\\geq",!0),o("math",we,Ee,"\u2190","\\gets"),o("math",we,Ee,">","\\gt"),o("math",we,Ee,"\u2208","\\in",!0),o("math",we,Ee,"\u0338","\\@not"),o("math",we,Ee,"\u2282","\\subset",!0),o("math",we,Ee,"\u2283","\\supset",!0),o("math",we,Ee,"\u2286","\\subseteq",!0),o("math",we,Ee,"\u2287","\\supseteq",!0),o("math",Se,Ee,"\u2288","\\nsubseteq",!0),o("math",Se,Ee,"\u2289","\\nsupseteq",!0),o("math",we,Ee,"\u22a8","\\models"),o("math",we,Ee,"\u2190","\\leftarrow",!0),o("math",we,Ee,"\u2264","\\le"),o("math",we,Ee,"\u2264","\\leq",!0),o("math",we,Ee,"<","\\lt"),o("math",we,Ee,"\u2192","\\rightarrow",!0),o("math",we,Ee,"\u2192","\\to"),o("math",Se,Ee,"\u2271","\\ngeq",!0),o("math",Se,Ee,"\u2270","\\nleq",!0),o("math",we,Me,"\xa0","\\ "),o("math",we,Me,"\xa0","~"),o("math",we,Me,"\xa0","\\space"),o("math",we,Me,"\xa0","\\nobreakspace"),o("text",we,Me,"\xa0","\\ "),o("text",we,Me,"\xa0","~"),o("text",we,Me,"\xa0","\\space"),o("text",we,Me,"\xa0","\\nobreakspace"),o("math",we,Me,null,"\\nobreak"),o("math",we,Me,null,"\\allowbreak"),o("math",we,"punct",",",","),o("math",we,"punct",";",";"),o("math",Se,Ae,"\u22bc","\\barwedge",!0),o("math",Se,Ae,"\u22bb","\\veebar",!0),o("math",we,Ae,"\u2299","\\odot",!0),o("math",we,Ae,"\u2295","\\oplus",!0),o("math",we,Ae,"\u2297","\\otimes",!0),o("math",we,"textord","\u2202","\\partial",!0),o("math",we,Ae,"\u2298","\\oslash",!0),o("math",Se,Ae,"\u229a","\\circledcirc",!0),o("math",Se,Ae,"\u22a1","\\boxdot",!0),o("math",we,Ae,"\u25b3","\\bigtriangleup"),o("math",we,Ae,"\u25bd","\\bigtriangledown"),o("math",we,Ae,"\u2020","\\dagger"),o("math",we,Ae,"\u22c4","\\diamond"),o("math",we,Ae,"\u22c6","\\star"),o("math",we,Ae,"\u25c3","\\triangleleft"),o("math",we,Ae,"\u25b9","\\triangleright"),o("math",we,"open","{","\\{"),o("text",we,"textord","{","\\{"),o("text",we,"textord","{","\\textbraceleft"),o("math",we,"close","}","\\}"),o("text",we,"textord","}","\\}"),o("text",we,"textord","}","\\textbraceright"),o("math",we,"open","{","\\lbrace"),o("math",we,"close","}","\\rbrace"),o("math",we,"open","[","\\lbrack"),o("text",we,"textord","[","\\lbrack"),o("math",we,"close","]","\\rbrack"),o("text",we,"textord","]","\\rbrack"),o("text",we,"textord","<","\\textless"),o("text",we,"textord",">","\\textgreater"),o("math",we,"open","\u230a","\\lfloor",!0),o("math",we,"close","\u230b","\\rfloor",!0),o("math",we,"open","\u2308","\\lceil",!0),o("math",we,"close","\u2309","\\rceil",!0),o("math",we,"textord","\\","\\backslash"),o("math",we,"textord","\u2223","|"),o("math",we,"textord","\u2223","\\vert"),o("text",we,"textord","|","\\textbar"),o("math",we,"textord","\u2225","\\|"),o("math",we,"textord","\u2225","\\Vert"),o("text",we,"textord","\u2225","\\textbardbl"),o("text",we,"textord","~","\\textasciitilde"),o("math",we,Ee,"\u2191","\\uparrow",!0),o("math",we,Ee,"\u21d1","\\Uparrow",!0),o("math",we,Ee,"\u2193","\\downarrow",!0),o("math",we,Ee,"\u21d3","\\Downarrow",!0),o("math",we,Ee,"\u2195","\\updownarrow",!0),o("math",we,Ee,"\u21d5","\\Updownarrow",!0),o("math",we,Te,"\u2210","\\coprod"),o("math",we,Te,"\u22c1","\\bigvee"),o("math",we,Te,"\u22c0","\\bigwedge"),o("math",we,Te,"\u2a04","\\biguplus"),o("math",we,Te,"\u22c2","\\bigcap"),o("math",we,Te,"\u22c3","\\bigcup"),o("math",we,Te,"\u222b","\\int"),o("math",we,Te,"\u222b","\\intop"),o("math",we,Te,"\u222c","\\iint"),o("math",we,Te,"\u222d","\\iiint"),o("math",we,Te,"\u220f","\\prod"),o("math",we,Te,"\u2211","\\sum"),o("math",we,Te,"\u2a02","\\bigotimes"),o("math",we,Te,"\u2a01","\\bigoplus"),o("math",we,Te,"\u2a00","\\bigodot"),o("math",we,Te,"\u222e","\\oint"),o("math",we,Te,"\u222f","\\oiint"),o("math",we,Te,"\u2230","\\oiiint"),o("math",we,Te,"\u2a06","\\bigsqcup"),o("math",we,Te,"\u222b","\\smallint"),o("text",we,"inner","\u2026","\\textellipsis"),o("math",we,"inner","\u2026","\\mathellipsis"),o("text",we,"inner","\u2026","\\ldots",!0),o("math",we,"inner","\u2026","\\ldots",!0),o("math",we,"inner","\u22ef","\\@cdots",!0),o("math",we,"inner","\u22f1","\\ddots",!0),o("math",we,"textord","\u22ee","\\varvdots"),o("math",we,"accent-token","\u02ca","\\acute"),o("math",we,"accent-token","\u02cb","\\grave"),o("math",we,"accent-token","\xa8","\\ddot"),o("math",we,"accent-token","~","\\tilde"),o("math",we,"accent-token","\u02c9","\\bar"),o("math",we,"accent-token","\u02d8","\\breve"),o("math",we,"accent-token","\u02c7","\\check"),o("math",we,"accent-token","^","\\hat"),o("math",we,"accent-token","\u20d7","\\vec"),o("math",we,"accent-token","\u02d9","\\dot"),o("math",we,"accent-token","\u02da","\\mathring"),o("math",we,ke,"\u0131","\\imath",!0),o("math",we,ke,"\u0237","\\jmath",!0),o("text",we,"textord","\u0131","\\i",!0),o("text",we,"textord","\u0237","\\j",!0),o("text",we,"textord","\xdf","\\ss",!0),o("text",we,"textord","\xe6","\\ae",!0),o("text",we,"textord","\xe6","\\ae",!0),o("text",we,"textord","\u0153","\\oe",!0),o("text",we,"textord","\xf8","\\o",!0),o("text",we,"textord","\xc6","\\AE",!0),o("text",we,"textord","\u0152","\\OE",!0),o("text",we,"textord","\xd8","\\O",!0),o("text",we,"accent-token","\u02ca","\\'"),o("text",we,"accent-token","\u02cb","\\`"),o("text",we,"accent-token","\u02c6","\\^"),o("text",we,"accent-token","\u02dc","\\~"),o("text",we,"accent-token","\u02c9","\\="),o("text",we,"accent-token","\u02d8","\\u"),o("text",we,"accent-token","\u02d9","\\."),o("text",we,"accent-token","\u02da","\\r"),o("text",we,"accent-token","\u02c7","\\v"),o("text",we,"accent-token","\xa8",'\\"'),o("text",we,"accent-token","\u02dd","\\H"),o("text",we,"accent-token","\u25ef","\\textcircled");var _e={"--":!0,"---":!0,"``":!0,"''":!0};o("text",we,"textord","\u2013","--"),o("text",we,"textord","\u2013","\\textendash"),o("text",we,"textord","\u2014","---"),o("text",we,"textord","\u2014","\\textemdash"),o("text",we,"textord","\u2018","`"),o("text",we,"textord","\u2018","\\textquoteleft"),o("text",we,"textord","\u2019","'"),o("text",we,"textord","\u2019","\\textquoteright"),o("text",we,"textord","\u201c","``"),o("text",we,"textord","\u201c","\\textquotedblleft"),o("text",we,"textord","\u201d","''"),o("text",we,"textord","\u201d","\\textquotedblright"),o("math",we,"textord","\xb0","\\degree",!0),o("text",we,"textord","\xb0","\\degree"),o("text",we,"textord","\xb0","\\textdegree",!0),o("math",we,ke,"\xa3","\\pounds"),o("math",we,ke,"\xa3","\\mathsterling",!0),o("text",we,ke,"\xa3","\\pounds"),o("text",we,ke,"\xa3","\\textsterling",!0),o("math",Se,"textord","\u2720","\\maltese"),o("text",Se,"textord","\u2720","\\maltese"),o("text",we,Me,"\xa0","\\ "),o("text",we,Me,"\xa0"," "),o("text",we,Me,"\xa0","~");for(var Ce=0;Ce<'0123456789/@."'.length;Ce++){var Le='0123456789/@."'.charAt(Ce);o("math",we,"textord",Le,Le)}for(var Ne=0;Ne<'0123456789!@*()-=+[]<>|";:?/.,'.length;Ne++){var ze='0123456789!@*()-=+[]<>|";:?/.,'.charAt(Ne);o("text",we,"textord",ze,ze)}for(var Ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Re=0;Re=5?0:e>=3?1:2]){var n=ge[t]={cssEmPerMu:me.quad[t]/18};for(var r in me)me.hasOwnProperty(r)&&(n[r]=me[r][t])}return ge[t]}(this.size)),this._fontMetrics},e.prototype.getColor=function(){return this.phantom?"transparent":null!=this.color&&e.colorMap.hasOwnProperty(this.color)?e.colorMap[this.color]:this.color},e}();We.BASESIZE=6,We.colorMap={"katex-blue":"#6495ed","katex-orange":"#ffa500","katex-pink":"#ff00af","katex-red":"#df0030","katex-green":"#28ae7b","katex-gray":"gray","katex-purple":"#9d38bd","katex-blueA":"#ccfaff","katex-blueB":"#80f6ff","katex-blueC":"#63d9ea","katex-blueD":"#11accd","katex-blueE":"#0c7f99","katex-tealA":"#94fff5","katex-tealB":"#26edd5","katex-tealC":"#01d1c1","katex-tealD":"#01a995","katex-tealE":"#208170","katex-greenA":"#b6ffb0","katex-greenB":"#8af281","katex-greenC":"#74cf70","katex-greenD":"#1fab54","katex-greenE":"#0d923f","katex-goldA":"#ffd0a9","katex-goldB":"#ffbb71","katex-goldC":"#ff9c39","katex-goldD":"#e07d10","katex-goldE":"#a75a05","katex-redA":"#fca9a9","katex-redB":"#ff8482","katex-redC":"#f9685d","katex-redD":"#e84d39","katex-redE":"#bc2612","katex-maroonA":"#ffbde0","katex-maroonB":"#ff92c6","katex-maroonC":"#ed5fa6","katex-maroonD":"#ca337c","katex-maroonE":"#9e034e","katex-purpleA":"#ddd7ff","katex-purpleB":"#c6b9fc","katex-purpleC":"#aa87ff","katex-purpleD":"#7854ab","katex-purpleE":"#543b78","katex-mintA":"#f5f9e8","katex-mintB":"#edf2df","katex-mintC":"#e0e5cc","katex-grayA":"#f6f7f7","katex-grayB":"#f0f1f2","katex-grayC":"#e3e5e6","katex-grayD":"#d6d8da","katex-grayE":"#babec2","katex-grayF":"#888d93","katex-grayG":"#626569","katex-grayH":"#3b3e40","katex-grayI":"#21242c","katex-kaBlue":"#314453","katex-kaGreen":"#71B307"};var Je=We,Ke={pt:1,mm:7227/2540,cm:7227/254,"in":72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},Ye={ex:!0,em:!0,mu:!0},Ze=function(e,t){var n=void 0;if(e.unit in Ke)n=Ke[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)n=t.fontMetrics().cssEmPerMu;else{var r=void 0;if(r=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)n=r.fontMetrics().xHeight;else{if("em"!==e.unit)throw new N("Invalid unit: '"+e.unit+"'");n=r.fontMetrics().quad}r!==t&&(n*=r.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*n,t.maxSize)},Qe=["\\imath","\u0131","\\jmath","\u0237","\\pounds","\\mathsterling","\\textsterling","\xa3"],et=function(e,t,n){return be[n][e]&&be[n][e].replace&&(e=be[n][e].replace),{value:e,metrics:i(e,t,n)}},tt=function(e,t,n,r,i){var o=et(e,t,n),a=o.metrics;e=o.value;var s=void 0;if(a){var l=a.italic;"text"===n&&(l=0),s=new ce(e,a.height,a.depth,l,a.skew,a.width,i)}else"undefined"!=typeof console&&console.warn("No character metrics for '"+e+"' in style '"+t+"'"),s=new ce(e,0,0,0,0,0,i);if(r){s.maxFontSize=r.sizeMultiplier,r.style.isTight()&&s.classes.push("mtight");var c=r.getColor();c&&(s.style.color=c)}return s},nt=function(e,t,n,r,i){if("mathord"===i){var o=rt(e,t,n,r);return tt(e,o.fontName,t,n,r.concat([o.fontClass]))}if("textord"===i){var a=be[t][e]&&be[t][e].font;if("ams"===a){var s=lt("amsrm",n.fontWeight,n.fontShape);return tt(e,s,t,n,r.concat("amsrm",n.fontWeight,n.fontShape))}if("main"!==a&&a){var l=lt(a,n.fontWeight,n.fontShape);return tt(e,l,t,n,r.concat(l,n.fontWeight,n.fontShape))}var c=lt("textrm",n.fontWeight,n.fontShape);return tt(e,c,t,n,r.concat(n.fontWeight,n.fontShape))}throw new Error("unexpected type: "+i+" in mathDefault")},rt=function(e){return/[0-9]/.test(e.charAt(0))||q.contains(Qe,e)?{fontName:"Main-Italic",fontClass:"mainit"}:{fontName:"Math-Italic",fontClass:"mathit"}},it=function(e){for(var t=0,n=0,r=0,i=0;it&&(t=o.height),o.depth>n&&(n=o.depth),o.maxFontSize>r&&(r=o.maxFontSize)}e.height=t,e.depth=n,e.maxFontSize=r},ot=function(e,t,n,r){var i=new ae(e,t,n,r);return it(i),i},at=function(e,t,n,r){return new ae(e,t,n,r)},st=function(e){var t=new te(e);return it(t),t},lt=function(e,t,n){var r="";switch(e){case"amsrm":r="AMS";break;case"textrm":r="Main";break;case"textsf":r="SansSerif";break;case"texttt":r="Typewriter";break;default:r=e}return r+"-"+("textbf"===t&&"textit"===n?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular")},ct={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},ut={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},ht={fontMap:ct,makeSymbol:tt,mathsym:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];return n&&n.font&&"boldsymbol"===n.font&&et(e,"Main-Bold",t).metrics?tt(e,"Main-Bold",t,n,r.concat(["mathbf"])):"\\"===e||"main"===be[t][e].font?tt(e,"Main-Regular",t,n,r):tt(e,"AMS-Regular",t,n,r.concat(["amsrm"]))},makeSpan:ot,makeSvgSpan:at,makeLineSpan:function(e,t,n){var r=ot([e],[],t);return r.height=n||t.fontMetrics().defaultRuleThickness,r.style.borderBottomWidth=r.height+"em",r.maxFontSize=1,r},makeAnchor:function(e,t,n,r){var i=new se(e,t,n,r);return it(i),i},makeFragment:st,makeVList:function(e){for(var t=function(e){if("individualShift"===e.positionType){for(var t=e.children,n=[t[0]],r=-t[0].shift-t[0].elem.depth,i=r,o=1;o3&&void 0!==arguments[3]?arguments[3]:[null,null],i=[],o=0;o"},e.prototype.toText=function(){return this.children.map(function(e){return e.toText()}).join("")},e}(),It=function(){function e(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];M()(this,e),this.text=t,this.needsEscape=n}return e.prototype.toNode=function(){return document.createTextNode(this.toText())},e.prototype.toMarkup=function(){return this.toText()},e.prototype.toText=function(){return this.needsEscape?q.escape(this.text):this.text},e}(),Rt=function(){function e(t){M()(this,e),this.width=t,this.character=t>=.05555&&t<=.05556?" ":t>=.1666&&t<=.1667?" ":t>=.2222&&t<=.2223?" ":t>=.2777&&t<=.2778?"  ":t>=-.05556&&t<=-.05555?"​":t>=-.1667&&t<=-.1666?"​":t>=-.2223&&t<=-.2222?"​":t>=-.2778&&t<=-.2777?"​":null}return e.prototype.toNode=function(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",this.width+"em"),e},e.prototype.toMarkup=function(){return this.character?""+this.character+"":''},e.prototype.toText=function(){return this.character?this.character:" "},e}(),Ot={MathNode:zt,TextNode:It,SpaceNode:Rt,newDocumentFragment:m},Dt=function(e,t,n){return!be[t][e]||!be[t][e].replace||55349===e.charCodeAt(0)||_e.hasOwnProperty(e)&&n&&(n.fontFamily&&"tt"===n.fontFamily.substr(4,2)||n.font&&"tt"===n.font.substr(4,2))||(e=be[t][e].replace),new Ot.TextNode(e)},Bt=function(e){return 1===e.length?e[0]:new Ot.MathNode("mrow",e)},Pt=function(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";var n=t.font;if(!n)return null;var r=e.mode;if("mathit"===n)return"italic";if("boldsymbol"===n)return"bold-italic";var o=e.text;return q.contains(["\\imath","\\jmath"],o)?null:(be[r][o]&&be[r][o].replace&&(o=be[r][o].replace),i(o,ht.fontMap[n].fontName,r)?ht.fontMap[n].variant:null)},jt=function(e,t){for(var n=[],r=void 0,i=0;i5)"widehat"===r||"widecheck"===r?(o=420,n=2364,s=.42,a=r+"4"):(o=312,n=2340,s=.34,a="tilde4");else{var l=[1,1,2,2,3,3][i];"widehat"===r||"widecheck"===r?(n=[0,1062,2364,2364,2364][l],o=[0,239,300,360,420][l],s=[0,.24,.3,.3,.36,.42][l],a=r+l):(n=[0,600,1033,2339,2340][l],o=[0,260,286,306,312][l],s=[0,.26,.286,.3,.306,.34][l],a="tilde"+l)}var c=new he(a),u=new ue([c],{width:"100%",height:s+"em",viewBox:"0 0 "+n+" "+o,preserveAspectRatio:"none"});return{span:ht.makeSvgSpan([],[u],t),minWidth:0,height:s}}var h=[],d=Gt[r],p=d[0],m=d[1],f=d[2],g=f/1e3,v=p.length,y=void 0,x=void 0;if(1===v)y=["hide-tail"],x=[d[3]];else if(2===v)y=["halfarrow-left","halfarrow-right"],x=["xMinYMin","xMaxYMin"];else{if(3!==v)throw new Error("Correct katexImagesData or update code here to support\n "+v+" children.");y=["brace-left","brace-center","brace-right"],x=["xMinYMin","xMidYMin","xMaxYMin"]}for(var b=0;b0&&(r.style.minWidth=i+"em"),r},Kt=function(e,t){var n=void 0,r=void 0,i=s(e,"supsub"),o=void 0;i?(n=(r=a(i.base,"accent")).base,i.base=n,o=function(e){if(e instanceof ae)return e;throw new Error("Expected span but got "+String(e)+".")}(Nt(i,t)),i.base=r):n=(r=a(e,"accent")).base;var l=Nt(n,t.havingCrampedStyle()),c=0;if(r.isShifty&&q.isCharacterBox(n)){var u=q.getBaseElem(n);c=function(e){if(e instanceof ce)return e;throw new Error("Expected symbolNode but got "+String(e)+".")}(Nt(u,t.havingCrampedStyle())).skew}var h=Math.min(l.height,t.fontMetrics().xHeight),d=void 0;if(r.isStretchy)d=Jt(r,t),d=ht.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"elem",elem:d,wrapperClasses:["svg-align"],wrapperStyle:c>0?{width:"calc(100% - "+2*c+"em)",marginLeft:2*c+"em"}:void 0}]},t);else{var p=void 0,m=void 0;"\\vec"===r.label?(p=ht.staticSvg("vec",t),m=ht.svgData.vec[1]):((p=ht.makeSymbol(r.label,"Main-Regular",r.mode,t)).italic=0,m=p.width),d=ht.makeSpan(["accent-body"],[p]);var f="\\textcircled"===r.label;f&&(d.classes.push("accent-full"),h=l.height);var g=c;f||(g-=m/2),d.style.left=g+"em","\\textcircled"===r.label&&(d.style.top=".2em"),d=ht.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:-h},{type:"elem",elem:d}]},t)}var v=ht.makeSpan(["mord","accent"],[d],t);return o?(o.children[0]=v,o.height=Math.max(v.height,o.height),o.classes[0]="mord",o):v},Yt=function(e,t){var n=e.isStretchy?Wt(e.label):new Ot.MathNode("mo",[Dt(e.label,e.mode)]),r=new Ot.MathNode("mover",[qt(e.base,t),n]);return r.setAttribute("accent","true"),r},Zt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(function(e){return"\\"+e}).join("|"));u({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:function(e,t){var n=t[0],r=!Zt.test(e.funcName),i=!r||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:r,isShifty:i,base:n}},htmlBuilder:Kt,mathmlBuilder:Yt}),u({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!1},handler:function(e,t){var n=t[0];return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:!1,isShifty:!0,base:n}},htmlBuilder:Kt,mathmlBuilder:Yt}),u({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:function(e,t){var n=e.parser,r=e.funcName,i=t[0];return{type:"accentUnder",mode:n.mode,label:r,base:i}},htmlBuilder:function(e,t){var n=Nt(e.base,t),r=Jt(e,t),i="\\utilde"===e.label?.12:0,o=ht.makeVList({positionType:"bottom",positionData:r.height+i,children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:n}]},t);return ht.makeSpan(["mord","accentunder"],[o],t)},mathmlBuilder:function(e,t){var n=Wt(e.label),r=new Ot.MathNode("munder",[qt(e.base,t),n]);return r.setAttribute("accentunder","true"),r}}),u({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium"],props:{numArgs:1,numOptionalArgs:1},handler:function(e,t,n){var r=e.parser,i=e.funcName;return{type:"xArrow",mode:r.mode,label:i,body:t[0],below:n[0]}},htmlBuilder:function(e,t){var n=t.style,r=t.havingStyle(n.sup()),i=Nt(e.body,r,t);i.classes.push("x-arrow-pad");var o=void 0;e.below&&(r=t.havingStyle(n.sub()),(o=Nt(e.below,r,t)).classes.push("x-arrow-pad"));var a=Jt(e,t),s=-t.fontMetrics().axisHeight+.5*a.height,l=-t.fontMetrics().axisHeight-.5*a.height-.111;(i.depth>.25||"\\xleftequilibrium"===e.label)&&(l-=i.depth);var c=void 0;if(o){var u=-t.fontMetrics().axisHeight+o.height+.5*a.height+.111;c=ht.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:a,shift:s},{type:"elem",elem:o,shift:u}]},t)}else c=ht.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:a,shift:s}]},t);return c.children[0].children[0].children[1].classes.push("svg-align"),ht.makeSpan(["mrel","x-arrow"],[c],t)},mathmlBuilder:function(e,t){var n=Wt(e.label),r=void 0,i=void 0;if(e.body){var o=qt(e.body,t);e.below?(i=qt(e.below,t),r=new Ot.MathNode("munderover",[n,i,o])):r=new Ot.MathNode("mover",[n,o])}else e.below?(i=qt(e.below,t),r=new Ot.MathNode("munder",[n,i])):r=new Ot.MathNode("mover",[n]);return r}}),u({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){for(var n=e.parser,r=a(t[0],"ordgroup").body,i="",o=0;o","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],dn=[0,1.2,1.8,2.4,3],pn=[{type:"small",style:Y.SCRIPTSCRIPT},{type:"small",style:Y.SCRIPT},{type:"small",style:Y.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],mn=[{type:"small",style:Y.SCRIPTSCRIPT},{type:"small",style:Y.SCRIPT},{type:"small",style:Y.TEXT},{type:"stack"}],fn=[{type:"small",style:Y.SCRIPTSCRIPT},{type:"small",style:Y.SCRIPT},{type:"small",style:Y.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],gn=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},vn=function(e,t,n,r){for(var i=Math.min(2,3-r.style.size);it)return n[i]}return n[n.length-1]},yn=function(e,t,n,r,i,o){"<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle");var a=void 0;a=q.contains(hn,e)?pn:q.contains(cn,e)?fn:mn;var s=vn(e,t,a,r);return"small"===s.type?function(e,t,n,r,i,o){var a=ht.makeSymbol(e,"Main-Regular",i,r),s=nn(a,t,r,o);return n&&rn(s,r,t),s}(e,s.style,n,r,i,o):"large"===s.type?on(e,s.size,n,r,i,o):sn(e,t,n,r,i,o)},xn=function(e,t){var n=t.havingBaseSizing(),r=vn("\\surd",e*n.sizeMultiplier,fn,n),i=n.sizeMultiplier,o=void 0,a=0,s=0,l=0,c=void 0;return"small"===r.type?(l=1080,e<1?i=1:e<1.4&&(i=.7),s=1/i,(o=ln("sqrtMain",a=1.08/i,l,t)).style.minWidth="0.853em",c=.833/i):"large"===r.type?(l=1080*dn[r.size],s=dn[r.size]/i,a=(dn[r.size]+.08)/i,(o=ln("sqrtSize"+r.size,a,l,t)).style.minWidth="1.02em",c=1/i):(a=e+.08,s=e,l=Math.floor(1e3*e)+80,(o=ln("sqrtTall",a,l,t)).style.minWidth="0.742em",c=1.056),o.height=s,o.style.height=a+"em",{span:o,advanceWidth:c,ruleWidth:t.fontMetrics().sqrtRuleThickness*i}},bn=function(e,t,n,r,i){if("<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),q.contains(cn,e)||q.contains(hn,e))return on(e,t,!1,n,r,i);if(q.contains(un,e))return sn(e,dn[t],!1,n,r,i);throw new N("Illegal delimiter: '"+e+"'")},wn=yn,Sn=function(e,t,n,r,i,o){var a=r.fontMetrics().axisHeight*r.sizeMultiplier,s=5/r.fontMetrics().ptPerEm,l=Math.max(t-a,n+a),c=Math.max(l/500*901,2*l-s);return yn(e,c,!0,r,i,o)},An={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},kn=["(",")","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];u({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1},handler:function(e,t){var n=f(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:An[e.funcName].size,mclass:An[e.funcName].mclass,delim:n.text}},htmlBuilder:function(e,t){return"."===e.delim?ht.makeSpan([e.mclass]):bn(e.delim,e.size,t,e.mode,[e.mclass])},mathmlBuilder:function(e){var t=[];"."!==e.delim&&t.push(Dt(e.delim,e.mode));var n=new Ot.MathNode("mo",t);return"mopen"===e.mclass||"mclose"===e.mclass?n.setAttribute("fence","true"):n.setAttribute("fence","false"),n}}),u({type:"leftright-right",names:["\\right"],props:{numArgs:1},handler:function(e,t){return{type:"leftright-right",mode:e.parser.mode,delim:f(t[0],e).text}}}),u({type:"leftright",names:["\\left"],props:{numArgs:1},handler:function(e,t){var n=f(t[0],e),r=e.parser;++r.leftrightDepth;var i=r.parseExpression(!1);--r.leftrightDepth,r.expect("\\right",!1);var o=r.parseFunction();if(!o)throw new N("failed to parse function after \\right");return{type:"leftright",mode:r.mode,body:i,left:n.text,right:a(o,"leftright-right").delim}},htmlBuilder:function(e,t){g(e);for(var n=Et(e.body,t,!0,[null,"mclose"]),r=0,i=0,o=!1,a=0;a0?3*d:7*d,f=t.fontMetrics().denom1):(h>0?(p=t.fontMetrics().num2,m=d):(p=t.fontMetrics().num3,m=3*d),f=t.fontMetrics().denom2);var g=void 0;if(u){var v=t.fontMetrics().axisHeight;p-a.depth-(v+.5*h)0&&(t="."===(t=e)?null:t),t};u({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,greediness:6,argTypes:["math","math","size","text","math","math"]},handler:function(e,t){var n=e.parser,r=t[4],i=t[5],o=s(t[0],"ordgroup");o=l(o?o.body[0]:t[0],"open");var c=On(o.text),u=s(t[1],"ordgroup");u=l(u?u.body[0]:t[1],"close");var h=On(u.text),d=a(t[2],"size"),p=void 0,m=null;p=!!d.isBlank||(m=d.value).number>0;var f="auto",g=s(t[3],"ordgroup");if(g){if(g.body.length>0){var v=a(g.body[0],"textord");f=Rn[Number(v.text)]}}else g=a(t[3],"textord"),f=Rn[Number(g.text)];return{type:"genfrac",mode:n.mode,numer:r,denom:i,continued:!1,hasBarLine:p,barSize:m,leftDelim:c,rightDelim:h,size:f}},htmlBuilder:zn,mathmlBuilder:In}),u({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler:function(e,t){var n=e.parser,r=(e.funcName,e.token);return{type:"infix",mode:n.mode,replaceWith:"\\\\abovefrac",size:a(t[0],"size").value,token:r}}}),u({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:function(e,t){var n=e.parser,r=(e.funcName,t[0]),i=H(a(t[1],"infix").size),o=t[2],s=i.number>0;return{type:"genfrac",mode:n.mode,numer:r,denom:o,continued:!1,hasBarLine:s,barSize:i,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:zn,mathmlBuilder:In});var Dn=function(e,t){var n=t.style,r=void 0,i=void 0,o=s(e,"supsub");o?(r=o.sup?Nt(o.sup,t.havingStyle(n.sup()),t):Nt(o.sub,t.havingStyle(n.sub()),t),i=a(o.base,"horizBrace")):i=a(e,"horizBrace");var l=Nt(i.base,t.havingBaseStyle(Y.DISPLAY)),c=Jt(i,t),u=void 0;if(i.isOver?(u=ht.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.1},{type:"elem",elem:c}]},t)).children[0].children[0].children[1].classes.push("svg-align"):(u=ht.makeVList({positionType:"bottom",positionData:l.depth+.1+c.height,children:[{type:"elem",elem:c},{type:"kern",size:.1},{type:"elem",elem:l}]},t)).children[0].children[0].children[0].classes.push("svg-align"),r){var h=ht.makeSpan(["mord",i.isOver?"mover":"munder"],[u],t);u=i.isOver?ht.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:h},{type:"kern",size:.2},{type:"elem",elem:r}]},t):ht.makeVList({positionType:"bottom",positionData:h.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:h}]},t)}return ht.makeSpan(["mord",i.isOver?"mover":"munder"],[u],t)};u({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler:function(e,t){var n=e.parser,r=e.funcName;return{type:"horizBrace",mode:n.mode,label:r,isOver:/^\\over/.test(r),base:t[0]}},htmlBuilder:Dn,mathmlBuilder:function(e,t){var n=Wt(e.label);return new Ot.MathNode(e.isOver?"mover":"munder",[qt(e.base,t),n])}}),u({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:function(e,t){var n=e.parser,r=t[1],i=a(t[0],"url").url;return{type:"href",mode:n.mode,href:i,body:bt(r)}},htmlBuilder:function(e,t){var n=Et(e.body,t,!1);return ht.makeAnchor(e.href,[],n,t)},mathmlBuilder:function(e,t){var n=Ht(e.body,t);return function(e,t){if(e instanceof t)return e;var n=String(t.name||t),r=String(e.constructor.name||e);throw new Error("Expected "+n+" but got "+r+".")}(n,zt).setAttribute("href",e.href),n}}),u({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:function(e,t){for(var n=e.parser,r=a(t[0],"url").url,i=[],o=0;o0){var m=h.italic,f=ht.staticSvg(p+"Size"+(u?"2":"1"),t);h=ht.makeVList({positionType:"individualShift",children:[{type:"elem",elem:h,shift:0},{type:"elem",elem:f,shift:u?.08:0}]},t),o.name="\\"+p,h.classes.unshift("mop"),h.italic=m}}else if(o.body){var g=Et(o.body,t,!0);1===g.length&&g[0]instanceof ce?(h=g[0]).classes[0]="mop":h=ht.makeSpan(["mop"],g,t)}else{for(var v=[],y=1;y0){for(var n=e.body.map(function(e){var t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e}),r=Et(n,t.withFont("mathrm"),!0),i=0;in.height+n.depth+o&&(o=(o+h-n.height-n.depth)/2);var d=l.height-n.height-o-c;n.style.paddingLeft=u+"em";var p=ht.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:-(n.height+d)},{type:"elem",elem:l},{type:"kern",size:c}]},t);if(e.index){var m=t.havingStyle(Y.SCRIPTSCRIPT),f=Nt(e.index,m,t),g=.6*(p.height-p.depth),v=ht.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:f}]},t),y=ht.makeSpan(["root"],[v]);return ht.makeSpan(["mord","sqrt"],[y,p],t)}return ht.makeSpan(["mord","sqrt"],[p],t)},mathmlBuilder:function(e,t){var n=e.body,r=e.index;return r?new Ot.MathNode("mroot",[qt(n,t),qt(r,t)]):new Ot.MathNode("msqrt",[qt(n,t)])}});var Xn={display:Y.DISPLAY,text:Y.TEXT,script:Y.SCRIPT,scriptscript:Y.SCRIPTSCRIPT};u({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0},handler:function(e){var t=e.breakOnTokenText,n=e.funcName,r=e.parser;r.consumeSpaces();var i=r.parseExpression(!0,t),o=n.slice(1,n.length-5);return{type:"styling",mode:r.mode,style:o,body:i}},htmlBuilder:function(e,t){var n=Xn[e.style],r=t.havingStyle(n).withFont("");return x(e.body,r,t)},mathmlBuilder:function(e,t){var n={display:Y.DISPLAY,text:Y.TEXT,script:Y.SCRIPT,scriptscript:Y.SCRIPTSCRIPT}[e.style],r=t.havingStyle(n),i=jt(e.body,r),o=new Ot.MathNode("mstyle",i),a={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return o.setAttribute("scriptlevel",a[0]),o.setAttribute("displaystyle",a[1]),o}}),h({type:"supsub",htmlBuilder:function(e,t){var n=function(e,t){var n=e.base;return n?"op"===n.type?n.limits&&(t.style.size===Y.DISPLAY.size||n.alwaysHandleSupSub)?Pn:null:"accent"===n.type?q.isCharacterBox(n.base)?Kt:null:"horizBrace"===n.type&&!e.sub===n.isOver?Dn:null:null}(e,t);if(n)return n(e,t);var r=e.base,i=e.sup,o=e.sub,a=Nt(r,t),s=void 0,l=void 0,c=t.fontMetrics(),u=0,h=0,d=r&&q.isCharacterBox(r);if(i){var p=t.havingStyle(t.style.sup());s=Nt(i,p,t),d||(u=a.height-p.fontMetrics().supDrop*p.sizeMultiplier/t.sizeMultiplier)}if(o){var m=t.havingStyle(t.style.sub());l=Nt(o,m,t),d||(h=a.depth+m.fontMetrics().subDrop*m.sizeMultiplier/t.sizeMultiplier)}var f=void 0;f=t.style===Y.DISPLAY?c.sup1:t.style.cramped?c.sup3:c.sup2;var g=t.sizeMultiplier,v=.5/c.ptPerEm/g+"em",y=null;if(l){var x=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(a instanceof ce||x)&&(y=-a.italic+"em")}var b=void 0;if(s&&l){u=Math.max(u,f,s.depth+.25*c.xHeight),h=Math.max(h,c.sub2);var w=4*c.defaultRuleThickness;if(u-s.depth-(l.height-h)0&&(u+=S,h-=S)}var A=[{type:"elem",elem:l,shift:h,marginRight:v,marginLeft:y},{type:"elem",elem:s,shift:-u,marginRight:v}];b=ht.makeVList({positionType:"individualShift",children:A},t)}else if(l){h=Math.max(h,c.sub1,l.height-.8*c.xHeight);var k=[{type:"elem",elem:l,marginLeft:y,marginRight:v}];b=ht.makeVList({positionType:"shift",positionData:h,children:k},t)}else{if(!s)throw new Error("supsub must have either sup or sub.");u=Math.max(u,f,s.depth+.25*c.xHeight),b=ht.makeVList({positionType:"shift",positionData:-u,children:[{type:"elem",elem:s,marginRight:v}]},t)}var T=_t(a,"right")||"mord";return ht.makeSpan([T],[a,ht.makeSpan(["msupsub"],[b])],t)},mathmlBuilder:function(e,t){var n=!1,r=void 0,i=s(e.base,"horizBrace");i&&!!e.sup===i.isOver&&(n=!0,r=i.isOver);var o=[qt(e.base,t)];e.sub&&o.push(qt(e.sub,t)),e.sup&&o.push(qt(e.sup,t));var a=void 0;if(n)a=r?"mover":"munder";else if(e.sub)if(e.sup){var l=e.base;a=l&&"op"===l.type&&l.limits&&t.style===Y.DISPLAY?"munderover":"msubsup"}else{var c=e.base;a=c&&"op"===c.type&&c.limits&&t.style===Y.DISPLAY?"munder":"msub"}else{var u=e.base;a=u&&"op"===u.type&&u.limits&&t.style===Y.DISPLAY?"mover":"msup"}return new Ot.MathNode(a,o)}}),h({type:"atom",htmlBuilder:function(e,t){return ht.mathsym(e.text,e.mode,t,["m"+e.family])},mathmlBuilder:function(e,t){var n=new Ot.MathNode("mo",[Dt(e.text,e.mode)]);if("bin"===e.family){var r=Pt(e,t);"bold-italic"===r&&n.setAttribute("mathvariant",r)}else"punct"===e.family&&n.setAttribute("separator","true");return n}});var Gn={mi:"italic",mn:"normal",mtext:"normal"};h({type:"mathord",htmlBuilder:function(e,t){return ht.makeOrd(e,t,"mathord")},mathmlBuilder:function(e,t){var n=new Ot.MathNode("mi",[Dt(e.text,e.mode,t)]),r=Pt(e,t)||"italic";return r!==Gn[n.type]&&n.setAttribute("mathvariant",r),n}}),h({type:"textord",htmlBuilder:function(e,t){return ht.makeOrd(e,t,"textord")},mathmlBuilder:function(e,t){var n=Dt(e.text,e.mode,t),r=Pt(e,t)||"normal",i=void 0;return i="text"===e.mode?new Ot.MathNode("mtext",[n]):/[0-9]/.test(e.text)?new Ot.MathNode("mn",[n]):"\\prime"===e.text?new Ot.MathNode("mo",[n]):new Ot.MathNode("mi",[n]),r!==Gn[i.type]&&i.setAttribute("mathvariant",r),i}}),h({type:"spacing",htmlBuilder:function(e,t){if(ht.regularSpace.hasOwnProperty(e.text)){var n=ht.regularSpace[e.text].className||"";if("text"===e.mode){var r=ht.makeOrd(e,t,"textord");return r.classes.push(n),r}return ht.makeSpan(["mspace",n],[ht.mathsym(e.text,e.mode,t)],t)}if(ht.cssSpace.hasOwnProperty(e.text))return ht.makeSpan(["mspace",ht.cssSpace[e.text]],[],t);throw new N('Unknown type of space "'+e.text+'"')},mathmlBuilder:function(e){if(!ht.regularSpace.hasOwnProperty(e.text)){if(ht.cssSpace.hasOwnProperty(e.text))return new Ot.MathNode("mspace");throw new N('Unknown type of space "'+e.text+'"')}return new Ot.MathNode("mtext",[new Ot.TextNode("\xa0")])}}),h({type:"tag",mathmlBuilder:function(e,t){var n=new Ot.MathNode("mtable",[new Ot.MathNode("mlabeledtr",[new Ot.MathNode("mtd",[Ht(e.tag,t)]),new Ot.MathNode("mtd",[Ht(e.body,t)])])]);return n.setAttribute("side","right"),n}});var $n={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Vn={"\\textbf":"textbf"},Wn={"\\textit":"textit"},Jn=function(e,t){var n=e.font;return n?$n[n]?t.withTextFontFamily($n[n]):Vn[n]?t.withTextFontWeight(Vn[n]):t.withTextFontShape(Wn[n]):t};u({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textit"],props:{numArgs:1,argTypes:["text"],greediness:2,allowedInText:!0,consumeMode:"text"},handler:function(e,t){var n=e.parser,r=e.funcName,i=t[0];return{type:"text",mode:n.mode,body:bt(i),font:r}},htmlBuilder:function(e,t){var n=Jn(e,t),r=Et(e.body,n,!0);return ht.tryCombineChars(r),ht.makeSpan(["mord","text"],r,n)},mathmlBuilder:function(e,t){var n=Jn(e,t);return Ht(e.body,n)}}),u({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:"underline",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var n=Nt(e.body,t),r=ht.makeLineSpan("underline-line",t),i=ht.makeVList({positionType:"top",positionData:n.height,children:[{type:"kern",size:r.height},{type:"elem",elem:r},{type:"kern",size:3*r.height},{type:"elem",elem:n}]},t);return ht.makeSpan(["mord","underline"],[i],t)},mathmlBuilder:function(e,t){var n=new Ot.MathNode("mo",[new Ot.TextNode("\u203e")]);n.setAttribute("stretchy","true");var r=new Ot.MathNode("munder",[qt(e.body,t),n]);return r.setAttribute("accentunder","true"),r}}),u({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler:function(){throw new N("\\verb ended by end of line instead of matching delimiter")},htmlBuilder:function(e,t){for(var n=ht.makeVerb(e,t),r=[],i=t.havingStyle(t.style.text()),o=0;o0&&(v+=.25),c.push({pos:v,isDashed:e[t]})}var r=void 0,i=void 0,o=e.body.length,a=e.hLinesBeforeRow,s=0,l=new Array(o),c=[],u=1/t.fontMetrics().ptPerEm,h=5*u,d=12*u,p=3*u,m=e.arraystretch*d,f=.7*m,g=.3*m,v=0;for(n(a[0]),r=0;r0&&(b<(k+=g)&&(b=k),k=0),e.addJot&&(b+=p),w.height=x,w.depth=b,v+=x,w.pos=v,v+=b+k,l[r]=w,n(a[r+1])}var T=v/2+t.fontMetrics().axisHeight,E=e.cols||[],M=[],_=void 0,C=void 0;for(i=0,C=0;i=s)){var O=void 0;(i>0||e.hskipBeforeAndAfter)&&0!==(O=q.deflt(L.pregap,h))&&((_=ht.makeSpan(["arraycolsep"],[])).style.width=O+"em",M.push(_));var D=[];for(r=0;r0){for(var H=ht.makeLineSpan("hline",t,.05),F=ht.makeLineSpan("hdashline",t,.05),U=[{type:"elem",elem:l,shift:0}];c.length>0;){var X=c.pop(),G=X.pos-T;X.isDashed?U.push({type:"elem",elem:F,shift:G}):U.push({type:"elem",elem:H,shift:G})}l=ht.makeVList({positionType:"individualShift",children:U},t)}return ht.makeSpan(["mord"],[l],t)},Qn=function(e,t){return new Ot.MathNode("mtable",e.body.map(function(e){return new Ot.MathNode("mtr",e.map(function(e){return new Ot.MathNode("mtd",[qt(e,t)])}))}))},er=function(e,t){var n=[],r=S(e.parser,{cols:n,addJot:!0},"display"),i=void 0,o=0,l={type:"ordgroup",mode:e.mode,body:[]},c=s(t[0],"ordgroup");if(c){for(var u="",h=0;h0&&d&&(f=1),n[p]={type:"align",align:m,pregap:f,postgap:0}}return r};b({type:"array",names:["array","darray"],props:{numArgs:1},handler:function(e,t){var n={cols:(c(t[0])?[t[0]]:a(t[0],"ordgroup").body).map(function(e){var t=function(e){var t=c(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}(e).text;if(-1!=="lcr".indexOf(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new N("Unknown column alignment: "+t,e)}),hskipBeforeAndAfter:!0};return S(e.parser,n,A(e.envName))},htmlBuilder:Zn,mathmlBuilder:Qn}),b({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix"],props:{numArgs:0},handler:function(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName],n=S(e.parser,{hskipBeforeAndAfter:!1},A(e.envName));return t?{type:"leftright",mode:e.mode,body:[n],left:t[0],right:t[1]}:n},htmlBuilder:Zn,mathmlBuilder:Qn}),b({type:"array",names:["cases","dcases"],props:{numArgs:0},handler:function(e){var t=S(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},A(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:"\\{",right:"."}},htmlBuilder:Zn,mathmlBuilder:Qn}),b({type:"array",names:["aligned"],props:{numArgs:0},handler:er,htmlBuilder:Zn,mathmlBuilder:Qn}),b({type:"array",names:["gathered"],props:{numArgs:0},handler:function(e){return S(e.parser,{cols:[{type:"align",align:"c"}],addJot:!0},"display")},htmlBuilder:Zn,mathmlBuilder:Qn}),b({type:"array",names:["alignedat"],props:{numArgs:1},handler:er,htmlBuilder:Zn,mathmlBuilder:Qn}),u({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler:function(e){throw new N(e.funcName+" valid only within array environment")}});var tr=Yn,nr=new RegExp("^(\\\\[a-zA-Z@]+)[ \r\n\t]*$"),rr=new RegExp("[\u0300-\u036f]+$"),ir="(\\\\href|\\\\url)(?:[ \r\n\t]*\\{((?:[^{}\\\\]|\\\\[^]|{[^{}]*})*)\\}|[ \r\n\t]+([^{}])|[ \r\n\t]*([^{}a-zA-Z]))",or="([ \r\n\t]+)|(%[^\n]*(?:\n|$)|[!-\\[\\]-\u2027\u202a-\ud7ff\uf900-\uffff][\u0300-\u036f]*|[\ud800-\udbff][\udc00-\udfff][\u0300-\u036f]*|\\\\verb\\*([^]).*?\\3|\\\\verb([^*a-zA-Z]).*?\\4|"+ir+"|\\\\[a-zA-Z@]+[ \r\n\t]*|\\\\[^\ud800-\udfff])",ar=(new RegExp("^\\\\[a-zA-Z@]+"),new RegExp("^"+ir)),sr=function(){function e(t,n){M()(this,e),this.input=t,this.settings=n,this.tokenRegex=new RegExp(or,"g")}return e.prototype.lex=function(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new C("EOF",new _(this,t,t));var n=this.tokenRegex.exec(e);if(null===n||n.index!==t)throw new N("Unexpected character: '"+e[t]+"'",new C(e[t],new _(this,t,t+1)));var r=n[2]||" ",i=r.match(nr);return i&&(r=i[1]+r.slice(i[0].length)),"%"===r[0]?("\n"!==r[r.length-1]&&this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)"),this.lex()):new C(r,new _(this,t,this.tokenRegex.lastIndex))},e}(),lr=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};M()(this,e),this.current=n,this.builtins=t,this.undefStack=[]}return e.prototype.beginGroup=function(){this.undefStack.push({})},e.prototype.endGroup=function(){if(0===this.undefStack.length)throw new N("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(void 0===e[t]?delete this.current[t]:this.current[t]=e[t])},e.prototype.has=function(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)},e.prototype.get=function(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]},e.prototype.set=function(e,t){if(arguments.length>2&&void 0!==arguments[2]&&arguments[2]){for(var n=0;n0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var r=this.undefStack[this.undefStack.length-1];r&&!r.hasOwnProperty(e)&&(r[e]=this.current[e])}this.current[e]=t},e}(),cr={},ur=cr;k("\\@firstoftwo",function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),k("\\@secondoftwo",function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),k("\\@ifnextchar",function(e){var t=e.consumeArgs(3),n=e.future();return 1===t[0].length&&t[0][0].text===n.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),k("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),k("\\TextOrMath",function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var hr={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};k("\\char",function(e){var t=e.popToken(),n=void 0,r="";if("'"===t.text)n=8,t=e.popToken();else if('"'===t.text)n=16,t=e.popToken();else if("`"===t.text)if("\\"===(t=e.popToken()).text[0])r=t.text.charCodeAt(1);else{if("EOF"===t.text)throw new N("\\char` missing argument");r=t.text.charCodeAt(0)}else n=10;if(n){if(null==(r=hr[t.text])||r>=n)throw new N("Invalid base-"+n+" digit "+t.text);for(var i=void 0;null!=(i=hr[e.future().text])&&i":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};k("\\dots",function(e){var t="\\dotso",n=e.expandAfterFuture().text;return n in mr?t=mr[n]:"\\not"===n.substr(0,4)?t="\\dotsb":n in be.math&&q.contains(["bin","rel"],be.math[n].group)&&(t="\\dotsb"),t});var fr={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};k("\\dotso",function(e){return e.future().text in fr?"\\ldots\\,":"\\ldots"}),k("\\dotsc",function(e){var t=e.future().text;return t in fr&&","!==t?"\\ldots\\,":"\\ldots"}),k("\\cdots",function(e){return e.future().text in fr?"\\@cdots\\,":"\\@cdots"}),k("\\dotsb","\\cdots"),k("\\dotsm","\\cdots"),k("\\dotsi","\\!\\cdots"),k("\\dotsx","\\ldots\\,"),k("\\DOTSI","\\relax"),k("\\DOTSB","\\relax"),k("\\DOTSX","\\relax"),k("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),k("\\,","\\tmspace+{3mu}{.1667em}"),k("\\thinspace","\\,"),k("\\:","\\tmspace+{4mu}{.2222em}"),k("\\medspace","\\:"),k("\\;","\\tmspace+{5mu}{.2777em}"),k("\\thickspace","\\;"),k("\\!","\\tmspace-{3mu}{.1667em}"),k("\\negthinspace","\\!"),k("\\negmedspace","\\tmspace-{4mu}{.2222em}"),k("\\negthickspace","\\tmspace-{5mu}{.277em}"),k("\\enspace","\\kern.5em "),k("\\enskip","\\hskip.5em\\relax"),k("\\quad","\\hskip1em\\relax"),k("\\qquad","\\hskip2em\\relax"),k("\\tag","\\@ifstar\\tag@literal\\tag@paren"),k("\\tag@paren","\\tag@literal{({#1})}"),k("\\tag@literal",function(e){if(e.macros.get("\\df@tag"))throw new N("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),k("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),k("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),k("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),k("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),k("\\pmb","\\html@mathml{\\@binrel{#1}{\\mathrlap{#1}\\mathrlap{\\mkern0.4mu\\raisebox{0.4mu}{$#1$}}{\\mkern0.8mu#1}}}{\\mathbf{#1}}"),k("\\\\","\\newline"),k("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var gr=pe["Main-Regular"]["T".charCodeAt(0)][1]-.7*pe["Main-Regular"]["A".charCodeAt(0)][1]+"em";k("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+gr+"}{\\scriptsize A}\\kern-.15em\\TeX}{LaTeX}}"),k("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+gr+"}{\\scriptsize A}\\kern-.15em\\TeX}{KaTeX}}"),k("\\hspace","\\@ifstar\\@hspacer\\@hspace"),k("\\@hspace","\\hskip #1\\relax"),k("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),k("\\ordinarycolon",":"),k("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),k("\\dblcolon","\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}"),k("\\coloneqq","\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}"),k("\\Coloneqq","\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}"),k("\\coloneq","\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}"),k("\\Coloneq","\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}"),k("\\eqqcolon","\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),k("\\Eqqcolon","\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}"),k("\\eqcolon","\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),k("\\Eqcolon","\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}"),k("\\colonapprox","\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}"),k("\\Colonapprox","\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}"),k("\\colonsim","\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}"),k("\\Colonsim","\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}"),k("\u2254","\\coloneqq"),k("\u2255","\\eqqcolon"),k("\u2a74","\\Coloneqq"),k("\\ratio","\\vcentcolon"),k("\\coloncolon","\\dblcolon"),k("\\colonequals","\\coloneqq"),k("\\coloncolonequals","\\Coloneqq"),k("\\equalscolon","\\eqqcolon"),k("\\equalscoloncolon","\\Eqqcolon"),k("\\colonminus","\\coloneq"),k("\\coloncolonminus","\\Coloneq"),k("\\minuscolon","\\eqcolon"),k("\\minuscoloncolon","\\Eqcolon"),k("\\coloncolonapprox","\\Colonapprox"),k("\\coloncolonsim","\\Colonsim"),k("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),k("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),k("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),k("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),k("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),k("\\limsup","\\DOTSB\\mathop{\\operatorname{lim\\,sup}}\\limits"),k("\\liminf","\\DOTSB\\mathop{\\operatorname{lim\\,inf}}\\limits"),k("\\darr","\\downarrow"),k("\\dArr","\\Downarrow"),k("\\Darr","\\Downarrow"),k("\\lang","\\langle"),k("\\rang","\\rangle"),k("\\uarr","\\uparrow"),k("\\uArr","\\Uparrow"),k("\\Uarr","\\Uparrow"),k("\\N","\\mathbb{N}"),k("\\R","\\mathbb{R}"),k("\\Z","\\mathbb{Z}"),k("\\alef","\\aleph"),k("\\alefsym","\\aleph"),k("\\Alpha","\\mathrm{A}"),k("\\Beta","\\mathrm{B}"),k("\\bull","\\bullet"),k("\\Chi","\\mathrm{X}"),k("\\clubs","\\clubsuit"),k("\\cnums","\\mathbb{C}"),k("\\Complex","\\mathbb{C}"),k("\\Dagger","\\ddagger"),k("\\diamonds","\\diamondsuit"),k("\\empty","\\emptyset"),k("\\Epsilon","\\mathrm{E}"), +k("\\Eta","\\mathrm{H}"),k("\\exist","\\exists"),k("\\harr","\\leftrightarrow"),k("\\hArr","\\Leftrightarrow"),k("\\Harr","\\Leftrightarrow"),k("\\hearts","\\heartsuit"),k("\\image","\\Im"),k("\\infin","\\infty"),k("\\Iota","\\mathrm{I}"),k("\\isin","\\in"),k("\\Kappa","\\mathrm{K}"),k("\\larr","\\leftarrow"),k("\\lArr","\\Leftarrow"),k("\\Larr","\\Leftarrow"),k("\\lrarr","\\leftrightarrow"),k("\\lrArr","\\Leftrightarrow"),k("\\Lrarr","\\Leftrightarrow"),k("\\Mu","\\mathrm{M}"),k("\\natnums","\\mathbb{N}"),k("\\Nu","\\mathrm{N}"),k("\\Omicron","\\mathrm{O}"),k("\\plusmn","\\pm"),k("\\rarr","\\rightarrow"),k("\\rArr","\\Rightarrow"),k("\\Rarr","\\Rightarrow"),k("\\real","\\Re"),k("\\reals","\\mathbb{R}"),k("\\Reals","\\mathbb{R}"),k("\\Rho","\\mathrm{R}"),k("\\sdot","\\cdot"),k("\\sect","\\S"),k("\\spades","\\spadesuit"),k("\\sub","\\subset"),k("\\sube","\\subseteq"),k("\\supe","\\supseteq"),k("\\Tau","\\mathrm{T}"),k("\\thetasym","\\vartheta"),k("\\weierp","\\wp"),k("\\Zeta","\\mathrm{Z}");var vr={"\\relax":!0,"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},yr=function(){function e(t,n,r){M()(this,e),this.settings=n,this.expansionCount=0,this.feed(t),this.macros=new lr(ur,n.macros),this.mode=r,this.stack=[]}return e.prototype.feed=function(e){this.lexer=new sr(e,this.settings)},e.prototype.switchMode=function(e){this.mode=e},e.prototype.beginGroup=function(){this.macros.beginGroup()},e.prototype.endGroup=function(){this.macros.endGroup()},e.prototype.future=function(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]},e.prototype.popToken=function(){return this.future(),this.stack.pop()},e.prototype.pushToken=function(e){this.stack.push(e)},e.prototype.pushTokens=function(e){var t;(t=this.stack).push.apply(t,e)},e.prototype.consumeSpaces=function(){for(;" "===this.future().text;)this.stack.pop()},e.prototype.consumeArgs=function(e){for(var t=[],n=0;nthis.settings.maxExpand)throw new N("Too many expansions: infinite loop or need to increase maxExpand setting");var r=n.tokens;if(n.numArgs)for(var i=this.consumeArgs(n.numArgs),o=(r=r.slice()).length-1;o>=0;--o){var a=r[o];if("#"===a.text){if(0===o)throw new N("Incomplete placeholder at end of macro body",a);if("#"===(a=r[--o]).text)r.splice(o+1,1);else{if(!/^[1-9]$/.test(a.text))throw new N("Not a valid argument number",a);var s;(s=r).splice.apply(s,[o,2].concat(i[+a.text-1]))}}}return this.pushTokens(r),r},e.prototype.expandAfterFuture=function(){return this.expandOnce(),this.future()},e.prototype.expandNextToken=function(){for(;;){var e=this.expandOnce();if(e instanceof C){if("\\relax"!==e.text)return this.stack.pop();this.stack.pop()}}throw new Error},e.prototype.expandMacro=function(e){if(this.macros.get(e)){var t=[],n=this.stack.length;for(this.pushToken(new C(e));this.stack.length>n;)this.expandOnce()instanceof C&&t.push(this.stack.pop());return t}},e.prototype.expandMacroAsText=function(e){var t=this.expandMacro(e);return t?t.map(function(e){return e.text}).join(""):t},e.prototype._getExpansion=function(e){var t=this.macros.get(e);if(null==t)return t;var n="function"==typeof t?t(this):t;if("string"==typeof n){var r=0;if(-1!==n.indexOf("#"))for(var i=n.replace(/##/g,"");-1!==i.indexOf("#"+(r+1));)++r;for(var o=new sr(n,this.settings),a=[],s=o.lex();"EOF"!==s.text;)a.push(s),s=o.lex();return a.reverse(),{tokens:a,numArgs:r}}return n},e.prototype.isDefined=function(e){return this.macros.has(e)||Kn.hasOwnProperty(e)||be.math.hasOwnProperty(e)||be.text.hasOwnProperty(e)||vr.hasOwnProperty(e)},e}(),xr={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"}},br={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\u010f":"d\u030c","\u1e0b":"d\u0307","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u013a":"l\u0301","\u013e":"l\u030c","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\u010e":"D\u030c","\u1e0a":"D\u0307","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0139":"L\u0301","\u013d":"L\u030c","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u0164":"T\u030c","\u1e6a":"T\u0307","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"},wr=function(){function e(t,n){M()(this,e),this.mode="math",this.gullet=new yr(t,n,this.mode),this.settings=n,this.leftrightDepth=0}return e.prototype.expect=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.nextToken.text!==e)throw new N("Expected '"+e+"', got '"+this.nextToken.text+"'",this.nextToken);t&&this.consume()},e.prototype.consume=function(){this.nextToken=this.gullet.expandNextToken()},e.prototype.switchMode=function(e){this.mode=e,this.gullet.switchMode(e)},e.prototype.parse=function(){this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor"),this.consume();var e=this.parseExpression(!1);return this.expect("EOF",!1),this.gullet.endGroup(),e},e.prototype.parseExpression=function(t,n){for(var r=[];;){"math"===this.mode&&this.consumeSpaces();var i=this.nextToken;if(-1!==e.endOfExpression.indexOf(i.text))break;if(n&&i.text===n)break;if(t&&Kn[i.text]&&Kn[i.text].infix)break;var o=this.parseAtom(n);if(!o){if(!this.settings.throwOnError&&"\\"===i.text[0]){var a=this.handleUnsupportedCmd();r.push(a);continue}break}r.push(o)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)},e.prototype.handleInfixNodes=function(e){for(var t=-1,n=void 0,r=0;re.SUPSUB_GREEDINESS)return this.parseGivenFunction(i);throw new N("Got function '"+i.result+"' with no arguments as "+t,n)}return i.result},e.prototype.handleUnsupportedCmd=function(){for(var e=this.nextToken.text,t=[],n=0;n0&&!l&&this.consumeSpaces(),0!==a||l||"math"!==this.mode||this.consumeSpaces();var c=this.nextToken,u=s?this.parseGroupOfType(s,l):this.parseGroup(l);if(!u){if(l){o.push(null);continue}if(this.settings.throwOnError||"\\"!==this.nextToken.text[0])throw new N("Expected group after '"+e+"'",c);u=T(this.handleUnsupportedCmd(),c)}var h=void 0;if("fn"===u.type){if(!(Kn[u.result].greediness>r))throw new N("Got function '"+u.result+"' as argument to '"+e+"'",c);h=this.parseGivenFunction(u)}else h=u.result;(l?o:i).push(h)}return{args:i,optArgs:o}},e.prototype.parseGroupOfType=function(e,t){if("original"===e&&(e=this.mode),"color"===e)return this.parseColorGroup(t);if("size"===e)return this.parseSizeGroup(t);if("url"===e)throw new N("Internal bug: 'url' arguments should be handled by Lexer",this.nextToken);return this.parseGroup(t,e)},e.prototype.consumeSpaces=function(){for(;" "===this.nextToken.text;)this.consume()},e.prototype.parseStringGroup=function(e,t){if(t&&"["!==this.nextToken.text)return null;var n=this.mode;this.mode="text",this.expect(t?"[":"{");for(var r="",i=this.nextToken,o=i;this.nextToken.text!==(t?"]":"}");){if("EOF"===this.nextToken.text)throw new N("Unexpected end of input in "+e,i.range(this.nextToken,r));r+=(o=this.nextToken).text,this.consume()}return this.mode=n,this.expect(t?"]":"}"),i.range(o,r)},e.prototype.parseRegexGroup=function(e,t){var n=this.mode;this.mode="text";for(var r=this.nextToken,i=r,o="";"EOF"!==this.nextToken.text&&e.test(o+this.nextToken.text);)o+=(i=this.nextToken).text,this.consume();if(""===o)throw new N("Invalid "+t+": '"+r.text+"'",r);return this.mode=n,r.range(i,o)},e.prototype.parseColorGroup=function(e){var t=this.parseStringGroup("color",e);if(!t)return null;var n=/^(#[a-f0-9]{3}|#[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!n)throw new N("Invalid color: '"+t.text+"'",t);return T({type:"color-token",mode:this.mode,color:n[0]},t)},e.prototype.parseSizeGroup=function(e){var t=void 0,n=!1;if(!(t=e||"{"===this.nextToken.text?this.parseStringGroup("size",e):this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size")))return null;e||0!==t.text.length||(t.text="0pt",n=!0);var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!r)throw new N("Invalid size: '"+t.text+"'",t);var i={number:+(r[1]+r[2]),unit:r[3]};if(!function(e){return"string"!=typeof e&&(e=e.unit),e in Ke||e in Ye||"ex"===e}(i))throw new N("Invalid unit: '"+i.unit+"'",t);return T({type:"size",mode:this.mode,value:i,isBlank:n},t)},e.prototype.parseGroup=function(e,t){var n=this.mode,r=this.nextToken;if(this.nextToken.text===(e?"[":"{")){t&&this.switchMode(t),this.gullet.beginGroup(),this.consume();var i=this.parseExpression(!1,e?"]":"}"),o=this.nextToken;return t&&this.switchMode(n),this.gullet.endGroup(),this.expect(e?"]":"}"),T({type:"ordgroup",mode:this.mode,loc:_.range(r,o),body:i},r.range(o,r.text))}t&&this.switchMode(t);var a=e?null:this.parseSymbol();return t&&this.switchMode(n),a},e.prototype.formLigatures=function(e){for(var t=e.length-1,n=0;n=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var m=be[this.mode][t].group,f=_.range(e),g=void 0;if(ve.hasOwnProperty(m)){var v=m;g={type:"atom",mode:this.mode,family:v,loc:f,text:t}}else g={type:m,mode:this.mode,loc:f,text:t};p=g}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(r(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),p={type:"textord",mode:this.mode,loc:_.range(e),text:t}}if(this.consume(),d)for(var y=0;yr.c||536==r.c&&11>r.g))}function w(e,t,n){return(e=e.match(t))&&e[n]?e[n]:""}function S(e){this.la=e||"-"}function A(e,t){this.M=e,this.Y=4,this.N="n";var n=(t||"n4").match(/^([nio])([1-9])$/i);n&&(this.N=n[1],this.Y=parseInt(n[2],10))}function k(e){return e.N+e.Y}function T(e){var t=4,n="n",r=null;return e&&((r=e.match(/(normal|oblique|italic)/i))&&r[1]&&(n=r[1].substr(0,1).toLowerCase()),(r=e.match(/([1-9]00|normal|bold)/i))&&r[1]&&(/bold/i.test(r[1])?t=7:/[1-9]00/.test(r[1])&&(t=parseInt(r[1].substr(0,1),10)))),n+t}function E(e,t){this.d=e,this.p=e.t.document.documentElement,this.P=t,this.j="wf",this.h=new S("-"),this.ga=!1!==t.events,this.B=!1!==t.classes}function M(e){if(e.B){var t=c(e.p,e.h.e(e.j,"active")),n=[],r=[e.h.e(e.j,"loading")];t||n.push(e.h.e(e.j,"inactive")),l(e.p,n,r)}_(e,"inactive")}function _(e,t,n){e.ga&&e.P[t]&&(n?e.P[t](n.getName(),k(n)):e.P[t]()); +}function C(){this.w={}}function L(e,t){this.d=e,this.G=t,this.m=this.d.createElement("span",{"aria-hidden":"true"},this.G)}function N(e){a(e.d,"body",e.m)}function z(e){var t;t=[];for(var n=e.M.split(/,\s*/),r=0;r=e.W?e.k.fa&&R(e,t,n)&&(null===e.ba||e.ba.hasOwnProperty(e.s.getName()))?B(e,e.Z):B(e,e.ja):D(e):B(e,e.Z)}function D(e){setTimeout(i(function(){O(this)},e),25)}function B(e,t){e.D.remove(),e.F.remove(),t(e.s)}function P(e,t,n,r){this.d=t,this.u=n,this.R=0,this.da=this.aa=!1,this.W=r,this.k=e.k}function j(e,t,n,r,o){if(n=n||{},0===t.length&&o)M(e.u);else for(e.R+=t.length,o&&(e.aa=o),o=0;oe.c||this.c===e.c&&this.g>e.g||this.c===e.c&&this.g===e.g&&this.A>e.A?1:this.c','','
','",""].join(""),AJAX_SEARCH:"/api/v1/search.json",AJAX_SEARCH_ORGANIZATION:"/api/v1/team/search.json",AJAX_SEARCH_MEDIA:"/api/v1/media/search.json",AJAX_DECK_LIST:function(){return"/api/v1/decks.json"},AJAX_GET_DECK:function(e){return"/api/v1/decks/"+e+".json"},AJAX_CREATE_DECK:function(){return"/api/v1/decks.json"},AJAX_UPDATE_DECK:function(e){return"/api/v1/decks/"+e+".json"},AJAX_PUBLISH_DECK:function(e){return"/api/v1/decks/"+e+"/publish.json"},AJAX_MAKE_DECK_COLLABORATIVE:function(e){return"/api/v1/decks/"+e+"/make_collaborative.json"},AJAX_GET_DECK_JSON:function(e,t){return"/"+e+"/"+t+".json"},AJAX_GET_DECK_DATA:function(e){return"/api/v1/decks/"+e+"/data.json"},AJAX_GET_DECKS_HTML:"/users/decks.html",AJAX_GET_DECKS_TRASHED_HTML:"/users/decks.html?trashed=true",AJAX_TRASH_DECK:function(e){return"/api/v1/decks/"+e+"/trash.json"},AJAX_RECOVER_DECK:function(e){return"/api/v1/decks/"+e+"/recover.json"},AJAX_DESTROY_DECK:function(e){return"/api/v1/decks/"+e+".json"},AJAX_GET_DECK_VERSIONS:function(e){return"/api/v1/decks/"+e+"/revisions.json"},AJAX_PREVIEW_DECK_VERSION:function(e,t,n){return"/"+e+"/"+t+"/preview?revision="+n},AJAX_RESTORE_DECK_VERSION:function(e,t){return"/api/v1/decks/"+e+"/revisions/"+t+"/restore.json"},AJAX_EXPORT_DECK:function(e,t){return"/"+e+"/"+t+"/export"},AJAX_THUMBNAIL_DECK:function(e){return"/api/v1/decks/"+e+"/thumbnails.json"},AJAX_FORK_DECK:function(e){return"/api/v1/decks/"+e+"/fork.json"},AJAX_SHARE_DECK_VIA_EMAIL:function(e){return"/api/v1/decks/"+e+"/deck_shares.json"},AJAX_DECK_STREAM:function(e){return"/api/v1/decks/"+e+"/stream.json"},AJAX_SMS_DECK:function(e){return"/api/v1/decks/"+e+"/sms.json"},AJAX_KUDO_DECK:function(e){return"/api/v1/decks/"+e+"/kudos/kudo.json"},AJAX_UNKUDO_DECK:function(e){return"/api/v1/decks/"+e+"/kudos/unkudo.json"},AJAX_EXPORT_START:function(e){return"/api/v1/decks/"+e+"/exports.json"},AJAX_EXPORT_LIST:function(e){return"/api/v1/decks/"+e+"/exports.json"},AJAX_EXPORT_STATUS:function(e,t){return"/api/v1/decks/"+e+"/exports/"+t+".json"},AJAX_FILE_IMPORT_NEW:"/api/v1/imports.json",AJAX_FILE_IMPORT_UPLOADED:function(e){return"/api/v1/imports/"+e+".json"},AJAX_DROPBOX_CONNECT:function(){return window.location.protocol+"//"+SL.config.APP_HOST+"/settings/dropbox/authorize"},AJAX_DROPBOX_DISCONNECT:function(){return"https://www.dropbox.com/account/connected_apps"},AJAX_DROPBOX_SYNC_DECK:function(e){return"/api/v1/decks/"+e+"/export.json"},AJAX_UPDATE_TEAM:"/api/v1/team.json",AJAX_LOOKUP_TEAM:"/api/v1/team/lookup.json",AJAX_TEAM_MEMBER_SEARCH:"/api/v1/team/users/search.json",AJAX_TEAM_MEMBERS_LIST:"/api/v1/team/users.json",AJAX_TEAM_MEMBER_CREATE:"/api/v1/team/users.json",AJAX_TEAM_MEMBER_UPDATE:function(e){return"/api/v1/team/users/"+e+".json"},AJAX_TEAM_MEMBER_DELETE:function(e){return"/api/v1/team/users/"+e+".json"},AJAX_TEAM_MEMBER_REACTIVATE:function(e){return"/api/v1/team/users/"+e+"/reactivate.json"},AJAX_TEAM_MEMBER_DEACTIVATE:function(e){return"/api/v1/team/users/"+e+"/deactivate.json"},AJAX_TEAM_INVITATIONS_LIST:"/api/v1/team/invitations.json",AJAX_TEAM_INVITATIONS_CREATE:"/api/v1/team/invitations.json",AJAX_TEAM_INVITATIONS_DELETE:function(e){return"/api/v1/team/invitations/"+e+".json"},AJAX_TEAM_INVITATIONS_RESEND:function(e){return"/api/v1/team/invitations/"+e+"/resend.json"},AJAX_THEMES_LIST:"/api/v1/themes.json",AJAX_THEMES_CREATE:"/api/v1/themes.json",AJAX_THEMES_READ:function(e){return"/api/v1/themes/"+e+".json"},AJAX_THEMES_UPDATE:function(e){return"/api/v1/themes/"+e+".json"},AJAX_THEMES_DELETE:function(e){return"/api/v1/themes/"+e+".json"},AJAX_DECK_THEME:function(e){return"/api/v1/decks/"+e+"/theme.json"},AJAX_THEME_ADD_SLIDE_TEMPLATE:function(e){return"/api/v1/themes/"+e+"/add_slide_template.json"},AJAX_THEME_REMOVE_SLIDE_TEMPLATE:function(e){return"/api/v1/themes/"+e+"/remove_slide_template.json"},AJAX_ACCESS_TOKENS_LIST:function(e){return"/api/v1/decks/"+e+"/access_tokens.json"},AJAX_ACCESS_TOKENS_CREATE:function(e){return"/api/v1/decks/"+e+"/access_tokens.json"},AJAX_ACCESS_TOKENS_UPDATE:function(e,t){return"/api/v1/decks/"+e+"/access_tokens/"+t+".json"},AJAX_ACCESS_TOKENS_DELETE:function(e,t){return"/api/v1/decks/"+e+"/access_tokens/"+t+".json"},AJAX_ACCESS_TOKENS_PASSWORD_AUTH:function(e){return"/access_tokens/"+e+".json"},AJAX_SLIDE_TEMPLATES_LIST:"/api/v1/slide_templates.json",AJAX_SLIDE_TEMPLATES_CREATE:"/api/v1/slide_templates.json",AJAX_SLIDE_TEMPLATES_UPDATE:function(e){return"/api/v1/slide_templates/"+e+".json"},AJAX_SLIDE_TEMPLATES_DELETE:function(e){return"/api/v1/slide_templates/"+e+".json"},AJAX_TEAM_SLIDE_TEMPLATES_LIST:"/api/v1/team/slide_templates.json",AJAX_TEAM_SLIDE_TEMPLATES_CREATE:"/api/v1/team/slide_templates.json",AJAX_TEAM_SLIDE_TEMPLATES_UPDATE:function(e){return"/api/v1/team/slide_templates/"+e+".json"},AJAX_TEAM_SLIDE_TEMPLATES_DELETE:function(e){return"/api/v1/team/slide_templates/"+e+".json"},AJAX_GET_USER:function(e){return"/api/v1/users/"+e+".json"},AJAX_LOOKUP_USER:"/api/v1/users/lookup.json",AJAX_SERVICES_USER:"/api/v1/users/services.json",AJAX_UPDATE_USER:"/users.json",AJAX_GET_USER_SETTINGS:"/api/v1/user_settings.json",AJAX_UPDATE_USER_SETTINGS:"/api/v1/user_settings.json",AJAX_SUBSCRIPTIONS:"/subscriptions",AJAX_ACCOUNT_DETAILS:"/account/details.json",AJAX_SUBSCRIPTION_DETAILS:"/account/subscription.json",AJAX_SUBSCRIPTIONS_PRINT_RECEIPT:function(e){return"/account/receipts/"+e},AJAX_SUBSCRIPTIONS_REACTIVATE:"/subscriptions/reactivate",AJAX_TEAMS_CREATE:"/teams.json",AJAX_TEAMS_REACTIVATE:"/subscriptions/reactivate.json",AJAX_CHECK_STATUS:"/api/v1/status.json",AJAX_CHECK_URL:"/api/v1/urls",AJAX_MEDIA_LIST:"/api/v1/media.json",AJAX_MEDIA_CREATE:"/api/v1/media.json",AJAX_MEDIA_READ:function(e){return"/api/v1/media/"+e+".json"},AJAX_MEDIA_UPDATE:function(e){return"/api/v1/media/"+e+".json"},AJAX_MEDIA_DELETE:function(e){return"/api/v1/media/"+e+".json"},AJAX_MEDIA_USAGE:"/api/v1/media/usage.json",AJAX_TAG_LIST:function(e){return"/api/v1/tags.json?tag_type="+e},AJAX_TAG_CREATE:"/api/v1/tags.json",AJAX_TAG_UPDATE:function(e){return"/api/v1/tags/"+e+".json"},AJAX_TAG_DELETE:function(e){return"/api/v1/tags/"+e+".json"},AJAX_TAG_ADD_MEDIA:function(e){return"/api/v1/tags/"+e+"/add_media.json"},AJAX_TAG_REMOVE_MEDIA:function(e){return"/api/v1/tags/"+e+"/remove_media.json"},AJAX_TAG_ADD_DECK:function(e){return"/api/v1/tags/"+e+"/add_decks.json"},AJAX_TAG_REMOVE_DECK:function(e){return"/api/v1/tags/"+e+"/remove_decks.json"},AJAX_TEAM_MEDIA_LIST:"/api/v1/team/media.json",AJAX_TEAM_MEDIA_CREATE:"/api/v1/team/media.json",AJAX_TEAM_MEDIA_READ:function(e){return"/api/v1/team/media/"+e+".json"},AJAX_TEAM_MEDIA_UPDATE:function(e){return"/api/v1/team/media/"+e+".json"},AJAX_TEAM_MEDIA_DELETE:function(e){return"/api/v1/team/media/"+e+".json"},AJAX_TEAM_MEDIA_TAG_LIST:"/api/v1/team/tags.json",AJAX_TEAM_MEDIA_TAG_CREATE:"/api/v1/team/tags.json",AJAX_TEAM_MEDIA_TAG_UPDATE:function(e){return"/api/v1/team/tags/"+e+".json"},AJAX_TEAM_MEDIA_TAG_DELETE:function(e){return"/api/v1/team/tags/"+e+".json"},AJAX_TEAM_MEDIA_TAG_ADD_MEDIA:function(e){return"/api/v1/team/tags/"+e+"/add_media.json"},AJAX_TEAM_MEDIA_TAG_REMOVE_MEDIA:function(e){return"/api/v1/team/tags/"+e+"/remove_media.json"},AJAX_DECKUSER_LIST:function(e){return"/api/v1/decks/"+e+"/users.json"},AJAX_DECKUSER_READ:function(e,t){return"/api/v1/decks/"+e+"/users/"+t+".json"},AJAX_DECKUSER_CREATE:function(e){return"/api/v1/decks/"+e+"/users/invite.json"},AJAX_DECKUSER_UPDATE:function(e,t){return"/api/v1/decks/"+e+"/users/"+t+".json"},AJAX_DECKUSER_DELETE:function(e,t){return"/api/v1/decks/"+e+"/users/"+t+".json"},AJAX_DECKUSER_BECOME_EDITOR:function(e,t){return"/api/v1/decks/"+e+"/users/"+t+"/become_editor.json"},AJAX_DECKUSER_UPDATE_LAST_SEEN_AT:function(e){return"/api/v1/decks/"+e+"/users/update_last_seen_at.json"},AJAX_COMMENTS_LIST:function(e,t){return"/api/v1/decks/"+e+"/comments.json"+(t?"?slide_hash="+t:"")},AJAX_COMMENTS_CREATE:function(e){return"/api/v1/decks/"+e+"/comments.json"},AJAX_COMMENTS_UPDATE:function(e,t){return"/api/v1/decks/"+e+"/comments/"+t+".json"},AJAX_COMMENTS_DELETE:function(e,t){return"/api/v1/decks/"+e+"/comments/"+t+".json"},STREAM_ENGINE_HOST:window.location.protocol+"//stream2.slides.com",STREAM_ENGINE_LIVE_NAMESPACE:"live",STREAM_ENGINE_EDITOR_NAMESPACE:"editor",APP_HOST:"slides.com",APP_ENV:"production",S3_HOST:"https://s3.amazonaws.com/media-p.slid.es",GOOGLE_FONTS_LIST:"https://www.googleapis.com/webfonts/v1/webfonts?key=AIzaSyAD1SV55vtPn4d37DWGvPg8iUKhMj2Epzo",ASSET_URLS:{"offline-v2.css":"//assets.slid.es/assets/offline-v2.css","homepage-background.jpg":"//assets.slid.es/assets/homepage-background.jpg","reveal-plugins/zoom/zoom.js":"//assets.slid.es/assets/reveal-plugins/zoom/zoom.js","reveal-plugins/markdown/marked.js":"//assets.slid.es/assets/reveal-plugins/markdown/marked.js","reveal-plugins/markdown/markdown.js":"//assets.slid.es/assets/reveal-plugins/markdown/markdown.js","reveal-plugins/highlight/highlight.js":"//assets.slid.es/assets/reveal-plugins/highlight/highlight.js"}},SL.config.V1={DEFAULT_THEME_COLOR:"grey-blue",DEFAULT_THEME_FONT:"league",DEFAULT_THEME_TRANSITION:"linear",DEFAULT_THEME_BACKGROUND_TRANSITION:"fade",THEME_COLORS:[{id:"grey-blue"},{id:"black-mint"},{id:"black-orange"},{id:"forest-yellow"},{id:"lila-yellow"},{id:"asphalt-orange"},{id:"sky-blue"},{id:"beige-brown"},{id:"sand-grey"},{id:"silver-green"},{id:"silver-blue"},{id:"cobalt-orange"},{id:"white-blue"},{id:"mint-beige"},{id:"sea-yellow"},{id:"coral-blue"}],THEME_FONTS:[{id:"league",title:"League"},{id:"opensans",title:"Open Sans"},{id:"josefine",title:"Josefine"},{id:"palatino",title:"Palatino"},{id:"news",title:"News"},{id:"montserrat",title:"Montserrat"},{id:"helvetica",title:"Helvetica"},{id:"asul",title:"Asul"},{id:"merriweather",title:"Merriweather"},{id:"sketch",title:"Sketch"},{id:"quicksand",title:"Quicksand"},{id:"overpass",title:"Overpass v1",deprecated:!0},{id:"overpass2",title:"Overpass"}]},SL.util={noop:function(){},getQuery:function(){var e={};return location.search.replace(/[A-Z0-9\-]+?=([\w%\-]*)/gi,function(t){e[t.split("=").shift()]=unescape(t.split("=").pop())}),e},getMetaKeyName:function(){return SL.util.device.isMac()?"⌘":"CTRL"},escapeHTMLEntities:function(e){return e=e||"",e=e.split("<").join("<"),e=e.split(">").join(">")},unescapeHTMLEntities:function(e){return(e||"").replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/¢/g,"\xa2").replace(/£/g,"\xa3").replace(/¥/g,"\xa5").replace(/€/g,"\u20ac").replace(/©/g,"\xa9").replace(/®/g,"\xae").replace(/ /g," ")},toArray:function(e){for(var t=[],n=0,r=e.length;n=.5&&!r[0]&&(r[0]=!0,SL.analytics.trackPresenting("Presentation progress: 50%")),e>=1&&!r[1]&&(r[1]=!0,SL.analytics.trackPresenting("Presentation progress: 100%")),SL.analytics.trackCurrentSlide()})}SL.util.deck.renderMath(n),SL.util.deck.enableCodeCopyButtons()}},openLinksInTabs:function(e){e&&e.find("a").each(function(){var e=$(this),t=e.attr("href");/^#/gi.test(t)===!0||this.hasAttribute("download")?e.removeAttr("target"):/http|www/gi.test(t)?e.attr("target","_blank"):e.attr("target","_top")})},preventMediaDownloads:function(e){$(e).find("video").attr("controlsList","nodownload"),e.addEventListener("contextmenu",function(e){var t=e.target.tagName;if("VIDEO"===t||"IMG"===t)return e.preventDefault(),!1},!0)},openPopupWindow:function(e,t,n,r){var i=window.innerWidth/2-n/2,o=window.innerHeight/2-r/2;"number"==typeof window.screenX&&(i+=window.screenX,o+=window.screenY);var a=window.open(e,t,"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width="+n+", height="+r+", top="+o+", left="+i);return a.moveTo(i,o),a},prefixSelectorsInStyle:function(e,t){var n=[];SL.util.toArray(e.sheet.cssRules).forEach(function(e){if(1===e.type&&e.selectorText&&e.cssText){var r=e.cssText;r=r.replace(e.selectorText,""),r=r.trim(),r=r.slice(1,r.length-1),r=r.trim(),r=r.split(";").map(function(e){return e=e.trim(),""===e?"":"\n\t"+e}).join(";");var i=e.selectorText.split(",").map(function(e){return e=e.trim(),0===e.indexOf(t)?e:t+e}).join(", ");n.push(i+" {"+r+"\n}")}else 7===e.type&&e.cssText&&n.push(e.cssText)}),e.innerHTML="\n"+n.join("\n\n")+"\n"},layoutReveal:function(e,t){if(clearInterval(this.revealLayoutInterval),clearTimeout(this.revealLayoutTimeout),1===arguments.length)this.revealLayoutTimeout=setTimeout(Reveal.layout,e);else{if(2!==arguments.length)throw"Illegal arguments, expected (duration[, fps])";this.revealLayoutInterval=setInterval(Reveal.layout,t),this.revealLayoutTimeout=setTimeout(function(){clearInterval(this.revealLayoutInterval)}.bind(this),e)}},getRevealSlideBounds:function(e,t){e=e||SL.editor.controllers.Markup.getCurrentSlide();var n=e.offset(),r=Reveal.getScale(),i=n.left*r,o=n.top*r;if(t){var a=$(".projector").offset();a&&(i-=a.left,o-=a.top)}return{x:i,y:o,width:e.outerWidth()*r,height:e.outerHeight()*r}},getRevealSlidesBounds:function(e){var t=$(".reveal .slides"),n=t.offset(),r=Reveal.getScale(),i=n.left*r,o=n.top*r;if(e){var a=$(".projector").offset();a&&(i-=a.left,o-=a.top)}return{x:i,y:o,width:t.outerWidth()*r,height:t.outerHeight()*r}},getRevealElementOffset:function(e,t){e=$(e);var n={x:0,y:0};if(e.parents("section").length)for(;e.length&&!e.is("section");)n.x+=e.get(0).offsetLeft,n.y+=e.get(0).offsetTop,t&&(n.x-=parseInt(e.css("margin-left"),10),n.y-=parseInt(e.css("margin-top"),10)),e=$(e.get(0).offsetParent);return n},getRevealElementGlobalOffset:function(e){var t=$(e),n=t.closest(".reveal"),r={x:0,y:0};if(t.length&&n.length){var i=Reveal.getConfig(),o=Reveal.getScale(),a=n.get(0).getBoundingClientRect(),s={x:a.left+a.width/2,y:a.top+a.height/2},l=i.width*o,c=i.height*o;r.x=s.x-l/2,r.y=s.y-c/2;var u=t.closest(".slides section");u.length&&(r.y-=u.scrollTop()*o);var h=SL.util.getRevealElementOffset(t);r.x+=h.x*o,r.y+=h.y*o}return r},getRevealCounterScale:function(){return window.Reveal?2-Reveal.getScale():1},globalToRevealCoordinate:function(e,t){var n=SL.util.getRevealSlideBounds(),r=SL.util.getRevealCounterScale();return{x:(e-n.x)*r,y:(t-n.y)*r}},globalToProjectorCoordinate:function(e,t){var n={x:e,y:t},r=$(".projector").offset(); +return r&&(n.x-=r.left,n.y-=r.top),n},hideAddressBar:function(){if(SL.util.device.IS_PHONE&&!/crios/gi.test(navigator.userAgent)){var e=function(){setTimeout(function(){window.scrollTo(0,1)},10)};$(window).on("orientationchange",function(){e()}),e()}},callback:function(){"function"==typeof arguments[0]&&arguments[0].apply(null,[].slice.call(arguments,1))},getPlaceholderImage:function(e){var t="";return e&&"function"==typeof window.btoa&&(t=window.btoa(Math.random().toString()).replace(/=/g,"")),"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"+t},isTypingEvent:function(e){return $(e.target).is('input:not([type="file"]), textarea, [contenteditable]')},isTyping:function(){var e=document.activeElement&&"inherit"!==document.activeElement.contentEditable,t=document.activeElement&&document.activeElement.tagName&&/input|textarea/i.test(document.activeElement.tagName);return e||t},setAceEditorDefaults:function(e){e.setTheme("ace/theme/monokai"),e.setDisplayIndentGuides(!0),e.setShowPrintMargin(!1),e.renderer.setScrollMargin(10,0),e.$blockScrolling=1/0},copyToClipboard:function(e){var t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select();var n=document.execCommand("copy");return document.body.removeChild(t),n}},SL.util.user={isLoggedIn:function(){return"object"==typeof SLConfig&&"object"==typeof SLConfig.current_user},isPseudoLoggedIn:function(){return"object"==typeof SLConfig&&!!SLConfig.pseudo_signed_in}},SL.util.device={HAS_TOUCH:!!("ontouchstart"in window),IS_PHONE:/iphone|ipod|android|windows\sphone/gi.test(navigator.userAgent),IS_TABLET:/ipad/gi.test(navigator.userAgent),isMac:function(){return/Mac/.test(navigator.platform)},isWindows:function(){return/Win/g.test(navigator.platform)},isLinux:function(){return/Linux/g.test(navigator.platform)},isIE:function(){return/MSIE\s[0-9]/gi.test(navigator.userAgent)||/Trident\/7.0;(.*)rv:\d\d/.test(navigator.userAgent)},isChrome:function(){return/chrome/gi.test(navigator.userAgent)},isSafari:function(){return/safari/gi.test(navigator.userAgent)&&!SL.util.device.isChrome()},isiPhone:function(){return/iphone|ipod/gi.test(navigator.userAgent)},isSafariDesktop:function(){return SL.util.device.isSafari()&&!SL.util.device.isChrome()&&!SL.util.device.IS_PHONE&&!SL.util.device.IS_TABLET},isOpera:function(){return!!window.opera},isFirefox:function(){return/firefox\/\d+\.?\d+/gi.test(navigator.userAgent)},isPhantomJS:function(){return/PhantomJS/gi.test(navigator.userAgent)},supportedByEditor:function(){return Modernizr.history&&Modernizr.csstransforms&&!SL.util.device.isOpera()},getScrollBarWidth:function(){var e=$("
").css({width:"100px",height:"100px",overflow:"scroll",position:"absolute",top:"-9999px"});e.appendTo(document.body);var t=e.prop("offsetWidth")-e.prop("clientWidth");return e.remove(),t}},SL.util.trig={distanceBetween:function(e,t){var n=e.x-t.x,r=e.y-t.y;return Math.sqrt(n*n+r*r)},intersection:function(e,t){return{x:Math.max(e.x,t.x),y:Math.max(e.y,t.y),width:Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),height:Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))}},intersects:function(e,t,n,r){"undefined"==typeof n&&(n=0),"undefined"==typeof r&&(r=n);var i=SL.util.trig.intersection(e,t);return i.width>e.width*n&&i.height>e.height*r},isPointWithinRect:function(e,t,n){return e>n.x&&en.y&&t=0&&a<=1&&s>=0&&s<=1?{x:e.x+s*i.x,y:e.y+s*i.y}:null},rotateAround:function(e,t,n,r,i){return i=i*Math.PI/180,{x:(e-n)*Math.cos(i)-(t-r)*Math.sin(i)+n,y:(e-n)*Math.sin(i)+(t-r)*Math.cos(i)+r}}},SL.util.array={shuffle:function(e){for(var t=e.length-1;t>0;t--){var n=Math.floor(Math.random()*(t+1)),r=e[t];e[t]=e[n],e[n]=r}return e}},SL.util.string={URL_REGEX:/((https?\:\/\/)|(www\.)|(^\/\/))(\S+)(\w{2,4})(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/i,SCRIPT_TAG_REGEX:/)<[^<]*)*<\/script>/gi,VIMEO_ID_REGEX:/vimeo.com\/(\d+)/i,YOUTUBE_ID_REGEX:/youtube\.com\/watch\?v=([a-zA-Z0-9_-]+)/i,YOUTUBE_SHORT_ID_REGEX:/youtu\.be\/([a-zA-Z0-9_-]+)/i,VIMEO_EMBED_URL_REGEX:/player\.vimeo\.com\/video\/\d+/i,YOUTUBE_EMBED_URL_REGEX:/youtube\.com\/embed\/([a-zA-Z0-9_-]+)/i,VIMEO_EMBED_URL:"https://player.vimeo.com/video/{{VIDEO_ID}}",YOUTUBE_EMBED_URL:"https://www.youtube.com/embed/{{VIDEO_ID}}",uniqueIDCount:0,uniqueID:function(e){return SL.util.string.uniqueIDCount+=1,(e||"")+SL.util.string.uniqueIDCount+"-"+Date.now()},slug:function(e){return"string"==typeof e?(e=SL.util.string.trim(e),e=e.toLowerCase(),e=e.replace(/-/g," "),e=e.replace(/[^\w\s]/g,""),e=e.replace(/\s{2,}/g," "),e=e.replace(/\s/g,"-")):""},trim:function(e){return SL.util.string.trimRight(SL.util.string.trimLeft(e))},trimLeft:function(e){return"string"==typeof e?e.replace(/^\s+/,""):""},trimRight:function(e){return"string"==typeof e?e.replace(/\s+$/,""):""},linkify:function(e){return e&&(e=e.replace(/((https?\:\/\/)|(www\.))(\S+)(\w{2,4})(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi,function(e){var t=e;return t.match("^https?://")||(t="http://"+t),''+e+""})),e},pluralize:function(e,t,n){return n?e+t:e},toTitleCase:function(e){return e.replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})},viewCount:function(e){return e<1e4?e:e=SL.util.math.limitDecimals(e/1e3,1)+"k"},getCustomClassesFromLESS:function(e){var t=(e||"").match(/\/\/=[a-z0-9-_ \t]{2,}(?=\n)?/gi);return t?t.map(function(e){return e=e.replace("//=",""),e=e.trim(),e=e.toLowerCase(),e=e.replace(/\s/g,"-")}):[]},moveCSSImportsToBeginning:function(e){var t="";return e=e.replace(/@import url\(["'\s]*(http:|https:)?\/\/(.*)\);?/gi,function(e){return t+=e+"\n",""}),t+e},formatIframeSource:function(e){if(e=(e||"").trim(),/', + '', + 'Unable to load iframe. This is likely due to the site\'s policy (x-frame-options).', + '', + '
' + ].join(''); + + dom.overlay.querySelector( 'iframe' ).addEventListener( 'load', function( event ) { + dom.overlay.classList.add( 'loaded' ); + }, false ); + + dom.overlay.querySelector( '.close' ).addEventListener( 'click', function( event ) { + closeOverlay(); + event.preventDefault(); + }, false ); + + dom.overlay.querySelector( '.external' ).addEventListener( 'click', function( event ) { + closeOverlay(); + }, false ); + + setTimeout( function() { + dom.overlay.classList.add( 'visible' ); + }, 1 ); + + } + + /** + * Open or close help overlay window. + * + * @param {Boolean} [override] Flag which overrides the + * toggle logic and forcibly sets the desired state. True means + * help is open, false means it's closed. + */ + function toggleHelp( override ){ + + if( typeof override === 'boolean' ) { + override ? showHelp() : closeOverlay(); + } + else { + if( dom.overlay ) { + closeOverlay(); + } + else { + showHelp(); + } + } + } + + /** + * Opens an overlay window with help material. + */ + function showHelp() { + + if( config.help ) { + + closeOverlay(); + + dom.overlay = document.createElement( 'div' ); + dom.overlay.classList.add( 'overlay' ); + dom.overlay.classList.add( 'overlay-help' ); + dom.wrapper.appendChild( dom.overlay ); + + var html = '

Keyboard Shortcuts


'; + + html += ''; + for( var key in keyboardShortcuts ) { + html += ''; + } + + // Add custom key bindings that have associated descriptions + for( var binding in registeredKeyBindings ) { + if( registeredKeyBindings[binding].key && registeredKeyBindings[binding].description ) { + html += ''; + } + } + + html += '
KEYACTION
' + key + '' + keyboardShortcuts[ key ] + '
' + registeredKeyBindings[binding].key + '' + registeredKeyBindings[binding].description + '
'; + + dom.overlay.innerHTML = [ + '
', + '', + '
', + '
', + '
'+ html +'
', + '
' + ].join(''); + + dom.overlay.querySelector( '.close' ).addEventListener( 'click', function( event ) { + closeOverlay(); + event.preventDefault(); + }, false ); + + setTimeout( function() { + dom.overlay.classList.add( 'visible' ); + }, 1 ); + + } + + } + + /** + * Closes any currently open overlay. + */ + function closeOverlay() { + + if( dom.overlay ) { + dom.overlay.parentNode.removeChild( dom.overlay ); + dom.overlay = null; + } + + } + + /** + * Applies JavaScript-controlled layout rules to the + * presentation. + */ + function layout() { + + if( dom.wrapper && !isPrintingPDF() ) { + + if( !config.disableLayout ) { + + var size = getComputedSlideSize(); + + // Layout the contents of the slides + layoutSlideContents( config.width, config.height ); + + dom.slides.style.width = size.width + 'px'; + dom.slides.style.height = size.height + 'px'; + + // Determine scale of content to fit within available space + scale = Math.min( size.presentationWidth / size.width, size.presentationHeight / size.height ); + + // Respect max/min scale settings + scale = Math.max( scale, config.minScale ); + scale = Math.min( scale, config.maxScale ); + + // Don't apply any scaling styles if scale is 1 + if( scale === 1 ) { + dom.slides.style.zoom = ''; + dom.slides.style.left = ''; + dom.slides.style.top = ''; + dom.slides.style.bottom = ''; + dom.slides.style.right = ''; + transformSlides( { layout: '' } ); + } + else { + // Prefer zoom for scaling up so that content remains crisp. + // Don't use zoom to scale down since that can lead to shifts + // in text layout/line breaks. + if( scale > 1 && features.zoom ) { + dom.slides.style.zoom = scale; + dom.slides.style.left = ''; + dom.slides.style.top = ''; + dom.slides.style.bottom = ''; + dom.slides.style.right = ''; + transformSlides( { layout: '' } ); + } + // Apply scale transform as a fallback + else { + dom.slides.style.zoom = ''; + dom.slides.style.left = '50%'; + dom.slides.style.top = '50%'; + dom.slides.style.bottom = 'auto'; + dom.slides.style.right = 'auto'; + transformSlides( { layout: 'translate(-50%, -50%) scale('+ scale +')' } ); + } + } + + // Select all slides, vertical and horizontal + var slides = toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR ) ); + + for( var i = 0, len = slides.length; i < len; i++ ) { + var slide = slides[ i ]; + + // Don't bother updating invisible slides + if( slide.style.display === 'none' ) { + continue; + } + + if( config.center || slide.classList.contains( 'center' ) ) { + // Vertical stacks are not centred since their section + // children will be + if( slide.classList.contains( 'stack' ) ) { + slide.style.top = 0; + } + else { + slide.style.top = Math.max( ( size.height - slide.scrollHeight ) / 2, 0 ) + 'px'; + } + } + else { + slide.style.top = ''; + } + + } + + } + + updateProgress(); + updateParallax(); + + if( isOverview() ) { + updateOverview(); + } + + } + + } + + /** + * Applies layout logic to the contents of all slides in + * the presentation. + * + * @param {string|number} width + * @param {string|number} height + */ + function layoutSlideContents( width, height ) { + + // Handle sizing of elements with the 'stretch' class + toArray( dom.slides.querySelectorAll( 'section > .stretch' ) ).forEach( function( element ) { + + // Determine how much vertical space we can use + var remainingHeight = getRemainingHeight( element, height ); + + // Consider the aspect ratio of media elements + if( /(img|video)/gi.test( element.nodeName ) ) { + var nw = element.naturalWidth || element.videoWidth, + nh = element.naturalHeight || element.videoHeight; + + var es = Math.min( width / nw, remainingHeight / nh ); + + element.style.width = ( nw * es ) + 'px'; + element.style.height = ( nh * es ) + 'px'; + + } + else { + element.style.width = width + 'px'; + element.style.height = remainingHeight + 'px'; + } + + } ); + + } + + /** + * Calculates the computed pixel size of our slides. These + * values are based on the width and height configuration + * options. + * + * @param {number} [presentationWidth=dom.wrapper.offsetWidth] + * @param {number} [presentationHeight=dom.wrapper.offsetHeight] + */ + function getComputedSlideSize( presentationWidth, presentationHeight ) { + + var size = { + // Slide size + width: config.width, + height: config.height, + + // Presentation size + presentationWidth: presentationWidth || dom.wrapper.offsetWidth, + presentationHeight: presentationHeight || dom.wrapper.offsetHeight + }; + + // Reduce available space by margin + size.presentationWidth -= ( size.presentationWidth * config.margin ); + size.presentationHeight -= ( size.presentationHeight * config.margin ); + + // Slide width may be a percentage of available width + if( typeof size.width === 'string' && /%$/.test( size.width ) ) { + size.width = parseInt( size.width, 10 ) / 100 * size.presentationWidth; + } + + // Slide height may be a percentage of available height + if( typeof size.height === 'string' && /%$/.test( size.height ) ) { + size.height = parseInt( size.height, 10 ) / 100 * size.presentationHeight; + } + + return size; + + } + + /** + * Stores the vertical index of a stack so that the same + * vertical slide can be selected when navigating to and + * from the stack. + * + * @param {HTMLElement} stack The vertical stack element + * @param {string|number} [v=0] Index to memorize + */ + function setPreviousVerticalIndex( stack, v ) { + + if( typeof stack === 'object' && typeof stack.setAttribute === 'function' ) { + stack.setAttribute( 'data-previous-indexv', v || 0 ); + } + + } + + /** + * Retrieves the vertical index which was stored using + * #setPreviousVerticalIndex() or 0 if no previous index + * exists. + * + * @param {HTMLElement} stack The vertical stack element + */ + function getPreviousVerticalIndex( stack ) { + + if( typeof stack === 'object' && typeof stack.setAttribute === 'function' && stack.classList.contains( 'stack' ) ) { + // Prefer manually defined start-indexv + var attributeName = stack.hasAttribute( 'data-start-indexv' ) ? 'data-start-indexv' : 'data-previous-indexv'; + + return parseInt( stack.getAttribute( attributeName ) || 0, 10 ); + } + + return 0; + + } + + /** + * Displays the overview of slides (quick nav) by scaling + * down and arranging all slide elements. + */ + function activateOverview() { + + // Only proceed if enabled in config + if( config.overview && !isOverview() ) { + + overview = true; + + dom.wrapper.classList.add( 'overview' ); + dom.wrapper.classList.remove( 'overview-deactivating' ); + + if( features.overviewTransitions ) { + setTimeout( function() { + dom.wrapper.classList.add( 'overview-animated' ); + }, 1 ); + } + + // Don't auto-slide while in overview mode + cancelAutoSlide(); + + // Move the backgrounds element into the slide container to + // that the same scaling is applied + dom.slides.appendChild( dom.background ); + + // Clicking on an overview slide navigates to it + toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR ) ).forEach( function( slide ) { + if( !slide.classList.contains( 'stack' ) ) { + slide.addEventListener( 'click', onOverviewSlideClicked, true ); + } + } ); + + // Calculate slide sizes + var margin = 70; + var slideSize = getComputedSlideSize(); + overviewSlideWidth = slideSize.width + margin; + overviewSlideHeight = slideSize.height + margin; + + // Reverse in RTL mode + if( config.rtl ) { + overviewSlideWidth = -overviewSlideWidth; + } + + updateSlidesVisibility(); + layoutOverview(); + updateOverview(); + + layout(); + + // Notify observers of the overview showing + dispatchEvent( 'overviewshown', { + 'indexh': indexh, + 'indexv': indexv, + 'currentSlide': currentSlide + } ); + + } + + } + + /** + * Uses CSS transforms to position all slides in a grid for + * display inside of the overview mode. + */ + function layoutOverview() { + + // Layout slides + toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ).forEach( function( hslide, h ) { + hslide.setAttribute( 'data-index-h', h ); + transformElement( hslide, 'translate3d(' + ( h * overviewSlideWidth ) + 'px, 0, 0)' ); + + if( hslide.classList.contains( 'stack' ) ) { + + toArray( hslide.querySelectorAll( 'section' ) ).forEach( function( vslide, v ) { + vslide.setAttribute( 'data-index-h', h ); + vslide.setAttribute( 'data-index-v', v ); + + transformElement( vslide, 'translate3d(0, ' + ( v * overviewSlideHeight ) + 'px, 0)' ); + } ); + + } + } ); + + // Layout slide backgrounds + toArray( dom.background.childNodes ).forEach( function( hbackground, h ) { + transformElement( hbackground, 'translate3d(' + ( h * overviewSlideWidth ) + 'px, 0, 0)' ); + + toArray( hbackground.querySelectorAll( '.slide-background' ) ).forEach( function( vbackground, v ) { + transformElement( vbackground, 'translate3d(0, ' + ( v * overviewSlideHeight ) + 'px, 0)' ); + } ); + } ); + + } + + /** + * Moves the overview viewport to the current slides. + * Called each time the current slide changes. + */ + function updateOverview() { + + var vmin = Math.min( window.innerWidth, window.innerHeight ); + var scale = Math.max( vmin / 5, 150 ) / vmin; + + transformSlides( { + overview: [ + 'scale('+ scale +')', + 'translateX('+ ( -indexh * overviewSlideWidth ) +'px)', + 'translateY('+ ( -indexv * overviewSlideHeight ) +'px)' + ].join( ' ' ) + } ); + + } + + /** + * Exits the slide overview and enters the currently + * active slide. + */ + function deactivateOverview() { + + // Only proceed if enabled in config + if( config.overview ) { + + overview = false; + + dom.wrapper.classList.remove( 'overview' ); + dom.wrapper.classList.remove( 'overview-animated' ); + + // Temporarily add a class so that transitions can do different things + // depending on whether they are exiting/entering overview, or just + // moving from slide to slide + dom.wrapper.classList.add( 'overview-deactivating' ); + + setTimeout( function () { + dom.wrapper.classList.remove( 'overview-deactivating' ); + }, 1 ); + + // Move the background element back out + dom.wrapper.appendChild( dom.background ); + + // Clean up changes made to slides + toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR ) ).forEach( function( slide ) { + transformElement( slide, '' ); + + slide.removeEventListener( 'click', onOverviewSlideClicked, true ); + } ); + + // Clean up changes made to backgrounds + toArray( dom.background.querySelectorAll( '.slide-background' ) ).forEach( function( background ) { + transformElement( background, '' ); + } ); + + transformSlides( { overview: '' } ); + + slide( indexh, indexv ); + + layout(); + + cueAutoSlide(); + + // Notify observers of the overview hiding + dispatchEvent( 'overviewhidden', { + 'indexh': indexh, + 'indexv': indexv, + 'currentSlide': currentSlide + } ); + + } + } + + /** + * Toggles the slide overview mode on and off. + * + * @param {Boolean} [override] Flag which overrides the + * toggle logic and forcibly sets the desired state. True means + * overview is open, false means it's closed. + */ + function toggleOverview( override ) { + + if( typeof override === 'boolean' ) { + override ? activateOverview() : deactivateOverview(); + } + else { + isOverview() ? deactivateOverview() : activateOverview(); + } + + } + + /** + * Checks if the overview is currently active. + * + * @return {Boolean} true if the overview is active, + * false otherwise + */ + function isOverview() { + + return overview; + + } + + /** + * Return a hash URL that will resolve to the current slide location. + */ + function locationHash() { + + var url = '/'; + + // Attempt to create a named link based on the slide's ID + var id = currentSlide ? currentSlide.getAttribute( 'id' ) : null; + if( id ) { + id = encodeURIComponent( id ); + } + + var indexf; + if( config.fragmentInURL ) { + indexf = getIndices().f; + } + + // If the current slide has an ID, use that as a named link, + // but we don't support named links with a fragment index + if( typeof id === 'string' && id.length && indexf === undefined ) { + url = '/' + id; + } + // Otherwise use the /h/v index + else { + var hashIndexBase = config.hashOneBasedIndex ? 1 : 0; + if( indexh > 0 || indexv > 0 || indexf !== undefined ) url += indexh + hashIndexBase; + if( indexv > 0 || indexf !== undefined ) url += '/' + (indexv + hashIndexBase ); + if( indexf !== undefined ) url += '/' + indexf; + } + + return url; + + } + + /** + * Checks if the current or specified slide is vertical + * (nested within another slide). + * + * @param {HTMLElement} [slide=currentSlide] The slide to check + * orientation of + * @return {Boolean} + */ + function isVerticalSlide( slide ) { + + // Prefer slide argument, otherwise use current slide + slide = slide ? slide : currentSlide; + + return slide && slide.parentNode && !!slide.parentNode.nodeName.match( /section/i ); + + } + + /** + * Handling the fullscreen functionality via the fullscreen API + * + * @see http://fullscreen.spec.whatwg.org/ + * @see https://developer.mozilla.org/en-US/docs/DOM/Using_fullscreen_mode + */ + function enterFullscreen() { + + var element = document.documentElement; + + // Check which implementation is available + var requestMethod = element.requestFullscreen || + element.webkitRequestFullscreen || + element.webkitRequestFullScreen || + element.mozRequestFullScreen || + element.msRequestFullscreen; + + if( requestMethod ) { + requestMethod.apply( element ); + } + + } + + /** + * Enters the paused mode which fades everything on screen to + * black. + */ + function pause() { + + if( config.pause ) { + var wasPaused = dom.wrapper.classList.contains( 'paused' ); + + cancelAutoSlide(); + dom.wrapper.classList.add( 'paused' ); + + if( wasPaused === false ) { + dispatchEvent( 'paused' ); + } + } + + } + + /** + * Exits from the paused mode. + */ + function resume() { + + var wasPaused = dom.wrapper.classList.contains( 'paused' ); + dom.wrapper.classList.remove( 'paused' ); + + cueAutoSlide(); + + if( wasPaused ) { + dispatchEvent( 'resumed' ); + } + + } + + /** + * Toggles the paused mode on and off. + */ + function togglePause( override ) { + + if( typeof override === 'boolean' ) { + override ? pause() : resume(); + } + else { + isPaused() ? resume() : pause(); + } + + } + + /** + * Checks if we are currently in the paused mode. + * + * @return {Boolean} + */ + function isPaused() { + + return dom.wrapper.classList.contains( 'paused' ); + + } + + /** + * Toggles the auto slide mode on and off. + * + * @param {Boolean} [override] Flag which sets the desired state. + * True means autoplay starts, false means it stops. + */ + + function toggleAutoSlide( override ) { + + if( typeof override === 'boolean' ) { + override ? resumeAutoSlide() : pauseAutoSlide(); + } + + else { + autoSlidePaused ? resumeAutoSlide() : pauseAutoSlide(); + } + + } + + /** + * Checks if the auto slide mode is currently on. + * + * @return {Boolean} + */ + function isAutoSliding() { + + return !!( autoSlide && !autoSlidePaused ); + + } + + /** + * Steps from the current point in the presentation to the + * slide which matches the specified horizontal and vertical + * indices. + * + * @param {number} [h=indexh] Horizontal index of the target slide + * @param {number} [v=indexv] Vertical index of the target slide + * @param {number} [f] Index of a fragment within the + * target slide to activate + * @param {number} [o] Origin for use in multimaster environments + */ + function slide( h, v, f, o ) { + + // Remember where we were at before + previousSlide = currentSlide; + + // Query all horizontal slides in the deck + var horizontalSlides = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ); + + // Abort if there are no slides + if( horizontalSlides.length === 0 ) return; + + // If no vertical index is specified and the upcoming slide is a + // stack, resume at its previous vertical index + if( v === undefined && !isOverview() ) { + v = getPreviousVerticalIndex( horizontalSlides[ h ] ); + } + + // If we were on a vertical stack, remember what vertical index + // it was on so we can resume at the same position when returning + if( previousSlide && previousSlide.parentNode && previousSlide.parentNode.classList.contains( 'stack' ) ) { + setPreviousVerticalIndex( previousSlide.parentNode, indexv ); + } + + // Remember the state before this slide + var stateBefore = state.concat(); + + // Reset the state array + state.length = 0; + + var indexhBefore = indexh || 0, + indexvBefore = indexv || 0; + + // Activate and transition to the new slide + indexh = updateSlides( HORIZONTAL_SLIDES_SELECTOR, h === undefined ? indexh : h ); + indexv = updateSlides( VERTICAL_SLIDES_SELECTOR, v === undefined ? indexv : v ); + + // Update the visibility of slides now that the indices have changed + updateSlidesVisibility(); + + layout(); + + // Apply the new state + stateLoop: for( var i = 0, len = state.length; i < len; i++ ) { + // Check if this state existed on the previous slide. If it + // did, we will avoid adding it repeatedly + for( var j = 0; j < stateBefore.length; j++ ) { + if( stateBefore[j] === state[i] ) { + stateBefore.splice( j, 1 ); + continue stateLoop; + } + } + + document.documentElement.classList.add( state[i] ); + + // Dispatch custom event matching the state's name + dispatchEvent( state[i] ); + } + + // Clean up the remains of the previous state + while( stateBefore.length ) { + document.documentElement.classList.remove( stateBefore.pop() ); + } + + // Update the overview if it's currently active + if( isOverview() ) { + updateOverview(); + } + + // Find the current horizontal slide and any possible vertical slides + // within it + var currentHorizontalSlide = horizontalSlides[ indexh ], + currentVerticalSlides = currentHorizontalSlide.querySelectorAll( 'section' ); + + // Store references to the previous and current slides + currentSlide = currentVerticalSlides[ indexv ] || currentHorizontalSlide; + + // Show fragment, if specified + if( typeof f !== 'undefined' ) { + navigateFragment( f ); + } + + // Dispatch an event if the slide changed + var slideChanged = ( indexh !== indexhBefore || indexv !== indexvBefore ); + if (!slideChanged) { + // Ensure that the previous slide is never the same as the current + previousSlide = null; + } + + // Solves an edge case where the previous slide maintains the + // 'present' class when navigating between adjacent vertical + // stacks + if( previousSlide && previousSlide !== currentSlide ) { + previousSlide.classList.remove( 'present' ); + previousSlide.setAttribute( 'aria-hidden', 'true' ); + + // Reset all slides upon navigate to home + // Issue: #285 + if ( dom.wrapper.querySelector( HOME_SLIDE_SELECTOR ).classList.contains( 'present' ) ) { + // Launch async task + setTimeout( function () { + var slides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR + '.stack') ), i; + for( i in slides ) { + if( slides[i] ) { + // Reset stack + setPreviousVerticalIndex( slides[i], 0 ); + } + } + }, 0 ); + } + } + + if( slideChanged ) { + dispatchEvent( 'slidechanged', { + 'indexh': indexh, + 'indexv': indexv, + 'previousSlide': previousSlide, + 'currentSlide': currentSlide, + 'origin': o + } ); + } + + // Handle embedded content + if( slideChanged || !previousSlide ) { + stopEmbeddedContent( previousSlide ); + startEmbeddedContent( currentSlide ); + } + + // Announce the current slide contents, for screen readers + dom.statusDiv.textContent = getStatusText( currentSlide ); + + updateControls(); + updateProgress(); + updateBackground(); + updateParallax(); + updateSlideNumber(); + updateNotes(); + + // Update the URL hash + writeURL(); + + cueAutoSlide(); + + } + + /** + * Syncs the presentation with the current DOM. Useful + * when new slides or control elements are added or when + * the configuration has changed. + */ + function sync() { + + // Subscribe to input + removeEventListeners(); + addEventListeners(); + + // Force a layout to make sure the current config is accounted for + layout(); + + // Reflect the current autoSlide value + autoSlide = config.autoSlide; + + // Start auto-sliding if it's enabled + cueAutoSlide(); + + // Re-create the slide backgrounds + createBackgrounds(); + + // Write the current hash to the URL + writeURL(); + + sortAllFragments(); + + updateControls(); + updateProgress(); + updateSlideNumber(); + updateSlidesVisibility(); + updateBackground( true ); + updateNotesVisibility(); + updateNotes(); + + formatEmbeddedContent(); + + // Start or stop embedded content depending on global config + if( config.autoPlayMedia === false ) { + stopEmbeddedContent( currentSlide, { unloadIframes: false } ); + } + else { + startEmbeddedContent( currentSlide ); + } + + if( isOverview() ) { + layoutOverview(); + } + + } + + /** + * Updates reveal.js to keep in sync with new slide attributes. For + * example, if you add a new `data-background-image` you can call + * this to have reveal.js render the new background image. + * + * Similar to #sync() but more efficient when you only need to + * refresh a specific slide. + * + * @param {HTMLElement} slide + */ + function syncSlide( slide ) { + + syncBackground( slide ); + syncFragments( slide ); + + updateBackground(); + updateNotes(); + + loadSlide( slide ); + + } + + /** + * Formats the fragments on the given slide so that they have + * valid indices. Call this if fragments are changed in the DOM + * after reveal.js has already initialized. + * + * @param {HTMLElement} slide + */ + function syncFragments( slide ) { + + sortFragments( slide.querySelectorAll( '.fragment' ) ); + + } + + /** + * Resets all vertical slides so that only the first + * is visible. + */ + function resetVerticalSlides() { + + var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); + horizontalSlides.forEach( function( horizontalSlide ) { + + var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ); + verticalSlides.forEach( function( verticalSlide, y ) { + + if( y > 0 ) { + verticalSlide.classList.remove( 'present' ); + verticalSlide.classList.remove( 'past' ); + verticalSlide.classList.add( 'future' ); + verticalSlide.setAttribute( 'aria-hidden', 'true' ); + } + + } ); + + } ); + + } + + /** + * Sorts and formats all of fragments in the + * presentation. + */ + function sortAllFragments() { + + var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); + horizontalSlides.forEach( function( horizontalSlide ) { + + var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ); + verticalSlides.forEach( function( verticalSlide, y ) { + + sortFragments( verticalSlide.querySelectorAll( '.fragment' ) ); + + } ); + + if( verticalSlides.length === 0 ) sortFragments( horizontalSlide.querySelectorAll( '.fragment' ) ); + + } ); + + } + + /** + * Randomly shuffles all slides in the deck. + */ + function shuffle() { + + var slides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); + + slides.forEach( function( slide ) { + + // Insert this slide next to another random slide. This may + // cause the slide to insert before itself but that's fine. + dom.slides.insertBefore( slide, slides[ Math.floor( Math.random() * slides.length ) ] ); + + } ); + + } + + /** + * Updates one dimension of slides by showing the slide + * with the specified index. + * + * @param {string} selector A CSS selector that will fetch + * the group of slides we are working with + * @param {number} index The index of the slide that should be + * shown + * + * @return {number} The index of the slide that is now shown, + * might differ from the passed in index if it was out of + * bounds. + */ + function updateSlides( selector, index ) { + + // Select all slides and convert the NodeList result to + // an array + var slides = toArray( dom.wrapper.querySelectorAll( selector ) ), + slidesLength = slides.length; + + var printMode = isPrintingPDF(); + + if( slidesLength ) { + + // Should the index loop? + if( config.loop ) { + index %= slidesLength; + + if( index < 0 ) { + index = slidesLength + index; + } + } + + // Enforce max and minimum index bounds + index = Math.max( Math.min( index, slidesLength - 1 ), 0 ); + + for( var i = 0; i < slidesLength; i++ ) { + var element = slides[i]; + + var reverse = config.rtl && !isVerticalSlide( element ); + + element.classList.remove( 'past' ); + element.classList.remove( 'present' ); + element.classList.remove( 'future' ); + + // http://www.w3.org/html/wg/drafts/html/master/editing.html#the-hidden-attribute + element.setAttribute( 'hidden', '' ); + element.setAttribute( 'aria-hidden', 'true' ); + + // If this element contains vertical slides + if( element.querySelector( 'section' ) ) { + element.classList.add( 'stack' ); + } + + // If we're printing static slides, all slides are "present" + if( printMode ) { + element.classList.add( 'present' ); + continue; + } + + if( i < index ) { + // Any element previous to index is given the 'past' class + element.classList.add( reverse ? 'future' : 'past' ); + + if( config.fragments ) { + var pastFragments = toArray( element.querySelectorAll( '.fragment' ) ); + + // Show all fragments on prior slides + while( pastFragments.length ) { + var pastFragment = pastFragments.pop(); + pastFragment.classList.add( 'visible' ); + pastFragment.classList.remove( 'current-fragment' ); + } + } + } + else if( i > index ) { + // Any element subsequent to index is given the 'future' class + element.classList.add( reverse ? 'past' : 'future' ); + + if( config.fragments ) { + var futureFragments = toArray( element.querySelectorAll( '.fragment.visible' ) ); + + // No fragments in future slides should be visible ahead of time + while( futureFragments.length ) { + var futureFragment = futureFragments.pop(); + futureFragment.classList.remove( 'visible' ); + futureFragment.classList.remove( 'current-fragment' ); + } + } + } + } + + // Mark the current slide as present + slides[index].classList.add( 'present' ); + slides[index].removeAttribute( 'hidden' ); + slides[index].removeAttribute( 'aria-hidden' ); + + // If this slide has a state associated with it, add it + // onto the current state of the deck + var slideState = slides[index].getAttribute( 'data-state' ); + if( slideState ) { + state = state.concat( slideState.split( ' ' ) ); + } + + } + else { + // Since there are no slides we can't be anywhere beyond the + // zeroth index + index = 0; + } + + return index; + + } + + /** + * Optimization method; hide all slides that are far away + * from the present slide. + */ + function updateSlidesVisibility() { + + // Select all slides and convert the NodeList result to + // an array + var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ), + horizontalSlidesLength = horizontalSlides.length, + distanceX, + distanceY; + + if( horizontalSlidesLength && typeof indexh !== 'undefined' ) { + + // The number of steps away from the present slide that will + // be visible + var viewDistance = isOverview() ? 10 : config.viewDistance; + + // Limit view distance on weaker devices + if( isMobileDevice ) { + viewDistance = isOverview() ? 6 : 2; + } + + // All slides need to be visible when exporting to PDF + if( isPrintingPDF() ) { + viewDistance = Number.MAX_VALUE; + } + + for( var x = 0; x < horizontalSlidesLength; x++ ) { + var horizontalSlide = horizontalSlides[x]; + + var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ), + verticalSlidesLength = verticalSlides.length; + + // Determine how far away this slide is from the present + distanceX = Math.abs( ( indexh || 0 ) - x ) || 0; + + // If the presentation is looped, distance should measure + // 1 between the first and last slides + if( config.loop ) { + distanceX = Math.abs( ( ( indexh || 0 ) - x ) % ( horizontalSlidesLength - viewDistance ) ) || 0; + } + + // Show the horizontal slide if it's within the view distance + if( distanceX < viewDistance ) { + loadSlide( horizontalSlide ); + } + else { + unloadSlide( horizontalSlide ); + } + + if( verticalSlidesLength ) { + + var oy = getPreviousVerticalIndex( horizontalSlide ); + + for( var y = 0; y < verticalSlidesLength; y++ ) { + var verticalSlide = verticalSlides[y]; + + distanceY = x === ( indexh || 0 ) ? Math.abs( ( indexv || 0 ) - y ) : Math.abs( y - oy ); + + if( distanceX + distanceY < viewDistance ) { + loadSlide( verticalSlide ); + } + else { + unloadSlide( verticalSlide ); + } + } + + } + } + + // Flag if there are ANY vertical slides, anywhere in the deck + if( dom.wrapper.querySelectorAll( '.slides>section>section' ).length ) { + dom.wrapper.classList.add( 'has-vertical-slides' ); + } + else { + dom.wrapper.classList.remove( 'has-vertical-slides' ); + } + + // Flag if there are ANY horizontal slides, anywhere in the deck + if( dom.wrapper.querySelectorAll( '.slides>section' ).length > 1 ) { + dom.wrapper.classList.add( 'has-horizontal-slides' ); + } + else { + dom.wrapper.classList.remove( 'has-horizontal-slides' ); + } + + } + + } + + /** + * Pick up notes from the current slide and display them + * to the viewer. + * + * @see {@link config.showNotes} + */ + function updateNotes() { + + if( config.showNotes && dom.speakerNotes && currentSlide && !isPrintingPDF() ) { + + dom.speakerNotes.innerHTML = getSlideNotes() || 'No notes on this slide.'; + + } + + } + + /** + * Updates the visibility of the speaker notes sidebar that + * is used to share annotated slides. The notes sidebar is + * only visible if showNotes is true and there are notes on + * one or more slides in the deck. + */ + function updateNotesVisibility() { + + if( config.showNotes && hasNotes() ) { + dom.wrapper.classList.add( 'show-notes' ); + } + else { + dom.wrapper.classList.remove( 'show-notes' ); + } + + } + + /** + * Checks if there are speaker notes for ANY slide in the + * presentation. + */ + function hasNotes() { + + return dom.slides.querySelectorAll( '[data-notes], aside.notes' ).length > 0; + + } + + /** + * Updates the progress bar to reflect the current slide. + */ + function updateProgress() { + + // Update progress if enabled + if( config.progress && dom.progressbar ) { + + dom.progressbar.style.width = getProgress() * dom.wrapper.offsetWidth + 'px'; + + } + + } + + + /** + * Updates the slide number div to reflect the current slide. + * + * The following slide number formats are available: + * "h.v": horizontal . vertical slide number (default) + * "h/v": horizontal / vertical slide number + * "c": flattened slide number + * "c/t": flattened slide number / total slides + */ + function updateSlideNumber() { + + // Update slide number if enabled + if( config.slideNumber && dom.slideNumber ) { + + var value = []; + var format = 'h.v'; + + // Check if a custom number format is available + if( typeof config.slideNumber === 'string' ) { + format = config.slideNumber; + } + + // If there are ONLY vertical slides in this deck, always use + // a flattened slide number + if( !/c/.test( format ) && dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ).length === 1 ) { + format = 'c'; + } + + switch( format ) { + case 'c': + value.push( getSlidePastCount() + 1 ); + break; + case 'c/t': + value.push( getSlidePastCount() + 1, '/', getTotalSlides() ); + break; + case 'h/v': + value.push( indexh + 1 ); + if( isVerticalSlide() ) value.push( '/', indexv + 1 ); + break; + default: + value.push( indexh + 1 ); + if( isVerticalSlide() ) value.push( '.', indexv + 1 ); + } + + dom.slideNumber.innerHTML = formatSlideNumber( value[0], value[1], value[2] ); + } + + } + + /** + * Applies HTML formatting to a slide number before it's + * written to the DOM. + * + * @param {number} a Current slide + * @param {string} delimiter Character to separate slide numbers + * @param {(number|*)} b Total slides + * @return {string} HTML string fragment + */ + function formatSlideNumber( a, delimiter, b ) { + + var url = '#' + locationHash(); + if( typeof b === 'number' && !isNaN( b ) ) { + return '' + + ''+ a +'' + + ''+ delimiter +'' + + ''+ b +'' + + ''; + } + else { + return '' + + ''+ a +'' + + ''; + } + + } + + /** + * Updates the state of all control/navigation arrows. + */ + function updateControls() { + + var routes = availableRoutes(); + var fragments = availableFragments(); + + // Remove the 'enabled' class from all directions + dom.controlsLeft.concat( dom.controlsRight ) + .concat( dom.controlsUp ) + .concat( dom.controlsDown ) + .concat( dom.controlsPrev ) + .concat( dom.controlsNext ).forEach( function( node ) { + node.classList.remove( 'enabled' ); + node.classList.remove( 'fragmented' ); + + // Set 'disabled' attribute on all directions + node.setAttribute( 'disabled', 'disabled' ); + } ); + + // Add the 'enabled' class to the available routes; remove 'disabled' attribute to enable buttons + if( routes.left ) dom.controlsLeft.forEach( function( el ) { el.classList.add( 'enabled' ); el.removeAttribute( 'disabled' ); } ); + if( routes.right ) dom.controlsRight.forEach( function( el ) { el.classList.add( 'enabled' ); el.removeAttribute( 'disabled' ); } ); + if( routes.up ) dom.controlsUp.forEach( function( el ) { el.classList.add( 'enabled' ); el.removeAttribute( 'disabled' ); } ); + if( routes.down ) dom.controlsDown.forEach( function( el ) { el.classList.add( 'enabled' ); el.removeAttribute( 'disabled' ); } ); + + // Prev/next buttons + if( routes.left || routes.up ) dom.controlsPrev.forEach( function( el ) { el.classList.add( 'enabled' ); el.removeAttribute( 'disabled' ); } ); + if( routes.right || routes.down ) dom.controlsNext.forEach( function( el ) { el.classList.add( 'enabled' ); el.removeAttribute( 'disabled' ); } ); + + // Highlight fragment directions + if( currentSlide ) { + + // Always apply fragment decorator to prev/next buttons + if( fragments.prev ) dom.controlsPrev.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); el.removeAttribute( 'disabled' ); } ); + if( fragments.next ) dom.controlsNext.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); el.removeAttribute( 'disabled' ); } ); + + // Apply fragment decorators to directional buttons based on + // what slide axis they are in + if( isVerticalSlide( currentSlide ) ) { + if( fragments.prev ) dom.controlsUp.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); el.removeAttribute( 'disabled' ); } ); + if( fragments.next ) dom.controlsDown.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); el.removeAttribute( 'disabled' ); } ); + } + else { + if( fragments.prev ) dom.controlsLeft.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); el.removeAttribute( 'disabled' ); } ); + if( fragments.next ) dom.controlsRight.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); el.removeAttribute( 'disabled' ); } ); + } + + } + + if( config.controlsTutorial ) { + + // Highlight control arrows with an animation to ensure + // that the viewer knows how to navigate + if( !hasNavigatedDown && routes.down ) { + dom.controlsDownArrow.classList.add( 'highlight' ); + } + else { + dom.controlsDownArrow.classList.remove( 'highlight' ); + + if( !hasNavigatedRight && routes.right && indexv === 0 ) { + dom.controlsRightArrow.classList.add( 'highlight' ); + } + else { + dom.controlsRightArrow.classList.remove( 'highlight' ); + } + } + + } + + } + + /** + * Updates the background elements to reflect the current + * slide. + * + * @param {boolean} includeAll If true, the backgrounds of + * all vertical slides (not just the present) will be updated. + */ + function updateBackground( includeAll ) { + + var currentBackground = null; + + // Reverse past/future classes when in RTL mode + var horizontalPast = config.rtl ? 'future' : 'past', + horizontalFuture = config.rtl ? 'past' : 'future'; + + // Update the classes of all backgrounds to match the + // states of their slides (past/present/future) + toArray( dom.background.childNodes ).forEach( function( backgroundh, h ) { + + backgroundh.classList.remove( 'past' ); + backgroundh.classList.remove( 'present' ); + backgroundh.classList.remove( 'future' ); + + if( h < indexh ) { + backgroundh.classList.add( horizontalPast ); + } + else if ( h > indexh ) { + backgroundh.classList.add( horizontalFuture ); + } + else { + backgroundh.classList.add( 'present' ); + + // Store a reference to the current background element + currentBackground = backgroundh; + } + + if( includeAll || h === indexh ) { + toArray( backgroundh.querySelectorAll( '.slide-background' ) ).forEach( function( backgroundv, v ) { + + backgroundv.classList.remove( 'past' ); + backgroundv.classList.remove( 'present' ); + backgroundv.classList.remove( 'future' ); + + if( v < indexv ) { + backgroundv.classList.add( 'past' ); + } + else if ( v > indexv ) { + backgroundv.classList.add( 'future' ); + } + else { + backgroundv.classList.add( 'present' ); + + // Only if this is the present horizontal and vertical slide + if( h === indexh ) currentBackground = backgroundv; + } + + } ); + } + + } ); + + // Stop content inside of previous backgrounds + if( previousBackground ) { + + stopEmbeddedContent( previousBackground ); + + } + + // Start content in the current background + if( currentBackground ) { + + startEmbeddedContent( currentBackground ); + + var backgroundImageURL = currentBackground.style.backgroundImage || ''; + + // Restart GIFs (doesn't work in Firefox) + if( /\.gif/i.test( backgroundImageURL ) ) { + currentBackground.style.backgroundImage = ''; + window.getComputedStyle( currentBackground ).opacity; + currentBackground.style.backgroundImage = backgroundImageURL; + } + + // Don't transition between identical backgrounds. This + // prevents unwanted flicker. + var previousBackgroundHash = previousBackground ? previousBackground.getAttribute( 'data-background-hash' ) : null; + var currentBackgroundHash = currentBackground.getAttribute( 'data-background-hash' ); + if( currentBackgroundHash && currentBackgroundHash === previousBackgroundHash && currentBackground !== previousBackground ) { + dom.background.classList.add( 'no-transition' ); + } + + previousBackground = currentBackground; + + } + + // If there's a background brightness flag for this slide, + // bubble it to the .reveal container + if( currentSlide ) { + [ 'has-light-background', 'has-dark-background' ].forEach( function( classToBubble ) { + if( currentSlide.classList.contains( classToBubble ) ) { + dom.wrapper.classList.add( classToBubble ); + } + else { + dom.wrapper.classList.remove( classToBubble ); + } + } ); + } + + // Allow the first background to apply without transition + setTimeout( function() { + dom.background.classList.remove( 'no-transition' ); + }, 1 ); + + } + + /** + * Updates the position of the parallax background based + * on the current slide index. + */ + function updateParallax() { + + if( config.parallaxBackgroundImage ) { + + var horizontalSlides = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ), + verticalSlides = dom.wrapper.querySelectorAll( VERTICAL_SLIDES_SELECTOR ); + + var backgroundSize = dom.background.style.backgroundSize.split( ' ' ), + backgroundWidth, backgroundHeight; + + if( backgroundSize.length === 1 ) { + backgroundWidth = backgroundHeight = parseInt( backgroundSize[0], 10 ); + } + else { + backgroundWidth = parseInt( backgroundSize[0], 10 ); + backgroundHeight = parseInt( backgroundSize[1], 10 ); + } + + var slideWidth = dom.background.offsetWidth, + horizontalSlideCount = horizontalSlides.length, + horizontalOffsetMultiplier, + horizontalOffset; + + if( typeof config.parallaxBackgroundHorizontal === 'number' ) { + horizontalOffsetMultiplier = config.parallaxBackgroundHorizontal; + } + else { + horizontalOffsetMultiplier = horizontalSlideCount > 1 ? ( backgroundWidth - slideWidth ) / ( horizontalSlideCount-1 ) : 0; + } + + horizontalOffset = horizontalOffsetMultiplier * indexh * -1; + + var slideHeight = dom.background.offsetHeight, + verticalSlideCount = verticalSlides.length, + verticalOffsetMultiplier, + verticalOffset; + + if( typeof config.parallaxBackgroundVertical === 'number' ) { + verticalOffsetMultiplier = config.parallaxBackgroundVertical; + } + else { + verticalOffsetMultiplier = ( backgroundHeight - slideHeight ) / ( verticalSlideCount-1 ); + } + + verticalOffset = verticalSlideCount > 0 ? verticalOffsetMultiplier * indexv : 0; + + dom.background.style.backgroundPosition = horizontalOffset + 'px ' + -verticalOffset + 'px'; + + } + + } + + /** + * Called when the given slide is within the configured view + * distance. Shows the slide element and loads any content + * that is set to load lazily (data-src). + * + * @param {HTMLElement} slide Slide to show + */ + function loadSlide( slide, options ) { + + options = options || {}; + + // Show the slide element + slide.style.display = config.display; + + // Media elements with data-src attributes + toArray( slide.querySelectorAll( 'img[data-src], video[data-src], audio[data-src]' ) ).forEach( function( element ) { + element.setAttribute( 'src', element.getAttribute( 'data-src' ) ); + element.setAttribute( 'data-lazy-loaded', '' ); + element.removeAttribute( 'data-src' ); + } ); + + // Media elements with children + toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( media ) { + var sources = 0; + + toArray( media.querySelectorAll( 'source[data-src]' ) ).forEach( function( source ) { + source.setAttribute( 'src', source.getAttribute( 'data-src' ) ); + source.removeAttribute( 'data-src' ); + source.setAttribute( 'data-lazy-loaded', '' ); + sources += 1; + } ); + + // If we rewrote sources for this video/audio element, we need + // to manually tell it to load from its new origin + if( sources > 0 ) { + media.load(); + } + } ); + + + // Show the corresponding background element + var background = slide.slideBackgroundElement; + if( background ) { + background.style.display = 'block'; + + var backgroundContent = slide.slideBackgroundContentElement; + + // If the background contains media, load it + if( background.hasAttribute( 'data-loaded' ) === false ) { + background.setAttribute( 'data-loaded', 'true' ); + + var backgroundImage = slide.getAttribute( 'data-background-image' ), + backgroundVideo = slide.getAttribute( 'data-background-video' ), + backgroundVideoLoop = slide.hasAttribute( 'data-background-video-loop' ), + backgroundVideoMuted = slide.hasAttribute( 'data-background-video-muted' ), + backgroundIframe = slide.getAttribute( 'data-background-iframe' ); + + // Images + if( backgroundImage ) { + backgroundContent.style.backgroundImage = 'url('+ encodeURI( backgroundImage ) +')'; + } + // Videos + else if ( backgroundVideo && !isSpeakerNotes() ) { + var video = document.createElement( 'video' ); + + if( backgroundVideoLoop ) { + video.setAttribute( 'loop', '' ); + } + + if( backgroundVideoMuted ) { + video.muted = true; + } + + // Inline video playback works (at least in Mobile Safari) as + // long as the video is muted and the `playsinline` attribute is + // present + if( isMobileDevice ) { + video.muted = true; + video.autoplay = true; + video.setAttribute( 'playsinline', '' ); + } + + // Support comma separated lists of video sources + backgroundVideo.split( ',' ).forEach( function( source ) { + video.innerHTML += ''; + } ); + + backgroundContent.appendChild( video ); + } + // Iframes + else if( backgroundIframe && options.excludeIframes !== true ) { + var iframe = document.createElement( 'iframe' ); + iframe.setAttribute( 'allowfullscreen', '' ); + iframe.setAttribute( 'mozallowfullscreen', '' ); + iframe.setAttribute( 'webkitallowfullscreen', '' ); + + // Only load autoplaying content when the slide is shown to + // avoid having it play in the background + if( /autoplay=(1|true|yes)/gi.test( backgroundIframe ) ) { + iframe.setAttribute( 'data-src', backgroundIframe ); + } + else { + iframe.setAttribute( 'src', backgroundIframe ); + } + + iframe.style.width = '100%'; + iframe.style.height = '100%'; + iframe.style.maxHeight = '100%'; + iframe.style.maxWidth = '100%'; + + backgroundContent.appendChild( iframe ); + } + } + + } + + } + + /** + * Unloads and hides the given slide. This is called when the + * slide is moved outside of the configured view distance. + * + * @param {HTMLElement} slide + */ + function unloadSlide( slide ) { + + // Hide the slide element + slide.style.display = 'none'; + + // Hide the corresponding background element + var background = getSlideBackground( slide ); + if( background ) { + background.style.display = 'none'; + } + + // Reset lazy-loaded media elements with src attributes + toArray( slide.querySelectorAll( 'video[data-lazy-loaded][src], audio[data-lazy-loaded][src]' ) ).forEach( function( element ) { + element.setAttribute( 'data-src', element.getAttribute( 'src' ) ); + element.removeAttribute( 'src' ); + } ); + + // Reset lazy-loaded media elements with children + toArray( slide.querySelectorAll( 'video[data-lazy-loaded] source[src], audio source[src]' ) ).forEach( function( source ) { + source.setAttribute( 'data-src', source.getAttribute( 'src' ) ); + source.removeAttribute( 'src' ); + } ); + + } + + /** + * Determine what available routes there are for navigation. + * + * @return {{left: boolean, right: boolean, up: boolean, down: boolean}} + */ + function availableRoutes() { + + var horizontalSlides = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ), + verticalSlides = dom.wrapper.querySelectorAll( VERTICAL_SLIDES_SELECTOR ); + + var routes = { + left: indexh > 0, + right: indexh < horizontalSlides.length - 1, + up: indexv > 0, + down: indexv < verticalSlides.length - 1 + }; + + // Looped presentations can always be navigated as long as + // there are slides available + if( config.loop ) { + if( horizontalSlides.length > 1 ) { + routes.left = true; + routes.right = true; + } + + if( verticalSlides.length > 1 ) { + routes.up = true; + routes.down = true; + } + } + + // Reverse horizontal controls for rtl + if( config.rtl ) { + var left = routes.left; + routes.left = routes.right; + routes.right = left; + } + + return routes; + + } + + /** + * Returns an object describing the available fragment + * directions. + * + * @return {{prev: boolean, next: boolean}} + */ + function availableFragments() { + + if( currentSlide && config.fragments ) { + var fragments = currentSlide.querySelectorAll( '.fragment' ); + var hiddenFragments = currentSlide.querySelectorAll( '.fragment:not(.visible)' ); + + return { + prev: fragments.length - hiddenFragments.length > 0, + next: !!hiddenFragments.length + }; + } + else { + return { prev: false, next: false }; + } + + } + + /** + * Enforces origin-specific format rules for embedded media. + */ + function formatEmbeddedContent() { + + var _appendParamToIframeSource = function( sourceAttribute, sourceURL, param ) { + toArray( dom.slides.querySelectorAll( 'iframe['+ sourceAttribute +'*="'+ sourceURL +'"]' ) ).forEach( function( el ) { + var src = el.getAttribute( sourceAttribute ); + if( src && src.indexOf( param ) === -1 ) { + el.setAttribute( sourceAttribute, src + ( !/\?/.test( src ) ? '?' : '&' ) + param ); + } + }); + }; + + // YouTube frames must include "?enablejsapi=1" + _appendParamToIframeSource( 'src', 'youtube.com/embed/', 'enablejsapi=1' ); + _appendParamToIframeSource( 'data-src', 'youtube.com/embed/', 'enablejsapi=1' ); + + // Vimeo frames must include "?api=1" + _appendParamToIframeSource( 'src', 'player.vimeo.com/', 'api=1' ); + _appendParamToIframeSource( 'data-src', 'player.vimeo.com/', 'api=1' ); + + // Always show media controls on mobile devices + if( isMobileDevice ) { + toArray( dom.slides.querySelectorAll( 'video, audio' ) ).forEach( function( el ) { + el.controls = true; + } ); + } + + } + + /** + * Start playback of any embedded content inside of + * the given element. + * + * @param {HTMLElement} element + */ + function startEmbeddedContent( element ) { + + if( element && !isSpeakerNotes() ) { + + // Restart GIFs + toArray( element.querySelectorAll( 'img[src$=".gif"]' ) ).forEach( function( el ) { + // Setting the same unchanged source like this was confirmed + // to work in Chrome, FF & Safari + el.setAttribute( 'src', el.getAttribute( 'src' ) ); + } ); + + // HTML5 media elements + toArray( element.querySelectorAll( 'video, audio' ) ).forEach( function( el ) { + if( closestParent( el, '.fragment' ) && !closestParent( el, '.fragment.visible' ) ) { + return; + } + + // Prefer an explicit global autoplay setting + var autoplay = config.autoPlayMedia; + + // If no global setting is available, fall back on the element's + // own autoplay setting + if( typeof autoplay !== 'boolean' ) { + autoplay = el.hasAttribute( 'data-autoplay' ) || !!closestParent( el, '.slide-background' ); + } + + if( autoplay && typeof el.play === 'function' ) { + + // If the media is ready, start playback + if( el.readyState > 1 ) { + startEmbeddedMedia( { target: el } ); + } + // Mobile devices never fire a loaded event so instead + // of waiting, we initiate playback + else if( isMobileDevice ) { + el.play(); + } + // If the media isn't loaded, wait before playing + else { + el.removeEventListener( 'loadeddata', startEmbeddedMedia ); // remove first to avoid dupes + el.addEventListener( 'loadeddata', startEmbeddedMedia ); + } + + } + } ); + + // Normal iframes + toArray( element.querySelectorAll( 'iframe[src]' ) ).forEach( function( el ) { + if( closestParent( el, '.fragment' ) && !closestParent( el, '.fragment.visible' ) ) { + return; + } + + startEmbeddedIframe( { target: el } ); + } ); + + // Lazy loading iframes + toArray( element.querySelectorAll( 'iframe[data-src]' ) ).forEach( function( el ) { + if( closestParent( el, '.fragment' ) && !closestParent( el, '.fragment.visible' ) ) { + return; + } + + if( el.getAttribute( 'src' ) !== el.getAttribute( 'data-src' ) ) { + el.removeEventListener( 'load', startEmbeddedIframe ); // remove first to avoid dupes + el.addEventListener( 'load', startEmbeddedIframe ); + el.setAttribute( 'src', el.getAttribute( 'data-src' ) ); + } + } ); + + } + + } + + /** + * Starts playing an embedded video/audio element after + * it has finished loading. + * + * @param {object} event + */ + function startEmbeddedMedia( event ) { + + var isAttachedToDOM = !!closestParent( event.target, 'html' ), + isVisible = !!closestParent( event.target, '.present' ); + + if( isAttachedToDOM && isVisible ) { + event.target.currentTime = 0; + event.target.play(); + } + + event.target.removeEventListener( 'loadeddata', startEmbeddedMedia ); + + } + + /** + * "Starts" the content of an embedded iframe using the + * postMessage API. + * + * @param {object} event + */ + function startEmbeddedIframe( event ) { + + var iframe = event.target; + + if( iframe && iframe.contentWindow ) { + + var isAttachedToDOM = !!closestParent( event.target, 'html' ), + isVisible = !!closestParent( event.target, '.present' ); + + if( isAttachedToDOM && isVisible ) { + + // Prefer an explicit global autoplay setting + var autoplay = config.autoPlayMedia; + + // If no global setting is available, fall back on the element's + // own autoplay setting + if( typeof autoplay !== 'boolean' ) { + autoplay = iframe.hasAttribute( 'data-autoplay' ) || !!closestParent( iframe, '.slide-background' ); + } + + // YouTube postMessage API + if( /youtube\.com\/embed\//.test( iframe.getAttribute( 'src' ) ) && autoplay ) { + iframe.contentWindow.postMessage( '{"event":"command","func":"playVideo","args":""}', '*' ); + } + // Vimeo postMessage API + else if( /player\.vimeo\.com\//.test( iframe.getAttribute( 'src' ) ) && autoplay ) { + iframe.contentWindow.postMessage( '{"method":"play"}', '*' ); + } + // Generic postMessage API + else { + iframe.contentWindow.postMessage( 'slide:start', '*' ); + } + + } + + } + + } + + /** + * Stop playback of any embedded content inside of + * the targeted slide. + * + * @param {HTMLElement} element + */ + function stopEmbeddedContent( element, options ) { + + options = extend( { + // Defaults + unloadIframes: true + }, options || {} ); + + if( element && element.parentNode ) { + // HTML5 media elements + toArray( element.querySelectorAll( 'video, audio' ) ).forEach( function( el ) { + if( !el.hasAttribute( 'data-ignore' ) && typeof el.pause === 'function' ) { + el.setAttribute('data-paused-by-reveal', ''); + el.pause(); + } + } ); + + // Generic postMessage API for non-lazy loaded iframes + toArray( element.querySelectorAll( 'iframe' ) ).forEach( function( el ) { + if( el.contentWindow ) el.contentWindow.postMessage( 'slide:stop', '*' ); + el.removeEventListener( 'load', startEmbeddedIframe ); + }); + + // YouTube postMessage API + toArray( element.querySelectorAll( 'iframe[src*="youtube.com/embed/"]' ) ).forEach( function( el ) { + if( !el.hasAttribute( 'data-ignore' ) && el.contentWindow && typeof el.contentWindow.postMessage === 'function' ) { + el.contentWindow.postMessage( '{"event":"command","func":"pauseVideo","args":""}', '*' ); + } + }); + + // Vimeo postMessage API + toArray( element.querySelectorAll( 'iframe[src*="player.vimeo.com/"]' ) ).forEach( function( el ) { + if( !el.hasAttribute( 'data-ignore' ) && el.contentWindow && typeof el.contentWindow.postMessage === 'function' ) { + el.contentWindow.postMessage( '{"method":"pause"}', '*' ); + } + }); + + if( options.unloadIframes === true ) { + // Unload lazy-loaded iframes + toArray( element.querySelectorAll( 'iframe[data-src]' ) ).forEach( function( el ) { + // Only removing the src doesn't actually unload the frame + // in all browsers (Firefox) so we set it to blank first + el.setAttribute( 'src', 'about:blank' ); + el.removeAttribute( 'src' ); + } ); + } + } + + } + + /** + * Returns the number of past slides. This can be used as a global + * flattened index for slides. + * + * @return {number} Past slide count + */ + function getSlidePastCount() { + + var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); + + // The number of past slides + var pastCount = 0; + + // Step through all slides and count the past ones + mainLoop: for( var i = 0; i < horizontalSlides.length; i++ ) { + + var horizontalSlide = horizontalSlides[i]; + var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ); + + for( var j = 0; j < verticalSlides.length; j++ ) { + + // Stop as soon as we arrive at the present + if( verticalSlides[j].classList.contains( 'present' ) ) { + break mainLoop; + } + + pastCount++; + + } + + // Stop as soon as we arrive at the present + if( horizontalSlide.classList.contains( 'present' ) ) { + break; + } + + // Don't count the wrapping section for vertical slides + if( horizontalSlide.classList.contains( 'stack' ) === false ) { + pastCount++; + } + + } + + return pastCount; + + } + + /** + * Returns a value ranging from 0-1 that represents + * how far into the presentation we have navigated. + * + * @return {number} + */ + function getProgress() { + + // The number of past and total slides + var totalCount = getTotalSlides(); + var pastCount = getSlidePastCount(); + + if( currentSlide ) { + + var allFragments = currentSlide.querySelectorAll( '.fragment' ); + + // If there are fragments in the current slide those should be + // accounted for in the progress. + if( allFragments.length > 0 ) { + var visibleFragments = currentSlide.querySelectorAll( '.fragment.visible' ); + + // This value represents how big a portion of the slide progress + // that is made up by its fragments (0-1) + var fragmentWeight = 0.9; + + // Add fragment progress to the past slide count + pastCount += ( visibleFragments.length / allFragments.length ) * fragmentWeight; + } + + } + + return pastCount / ( totalCount - 1 ); + + } + + /** + * Checks if this presentation is running inside of the + * speaker notes window. + * + * @return {boolean} + */ + function isSpeakerNotes() { + + return !!window.location.search.match( /receiver/gi ); + + } + + /** + * Reads the current URL (hash) and navigates accordingly. + */ + function readURL() { + + var hash = window.location.hash; + + // Attempt to parse the hash as either an index or name + var bits = hash.slice( 2 ).split( '/' ), + name = hash.replace( /#|\//gi, '' ); + + // If the first bit is invalid and there is a name we can + // assume that this is a named link + if( isNaN( parseInt( bits[0], 10 ) ) && name.length ) { + var element; + + // Ensure the named link is a valid HTML ID attribute + try { + element = document.getElementById( decodeURIComponent( name ) ); + } + catch ( error ) { } + + // Ensure that we're not already on a slide with the same name + var isSameNameAsCurrentSlide = currentSlide ? currentSlide.getAttribute( 'id' ) === name : false; + + if( element && !isSameNameAsCurrentSlide ) { + // Find the position of the named slide and navigate to it + var indices = Reveal.getIndices( element ); + slide( indices.h, indices.v ); + } + // If the slide doesn't exist, navigate to the current slide + else { + slide( indexh || 0, indexv || 0 ); + } + } + else { + var hashIndexBase = config.hashOneBasedIndex ? 1 : 0; + + // Read the index components of the hash + var h = ( parseInt( bits[0], 10 ) - hashIndexBase ) || 0, + v = ( parseInt( bits[1], 10 ) - hashIndexBase ) || 0, + f; + + if( config.fragmentInURL ) { + f = parseInt( bits[2], 10 ); + if( isNaN( f ) ) { + f = undefined; + } + } + + if( h !== indexh || v !== indexv || f !== undefined ) { + slide( h, v, f ); + } + } + + } + + /** + * Updates the page URL (hash) to reflect the current + * state. + * + * @param {number} delay The time in ms to wait before + * writing the hash + */ + function writeURL( delay ) { + + if( config.history ) { + + // Make sure there's never more than one timeout running + clearTimeout( writeURLTimeout ); + + // If a delay is specified, timeout this call + if( typeof delay === 'number' ) { + writeURLTimeout = setTimeout( writeURL, delay ); + } + else if( currentSlide ) { + window.location.hash = locationHash(); + } + } + + } + /** + * Retrieves the h/v location and fragment of the current, + * or specified, slide. + * + * @param {HTMLElement} [slide] If specified, the returned + * index will be for this slide rather than the currently + * active one + * + * @return {{h: number, v: number, f: number}} + */ + function getIndices( slide ) { + + // By default, return the current indices + var h = indexh, + v = indexv, + f; + + // If a slide is specified, return the indices of that slide + if( slide ) { + var isVertical = isVerticalSlide( slide ); + var slideh = isVertical ? slide.parentNode : slide; + + // Select all horizontal slides + var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); + + // Now that we know which the horizontal slide is, get its index + h = Math.max( horizontalSlides.indexOf( slideh ), 0 ); + + // Assume we're not vertical + v = undefined; + + // If this is a vertical slide, grab the vertical index + if( isVertical ) { + v = Math.max( toArray( slide.parentNode.querySelectorAll( 'section' ) ).indexOf( slide ), 0 ); + } + } + + if( !slide && currentSlide ) { + var hasFragments = currentSlide.querySelectorAll( '.fragment' ).length > 0; + if( hasFragments ) { + var currentFragment = currentSlide.querySelector( '.current-fragment' ); + if( currentFragment && currentFragment.hasAttribute( 'data-fragment-index' ) ) { + f = parseInt( currentFragment.getAttribute( 'data-fragment-index' ), 10 ); + } + else { + f = currentSlide.querySelectorAll( '.fragment.visible' ).length - 1; + } + } + } + + return { h: h, v: v, f: f }; + + } + + /** + * Retrieves all slides in this presentation. + */ + function getSlides() { + + return toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR + ':not(.stack)' )); + + } + + /** + * Retrieves the total number of slides in this presentation. + * + * @return {number} + */ + function getTotalSlides() { + + return getSlides().length; + + } + + /** + * Returns the slide element matching the specified index. + * + * @return {HTMLElement} + */ + function getSlide( x, y ) { + + var horizontalSlide = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR )[ x ]; + var verticalSlides = horizontalSlide && horizontalSlide.querySelectorAll( 'section' ); + + if( verticalSlides && verticalSlides.length && typeof y === 'number' ) { + return verticalSlides ? verticalSlides[ y ] : undefined; + } + + return horizontalSlide; + + } + + /** + * Returns the background element for the given slide. + * All slides, even the ones with no background properties + * defined, have a background element so as long as the + * index is valid an element will be returned. + * + * @param {mixed} x Horizontal background index OR a slide + * HTML element + * @param {number} y Vertical background index + * @return {(HTMLElement[]|*)} + */ + function getSlideBackground( x, y ) { + + var slide = typeof x === 'number' ? getSlide( x, y ) : x; + if( slide ) { + return slide.slideBackgroundElement; + } + + return undefined; + + } + + /** + * Retrieves the speaker notes from a slide. Notes can be + * defined in two ways: + * 1. As a data-notes attribute on the slide
+ * 2. As an