From 03abcbb73a87d7d27f8b704293a9e3555c5d994f Mon Sep 17 00:00:00 2001
From: PRUVOST Florent <florent.pruvost@inria.fr>
Date: Thu, 5 Nov 2020 09:43:49 +0100
Subject: [PATCH] Update the benchmark configuration to integrate Nmad
 experiments and fix the guix environement

Remove extra line
---
 .gitlab/bench_plafrim.yml                     |   26 +-
 .gitlab/pages.yml                             |   11 +-
 .gitmodules                                   |    3 +
 doc/orgmode/CMakeLists.txt                    |   12 +-
 doc/orgmode/chapters/performances.org         |   65 +
 doc/orgmode/css/htmlize.css                   |  145 -
 doc/orgmode/css/readtheorg.css                | 1092 -----
 doc/orgmode/css/rtd-full.css                  | 3910 -----------------
 doc/orgmode/org-html-themes                   |    1 +
 doc/orgmode/users_guide.org.in                |   12 +-
 tools/bench/jube/GenFigures.R                 |  175 +
 tools/bench/jube/get_result.py                |   58 +
 .../plafrim/parameters/miriel/parameters.xml  |   54 -
 .../plafrim/parameters/sirocco/parameters.xml |    8 +-
 tools/bench/plafrim/run.sh                    |   25 +-
 tools/pages.sh                                |   61 +
 16 files changed, 394 insertions(+), 5264 deletions(-)
 create mode 100644 doc/orgmode/chapters/performances.org
 delete mode 100644 doc/orgmode/css/htmlize.css
 delete mode 100644 doc/orgmode/css/readtheorg.css
 delete mode 100644 doc/orgmode/css/rtd-full.css
 create mode 160000 doc/orgmode/org-html-themes
 create mode 100644 tools/bench/jube/GenFigures.R
 create mode 100755 tools/bench/jube/get_result.py
 delete mode 100644 tools/bench/plafrim/parameters/miriel/parameters.xml
 create mode 100755 tools/pages.sh

diff --git a/.gitlab/bench_plafrim.yml b/.gitlab/bench_plafrim.yml
index 4c9cb4394..4102f3214 100644
--- a/.gitlab/bench_plafrim.yml
+++ b/.gitlab/bench_plafrim.yml
@@ -7,36 +7,18 @@ bench_plafrim_bora_openmpi:
     JUBE_ID: "000001"
   extends: .bench_plafrim_common
 
-bench_plafrim_miriel_openmpi:
-  variables:
-    NODE: miriel
-    MPI: openmpi
-    SLURM_NP: 9
-    JUBE_ID: "000002"
-  extends: .bench_plafrim_common
-
-# Nmad segfaults for now, waiting for a stable version
-.bench_plafrim_bora_nmad:
+bench_plafrim_bora_nmad:
   variables:
     NODE: bora
     MPI: nmad
     SLURM_NP: 9
-    JUBE_ID: "000003"
-  extends: .bench_plafrim_common
-
-.bench_plafrim_miriel_nmad:
-  variables:
-    NODE: miriel
-    MPI: nmad
-    SLURM_NP: 9
-    JUBE_ID: "000004"
+    JUBE_ID: "000002"
   extends: .bench_plafrim_common
 
-# Chameleon+CUDA in Guix is not working yet
-.bench_plafrim_sirocco_openmpi:
+bench_plafrim_sirocco_openmpi:
   variables:
     NODE: sirocco
     MPI: openmpi
     SLURM_NP: 1
-    JUBE_ID: "000005"
+    JUBE_ID: "000003"
   extends: .bench_plafrim_common
\ No newline at end of file
diff --git a/.gitlab/pages.yml b/.gitlab/pages.yml
index 9373abd47..559a67642 100644
--- a/.gitlab/pages.yml
+++ b/.gitlab/pages.yml
@@ -11,14 +11,7 @@ pages:
   variables:
     VERSION: pages
   script:
-    - cd build-$VERSION
-    - cmake .. -DCHAMELEON_ENABLE_DOC=ON
-    - make doc -j5
-    - mv doc/orgmode/ ../public/
-    - ln -s ../public/users_guide.html ../public/index.html
-    - mv doc/doxygen/out/html/ ../public/doxygen/
+    - ./tools/pages.sh
   only:
     - master@solverstack/chameleon
-    - /^ci-.*$/
-  except:
-    - schedules
+    - /^ci.*$/
diff --git a/.gitmodules b/.gitmodules
index 86c9e98e1..75281289e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -4,3 +4,6 @@
 [submodule "hqr"]
 	path = hqr
 	url = https://gitlab.inria.fr/solverstack/hqr.git
+[submodule "doc/orgmode/org-html-themes"]
+	path = doc/orgmode/org-html-themes
+	url = https://github.com/fniessen/org-html-themes.git
diff --git a/doc/orgmode/CMakeLists.txt b/doc/orgmode/CMakeLists.txt
index c85509772..978d70d78 100644
--- a/doc/orgmode/CMakeLists.txt
+++ b/doc/orgmode/CMakeLists.txt
@@ -62,12 +62,12 @@ FIND_PROGRAM(TEX_COMPILER tex)
 
 if(EMACS_COMPILER)
 
-    # css directory is required for the html output
-    add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/css
+    # org-html-themes directory is required for the html output
+    add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/org-html-themes
                        COMMAND ${CMAKE_COMMAND} -E copy_directory
-                               ${CMAKE_CURRENT_SOURCE_DIR}/css
-                               ${CMAKE_CURRENT_BINARY_DIR}/css
-                       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/css)
+                               ${CMAKE_CURRENT_SOURCE_DIR}/org-html-themes
+                               ${CMAKE_CURRENT_BINARY_DIR}/org-html-themes
+                       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/org-html-themes)
 
     # Add target
     # ----------
@@ -80,7 +80,7 @@ if(EMACS_COMPILER)
                                --kill
                        DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/users_guide.org
                                ${CMAKE_CURRENT_BINARY_DIR}/version.org
-                               ${CMAKE_CURRENT_BINARY_DIR}/css)
+                               ${CMAKE_CURRENT_BINARY_DIR}/org-html-themes)
     add_custom_command(OUTPUT  users_guide.pdf
                        COMMAND ${EMACS_COMPILER}
                        ARGS    ${CMAKE_CURRENT_BINARY_DIR}/users_guide.org
diff --git a/doc/orgmode/chapters/performances.org b/doc/orgmode/chapters/performances.org
new file mode 100644
index 000000000..860f52346
--- /dev/null
+++ b/doc/orgmode/chapters/performances.org
@@ -0,0 +1,65 @@
+# This file is part of the Chameleon User's Guide.
+# Copyright (C) 2020 Inria
+# See the file ../users_guide.org for copying conditions.
+
+Show performances on [[https://www.plafrim.fr/][PlaFRIM]] supercomputer.
+
+See [[https://www.plafrim.fr/hardware-documentation/][characteristics]] to get details about the hardwares.
+
+See script ~tools/bench/plafrim/run.sh~ to get details about the environment (Guix, Slurm,
+etc) and the build.
+
+Chameleon is run this way:
+#+begin_src sh
+mpiexec -np $nmpi $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b
+#+end_src
+- runtime : *starpu*
+- precision : *s* or *d* for simple or double precision
+- algorithm : *gemm* or *potrf* or *geqrf_hqr*
+- nmpi = p x p
+- nthr : depends on the node
+- ngpu : depends on the node
+- m = n = k
+- b : depends on the node
+** bora (36 CPUs) nodes
+   - nmpi = *1*, *4*, *9*
+   - 2D block cyclic parameters : PxQ = 1x1, 2x2 and 3x3
+   - Number of threads (t) = *34*, one CPU being dedicated for the
+     scheduler and one other for MPI communications
+   - Number of GPUs = *0*
+   - Tile Size (b) = *280*
+*** CPU times
+    #+CAPTION: Performances in CPU time of GEMM, POTRF and QR on bora nodes
+    #+NAME: fig:chameleon_plafrim_bora_time_openmpi
+    #+ATTR_HTML: :align center :width 75%
+    [[file:chameleon_plafrim_bora_time_openmpi.png]]
+
+*** GFLOP/s
+    #+CAPTION: Performances in GFlop/s of GEMM, POTRF and QR on bora nodes
+    #+NAME: fig:chameleon_plafrim_bora_perf_openmpi
+    #+ATTR_HTML: :align center :width 75%
+    [[file:chameleon_plafrim_bora_perf_openmpi.png]]
+
+** sirocco [14-17] (32 CPUs + 2 GPUs V100) nodes
+   - nmpi = *1*
+   - 2D block cyclic parameters : PxQ = 1x1
+   - Number of threads (t) = *29*, one CPU being dedicated for the
+     scheduler and two others for the 2 GPUs
+   - Number of GPUs = *2*
+   - Tile Size (b) = *1600*
+    #+CAPTION: Performances in CPU time of GEMM, POTRF and QR on sirocco nodes
+    #+NAME: fig:chameleon_plafrim_sirocco
+    #+ATTR_HTML: :align center :width 75%
+    [[file:chameleon_plafrim_sirocco.png]]
+
+# *** CPU times
+#     #+CAPTION: Performances in CPU time of GEMM, POTRF and QR on sirocco nodes
+#     #+NAME: fig:chameleon_plafrim_sirocco_openmpi_time
+#     #+ATTR_HTML: :align center :height 1024
+#     [[file:chameleon_plafrim_sirocco_openmpi_time.png]]
+#
+# *** GFLOP/s
+#     #+CAPTION: Performances in GFlop/s of GEMM, POTRF and QR on sirocco nodes
+#     #+NAME: fig:chameleon_plafrim_sirocco_openmpi_perf
+#     #+ATTR_HTML: :align center :height 1024
+#     [[file:chameleon_plafrim_sirocco_openmpi_perf.png]]
diff --git a/doc/orgmode/css/htmlize.css b/doc/orgmode/css/htmlize.css
deleted file mode 100644
index 0b32a030a..000000000
--- a/doc/orgmode/css/htmlize.css
+++ /dev/null
@@ -1,145 +0,0 @@
-.org-bold { /* bold */ font-weight: bold; }
-.org-bold-italic { /* bold-italic */ font-weight: bold; font-style: italic; }
-.org-buffer-menu-buffer { /* buffer-menu-buffer */ font-weight: bold; }
-.org-builtin { /* font-lock-builtin-face */ color: #7a378b; }
-.org-button { /* button */ text-decoration: underline; }
-.org-calendar-today { /* calendar-today */ text-decoration: underline; }
-.org-change-log-acknowledgement { /* change-log-acknowledgement */ color: #b22222; }
-.org-change-log-conditionals { /* change-log-conditionals */ color: #a0522d; }
-.org-change-log-date { /* change-log-date */ color: #8b2252; }
-.org-change-log-email { /* change-log-email */ color: #a0522d; }
-.org-change-log-file { /* change-log-file */ color: #0000ff; }
-.org-change-log-function { /* change-log-function */ color: #a0522d; }
-.org-change-log-list { /* change-log-list */ color: #a020f0; }
-.org-change-log-name { /* change-log-name */ color: #008b8b; }
-.org-comint-highlight-input { /* comint-highlight-input */ font-weight: bold; }
-.org-comint-highlight-prompt { /* comint-highlight-prompt */ color: #00008b; }
-.org-comment { /* font-lock-comment-face */ color: #999988; font-style: italic; }
-.org-comment-delimiter { /* font-lock-comment-delimiter-face */ color: #999988; font-style: italic; }
-.org-completions-annotations { /* completions-annotations */ font-style: italic; }
-.org-completions-common-part { /* completions-common-part */ color: #000000; background-color: #ffffff; }
-.org-completions-first-difference { /* completions-first-difference */ font-weight: bold; }
-.org-constant { /* font-lock-constant-face */ color: #008b8b; }
-.org-diary { /* diary */ color: #ff0000; }
-.org-diff-context { /* diff-context */ color: #7f7f7f; }
-.org-diff-file-header { /* diff-file-header */ background-color: #b3b3b3; font-weight: bold; }
-.org-diff-function { /* diff-function */ background-color: #cccccc; }
-.org-diff-header { /* diff-header */ background-color: #cccccc; }
-.org-diff-hunk-header { /* diff-hunk-header */ background-color: #cccccc; }
-.org-diff-index { /* diff-index */ background-color: #b3b3b3; font-weight: bold; }
-.org-diff-nonexistent { /* diff-nonexistent */ background-color: #b3b3b3; font-weight: bold; }
-.org-diff-refine-change { /* diff-refine-change */ background-color: #d9d9d9; }
-.org-dired-directory { /* dired-directory */ color: #0000ff; }
-.org-dired-flagged { /* dired-flagged */ color: #ff0000; font-weight: bold; }
-.org-dired-header { /* dired-header */ color: #228b22; }
-.org-dired-ignored { /* dired-ignored */ color: #7f7f7f; }
-.org-dired-mark { /* dired-mark */ color: #008b8b; }
-.org-dired-marked { /* dired-marked */ color: #ff0000; font-weight: bold; }
-.org-dired-perm-write { /* dired-perm-write */ color: #b22222; }
-.org-dired-symlink { /* dired-symlink */ color: #a020f0; }
-.org-dired-warning { /* dired-warning */ color: #ff0000; font-weight: bold; }
-.org-doc { /* font-lock-doc-face */ color: #8b2252; }
-.org-escape-glyph { /* escape-glyph */ color: #a52a2a; }
-.org-file-name-shadow { /* file-name-shadow */ color: #7f7f7f; }
-.org-flyspell-duplicate { /* flyspell-duplicate */ color: #cdad00; font-weight: bold; text-decoration: underline; }
-.org-flyspell-incorrect { /* flyspell-incorrect */ color: #ff4500; font-weight: bold; text-decoration: underline; }
-.org-fringe { /* fringe */ background-color: #f2f2f2; }
-.org-function-name { /* font-lock-function-name-face */ color: teal; }
-.org-header-line { /* header-line */ color: #333333; background-color: #e5e5e5; }
-.org-help-argument-name { /* help-argument-name */ font-style: italic; }
-.org-highlight { /* highlight */ background-color: #b4eeb4; }
-.org-holiday { /* holiday */ background-color: #ffc0cb; }
-.org-isearch { /* isearch */ color: #b0e2ff; background-color: #cd00cd; }
-.org-isearch-fail { /* isearch-fail */ background-color: #ffc1c1; }
-.org-italic { /* italic */ font-style: italic; }
-.org-keyword { /* font-lock-keyword-face */ color: #0086b3; }
-.org-lazy-highlight { /* lazy-highlight */ background-color: #afeeee; }
-.org-link { /* link */ color: #0000ff; text-decoration: underline; }
-.org-link-visited { /* link-visited */ color: #8b008b; text-decoration: underline; }
-.org-log-edit-header { /* log-edit-header */ color: #a020f0; }
-.org-log-edit-summary { /* log-edit-summary */ color: #0000ff; }
-.org-log-edit-unknown-header { /* log-edit-unknown-header */ color: #b22222; }
-.org-match { /* match */ background-color: #ffff00; }
-.org-next-error { /* next-error */ background-color: #eedc82; }
-.org-nobreak-space { /* nobreak-space */ color: #a52a2a; text-decoration: underline; }
-.org-org-archived { /* org-archived */ color: #7f7f7f; }
-.org-org-block { /* org-block */ color: #7f7f7f; }
-.org-org-block-begin-line { /* org-block-begin-line */ color: #b22222; }
-.org-org-block-end-line { /* org-block-end-line */ color: #b22222; }
-.org-org-checkbox { /* org-checkbox */ font-weight: bold; }
-.org-org-checkbox-statistics-done { /* org-checkbox-statistics-done */ color: #228b22; font-weight: bold; }
-.org-org-checkbox-statistics-todo { /* org-checkbox-statistics-todo */ color: #ff0000; font-weight: bold; }
-.org-org-clock-overlay { /* org-clock-overlay */ background-color: #ffff00; }
-.org-org-code { /* org-code */ color: #7f7f7f; }
-.org-org-column { /* org-column */ background-color: #e5e5e5; }
-.org-org-column-title { /* org-column-title */ background-color: #e5e5e5; font-weight: bold; text-decoration: underline; }
-.org-org-date { /* org-date */ color: #a020f0; text-decoration: underline; }
-.org-org-document-info { /* org-document-info */ color: #191970; }
-.org-org-document-info-keyword { /* org-document-info-keyword */ color: #7f7f7f; }
-.org-org-document-title { /* org-document-title */ color: #191970; font-size: 144%; font-weight: bold; }
-.org-org-done { /* org-done */ color: #228b22; font-weight: bold; }
-.org-org-drawer { /* org-drawer */ color: #0000ff; }
-.org-org-ellipsis { /* org-ellipsis */ color: #b8860b; text-decoration: underline; }
-.org-org-footnote { /* org-footnote */ color: #a020f0; text-decoration: underline; }
-.org-org-formula { /* org-formula */ color: #b22222; }
-.org-org-headline-done { /* org-headline-done */ color: #bc8f8f; }
-.org-org-hide { /* org-hide */ color: #ffffff; }
-.org-org-latex-and-export-specials { /* org-latex-and-export-specials */ color: #8b4513; }
-.org-org-level-1 { /* org-level-1 */ color: #0000ff; }
-.org-org-level-2 { /* org-level-2 */ color: #a0522d; }
-.org-org-level-3 { /* org-level-3 */ color: #a020f0; }
-.org-org-level-4 { /* org-level-4 */ color: #b22222; }
-.org-org-level-5 { /* org-level-5 */ color: #228b22; }
-.org-org-level-6 { /* org-level-6 */ color: #008b8b; }
-.org-org-level-7 { /* org-level-7 */ color: #7a378b; }
-.org-org-level-8 { /* org-level-8 */ color: #8b2252; }
-.org-org-link { /* org-link */ color: #0000ff; text-decoration: underline; }
-.org-org-meta-line { /* org-meta-line */ color: #b22222; }
-.org-org-mode-line-clock { /* org-mode-line-clock */ color: #000000; background-color: #bfbfbf; }
-.org-org-mode-line-clock-overrun { /* org-mode-line-clock-overrun */ color: #000000; background-color: #ff0000; }
-.org-org-quote { /* org-quote */ color: #7f7f7f; }
-.org-org-scheduled { /* org-scheduled */ color: #006400; }
-.org-org-scheduled-previously { /* org-scheduled-previously */ color: #b22222; }
-.org-org-scheduled-today { /* org-scheduled-today */ color: #006400; }
-.org-org-sexp-date { /* org-sexp-date */ color: #a020f0; }
-.org-org-special-keyword { /* org-special-keyword */ color: #a020f0; }
-.org-org-table { /* org-table */ color: #0000ff; }
-.org-org-tag { /* org-tag */ font-weight: bold; }
-.org-org-target { /* org-target */ text-decoration: underline; }
-.org-org-time-grid { /* org-time-grid */ color: #b8860b; }
-.org-org-todo { /* org-todo */ color: #ff0000; font-weight: bold; }
-.org-org-upcoming-deadline { /* org-upcoming-deadline */ color: #b22222; }
-.org-org-verbatim { /* org-verbatim */ color: #7f7f7f; }
-.org-org-verse { /* org-verse */ color: #7f7f7f; }
-.org-org-warning { /* org-warning */ color: #ff0000; font-weight: bold; }
-.org-outline-1 { /* outline-1 */ color: #0000ff; }
-.org-outline-2 { /* outline-2 */ color: #a0522d; }
-.org-outline-3 { /* outline-3 */ color: #a020f0; }
-.org-outline-4 { /* outline-4 */ color: #b22222; }
-.org-outline-5 { /* outline-5 */ color: #228b22; }
-.org-outline-6 { /* outline-6 */ color: #008b8b; }
-.org-outline-7 { /* outline-7 */ color: #7a378b; }
-.org-outline-8 { /* outline-8 */ color: #8b2252; }
-.org-preprocessor { /* font-lock-preprocessor-face */ color: #7a378b; }
-.org-query-replace { /* query-replace */ color: #b0e2ff; background-color: #cd00cd; }
-.org-regexp-grouping-backslash { /* font-lock-regexp-grouping-backslash */ font-weight: bold; }
-.org-regexp-grouping-construct { /* font-lock-regexp-grouping-construct */ font-weight: bold; }
-.org-region { /* region */ background-color: #eedc82; }
-.org-secondary-selection { /* secondary-selection */ background-color: #ffff00; }
-.org-shadow { /* shadow */ color: #7f7f7f; }
-.org-show-paren-match { /* show-paren-match */ background-color: #40e0d0; }
-.org-show-paren-mismatch { /* show-paren-mismatch */ color: #ffffff; background-color: #a020f0; }
-.org-string { /* font-lock-string-face */ color: #dd1144; }
-.org-tool-bar { /* tool-bar */ color: #000000; background-color: #bfbfbf; }
-.org-tooltip { /* tooltip */ color: #000000; background-color: #ffffe0; }
-.org-trailing-whitespace { /* trailing-whitespace */ background-color: #ff0000; }
-.org-type { /* font-lock-type-face */ color: #228b22; }
-.org-underline { /* underline */ text-decoration: underline; }
-.org-variable-name { /* font-lock-variable-name-face */ color: teal; }
-.org-warning { /* font-lock-warning-face */ color: #ff0000; font-weight: bold; }
-.org-widget-button { /* widget-button */ font-weight: bold; }
-.org-widget-button-pressed { /* widget-button-pressed */ color: #ff0000; }
-.org-widget-documentation { /* widget-documentation */ color: #006400; }
-.org-widget-field { /* widget-field */ background-color: #d9d9d9; }
-.org-widget-inactive { /* widget-inactive */ color: #7f7f7f; }
-.org-widget-single-line-field { /* widget-single-line-field */ background-color: #d9d9d9; }
diff --git a/doc/orgmode/css/readtheorg.css b/doc/orgmode/css/readtheorg.css
deleted file mode 100644
index a638c488b..000000000
--- a/doc/orgmode/css/readtheorg.css
+++ /dev/null
@@ -1,1092 +0,0 @@
-
-@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700);
-@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css);
-
-h1,h2,h3,h4,h5,h6,legend{
-    font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;
-    font-weight:700;
-    margin-top:0;
-}
-
-h1{
-    font-size:175%;
-}
-
-.subtitle{
-    font-size:95%; /* of h1 */
-}
-
-h2{
-    font-size:150%;
-}
-
-h3{
-    font-size:125%;
-}
-
-h4{
-    font-size:115%;
-}
-
-h5{
-    font-size:110%;
-}
-
-h6{
-    font-size:100%;
-}
-
-h4,h5,h6{
-    color:#2980B9;
-    font-weight:300;
-}
-
-html{
-    -ms-text-size-adjust:100%;
-    -webkit-text-size-adjust:100%;
-    font-size:100%;
-    height:100%;
-    overflow-x:hidden;
-}
-
-body{
-    background:#edf0f2;
-    color:#404040;
-    font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;
-    font-weight:normal;
-    margin:0;
-    min-height:100%;
-    overflow-x:hidden;
-}
-
-#content{
-    background:#fcfcfc;
-    height:100%;
-    margin-left:300px;
-    /* margin:auto; */
-    max-width:800px;
-    min-height:100%;
-    padding:1.618em 3.236em;
-}
-
-p{
-    font-size:16px;
-    line-height:24px;
-    margin:0px 0px 24px 0px;
-}
-
-b,strong{
-    font-weight:bold}
-
-blockquote{
-    background-color: #F0F0F0;
-    border-left:5px solid #CCCCCC;
-    font-style:italic;
-    line-height:24px;
-    margin:0px 0px 24px 0px;
-    /* margin-left:24px; */
-    padding: 6px 20px;
-}
-
-ul,ol,dl{
-    line-height:24px;
-    list-style-image:none;
-    /* list-style:none; */
-    margin:0px 0px 24px 0px;
-    padding:0;
-}
-
-li{
-    margin-left: 24px;
-}
-
-dd{
-    margin:0;
-}
-
-#content .section ul,#content .toctree-wrapper ul,article ul{
-    list-style:disc;
-    line-height:24px;
-    margin-bottom:24px}
-
-#content .section ul li,#content .toctree-wrapper ul li,article ul li{
-    list-style:disc;
-    margin-left:24px}
-
-#content .section ul li p:last-child,#content .toctree-wrapper ul li p:last-child,article ul li p:last-child{
-                                                                                                                                  margin-bottom:0}
-
-#content .section ul li ul,#content .toctree-wrapper ul li ul,article ul li ul{
-    margin-bottom:0}
-
-#content .section ul li li,#content .toctree-wrapper ul li li,article ul li li{
-    list-style:circle}
-
-#content .section ul li li li,#content .toctree-wrapper ul li li li,article ul li li li{
-    list-style:square}
-
-#content .section ul li ol li,#content .toctree-wrapper ul li ol li,article ul li ol li{
-    list-style:decimal}
-
-#content .section ol,#content ol,article ol{
-    list-style:decimal;
-    line-height:24px;
-    margin-bottom:24px}
-
-#content .section ol li,#content ol li,article ol li{
-    list-style:decimal;
-    margin-left:24px}
-
-#content .section ol li p:last-child,#content ol li p:last-child,article ol li p:last-child{
-                                                                                                                           margin-bottom:0}
-
-#content .section ol li ul,#content ol li ul,article ol li ul{
-    margin-bottom:0}
-
-#content .section ol li ul li,#content ol li ul li,article ol li ul li{
-    list-style:disc}
-
-dl dt{
-    font-weight:bold;
-}
-
-dl p,dl table,dl ul,dl ol{
-    margin-bottom:12px !important;
-}
-
-dl dd{
-    margin:0 0 12px 24px;
-}
-
-@media print{
-    .codeblock,pre.src{
-        white-space:pre.src-wrap}
-}
-
-@media print{
-    html,body,section{
-        background:none !important}
-
-    *{
-        box-shadow:none !important;
-        text-shadow:none !important;
-        filter:none !important;
-        -ms-filter:none !important}
-
-    a,a:visited{
-          text-decoration:underline}
-
-    pre.src,blockquote{
-        page-break-inside:avoid}
-
-    thead{
-        display:table-header-group}
-
-    tr,img{
-        page-break-inside:avoid}
-
-    img{
-        max-width:100% !important}
-
-    @page{
-        margin:0.5cm}
-
-    p,h2,h3{
-        orphans:3;
-        widows:3}
-
-    h2,h3{
-        page-break-after:avoid}
-}
-
-@media print{
-    #postamble{
-        display:none}
-
-    #content{
-        margin-left:0}
-}
-
-@media print{
-    #table-of-contents{
-        display:none}
-
-    @page{
-        size: auto;
-        margin: 25mm 25mm 25mm 25mm;}
-
-    body {
-        margin: 0px;}
-}
-
-@media screen and (max-width: 768px){
-}
-
-@media only screen and (max-width: 480px){
-}
-
-@media screen and (max-width: 768px){
-    .tablet-hide{
-        display:none}
-}
-
-@media screen and (max-width: 480px){
-    .mobile-hide{
-        display:none}
-}
-
-@media screen and (max-width: 480px){
-}
-
-@media screen and (max-width: 768px){
-    #content{
-        margin-left:0}
-
-    #content #content{
-        padding:1.618em}
-
-    #content.shift{
-        position:fixed;
-        min-width:100%;
-        left:85%;
-        top:0;
-        height:100%;
-        overflow:hidden}
-}
-
-@media screen and (min-width: 1400px){
-    #content{
-        background:rgba(0,0,0,0.05)}
-
-    #content{
-        background:#fcfcfc}
-}
-
-@media screen and (max-width: 768px){
-    #copyright{
-        width:85%;
-        display:none}
-
-    #copyright.shift{
-        display:block}
-
-    img{
-        width:100%;
-        height:auto}
-}
-
-@media screen and (max-width: 480px){
-    #content .sidebar{
-        width:100%}
-}
-
-code{
-    background:#fff;
-    border:solid 1px #e1e4e5;
-    /* color:#000;  for clickable code */
-    font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;
-    font-size:75%;
-    max-width:100%;
-    overflow-x:auto;
-    padding:0 5px;
-    white-space:nowrap;
-}
-
-.codeblock-example{
-    border:1px solid #e1e4e5;
-    border-bottom:none;
-    padding:24px;
-    padding-top:48px;
-    font-weight:500;
-    background:#fff;
-    position:relative}
-
-.codeblock-example:after{
-    content:"Example";
-    position:absolute;
-    top:0px;
-    left:0px;
-    background:#9B59B6;
-    color:#fff;
-    padding:6px 12px}
-
-.codeblock-example.prettyprint-example-only{
-    border:1px solid #e1e4e5;
-    margin-bottom:24px}
-
-.codeblock,pre.src,#content .literal-block{
-    border:1px solid #e1e4e5;
-    padding:12px;
-    overflow-x:auto;
-    background:#fff;
-    margin:1px 0 24px 0}
-
-pre.src{
-    /* color:#404040; */
-    display:block;
-    font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;
-    font-size:12px;
-    line-height:1.5;
-    margin:1px 0px 24px 0px;
-    overflow:auto;
-    padding:12px;
-    white-space:pre;
-}
-
-.example{
-    background:#f3f6f6;
-    border:1px solid #e1e4e5;
-    color:#404040;
-    font-size: 12px;
-    line-height: 1.5;
-    margin-bottom:24px;
-    padding:12px;
-}
-
-table{
-    border-collapse:collapse;
-    border-spacing:0;
-    empty-cells:show;
-    margin-bottom:24px;
-    border-bottom:1px solid #e1e4e5;
-}
-
-td{
-    vertical-align:top}
-
-table td,table th{
-    font-size:90%;
-    margin:0;
-    overflow:visible;
-    padding:8px 16px;
-    background-color:white;
-    border:1px solid #e1e4e5;
-}
-
-table thead th{
-    font-weight:bold;
-    border-top:3px solid #e1e4e5;
-    border-bottom:1px solid #e1e4e5;
-}
-
-table caption{
-    color:#000;
-    font:italic 85%/1 arial,sans-serif;
-    padding:1em 0;
-}
-
-table tr:nth-child(2n-1) td{
-    background-color:#f3f6f6;
-}
-
-table tr:nth-child(2n) td{
-    background-color:white;
-}
-
-.figure p{
-    color:#000;
-    font:italic 85%/1 arial,sans-serif;
-    padding:1em 0;
-}
-
-.rotate-90{
-    -webkit-transform:rotate(90deg);
-    -moz-transform:rotate(90deg);
-    -ms-transform:rotate(90deg);
-    -o-transform:rotate(90deg);
-    transform:rotate(90deg);
-}
-
-.rotate-270{
-    -webkit-transform:rotate(270deg);
-    -moz-transform:rotate(270deg);
-    -ms-transform:rotate(270deg);
-    -o-transform:rotate(270deg);
-    transform:rotate(270deg);
-}
-
-#toggle-sidebar,
-#table-of-contents .close-sidebar {
-    display: none;
-}
-
-@media screen and (max-width: 768px) {
-    #table-of-contents {
-        display: none;
-        width: 60%;
-    }
-
-    #table-of-contents h2 a {
-        display: block;
-    }
-
-    #table-of-contents:target {
-        display: block;
-    }
-
-    #copyright, #postamble {
-        display: none;
-    }
-
-    #toggle-sidebar {
-        background-color: #2980B9;
-        display: block;
-        margin-bottom: 1.6em;
-        padding: 0.6em;
-        text-align: center;
-    }
-
-    #toggle-sidebar h2 {
-		background-color:#2980B9;
-		width:100%;
-		height:50px;
-		left:0;
-		top:0;
-        color: white;
-        font-size: 100%;
-        line-height: 50px;
-		position:fixed;
-        margin: 0;
-        padding: 0;
-		opacity:0.7;
-    }
-
-    #table-of-contents .close-sidebar {
-       color: rgba(255, 255, 255, 0.3);
-       display: inline-block;
-       margin: 0px 10px 0px 45px;
-       padding: 10px;
-    }
-}
-
-*{
-    -webkit-box-sizing:border-box;
-    -moz-box-sizing:border-box;
-    box-sizing:border-box;
-}
-
-figcaption,figure,footer,header,hgroup,nav{
-    display:block}
-
-ins{
-    background:#ff9;
-    color:#000;
-    text-decoration:none}
-
-mark{
-    background:#ff0;
-    color:#000;
-    font-style:italic;
-    font-weight:bold}
-
-small{
-    font-size:85%}
-
-sub,sup{
-    font-size:75%;
-    line-height:0;
-    position:relative;
-    vertical-align:baseline}
-
-sup{
-    top:-0.5em}
-
-sub{
-    bottom:-0.25em}
-
-img{
-    -ms-interpolation-mode:bicubic;
-    vertical-align:middle;
-    max-width:100%}
-
-svg:not(:root){
-    overflow:hidden}
-
-figure{
-    margin:0}
-
-label{
-    cursor:pointer}
-
-legend{
-    border:0;
-    margin-left:-7px;
-    padding:0;
-    white-space:normal}
-
-.fa:before,#content .admonition-title:before,#content h1 .headerlink:before,#content h2 .headerlink:before,#content h3 .headerlink:before,#content h4 .headerlink:before,#content h5 .headerlink:before,#content h6 .headerlink:before,#content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,#content .note,#content .attention,#content .caution,#content .danger,#content .error,#content .hint,#content .important,#content .tip,#content .warning,#content .seealso,#content .admonitiontodo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,#table-of-contents li.on a,#table-of-contents li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{
-    -webkit-font-smoothing:antialiased}
-
-/*!
- *  Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome
- *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */@font-face{
-    font-family:'FontAwesome';
-    src:url("../fonts/fontawesome-webfont.eot?v=4.1.0");
-    src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff?v=4.1.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.1.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular") format("svg");
-    font-weight:normal;
-    font-style:normal}
-
-.fa,#content .admonition-title,.icon{
-    display:inline-block;
-    font-family:FontAwesome;
-    font-style:normal;
-    font-weight:normal;
-    line-height:1;
-    -webkit-font-smoothing:antialiased;
-    -moz-osx-font-smoothing:grayscale}
-
-.fa-ul{
-    padding-left:0;
-    margin-left:2.14286em;
-    list-style-type:none}
-
-.fa-ul>li{
-    position:relative}
-
-.fa-li{
-    position:absolute;
-    left:-2.14286em;
-    width:2.14286em;
-    top:0.14286em;
-    text-align:center}
-
-.fa-li.fa-lg{
-    left:-1.85714em}
-
-.fa-border{
-    padding:.2em .25em .15em;
-    border:solid 0.08em #eee;
-    border-radius:.1em}
-
-.fa,#content .admonition-title{
-    font-family:inherit}
-
-.fa:before,#content .admonition-title:before{
-    font-family:"FontAwesome";
-    display:inline-block;
-    font-style:normal;
-    font-weight:normal;
-    line-height:1;
-    text-decoration:inherit}
-
-a .fa,a #content .admonition-title,#content a .admonition-title{
-    display:inline-block;
-    text-decoration:inherit}
-
-.nav #content .admonition-title,#content .nav .admonition-title,.nav .icon{
-    display:inline}
-
-.wy-alert,#content .note,#content .attention,#content .caution,#content .danger,#content .error,#content .hint,#content .important,#content .tip,#content .warning,#content .seealso,#content .admonitiontodo{
-    padding:12px;
-    line-height:24px;
-    margin-bottom:24px;
-    /* background:#e7f2fa; */
-}
-
-.wy-alert-title,#content .admonition-title{
-    color:#fff;
-    font-weight:bold;
-    display:block;
-    color:#fff;
-    /* background:#6ab0de; */
-    /* margin:-12px; */
-    padding:6px 12px;
-    margin-bottom:0px}
-
-#content .danger,#content .error{
-    background:#fdf3f2}
-
-.wy-alert.wy-alert-warning,#content .wy-alert-warning.note,#content .attention,#content .caution,#content .wy-alert-warning.danger,#content .wy-alert-warning.error,#content .wy-alert-warning.hint,#content .wy-alert-warning.important,#content .wy-alert-warning.tip,#content .warning,#content .wy-alert-warning.seealso,#content .admonitiontodo{
-    background:#ffedcc}
-
-#content .admonition-title.note:before, #content .admonition-title.seealso:before,
-#content .admonition-title.warning:before, #content .admonition-title.caution:before,
-#content .admonition-title.attention:before,
-#content .admonition-title.tip:before, #content .admonition-title.hint:before,
-#content .admonition-title.important:before,
-#content .admonition-title.error:before, #content .admonition-title.danger:before{
-    font-family:FontAwesome;
-    content: "";}
-
-#content .note,#content .seealso{
-    background:#e7f2fa}
-
-.wy-alert p:last-child,#content .note p:last-child,#content .attention p:last-child,#content .caution p:last-child,#content .danger p:last-child,#content .error p:last-child,#content .hint p:last-child,#content .important p:last-child,#content .tip p:last-child,#content .warning p:last-child,#content .seealso p:last-child,#content .admonitiontodo p:last-child{
-    margin-bottom:0}
-
-#content .admonition-title.tip,#content .admonition-title.important,#content .admonition-title.hint{
-    line-height: 1;
-    background:#1abc9c}
-
-#content .important,#content .tip,#content .hint{
-    background:#dbfaf4}
-
-#content .admonition-title.note,#content .admonition-title.seealso{
-    line-height: 1;
-    background:#6ab0de}
-
-#content .admonition-title.warning,#content .admonition-title.caution,#content .admonition-title.attention{
-    line-height: 1;
-    background:#F0B37E}
-
-#content .admonition-title.error,#content .admonition-title.danger{
-    line-height: 1;
-    background:#f29f97}
-
-legend{
-    display:block;
-    width:100%;
-    border:0;
-    padding:0;
-    white-space:normal;
-    margin-bottom:24px;
-    font-size:150%;
-    *margin-left:-7px}
-
-label{
-    display:block;
-    margin:0 0 0.3125em 0;
-    color:#333;
-    font-size:90%}
-
-a{
-    color:#2980B9;
-    text-decoration:none;
-    cursor:pointer}
-
-
-a:hover,a:active{
-    outline:0;
-}
-
-a:hover{
-    color:#3091d1}
-
-a:visited{
-    color:#9B59B6}
-
-.left{
-    text-align:left}
-
-.center{
-    text-align:center}
-
-.right{
-    text-align:right}
-
-hr{
-    display:block;
-    height:1px;
-    border:0;
-    border-top:1px solid #e1e4e5;
-    margin:24px 0;
-    padding:0}
-
-#table-of-contents li{
-    list-style:none;
-    margin-left: 0px;
-}
-
-#table-of-contents header{
-    height:32px;
-    display:inline-block;
-    line-height:32px;
-    padding:0 1.618em;
-    display:block;
-    font-weight:bold;
-    text-transform:uppercase;
-    font-size:80%;
-    color:#2980B9;
-    white-space:nowrap}
-
-#table-of-contents ul{
-    margin-bottom:0}
-
-#table-of-contents li.divide-top{
-    border-top:solid 1px #404040}
-
-#table-of-contents li.divide-bottom{
-    border-bottom:solid 1px #404040}
-
-#table-of-contents li.current{
-    background:#e3e3e3}
-
-#table-of-contents li.current a{
-    color:gray;
-    border-right:solid 1px #c9c9c9;
-    padding:0.4045em 2.427em}
-
-#table-of-contents li.current a:hover{
-    background:#d6d6d6}
-
-#table-of-contents li a{
-    /* color:#404040; */
-    padding:0.4045em 1.618em;
-    position:relative;
-    /* background:#fcfcfc; */
-    border:none;
-    /* border-bottom:solid 1px #c9c9c9; */
-    /* border-top:solid 1px #c9c9c9; */
-    padding-left:1.618em -4px}
-
-#table-of-contents li.on a:hover,#table-of-contents li.current>a:hover{
-    background:#fcfcfc}
-
-#table-of-contents li ul li a{
-    /* background:#c9c9c9; */
-    padding:0.4045em 2.427em}
-
-#table-of-contents li ul li ul li a{
-    padding:0.4045em 3.236em}
-
-#table-of-contents li.current ul{
-    display:block}
-
-/* #table-of-contents li ul{ */
-/*     margin-bottom:0; */
-/*     display:none} */
-
-#table-of-contents .local-toc li ul{
-    display:block}
-
-#table-of-contents li ul li a{
-    margin-bottom:0;
-    color:#b3b3b3;
-    font-weight:normal}
-
-#table-of-contents a{
-    display:inline-block;
-    line-height:18px;
-    padding:0.4045em 1.618em;
-    display:block;
-    position:relative;
-    font-size:90%;
-    color:#b3b3b3;
-    direction: ltr;
-}
-
-#table-of-contents a:hover{
-    background-color:#4e4a4a;
-    cursor:pointer}
-
-/* #text-table-of-contents { */
-/*     overflow:scroll; */
-/* } */
-
-#table-of-contents{
-    position:fixed;
-    top:0;
-    left:0;
-    width:300px;
-    overflow-x:hidden;
-    overflow-y:scroll;
-    height:100%;
-    background:#343131;
-    z-index:200;
-    scrollbar-base-color: #1F1D1D;
-    scrollbar-arrow-color: #b3b3b3;
-    scrollbar-shadow-color: #1F1D1D;
-    scrollbar-track-color : #343131;
-}
-
-#table-of-contents h2{
-    z-index:200;
-    background-color:#2980B9;
-    text-align:center;
-    padding:0.809em;
-    display:block;
-    color:#fcfcfc;
-    font-size: 100%;
-    margin-bottom:0.809em}
-
-ul.nav li ul li {
-    display: none;
-}
-
-ul.nav li ul li ul li {
-    display: none;
-}
-
-ul.nav li.active ul li {
-    display: inline;
-}
-
-ul.nav li.active ul li ul li {
-    display: inline;
-}
-
-ul.nav li.active ul li a {
-    background-color: #E3E3E3;
-    color: #8099B0;
-    border-right:solid 1px #c9c9c9 !important;
-}
-
-ul.nav li.active ul li.active a {
-    background-color: #C9C9C9;
-    color: black !important;
-    font-weight: bold !important;
-}
-
-ul.nav li.active ul li.active ul li.active a {
-    color: black !important;
-    font-weight: bold !important;
-    display: block !important;
-}
-
-ul.nav li.active ul li.active ul li a {
-    color: #808080 !important;
-    font-weight: normal !important;
-    display: block !important;
-}
-
-ul.nav li.active ul li ul li a {
-    display: none !important;
-}
-
-/* ul.nav li ul li ul li { */
-/*     display: none !important; /\* as long as nav is on multiple levels of ul *\/ */
-/*     /\* display: none; /\* as long as nav is on multiple levels of ul *\\/ *\/ */
-/* } */
-
-ul.nav li ul li ul li ul li {
-    display: none !important; /* as long as nav is on multiple levels of ul */
-    /* display: none; /* as long as nav is on multiple levels of ul *\/ */
-}
-
-ul.nav li.active > a {
-    border-bottom:solid 1px #c9c9c9 !important; /* XXX Restrict it to 2nd level */
-    border-right:solid 1px #c9c9c9 !important;
-}
-
-ul.nav li.active a {
-    color: gray !important;
-    font-weight:bold;
-    background-color: white;
-    border-right:solid 0px white !important;
-}
-
-ul.nav > li.active > a {
-    color: black !important;
-}
-
-footer{
-    color:#999}
-
-footer p{
-    margin-bottom:12px}
-
-#copyright, #postamble{
-    position:fixed;
-    bottom:0;
-    left:0;
-    width:300px;
-    color:#fcfcfc;
-    background:#1f1d1d;
-    border-top:solid 10px #343131;
-    font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;
-    font-size: 90%;
-    z-index:400;
-    padding:12px;
-}
-
-#postamble .author {
-    font-size: 100%;
-    margin-bottom: 0px;
-}
-
-#postamble .date {
-    font-size: 90%;
-    margin-bottom: 0px;
-    color: #27AE60;
-}
-
-#postamble .creator,#postamble .validation {
-    display:none;
-}
-
-#copyright a{
-    color:#2980B9;
-    text-decoration:none}
-
-#copyright .rst-current-version{
-    padding:12px;
-    background-color:#272525;
-    display:block;
-    text-align:right;
-    font-size:90%;
-    cursor:pointer;
-    color:#27AE60;
-    *zoom:1}
-
-#content img{
-    max-width:100%;
-}
-
-#content div.figure{
-    margin-bottom:24px}
-
-#content div.figure.align-center{
-    text-align:center}
-
-#content .section>img,#content .section>a>img{
-    margin-bottom:24px}
-
-.verse{
-    border-left:5px solid #6AB0DE;
-    background-color: #E7F2FA;
-    padding: 6px 20px;
-    font-style:italic;
-}
-
-#content .note .last,#content .attention .last,#content .caution .last,#content .danger .last,#content .error .last,#content .hint .last,#content .important .last,#content .tip .last,#content .warning .last,#content .seealso .last,#content .admonitiontodo .last{
-    margin-bottom:0}
-
-#content .admonition-title:before{
-    margin-right:4px}
-
-#content .section ol p,#content .section ul p{
-    margin-bottom:12px}
-
-#content h1 .headerlink,#content h2 .headerlink,#content h3 .headerlink,#content h4 .headerlink,#content h5 .headerlink,#content h6 .headerlink,#content dl dt .headerlink{
-    display:none;
-    visibility:hidden;
-    font-size:14px}
-
-#content h1 .headerlink:after,#content h2 .headerlink:after,#content h3 .headerlink:after,#content h4 .headerlink:after,#content h5 .headerlink:after,#content h6 .headerlink:after,#content dl dt .headerlink:after{
-    visibility:visible;
-    content:"";
-    font-family:FontAwesome;
-    display:inline-block}
-
-#content h1:hover .headerlink,#content h2:hover .headerlink,#content h3:hover .headerlink,#content h4:hover .headerlink,#content h5:hover .headerlink,#content h6:hover .headerlink,#content dl dt:hover .headerlink{
-    display:inline-block}
-
-#content .sidebar{
-    float:right;
-    width:40%;
-    display:block;
-    margin:0 0 24px 24px;
-    padding:24px;
-    background:#f3f6f6;
-    border:solid 1px #e1e4e5}
-
-#content .sidebar p,#content .sidebar ul,#content .sidebar dl{
-    font-size:90%}
-
-#content .sidebar .last{
-    margin-bottom:0}
-
-#content .sidebar .sidebar-title{
-    display:block;
-    font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;
-    font-weight:bold;
-    background:#e1e4e5;
-    padding:6px 12px;
-    margin:-24px;
-    margin-bottom:24px;
-    font-size:100%}
-
-#content .highlighted{
-    background:#F1C40F;
-    display:inline-block;
-    font-weight:bold;
-    padding:0 6px}
-
-#content .footnote-reference,#content .citation-reference{
-    vertical-align:super;
-    font-size:90%}
-
-span[id*='MathJax-Span']{
-    color:#404040}
-
-.math{
-    text-align:center}
-
-#footnotes{
-    border-top:1px solid #e1e4e5;
-    padding-top: 36px;
-}
-
-h2.footnotes{
-    display:none;
-}
-
-.footnum, .footref{
-    color: #2980b9;
-    font-size: 170%;
-    font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;
-}
-
-.footnum:before, .footref:before{
-    content:"[";
-}
-
-.footnum:after, .footref:after{
-    content:"]";
-}
-
-.footpara {
-    color: #999;
-    font-size: 90%;
-    font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;
-    padding-bottom: 8px;
-    padding-left: 16px;
-    padding-right: 16px;
-    padding-top: 8px;
-    line-height: 1.25em;
-    /* display: inline; */
-}
-
-.todo{
-    background-color: #f29f97;
-    padding: 0px 4px;
-    color: #fff;
-}
-
-.WAIT, .nilWAIT{
-    background-color: #6AB097;
-}
-
-.done{
-    background-color: #6ab0de;
-    padding: 0px 4px;
-    color: #fff;
-}
-
-.tag span {
-    background-color: #EDEDED;
-    border: 1px solid #EDEDED;
-    color: #939393;
-    cursor: pointer;
-    display: block;
-    float: right;
-    font-size: 80%;
-    font-weight: normal;
-    margin: 0 3px;
-    padding: 1px 2px;
-    border-radius: 10px;
-}
-
-.tag .FLAGGED {
-    background-color: #DB2D27;
-    border: 1px solid #DB2D27;
-    color: white;
-    font-weight: bold;
-}
-
-.timestamp {
-    font-family: Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;
-    font-size: 90%;
-    color: navy;
-}
-
-.inlinetask {
-    background: #FFF9E3;  /* url(dialog-todo.png) no-repeat 10px 8px; */
-    border: 3px solid #FFEB8E;
-    /* border-right-style: none; */
-    /* border-left-style: none; */
-    /* padding: 10px 20px 10px 60px; */
-    padding: 9px 12px;
-    margin-bottom: 24px;
-    font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}
diff --git a/doc/orgmode/css/rtd-full.css b/doc/orgmode/css/rtd-full.css
deleted file mode 100644
index 6cb334694..000000000
--- a/doc/orgmode/css/rtd-full.css
+++ /dev/null
@@ -1,3910 +0,0 @@
-*{
-    -webkit-box-sizing:border-box;
-    -moz-box-sizing:border-box;
-    box-sizing:border-box}
-
-article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{
-    display:block}
-
-audio,canvas,video{
-    display:inline-block;
-    *display:inline;
-    *zoom:1}
-
-audio:not([controls]){
-    display:none}
-
-[hidden]{
-    display:none}
-
-*{
-    -webkit-box-sizing:border-box;
-    -moz-box-sizing:border-box;
-    box-sizing:border-box}
-
-html{
-    font-size:100%;
-    -webkit-text-size-adjust:100%;
-    -ms-text-size-adjust:100%}
-
-body{
-    margin:0}
-
-a:hover,a:active{
-            outline:0}
-
-abbr[title]{
-    border-bottom:1px dotted}
-
-b,strong{
-    font-weight:bold}
-
-blockquote{
-    margin:0}
-
-dfn{
-    font-style:italic}
-
-ins{
-    background:#ff9;
-    color:#000;
-    text-decoration:none}
-
-mark{
-    background:#ff0;
-    color:#000;
-    font-style:italic;
-    font-weight:bold}
-
-pre,code,.rst-content tt,kbd,samp{
-    font-family:monospace,serif;
-    _font-family:"courier new",monospace;
-    font-size:1em}
-
-pre{
-    white-space:pre}
-
-q{
-    quotes:none}
-
-q:before,q:after{
-             content:"";
-             content:none}
-
-small{
-    font-size:85%}
-
-sub,sup{
-    font-size:75%;
-    line-height:0;
-    position:relative;
-    vertical-align:baseline}
-
-sup{
-    top:-0.5em}
-
-sub{
-    bottom:-0.25em}
-
-ul,ol,dl{
-    margin:0;
-    padding:0;
-    list-style:none;
-    list-style-image:none}
-
-li{
-    list-style:none}
-
-dd{
-    margin:0}
-
-img{
-    border:0;
-    -ms-interpolation-mode:bicubic;
-    vertical-align:middle;
-    max-width:100%}
-
-svg:not(:root){
-    overflow:hidden}
-
-figure{
-    margin:0}
-
-form{
-    margin:0}
-
-fieldset{
-    border:0;
-    margin:0;
-    padding:0}
-
-label{
-    cursor:pointer}
-
-legend{
-    border:0;
-    *margin-left:-7px;
-    padding:0;
-    white-space:normal}
-
-button,input,select,textarea{
-    font-size:100%;
-    margin:0;
-    vertical-align:baseline;
-    *vertical-align:middle}
-
-button,input{
-    line-height:normal}
-
-button,input[type="button"],input[type="reset"],input[type="submit"]{
-    cursor:pointer;
-    -webkit-appearance:button;
-    *overflow:visible}
-
-button[disabled],input[disabled]{
-    cursor:default}
-
-input[type="checkbox"],input[type="radio"]{
-    box-sizing:border-box;
-    padding:0;
-    *width:13px;
-    *height:13px}
-
-input[type="search"]{
-    -webkit-appearance:textfield;
-    -moz-box-sizing:content-box;
-    -webkit-box-sizing:content-box;
-    box-sizing:content-box}
-
-input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{
-    -webkit-appearance:none}
-
-button::-moz-focus-inner,input::-moz-focus-inner{
-    border:0;
-    padding:0}
-
-textarea{
-    overflow:auto;
-    vertical-align:top;
-    resize:vertical}
-
-table{
-    border-collapse:collapse;
-    border-spacing:0}
-
-td{
-    vertical-align:top}
-
-.chromeframe{
-    margin:0.2em 0;
-    background:#ccc;
-    color:#000;
-    padding:0.2em 0}
-
-.ir{
-    display:block;
-    border:0;
-    text-indent:-999em;
-    overflow:hidden;
-    background-color:transparent;
-    background-repeat:no-repeat;
-    text-align:left;
-    direction:ltr;
-    *line-height:0}
-
-.ir br{
-    display:none}
-
-.hidden{
-    display:none !important;
-    visibility:hidden}
-
-.visuallyhidden{
-    border:0;
-    clip:rect(0 0 0 0);
-    height:1px;
-    margin:-1px;
-    overflow:hidden;
-    padding:0;
-    position:absolute;
-    width:1px}
-
-.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{
-    clip:auto;
-    height:auto;
-    margin:0;
-    overflow:visible;
-    position:static;
-    width:auto}
-
-.invisible{
-    visibility:hidden}
-
-.relative{
-    position:relative}
-
-big,small{
-    font-size:100%}
-
-@media print{
-    html,body,section{
-        background:none !important}
-
-    *{
-        box-shadow:none !important;
-        text-shadow:none !important;
-        filter:none !important;
-        -ms-filter:none !important}
-
-    a,a:visited{
-          text-decoration:underline}
-
-    .ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{
-                                                 content:""}
-
-    pre,blockquote{
-        page-break-inside:avoid}
-
-    thead{
-        display:table-header-group}
-
-    tr,img{
-        page-break-inside:avoid}
-
-    img{
-        max-width:100% !important}
-
-    @page{
-        margin:0.5cm}
-
-    p,h2,h3{
-        orphans:3;
-        widows:3}
-
-    h2,h3{
-        page-break-after:avoid}
-
-}
-
-.fa:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{
-    -webkit-font-smoothing:antialiased}
-
-.clearfix{
-    *zoom:1}
-
-.clearfix:before,.clearfix:after{
-    display:table;
-    content:""}
-
-.clearfix:after{
-    clear:both}
-
-/*!
- *  Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome
- *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */@font-face{
-    font-family:'FontAwesome';
-    src:url("../fonts/fontawesome-webfont.eot?v=4.1.0");
-    src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff?v=4.1.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.1.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular") format("svg");
-    font-weight:normal;
-    font-style:normal}
-
-.fa,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.icon{
-    display:inline-block;
-    font-family:FontAwesome;
-    font-style:normal;
-    font-weight:normal;
-    line-height:1;
-    -webkit-font-smoothing:antialiased;
-    -moz-osx-font-smoothing:grayscale}
-
-.fa-lg{
-    font-size:1.33333em;
-    line-height:0.75em;
-    vertical-align:-15%}
-
-.fa-2x{
-    font-size:2em}
-
-.fa-3x{
-    font-size:3em}
-
-.fa-4x{
-    font-size:4em}
-
-.fa-5x{
-    font-size:5em}
-
-.fa-fw{
-    width:1.28571em;
-    text-align:center}
-
-.fa-ul{
-    padding-left:0;
-    margin-left:2.14286em;
-    list-style-type:none}
-
-.fa-ul>li{
-    position:relative}
-
-.fa-li{
-    position:absolute;
-    left:-2.14286em;
-    width:2.14286em;
-    top:0.14286em;
-    text-align:center}
-
-.fa-li.fa-lg{
-    left:-1.85714em}
-
-.fa-border{
-    padding:.2em .25em .15em;
-    border:solid 0.08em #eee;
-    border-radius:.1em}
-
-.pull-right{
-    float:right}
-
-.pull-left{
-    float:left}
-
-.fa.pull-left,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.pull-left.icon{
-    margin-right:.3em}
-
-.fa.pull-right,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.pull-right.icon{
-    margin-left:.3em}
-
-.fa-spin{
-    -webkit-animation:spin 2s infinite linear;
-    -moz-animation:spin 2s infinite linear;
-    -o-animation:spin 2s infinite linear;
-    animation:spin 2s infinite linear}
-
-@-moz-keyframes spin{
-    0%{
-        -moz-transform:rotate(0deg)}
-
-    100%{
-        -moz-transform:rotate(359deg)}
-
-}
-
-@-webkit-keyframes spin{
-    0%{
-        -webkit-transform:rotate(0deg)}
-
-    100%{
-        -webkit-transform:rotate(359deg)}
-
-}
-
-@-o-keyframes spin{
-    0%{
-        -o-transform:rotate(0deg)}
-
-    100%{
-        -o-transform:rotate(359deg)}
-
-}
-
-@keyframes spin{
-    0%{
-        -webkit-transform:rotate(0deg);
-        transform:rotate(0deg)}
-
-    100%{
-        -webkit-transform:rotate(359deg);
-        transform:rotate(359deg)}
-
-}
-
-.fa-rotate-90{
-    filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
-    -webkit-transform:rotate(90deg);
-    -moz-transform:rotate(90deg);
-    -ms-transform:rotate(90deg);
-    -o-transform:rotate(90deg);
-    transform:rotate(90deg)}
-
-.fa-rotate-180{
-    filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
-    -webkit-transform:rotate(180deg);
-    -moz-transform:rotate(180deg);
-    -ms-transform:rotate(180deg);
-    -o-transform:rotate(180deg);
-    transform:rotate(180deg)}
-
-.fa-rotate-270{
-    filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
-    -webkit-transform:rotate(270deg);
-    -moz-transform:rotate(270deg);
-    -ms-transform:rotate(270deg);
-    -o-transform:rotate(270deg);
-    transform:rotate(270deg)}
-
-.fa-flip-horizontal{
-    filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);
-    -webkit-transform:scale(-1, 1);
-    -moz-transform:scale(-1, 1);
-    -ms-transform:scale(-1, 1);
-    -o-transform:scale(-1, 1);
-    transform:scale(-1, 1)}
-
-.fa-flip-vertical{
-    filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
-    -webkit-transform:scale(1, -1);
-    -moz-transform:scale(1, -1);
-    -ms-transform:scale(1, -1);
-    -o-transform:scale(1, -1);
-    transform:scale(1, -1)}
-
-.fa-stack{
-    position:relative;
-    display:inline-block;
-    width:2em;
-    height:2em;
-    line-height:2em;
-    vertical-align:middle}
-
-.fa-stack-1x,.fa-stack-2x{
-    position:absolute;
-    left:0;
-    width:100%;
-    text-align:center}
-
-.fa-stack-1x{
-    line-height:inherit}
-
-.fa-stack-2x{
-    font-size:2em}
-
-.fa-inverse{
-    color:#fff}
-
-.fa-glass:before{
-    content:""}
-
-.fa-music:before{
-    content:""}
-
-.fa-search:before,.icon-search:before{
-    content:""}
-
-.fa-envelope-o:before{
-    content:""}
-
-.fa-heart:before{
-    content:""}
-
-.fa-star:before{
-    content:""}
-
-.fa-star-o:before{
-    content:""}
-
-.fa-user:before{
-    content:""}
-
-.fa-film:before{
-    content:""}
-
-.fa-th-large:before{
-    content:""}
-
-.fa-th:before{
-    content:""}
-
-.fa-th-list:before{
-    content:""}
-
-.fa-check:before{
-    content:""}
-
-.fa-times:before{
-    content:""}
-
-.fa-search-plus:before{
-    content:""}
-
-.fa-search-minus:before{
-    content:""}
-
-.fa-power-off:before{
-    content:""}
-
-.fa-signal:before{
-    content:""}
-
-.fa-gear:before,.fa-cog:before{
-    content:""}
-
-.fa-trash-o:before{
-    content:""}
-
-.fa-home:before,.icon-home:before{
-    content:""}
-
-.fa-file-o:before{
-    content:""}
-
-.fa-clock-o:before{
-    content:""}
-
-.fa-road:before{
-    content:""}
-
-.fa-download:before{
-    content:""}
-
-.fa-arrow-circle-o-down:before{
-    content:""}
-
-.fa-arrow-circle-o-up:before{
-    content:""}
-
-.fa-inbox:before{
-    content:""}
-
-.fa-play-circle-o:before{
-    content:""}
-
-.fa-rotate-right:before,.fa-repeat:before{
-    content:""}
-
-.fa-refresh:before{
-    content:""}
-
-.fa-list-alt:before{
-    content:""}
-
-.fa-lock:before{
-    content:""}
-
-.fa-flag:before{
-    content:""}
-
-.fa-headphones:before{
-    content:""}
-
-.fa-volume-off:before{
-    content:""}
-
-.fa-volume-down:before{
-    content:""}
-
-.fa-volume-up:before{
-    content:""}
-
-.fa-qrcode:before{
-    content:""}
-
-.fa-barcode:before{
-    content:""}
-
-.fa-tag:before{
-    content:""}
-
-.fa-tags:before{
-    content:""}
-
-.fa-book:before,.icon-book:before{
-    content:""}
-
-.fa-bookmark:before{
-    content:""}
-
-.fa-print:before{
-    content:""}
-
-.fa-camera:before{
-    content:""}
-
-.fa-font:before{
-    content:""}
-
-.fa-bold:before{
-    content:""}
-
-.fa-italic:before{
-    content:""}
-
-.fa-text-height:before{
-    content:""}
-
-.fa-text-width:before{
-    content:""}
-
-.fa-align-left:before{
-    content:""}
-
-.fa-align-center:before{
-    content:""}
-
-.fa-align-right:before{
-    content:""}
-
-.fa-align-justify:before{
-    content:""}
-
-.fa-list:before{
-    content:""}
-
-.fa-dedent:before,.fa-outdent:before{
-    content:""}
-
-.fa-indent:before{
-    content:""}
-
-.fa-video-camera:before{
-    content:""}
-
-.fa-photo:before,.fa-image:before,.fa-picture-o:before{
-    content:""}
-
-.fa-pencil:before{
-    content:""}
-
-.fa-map-marker:before{
-    content:""}
-
-.fa-adjust:before{
-    content:""}
-
-.fa-tint:before{
-    content:""}
-
-.fa-edit:before,.fa-pencil-square-o:before{
-    content:""}
-
-.fa-share-square-o:before{
-    content:""}
-
-.fa-check-square-o:before{
-    content:""}
-
-.fa-arrows:before{
-    content:""}
-
-.fa-step-backward:before{
-    content:""}
-
-.fa-fast-backward:before{
-    content:""}
-
-.fa-backward:before{
-    content:""}
-
-.fa-play:before{
-    content:""}
-
-.fa-pause:before{
-    content:""}
-
-.fa-stop:before{
-    content:""}
-
-.fa-forward:before{
-    content:""}
-
-.fa-fast-forward:before{
-    content:""}
-
-.fa-step-forward:before{
-    content:""}
-
-.fa-eject:before{
-    content:""}
-
-.fa-chevron-left:before{
-    content:""}
-
-.fa-chevron-right:before{
-    content:""}
-
-.fa-plus-circle:before{
-    content:""}
-
-.fa-minus-circle:before{
-    content:""}
-
-.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{
-    content:""}
-
-.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{
-    content:""}
-
-.fa-question-circle:before{
-    content:""}
-
-.fa-info-circle:before{
-    content:""}
-
-.fa-crosshairs:before{
-    content:""}
-
-.fa-times-circle-o:before{
-    content:""}
-
-.fa-check-circle-o:before{
-    content:""}
-
-.fa-ban:before{
-    content:""}
-
-.fa-arrow-left:before{
-    content:""}
-
-.fa-arrow-right:before{
-    content:""}
-
-.fa-arrow-up:before{
-    content:""}
-
-.fa-arrow-down:before{
-    content:""}
-
-.fa-mail-forward:before,.fa-share:before{
-    content:""}
-
-.fa-expand:before{
-    content:""}
-
-.fa-compress:before{
-    content:""}
-
-.fa-plus:before{
-    content:""}
-
-.fa-minus:before{
-    content:""}
-
-.fa-asterisk:before{
-    content:""}
-
-.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{
-    content:""}
-
-.fa-gift:before{
-    content:""}
-
-.fa-leaf:before{
-    content:""}
-
-.fa-fire:before,.icon-fire:before{
-    content:""}
-
-.fa-eye:before{
-    content:""}
-
-.fa-eye-slash:before{
-    content:""}
-
-.fa-warning:before,.fa-exclamation-triangle:before{
-    content:""}
-
-.fa-plane:before{
-    content:""}
-
-.fa-calendar:before{
-    content:""}
-
-.fa-random:before{
-    content:""}
-
-.fa-comment:before{
-    content:""}
-
-.fa-magnet:before{
-    content:""}
-
-.fa-chevron-up:before{
-    content:""}
-
-.fa-chevron-down:before{
-    content:""}
-
-.fa-retweet:before{
-    content:""}
-
-.fa-shopping-cart:before{
-    content:""}
-
-.fa-folder:before{
-    content:""}
-
-.fa-folder-open:before{
-    content:""}
-
-.fa-arrows-v:before{
-    content:""}
-
-.fa-arrows-h:before{
-    content:""}
-
-.fa-bar-chart-o:before{
-    content:""}
-
-.fa-twitter-square:before{
-    content:""}
-
-.fa-facebook-square:before{
-    content:""}
-
-.fa-camera-retro:before{
-    content:""}
-
-.fa-key:before{
-    content:""}
-
-.fa-gears:before,.fa-cogs:before{
-    content:""}
-
-.fa-comments:before{
-    content:""}
-
-.fa-thumbs-o-up:before{
-    content:""}
-
-.fa-thumbs-o-down:before{
-    content:""}
-
-.fa-star-half:before{
-    content:""}
-
-.fa-heart-o:before{
-    content:""}
-
-.fa-sign-out:before{
-    content:""}
-
-.fa-linkedin-square:before{
-    content:""}
-
-.fa-thumb-tack:before{
-    content:""}
-
-.fa-external-link:before{
-    content:""}
-
-.fa-sign-in:before{
-    content:""}
-
-.fa-trophy:before{
-    content:""}
-
-.fa-github-square:before{
-    content:""}
-
-.fa-upload:before{
-    content:""}
-
-.fa-lemon-o:before{
-    content:""}
-
-.fa-phone:before{
-    content:""}
-
-.fa-square-o:before{
-    content:""}
-
-.fa-bookmark-o:before{
-    content:""}
-
-.fa-phone-square:before{
-    content:""}
-
-.fa-twitter:before{
-    content:""}
-
-.fa-facebook:before{
-    content:""}
-
-.fa-github:before,.icon-github:before{
-    content:""}
-
-.fa-unlock:before{
-    content:""}
-
-.fa-credit-card:before{
-    content:""}
-
-.fa-rss:before{
-    content:""}
-
-.fa-hdd-o:before{
-    content:""}
-
-.fa-bullhorn:before{
-    content:""}
-
-.fa-bell:before{
-    content:""}
-
-.fa-certificate:before{
-    content:""}
-
-.fa-hand-o-right:before{
-    content:""}
-
-.fa-hand-o-left:before{
-    content:""}
-
-.fa-hand-o-up:before{
-    content:""}
-
-.fa-hand-o-down:before{
-    content:""}
-
-.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{
-    content:""}
-
-.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{
-    content:""}
-
-.fa-arrow-circle-up:before{
-    content:""}
-
-.fa-arrow-circle-down:before{
-    content:""}
-
-.fa-globe:before{
-    content:""}
-
-.fa-wrench:before{
-    content:""}
-
-.fa-tasks:before{
-    content:""}
-
-.fa-filter:before{
-    content:""}
-
-.fa-briefcase:before{
-    content:""}
-
-.fa-arrows-alt:before{
-    content:""}
-
-.fa-group:before,.fa-users:before{
-    content:""}
-
-.fa-chain:before,.fa-link:before,.icon-link:before{
-    content:""}
-
-.fa-cloud:before{
-    content:""}
-
-.fa-flask:before{
-    content:""}
-
-.fa-cut:before,.fa-scissors:before{
-    content:""}
-
-.fa-copy:before,.fa-files-o:before{
-    content:""}
-
-.fa-paperclip:before{
-    content:""}
-
-.fa-save:before,.fa-floppy-o:before{
-    content:""}
-
-.fa-square:before{
-    content:""}
-
-.fa-navicon:before,.fa-reorder:before,.fa-bars:before{
-    content:""}
-
-.fa-list-ul:before{
-    content:""}
-
-.fa-list-ol:before{
-    content:""}
-
-.fa-strikethrough:before{
-    content:""}
-
-.fa-underline:before{
-    content:""}
-
-.fa-table:before{
-    content:""}
-
-.fa-magic:before{
-    content:""}
-
-.fa-truck:before{
-    content:""}
-
-.fa-pinterest:before{
-    content:""}
-
-.fa-pinterest-square:before{
-    content:""}
-
-.fa-google-plus-square:before{
-    content:""}
-
-.fa-google-plus:before{
-    content:""}
-
-.fa-money:before{
-    content:""}
-
-.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{
-    content:""}
-
-.fa-caret-up:before{
-    content:""}
-
-.fa-caret-left:before{
-    content:""}
-
-.fa-caret-right:before{
-    content:""}
-
-.fa-columns:before{
-    content:""}
-
-.fa-unsorted:before,.fa-sort:before{
-    content:""}
-
-.fa-sort-down:before,.fa-sort-desc:before{
-    content:""}
-
-.fa-sort-up:before,.fa-sort-asc:before{
-    content:""}
-
-.fa-envelope:before{
-    content:""}
-
-.fa-linkedin:before{
-    content:""}
-
-.fa-rotate-left:before,.fa-undo:before{
-    content:""}
-
-.fa-legal:before,.fa-gavel:before{
-    content:""}
-
-.fa-dashboard:before,.fa-tachometer:before{
-    content:""}
-
-.fa-comment-o:before{
-    content:""}
-
-.fa-comments-o:before{
-    content:""}
-
-.fa-flash:before,.fa-bolt:before{
-    content:""}
-
-.fa-sitemap:before{
-    content:""}
-
-.fa-umbrella:before{
-    content:""}
-
-.fa-paste:before,.fa-clipboard:before{
-    content:""}
-
-.fa-lightbulb-o:before{
-    content:""}
-
-.fa-exchange:before{
-    content:""}
-
-.fa-cloud-download:before{
-    content:""}
-
-.fa-cloud-upload:before{
-    content:""}
-
-.fa-user-md:before{
-    content:""}
-
-.fa-stethoscope:before{
-    content:""}
-
-.fa-suitcase:before{
-    content:""}
-
-.fa-bell-o:before{
-    content:""}
-
-.fa-coffee:before{
-    content:""}
-
-.fa-cutlery:before{
-    content:""}
-
-.fa-file-text-o:before{
-    content:""}
-
-.fa-building-o:before{
-    content:""}
-
-.fa-hospital-o:before{
-    content:""}
-
-.fa-ambulance:before{
-    content:""}
-
-.fa-medkit:before{
-    content:""}
-
-.fa-fighter-jet:before{
-    content:""}
-
-.fa-beer:before{
-    content:""}
-
-.fa-h-square:before{
-    content:""}
-
-.fa-plus-square:before{
-    content:""}
-
-.fa-angle-double-left:before{
-    content:""}
-
-.fa-angle-double-right:before{
-    content:""}
-
-.fa-angle-double-up:before{
-    content:""}
-
-.fa-angle-double-down:before{
-    content:""}
-
-.fa-angle-left:before{
-    content:""}
-
-.fa-angle-right:before{
-    content:""}
-
-.fa-angle-up:before{
-    content:""}
-
-.fa-angle-down:before{
-    content:""}
-
-.fa-desktop:before{
-    content:""}
-
-.fa-laptop:before{
-    content:""}
-
-.fa-tablet:before{
-    content:""}
-
-.fa-mobile-phone:before,.fa-mobile:before{
-    content:""}
-
-.fa-circle-o:before{
-    content:""}
-
-.fa-quote-left:before{
-    content:""}
-
-.fa-quote-right:before{
-    content:""}
-
-.fa-spinner:before{
-    content:""}
-
-.fa-circle:before{
-    content:""}
-
-.fa-mail-reply:before,.fa-reply:before{
-    content:""}
-
-.fa-github-alt:before{
-    content:""}
-
-.fa-folder-o:before{
-    content:""}
-
-.fa-folder-open-o:before{
-    content:""}
-
-.fa-smile-o:before{
-    content:""}
-
-.fa-frown-o:before{
-    content:""}
-
-.fa-meh-o:before{
-    content:""}
-
-.fa-gamepad:before{
-    content:""}
-
-.fa-keyboard-o:before{
-    content:""}
-
-.fa-flag-o:before{
-    content:""}
-
-.fa-flag-checkered:before{
-    content:""}
-
-.fa-terminal:before{
-    content:""}
-
-.fa-code:before{
-    content:""}
-
-.fa-mail-reply-all:before,.fa-reply-all:before{
-    content:""}
-
-.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{
-    content:""}
-
-.fa-location-arrow:before{
-    content:""}
-
-.fa-crop:before{
-    content:""}
-
-.fa-code-fork:before{
-    content:""}
-
-.fa-unlink:before,.fa-chain-broken:before{
-    content:""}
-
-.fa-question:before{
-    content:""}
-
-.fa-info:before{
-    content:""}
-
-.fa-exclamation:before{
-    content:""}
-
-.fa-superscript:before{
-    content:""}
-
-.fa-subscript:before{
-    content:""}
-
-.fa-eraser:before{
-    content:""}
-
-.fa-puzzle-piece:before{
-    content:""}
-
-.fa-microphone:before{
-    content:""}
-
-.fa-microphone-slash:before{
-    content:""}
-
-.fa-shield:before{
-    content:""}
-
-.fa-calendar-o:before{
-    content:""}
-
-.fa-fire-extinguisher:before{
-    content:""}
-
-.fa-rocket:before{
-    content:""}
-
-.fa-maxcdn:before{
-    content:""}
-
-.fa-chevron-circle-left:before{
-    content:""}
-
-.fa-chevron-circle-right:before{
-    content:""}
-
-.fa-chevron-circle-up:before{
-    content:""}
-
-.fa-chevron-circle-down:before{
-    content:""}
-
-.fa-html5:before{
-    content:""}
-
-.fa-css3:before{
-    content:""}
-
-.fa-anchor:before{
-    content:""}
-
-.fa-unlock-alt:before{
-    content:""}
-
-.fa-bullseye:before{
-    content:""}
-
-.fa-ellipsis-h:before{
-    content:""}
-
-.fa-ellipsis-v:before{
-    content:""}
-
-.fa-rss-square:before{
-    content:""}
-
-.fa-play-circle:before{
-    content:""}
-
-.fa-ticket:before{
-    content:""}
-
-.fa-minus-square:before{
-    content:""}
-
-.fa-minus-square-o:before{
-    content:""}
-
-.fa-level-up:before{
-    content:""}
-
-.fa-level-down:before{
-    content:""}
-
-.fa-check-square:before{
-    content:""}
-
-.fa-pencil-square:before{
-    content:""}
-
-.fa-external-link-square:before{
-    content:""}
-
-.fa-share-square:before{
-    content:""}
-
-.fa-compass:before{
-    content:""}
-
-.fa-toggle-down:before,.fa-caret-square-o-down:before{
-    content:""}
-
-.fa-toggle-up:before,.fa-caret-square-o-up:before{
-    content:""}
-
-.fa-toggle-right:before,.fa-caret-square-o-right:before{
-    content:""}
-
-.fa-euro:before,.fa-eur:before{
-    content:""}
-
-.fa-gbp:before{
-    content:""}
-
-.fa-dollar:before,.fa-usd:before{
-    content:""}
-
-.fa-rupee:before,.fa-inr:before{
-    content:""}
-
-.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{
-    content:""}
-
-.fa-ruble:before,.fa-rouble:before,.fa-rub:before{
-    content:""}
-
-.fa-won:before,.fa-krw:before{
-    content:""}
-
-.fa-bitcoin:before,.fa-btc:before{
-    content:""}
-
-.fa-file:before{
-    content:""}
-
-.fa-file-text:before{
-    content:""}
-
-.fa-sort-alpha-asc:before{
-    content:""}
-
-.fa-sort-alpha-desc:before{
-    content:""}
-
-.fa-sort-amount-asc:before{
-    content:""}
-
-.fa-sort-amount-desc:before{
-    content:""}
-
-.fa-sort-numeric-asc:before{
-    content:""}
-
-.fa-sort-numeric-desc:before{
-    content:""}
-
-.fa-thumbs-up:before{
-    content:""}
-
-.fa-thumbs-down:before{
-    content:""}
-
-.fa-youtube-square:before{
-    content:""}
-
-.fa-youtube:before{
-    content:""}
-
-.fa-xing:before{
-    content:""}
-
-.fa-xing-square:before{
-    content:""}
-
-.fa-youtube-play:before{
-    content:""}
-
-.fa-dropbox:before{
-    content:""}
-
-.fa-stack-overflow:before{
-    content:""}
-
-.fa-instagram:before{
-    content:""}
-
-.fa-flickr:before{
-    content:""}
-
-.fa-adn:before{
-    content:""}
-
-.fa-bitbucket:before,.icon-bitbucket:before{
-    content:""}
-
-.fa-bitbucket-square:before{
-    content:""}
-
-.fa-tumblr:before{
-    content:""}
-
-.fa-tumblr-square:before{
-    content:""}
-
-.fa-long-arrow-down:before{
-    content:""}
-
-.fa-long-arrow-up:before{
-    content:""}
-
-.fa-long-arrow-left:before{
-    content:""}
-
-.fa-long-arrow-right:before{
-    content:""}
-
-.fa-apple:before{
-    content:""}
-
-.fa-windows:before{
-    content:""}
-
-.fa-android:before{
-    content:""}
-
-.fa-linux:before{
-    content:""}
-
-.fa-dribbble:before{
-    content:""}
-
-.fa-skype:before{
-    content:""}
-
-.fa-foursquare:before{
-    content:""}
-
-.fa-trello:before{
-    content:""}
-
-.fa-female:before{
-    content:""}
-
-.fa-male:before{
-    content:""}
-
-.fa-gittip:before{
-    content:""}
-
-.fa-sun-o:before{
-    content:""}
-
-.fa-moon-o:before{
-    content:""}
-
-.fa-archive:before{
-    content:""}
-
-.fa-bug:before{
-    content:""}
-
-.fa-vk:before{
-    content:""}
-
-.fa-weibo:before{
-    content:""}
-
-.fa-renren:before{
-    content:""}
-
-.fa-pagelines:before{
-    content:""}
-
-.fa-stack-exchange:before{
-    content:""}
-
-.fa-arrow-circle-o-right:before{
-    content:""}
-
-.fa-arrow-circle-o-left:before{
-    content:""}
-
-.fa-toggle-left:before,.fa-caret-square-o-left:before{
-    content:""}
-
-.fa-dot-circle-o:before{
-    content:""}
-
-.fa-wheelchair:before{
-    content:""}
-
-.fa-vimeo-square:before{
-    content:""}
-
-.fa-turkish-lira:before,.fa-try:before{
-    content:""}
-
-.fa-plus-square-o:before{
-    content:""}
-
-.fa-space-shuttle:before{
-    content:""}
-
-.fa-slack:before{
-    content:""}
-
-.fa-envelope-square:before{
-    content:""}
-
-.fa-wordpress:before{
-    content:""}
-
-.fa-openid:before{
-    content:""}
-
-.fa-institution:before,.fa-bank:before,.fa-university:before{
-    content:""}
-
-.fa-mortar-board:before,.fa-graduation-cap:before{
-    content:""}
-
-.fa-yahoo:before{
-    content:""}
-
-.fa-google:before{
-    content:""}
-
-.fa-reddit:before{
-    content:""}
-
-.fa-reddit-square:before{
-    content:""}
-
-.fa-stumbleupon-circle:before{
-    content:""}
-
-.fa-stumbleupon:before{
-    content:""}
-
-.fa-delicious:before{
-    content:""}
-
-.fa-digg:before{
-    content:""}
-
-.fa-pied-piper-square:before,.fa-pied-piper:before{
-    content:""}
-
-.fa-pied-piper-alt:before{
-    content:""}
-
-.fa-drupal:before{
-    content:""}
-
-.fa-joomla:before{
-    content:""}
-
-.fa-language:before{
-    content:""}
-
-.fa-fax:before{
-    content:""}
-
-.fa-building:before{
-    content:""}
-
-.fa-child:before{
-    content:""}
-
-.fa-paw:before{
-    content:""}
-
-.fa-spoon:before{
-    content:""}
-
-.fa-cube:before{
-    content:""}
-
-.fa-cubes:before{
-    content:""}
-
-.fa-behance:before{
-    content:""}
-
-.fa-behance-square:before{
-    content:""}
-
-.fa-steam:before{
-    content:""}
-
-.fa-steam-square:before{
-    content:""}
-
-.fa-recycle:before{
-    content:""}
-
-.fa-automobile:before,.fa-car:before{
-    content:""}
-
-.fa-cab:before,.fa-taxi:before{
-    content:""}
-
-.fa-tree:before{
-    content:""}
-
-.fa-spotify:before{
-    content:""}
-
-.fa-deviantart:before{
-    content:""}
-
-.fa-soundcloud:before{
-    content:""}
-
-.fa-database:before{
-    content:""}
-
-.fa-file-pdf-o:before{
-    content:""}
-
-.fa-file-word-o:before{
-    content:""}
-
-.fa-file-excel-o:before{
-    content:""}
-
-.fa-file-powerpoint-o:before{
-    content:""}
-
-.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{
-    content:""}
-
-.fa-file-zip-o:before,.fa-file-archive-o:before{
-    content:""}
-
-.fa-file-sound-o:before,.fa-file-audio-o:before{
-    content:""}
-
-.fa-file-movie-o:before,.fa-file-video-o:before{
-    content:""}
-
-.fa-file-code-o:before{
-    content:""}
-
-.fa-vine:before{
-    content:""}
-
-.fa-codepen:before{
-    content:""}
-
-.fa-jsfiddle:before{
-    content:""}
-
-.fa-life-bouy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{
-    content:""}
-
-.fa-circle-o-notch:before{
-    content:""}
-
-.fa-ra:before,.fa-rebel:before{
-    content:""}
-
-.fa-ge:before,.fa-empire:before{
-    content:""}
-
-.fa-git-square:before{
-    content:""}
-
-.fa-git:before{
-    content:""}
-
-.fa-hacker-news:before{
-    content:""}
-
-.fa-tencent-weibo:before{
-    content:""}
-
-.fa-qq:before{
-    content:""}
-
-.fa-wechat:before,.fa-weixin:before{
-    content:""}
-
-.fa-send:before,.fa-paper-plane:before{
-    content:""}
-
-.fa-send-o:before,.fa-paper-plane-o:before{
-    content:""}
-
-.fa-history:before{
-    content:""}
-
-.fa-circle-thin:before{
-    content:""}
-
-.fa-header:before{
-    content:""}
-
-.fa-paragraph:before{
-    content:""}
-
-.fa-sliders:before{
-    content:""}
-
-.fa-share-alt:before{
-    content:""}
-
-.fa-share-alt-square:before{
-    content:""}
-
-.fa-bomb:before{
-    content:""}
-
-.fa,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{
-    font-family:inherit}
-
-.fa:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{
-    font-family:"FontAwesome";
-    display:inline-block;
-    font-style:normal;
-    font-weight:normal;
-    line-height:1;
-    text-decoration:inherit}
-
-a .fa,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .icon{
-    display:inline-block;
-    text-decoration:inherit}
-
-.btn .fa,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .icon,.nav .fa,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .icon{
-    display:inline}
-
-.btn .fa.fa-large,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .fa-large.icon{
-    line-height:0.9em}
-
-.btn .fa.fa-spin,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .fa-spin.icon{
-    display:inline-block}
-
-.btn.fa:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.btn.icon:before{
-    opacity:0.5;
-    -webkit-transition:opacity 0.05s ease-in;
-    -moz-transition:opacity 0.05s ease-in;
-    transition:opacity 0.05s ease-in}
-
-.btn.fa:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.btn.icon:hover:before{
-    opacity:1}
-
-.btn-mini .fa:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .icon:before{
-    font-size:14px;
-    vertical-align:-15%}
-
-.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo{
-    padding:12px;
-    line-height:24px;
-    margin-bottom:24px;
-    background:#e7f2fa}
-
-.wy-alert-title,.rst-content .admonition-title{
-    color:#fff;
-    font-weight:bold;
-    display:block;
-    color:#fff;
-    background:#6ab0de;
-    margin:-12px;
-    padding:6px 12px;
-    margin-bottom:12px}
-
-.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo{
-    background:#fdf3f2}
-
-.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title{
-    background:#f29f97}
-
-.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo{
-    background:#ffedcc}
-
-.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title{
-    background:#f0b37e}
-
-.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo{
-    background:#e7f2fa}
-
-.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title{
-    background:#6ab0de}
-
-.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo{
-    background:#dbfaf4}
-
-.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title{
-    background:#1abc9c}
-
-.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo{
-    background:#f3f6f6}
-
-.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title{
-    color:#404040;
-    background:#e1e4e5}
-
-.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a{
-    color:#2980B9}
-
-.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child{
-    margin-bottom:0}
-
-.wy-tray-container{
-    position:fixed;
-    bottom:0px;
-    left:0;
-    z-index:600}
-
-.wy-tray-container li{
-    display:block;
-    width:300px;
-    background:transparent;
-    color:#fff;
-    text-align:center;
-    box-shadow:0 5px 5px 0 rgba(0,0,0,0.1);
-    padding:0 24px;
-    min-width:20%;
-    opacity:0;
-    height:0;
-    line-height:56px;
-    overflow:hidden;
-    -webkit-transition:all 0.3s ease-in;
-    -moz-transition:all 0.3s ease-in;
-    transition:all 0.3s ease-in}
-
-.wy-tray-container li.wy-tray-item-success{
-    background:#27AE60}
-
-.wy-tray-container li.wy-tray-item-info{
-    background:#2980B9}
-
-.wy-tray-container li.wy-tray-item-warning{
-    background:#E67E22}
-
-.wy-tray-container li.wy-tray-item-danger{
-    background:#E74C3C}
-
-.wy-tray-container li.on{
-    opacity:1;
-    height:56px}
-
-@media screen and (max-width: 768px){
-    .wy-tray-container{
-        bottom:auto;
-        top:0;
-        width:100%}
-
-    .wy-tray-container li{
-        width:100%}
-
-}
-
-button{
-    font-size:100%;
-    margin:0;
-    vertical-align:baseline;
-    *vertical-align:middle;
-    cursor:pointer;
-    line-height:normal;
-    -webkit-appearance:button;
-    *overflow:visible}
-
-button::-moz-focus-inner,input::-moz-focus-inner{
-                             border:0;
-                             padding:0}
-
-button[disabled]{
-    cursor:default}
-
-.btn{
-    display:inline-block;
-    border-radius:2px;
-    line-height:normal;
-    white-space:nowrap;
-    text-align:center;
-    cursor:pointer;
-    font-size:100%;
-    padding:6px 12px 8px 12px;
-    color:#fff;
-    border:1px solid rgba(0,0,0,0.1);
-    background-color:#27AE60;
-    text-decoration:none;
-    font-weight:normal;
-    font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;
-    box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;
-    outline-none:false;
-    vertical-align:middle;
-    *display:inline;
-    zoom:1;
-    -webkit-user-drag:none;
-    -webkit-user-select:none;
-    -moz-user-select:none;
-    -ms-user-select:none;
-    user-select:none;
-    -webkit-transition:all 0.1s linear;
-    -moz-transition:all 0.1s linear;
-    transition:all 0.1s linear}
-
-.btn-hover{
-    background:#2e8ece;
-    color:#fff}
-
-.btn:hover{
-    background:#2cc36b;
-    color:#fff}
-
-.btn:focus{
-    background:#2cc36b;
-    outline:0}
-
-.btn:active{
-    box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;
-    padding:8px 12px 6px 12px}
-
-.btn:visited{
-    color:#fff}
-
-.btn:disabled{
-    background-image:none;
-    filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);
-    filter:alpha(opacity=40);
-    opacity:0.4;
-    cursor:not-allowed;
-    box-shadow:none}
-
-.btn-disabled{
-    background-image:none;
-    filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);
-    filter:alpha(opacity=40);
-    opacity:0.4;
-    cursor:not-allowed;
-    box-shadow:none}
-
-.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{
-    background-image:none;
-    filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);
-    filter:alpha(opacity=40);
-    opacity:0.4;
-    cursor:not-allowed;
-    box-shadow:none}
-
-.btn::-moz-focus-inner{
-    padding:0;
-    border:0}
-
-.btn-small{
-    font-size:80%}
-
-.btn-info{
-    background-color:#2980B9 !important}
-
-.btn-info:hover{
-    background-color:#2e8ece !important}
-
-.btn-neutral{
-    background-color:#f3f6f6 !important;
-    color:#404040 !important}
-
-.btn-neutral:hover{
-    background-color:#e5ebeb !important;
-    color:#404040}
-
-.btn-neutral:visited{
-    color:#404040 !important}
-
-.btn-success{
-    background-color:#27AE60 !important}
-
-.btn-success:hover{
-    background-color:#295 !important}
-
-.btn-danger{
-    background-color:#E74C3C !important}
-
-.btn-danger:hover{
-    background-color:#ea6153 !important}
-
-.btn-warning{
-    background-color:#E67E22 !important}
-
-.btn-warning:hover{
-    background-color:#e98b39 !important}
-
-.btn-invert{
-    background-color:#222}
-
-.btn-invert:hover{
-    background-color:#2f2f2f !important}
-
-.btn-link{
-    background-color:transparent !important;
-    color:#2980B9;
-    box-shadow:none;
-    border-color:transparent !important}
-
-.btn-link:hover{
-    background-color:transparent !important;
-    color:#409ad5 !important;
-    box-shadow:none}
-
-.btn-link:active{
-    background-color:transparent !important;
-    color:#409ad5 !important;
-    box-shadow:none}
-
-.btn-link:visited{
-    color:#9B59B6}
-
-.wy-btn-group .btn,.wy-control .btn{
-    vertical-align:middle}
-
-.wy-btn-group{
-    margin-bottom:24px;
-    *zoom:1}
-
-.wy-btn-group:before,.wy-btn-group:after{
-    display:table;
-    content:""}
-
-.wy-btn-group:after{
-    clear:both}
-
-.wy-dropdown{
-    position:relative;
-    display:inline-block}
-
-.wy-dropdown-active .wy-dropdown-menu{
-    display:block}
-
-.wy-dropdown-menu{
-    position:absolute;
-    left:0;
-    display:none;
-    float:left;
-    top:100%;
-    min-width:100%;
-    background:#fcfcfc;
-    z-index:100;
-    border:solid 1px #cfd7dd;
-    box-shadow:0 2px 2px 0 rgba(0,0,0,0.1);
-    padding:12px}
-
-.wy-dropdown-menu>dd>a{
-    display:block;
-    clear:both;
-    color:#404040;
-    white-space:nowrap;
-    font-size:90%;
-    padding:0 12px;
-    cursor:pointer}
-
-.wy-dropdown-menu>dd>a:hover{
-    background:#2980B9;
-    color:#fff}
-
-.wy-dropdown-menu>dd.divider{
-    border-top:solid 1px #cfd7dd;
-    margin:6px 0}
-
-.wy-dropdown-menu>dd.search{
-    padding-bottom:12px}
-
-.wy-dropdown-menu>dd.search input[type="search"]{
-    width:100%}
-
-.wy-dropdown-menu>dd.call-to-action{
-    background:#e3e3e3;
-    text-transform:uppercase;
-    font-weight:500;
-    font-size:80%}
-
-.wy-dropdown-menu>dd.call-to-action:hover{
-    background:#e3e3e3}
-
-.wy-dropdown-menu>dd.call-to-action .btn{
-    color:#fff}
-
-.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{
-    bottom:100%;
-    top:auto;
-    left:auto;
-    right:0}
-
-.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{
-    background:#fcfcfc;
-    margin-top:2px}
-
-.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{
-    padding:6px 12px}
-
-.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{
-    background:#2980B9;
-    color:#fff}
-
-.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{
-    right:0;
-    text-align:right}
-
-.wy-dropdown-arrow:before{
-    content:" ";
-    border-bottom:5px solid #f5f5f5;
-    border-left:5px solid transparent;
-    border-right:5px solid transparent;
-    position:absolute;
-    display:block;
-    top:-4px;
-    left:50%;
-    margin-left:-3px}
-
-.wy-dropdown-arrow.wy-dropdown-arrow-left:before{
-    left:11px}
-
-.wy-form-stacked select{
-    display:block}
-
-.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{
-    display:inline-block;
-    *display:inline;
-    *zoom:1;
-    vertical-align:middle}
-
-.wy-form-aligned .wy-control-group>label{
-    display:inline-block;
-    vertical-align:middle;
-    width:10em;
-    margin:6px 12px 0 0;
-    float:left}
-
-.wy-form-aligned .wy-control{
-    float:left}
-
-.wy-form-aligned .wy-control label{
-    display:block}
-
-.wy-form-aligned .wy-control select{
-    margin-top:6px}
-
-fieldset{
-    border:0;
-    margin:0;
-    padding:0}
-
-legend{
-    display:block;
-    width:100%;
-    border:0;
-    padding:0;
-    white-space:normal;
-    margin-bottom:24px;
-    font-size:150%;
-    *margin-left:-7px}
-
-label{
-    display:block;
-    margin:0 0 0.3125em 0;
-    color:#333;
-    font-size:90%}
-
-input,select,textarea{
-    font-size:100%;
-    margin:0;
-    vertical-align:baseline;
-    *vertical-align:middle}
-
-.wy-control-group{
-    margin-bottom:24px;
-    *zoom:1;
-    max-width:68em;
-    margin-left:auto;
-    margin-right:auto;
-    *zoom:1}
-
-.wy-control-group:before,.wy-control-group:after{
-    display:table;
-    content:""}
-
-.wy-control-group:after{
-    clear:both}
-
-.wy-control-group:before,.wy-control-group:after{
-    display:table;
-    content:""}
-
-.wy-control-group:after{
-    clear:both}
-
-.wy-control-group.wy-control-group-required>label:after{
-    content:" *";
-    color:#E74C3C}
-
-.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{
-    padding-bottom:12px}
-
-.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{
-    width:100%}
-
-.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{
-    width:100%}
-
-.wy-control-group .wy-form-full{
-    float:left;
-    display:block;
-    margin-right:2.35765%;
-    width:100%;
-    margin-right:0}
-
-.wy-control-group .wy-form-full:last-child{
-    margin-right:0}
-
-.wy-control-group .wy-form-halves{
-    float:left;
-    display:block;
-    margin-right:2.35765%;
-    width:48.82117%}
-
-.wy-control-group .wy-form-halves:last-child{
-    margin-right:0}
-
-.wy-control-group .wy-form-halves:nth-of-type(2n){
-    margin-right:0}
-
-.wy-control-group .wy-form-halves:nth-of-type(2n+1){
-    clear:left}
-
-.wy-control-group .wy-form-thirds{
-    float:left;
-    display:block;
-    margin-right:2.35765%;
-    width:31.76157%}
-
-.wy-control-group .wy-form-thirds:last-child{
-    margin-right:0}
-
-.wy-control-group .wy-form-thirds:nth-of-type(3n){
-    margin-right:0}
-
-.wy-control-group .wy-form-thirds:nth-of-type(3n+1){
-    clear:left}
-
-.wy-control-group.wy-control-group-no-input .wy-control{
-    margin:6px 0 0 0;
-    font-size:90%}
-
-.wy-control-no-input{
-    display:inline-block;
-    margin:6px 0 0 0;
-    font-size:90%}
-
-.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{
-    width:100%}
-
-.wy-form-message-inline{
-    display:inline-block;
-    padding-left:0.3em;
-    color:#666;
-    vertical-align:middle;
-    font-size:90%}
-
-.wy-form-message{
-    display:block;
-    color:#999;
-    font-size:70%;
-    margin-top:0.3125em;
-    font-style:italic}
-
-input{
-    line-height:normal}
-
-input[type="button"],input[type="reset"],input[type="submit"]{
-    -webkit-appearance:button;
-    cursor:pointer;
-    font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;
-    *overflow:visible}
-
-input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{
-    -webkit-appearance:none;
-    padding:6px;
-    display:inline-block;
-    border:1px solid #ccc;
-    font-size:80%;
-    font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;
-    box-shadow:inset 0 1px 3px #ddd;
-    border-radius:0;
-    -webkit-transition:border 0.3s linear;
-    -moz-transition:border 0.3s linear;
-    transition:border 0.3s linear}
-
-input[type="datetime-local"]{
-    padding:0.34375em 0.625em}
-
-input[disabled]{
-    cursor:default}
-
-input[type="checkbox"],input[type="radio"]{
-    -webkit-box-sizing:border-box;
-    -moz-box-sizing:border-box;
-    box-sizing:border-box;
-    padding:0;
-    margin-right:0.3125em;
-    *height:13px;
-    *width:13px}
-
-input[type="search"]{
-    -webkit-box-sizing:border-box;
-    -moz-box-sizing:border-box;
-    box-sizing:border-box}
-
-input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{
-                                                       -webkit-appearance:none}
-
-input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{
-                                                                                                                                                                                                                                                                                                                                                               outline:0;
-                                                                                                                                                                                                                                                                                                                                                               outline:thin dotted \9;
-                                                                                                                                                                                                                                                                                                                                                               border-color:#333}
-
-input.no-focus:focus{
-    border-color:#ccc !important}
-
-input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{
-                                                       outline:thin dotted #333;
-                                                       outline:1px auto #129FEA}
-
-input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{
-    cursor:not-allowed;
-    background-color:#f3f6f6;
-    color:#cad2d3}
-
-input:focus:invalid,textarea:focus:invalid,select:focus:invalid{
-                                               color:#E74C3C;
-                                               border:1px solid #E74C3C}
-
-input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{
-                                                           border-color:#E74C3C}
-
-input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{
-                                                                                   outline-color:#E74C3C}
-
-input.wy-input-large{
-    padding:12px;
-    font-size:100%}
-
-textarea{
-    overflow:auto;
-    vertical-align:top;
-    width:100%;
-    font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif}
-
-select,textarea{
-    padding:0.5em 0.625em;
-    display:inline-block;
-    border:1px solid #ccc;
-    font-size:80%;
-    box-shadow:inset 0 1px 3px #ddd;
-    -webkit-transition:border 0.3s linear;
-    -moz-transition:border 0.3s linear;
-    transition:border 0.3s linear}
-
-select{
-    border:1px solid #ccc;
-    background-color:#fff}
-
-select[multiple]{
-    height:auto}
-
-select:focus,textarea:focus{
-                 outline:0}
-
-select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{
-    cursor:not-allowed;
-    background-color:#fff;
-    color:#cad2d3;
-    border-color:transparent}
-
-.wy-checkbox,.wy-radio{
-    margin:6px 0;
-    color:#404040;
-    display:block}
-
-.wy-checkbox input,.wy-radio input{
-    vertical-align:baseline}
-
-.wy-form-message-inline{
-    display:inline-block;
-    *display:inline;
-    *zoom:1;
-    vertical-align:middle}
-
-.wy-input-prefix,.wy-input-suffix{
-    white-space:nowrap;
-    padding:6px}
-
-.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{
-    line-height:27px;
-    padding:0 8px;
-    display:inline-block;
-    font-size:80%;
-    background-color:#f3f6f6;
-    border:solid 1px #ccc;
-    color:#999}
-
-.wy-input-suffix .wy-input-context{
-    border-left:0}
-
-.wy-input-prefix .wy-input-context{
-    border-right:0}
-
-.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{
-    color:#E74C3C}
-
-.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{
-    border:solid 1px #E74C3C}
-
-.wy-control-group.wy-control-group-error textarea{
-    border:solid 1px #E74C3C}
-
-.wy-inline-validate{
-    white-space:nowrap}
-
-.wy-inline-validate .wy-input-context{
-    padding:0.5em 0.625em;
-    display:inline-block;
-    font-size:80%}
-
-.wy-inline-validate.wy-inline-validate-success .wy-input-context{
-    color:#27AE60}
-
-.wy-inline-validate.wy-inline-validate-danger .wy-input-context{
-    color:#E74C3C}
-
-.wy-inline-validate.wy-inline-validate-warning .wy-input-context{
-    color:#E67E22}
-
-.wy-inline-validate.wy-inline-validate-info .wy-input-context{
-    color:#2980B9}
-
-.rotate-90{
-    -webkit-transform:rotate(90deg);
-    -moz-transform:rotate(90deg);
-    -ms-transform:rotate(90deg);
-    -o-transform:rotate(90deg);
-    transform:rotate(90deg)}
-
-.rotate-180{
-    -webkit-transform:rotate(180deg);
-    -moz-transform:rotate(180deg);
-    -ms-transform:rotate(180deg);
-    -o-transform:rotate(180deg);
-    transform:rotate(180deg)}
-
-.rotate-270{
-    -webkit-transform:rotate(270deg);
-    -moz-transform:rotate(270deg);
-    -ms-transform:rotate(270deg);
-    -o-transform:rotate(270deg);
-    transform:rotate(270deg)}
-
-.mirror{
-    -webkit-transform:scaleX(-1);
-    -moz-transform:scaleX(-1);
-    -ms-transform:scaleX(-1);
-    -o-transform:scaleX(-1);
-    transform:scaleX(-1)}
-
-.mirror.rotate-90{
-    -webkit-transform:scaleX(-1) rotate(90deg);
-    -moz-transform:scaleX(-1) rotate(90deg);
-    -ms-transform:scaleX(-1) rotate(90deg);
-    -o-transform:scaleX(-1) rotate(90deg);
-    transform:scaleX(-1) rotate(90deg)}
-
-.mirror.rotate-180{
-    -webkit-transform:scaleX(-1) rotate(180deg);
-    -moz-transform:scaleX(-1) rotate(180deg);
-    -ms-transform:scaleX(-1) rotate(180deg);
-    -o-transform:scaleX(-1) rotate(180deg);
-    transform:scaleX(-1) rotate(180deg)}
-
-.mirror.rotate-270{
-    -webkit-transform:scaleX(-1) rotate(270deg);
-    -moz-transform:scaleX(-1) rotate(270deg);
-    -ms-transform:scaleX(-1) rotate(270deg);
-    -o-transform:scaleX(-1) rotate(270deg);
-    transform:scaleX(-1) rotate(270deg)}
-
-@media only screen and (max-width: 480px){
-    .wy-form button[type="submit"]{
-        margin:0.7em 0 0}
-
-    .wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{
-        margin-bottom:0.3em;
-        display:block}
-
-    .wy-form label{
-        margin-bottom:0.3em;
-        display:block}
-
-    .wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{
-        margin-bottom:0}
-
-    .wy-form-aligned .wy-control-group label{
-        margin-bottom:0.3em;
-        text-align:left;
-        display:block;
-        width:100%}
-
-    .wy-form-aligned .wy-control{
-        margin:1.5em 0 0 0}
-
-    .wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{
-        display:block;
-        font-size:80%;
-        padding:6px 0}
-
-}
-
-@media screen and (max-width: 768px){
-    .tablet-hide{
-        display:none}
-
-}
-
-@media screen and (max-width: 480px){
-    .mobile-hide{
-        display:none}
-
-}
-
-.float-left{
-    float:left}
-
-.float-right{
-    float:right}
-
-.full-width{
-    width:100%}
-
-.wy-table,.rst-content table.docutils,.rst-content table.field-list{
-    border-collapse:collapse;
-    border-spacing:0;
-    empty-cells:show;
-    margin-bottom:24px}
-
-.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{
-    color:#000;
-    font:italic 85%/1 arial,sans-serif;
-    padding:1em 0;
-    text-align:center}
-
-.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{
-    font-size:90%;
-    margin:0;
-    overflow:visible;
-    padding:8px 16px}
-
-.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{
-    border-left-width:0}
-
-.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{
-    color:#000;
-    text-align:left;
-    vertical-align:bottom;
-    white-space:nowrap}
-
-.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{
-    font-weight:bold;
-    border-bottom:solid 2px #e1e4e5}
-
-.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{
-    background-color:transparent;
-    vertical-align:middle}
-
-.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{
-    line-height:18px}
-
-.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{
-    margin-bottom:0}
-
-.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{
-    width:1%;
-    padding-right:0}
-
-.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{
-    margin:0}
-
-.wy-table-secondary{
-    color:gray;
-    font-size:90%}
-
-.wy-table-tertiary{
-    color:gray;
-    font-size:80%}
-
-.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{
-    background-color:#f3f6f6}
-
-.wy-table-backed{
-    background-color:#f3f6f6}
-
-.wy-table-bordered-all,.rst-content table.docutils{
-    border:1px solid #e1e4e5}
-
-.wy-table-bordered-all td,.rst-content table.docutils td{
-    border-bottom:1px solid #e1e4e5;
-    border-left:1px solid #e1e4e5}
-
-.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{
-    border-bottom-width:0}
-
-.wy-table-bordered{
-    border:1px solid #e1e4e5}
-
-.wy-table-bordered-rows td{
-    border-bottom:1px solid #e1e4e5}
-
-.wy-table-bordered-rows tbody>tr:last-child td{
-    border-bottom-width:0}
-
-.wy-table-horizontal tbody>tr:last-child td{
-    border-bottom-width:0}
-
-.wy-table-horizontal td,.wy-table-horizontal th{
-    border-width:0 0 1px 0;
-    border-bottom:1px solid #e1e4e5}
-
-.wy-table-horizontal tbody>tr:last-child td{
-    border-bottom-width:0}
-
-.wy-table-responsive{
-    margin-bottom:24px;
-    max-width:100%;
-    overflow:auto}
-
-.wy-table-responsive table{
-    margin-bottom:0 !important}
-
-.wy-table-responsive table td,.wy-table-responsive table th{
-    white-space:nowrap}
-
-a{
-    color:#2980B9;
-    text-decoration:none;
-    cursor:pointer}
-
-a:hover{
-    color:#3091d1}
-
-a:visited{
-    color:#9B59B6}
-
-html{
-    height:100%;
-    overflow-x:hidden}
-
-body{
-    font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;
-    font-weight:normal;
-    color:#404040;
-    min-height:100%;
-    overflow-x:hidden;
-    background:#edf0f2}
-
-.wy-text-left{
-    text-align:left}
-
-.wy-text-center{
-    text-align:center}
-
-.wy-text-right{
-    text-align:right}
-
-.wy-text-large{
-    font-size:120%}
-
-.wy-text-normal{
-    font-size:100%}
-
-.wy-text-small,small{
-    font-size:80%}
-
-.wy-text-strike{
-    text-decoration:line-through}
-
-.wy-text-warning{
-    color:#E67E22 !important}
-
-a.wy-text-warning:hover{
-    color:#eb9950 !important}
-
-.wy-text-info{
-    color:#2980B9 !important}
-
-a.wy-text-info:hover{
-    color:#409ad5 !important}
-
-.wy-text-success{
-    color:#27AE60 !important}
-
-a.wy-text-success:hover{
-    color:#36d278 !important}
-
-.wy-text-danger{
-    color:#E74C3C !important}
-
-a.wy-text-danger:hover{
-    color:#ed7669 !important}
-
-.wy-text-neutral{
-    color:#404040 !important}
-
-a.wy-text-neutral:hover{
-    color:#595959 !important}
-
-h1,h2,h3,h4,h5,h6,legend{
-    margin-top:0;
-    font-weight:700;
-    font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}
-
-p{
-    line-height:24px;
-    margin:0;
-    font-size:16px;
-    margin-bottom:24px}
-
-h1{
-    font-size:175%}
-
-h2{
-    font-size:150%}
-
-h3{
-    font-size:125%}
-
-h4{
-    font-size:115%}
-
-h5{
-    font-size:110%}
-
-h6{
-    font-size:100%}
-
-hr{
-    display:block;
-    height:1px;
-    border:0;
-    border-top:1px solid #e1e4e5;
-    margin:24px 0;
-    padding:0}
-
-code,.rst-content tt{
-    white-space:nowrap;
-    max-width:100%;
-    background:#fff;
-    border:solid 1px #e1e4e5;
-    font-size:75%;
-    padding:0 5px;
-    font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;
-    color:#E74C3C;
-    overflow-x:auto}
-
-code.code-large,.rst-content tt.code-large{
-    font-size:90%}
-
-.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{
-    list-style:disc;
-    line-height:24px;
-    margin-bottom:24px}
-
-.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{
-    list-style:disc;
-    margin-left:24px}
-
-.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{
-                                                                                                                                  margin-bottom:0}
-
-.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{
-    margin-bottom:0}
-
-.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{
-    list-style:circle}
-
-.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{
-    list-style:square}
-
-.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{
-    list-style:decimal}
-
-.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{
-    list-style:decimal;
-    line-height:24px;
-    margin-bottom:24px}
-
-.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{
-    list-style:decimal;
-    margin-left:24px}
-
-.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{
-                                                                                                                           margin-bottom:0}
-
-.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{
-    margin-bottom:0}
-
-.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{
-    list-style:disc}
-
-.codeblock-example{
-    border:1px solid #e1e4e5;
-    border-bottom:none;
-    padding:24px;
-    padding-top:48px;
-    font-weight:500;
-    background:#fff;
-    position:relative}
-
-.codeblock-example:after{
-    content:"Example";
-    position:absolute;
-    top:0px;
-    left:0px;
-    background:#9B59B6;
-    color:#fff;
-    padding:6px 12px}
-
-.codeblock-example.prettyprint-example-only{
-    border:1px solid #e1e4e5;
-    margin-bottom:24px}
-
-.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight']{
-    border:1px solid #e1e4e5;
-    padding:0px;
-    overflow-x:auto;
-    background:#fff;
-    margin:1px 0 24px 0}
-
-.codeblock div[class^='highlight'],pre.literal-block div[class^='highlight'],.rst-content .literal-block div[class^='highlight'],div[class^='highlight'] div[class^='highlight']{
-    border:none;
-    background:none;
-    margin:0}
-
-div[class^='highlight'] td.code{
-    width:100%}
-
-.linenodiv pre{
-    border-right:solid 1px #e6e9ea;
-    margin:0;
-    padding:12px 12px;
-    font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;
-    font-size:12px;
-    line-height:1.5;
-    color:#d9d9d9}
-
-div[class^='highlight'] pre{
-    white-space:pre;
-    margin:0;
-    padding:12px 12px;
-    font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;
-    font-size:12px;
-    line-height:1.5;
-    display:block;
-    overflow:auto;
-    color:#404040}
-
-@media print{
-    .codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'],div[class^='highlight'] pre{
-        white-space:pre-wrap}
-
-}
-
-.hll{
-    background-color:#ffc;
-    margin:0 -12px;
-    padding:0 12px;
-    display:block}
-
-.c{
-    color:#998;
-    font-style:italic}
-
-.err{
-    color:#a61717;
-    background-color:#e3d2d2}
-
-.k{
-    font-weight:bold}
-
-.o{
-    font-weight:bold}
-
-.cm{
-    color:#998;
-    font-style:italic}
-
-.cp{
-    color:#999;
-    font-weight:bold}
-
-.c1{
-    color:#998;
-    font-style:italic}
-
-.cs{
-    color:#999;
-    font-weight:bold;
-    font-style:italic}
-
-.gd{
-    color:#000;
-    background-color:#fdd}
-
-.gd .x{
-    color:#000;
-    background-color:#faa}
-
-.ge{
-    font-style:italic}
-
-.gr{
-    color:#a00}
-
-.gh{
-    color:#999}
-
-.gi{
-    color:#000;
-    background-color:#dfd}
-
-.gi .x{
-    color:#000;
-    background-color:#afa}
-
-.go{
-    color:#888}
-
-.gp{
-    color:#555}
-
-.gs{
-    font-weight:bold}
-
-.gu{
-    color:purple;
-    font-weight:bold}
-
-.gt{
-    color:#a00}
-
-.kc{
-    font-weight:bold}
-
-.kd{
-    font-weight:bold}
-
-.kn{
-    font-weight:bold}
-
-.kp{
-    font-weight:bold}
-
-.kr{
-    font-weight:bold}
-
-.kt{
-    color:#458;
-    font-weight:bold}
-
-.m{
-    color:#099}
-
-.s{
-    color:#d14}
-
-.n{
-    color:#333}
-
-.na{
-    color:teal}
-
-.nb{
-    color:#0086b3}
-
-.nc{
-    color:#458;
-    font-weight:bold}
-
-.no{
-    color:teal}
-
-.ni{
-    color:purple}
-
-.ne{
-    color:#900;
-    font-weight:bold}
-
-.nf{
-    color:#900;
-    font-weight:bold}
-
-.nn{
-    color:#555}
-
-.nt{
-    color:navy}
-
-.nv{
-    color:teal}
-
-.ow{
-    font-weight:bold}
-
-.w{
-    color:#bbb}
-
-.mf{
-    color:#099}
-
-.mh{
-    color:#099}
-
-.mi{
-    color:#099}
-
-.mo{
-    color:#099}
-
-.sb{
-    color:#d14}
-
-.sc{
-    color:#d14}
-
-.sd{
-    color:#d14}
-
-.s2{
-    color:#d14}
-
-.se{
-    color:#d14}
-
-.sh{
-    color:#d14}
-
-.si{
-    color:#d14}
-
-.sx{
-    color:#d14}
-
-.sr{
-    color:#009926}
-
-.s1{
-    color:#d14}
-
-.ss{
-    color:#990073}
-
-.bp{
-    color:#999}
-
-.vc{
-    color:teal}
-
-.vg{
-    color:teal}
-
-.vi{
-    color:teal}
-
-.il{
-    color:#099}
-
-.gc{
-    color:#999;
-    background-color:#EAF2F5}
-
-.wy-breadcrumbs li{
-    display:inline-block}
-
-.wy-breadcrumbs li.wy-breadcrumbs-aside{
-    float:right}
-
-.wy-breadcrumbs li a{
-    display:inline-block;
-    padding:5px}
-
-.wy-breadcrumbs li a:first-child{
-    padding-left:0}
-
-.wy-breadcrumbs-extra{
-    margin-bottom:0;
-    color:#b3b3b3;
-    font-size:80%;
-    display:inline-block}
-
-@media screen and (max-width: 480px){
-    .wy-breadcrumbs-extra{
-        display:none}
-
-    .wy-breadcrumbs li.wy-breadcrumbs-aside{
-        display:none}
-
-}
-
-@media print{
-    .wy-breadcrumbs li.wy-breadcrumbs-aside{
-        display:none}
-
-}
-
-.wy-affix{
-    position:fixed;
-    top:1.618em}
-
-.wy-menu a:hover{
-    text-decoration:none}
-
-.wy-menu-horiz{
-    *zoom:1}
-
-.wy-menu-horiz:before,.wy-menu-horiz:after{
-    display:table;
-    content:""}
-
-.wy-menu-horiz:after{
-    clear:both}
-
-.wy-menu-horiz ul,.wy-menu-horiz li{
-    display:inline-block}
-
-.wy-menu-horiz li:hover{
-    background:rgba(255,255,255,0.1)}
-
-.wy-menu-horiz li.divide-left{
-    border-left:solid 1px #404040}
-
-.wy-menu-horiz li.divide-right{
-    border-right:solid 1px #404040}
-
-.wy-menu-horiz a{
-    height:32px;
-    display:inline-block;
-    line-height:32px;
-    padding:0 16px}
-
-.wy-menu-vertical header{
-    height:32px;
-    display:inline-block;
-    line-height:32px;
-    padding:0 1.618em;
-    display:block;
-    font-weight:bold;
-    text-transform:uppercase;
-    font-size:80%;
-    color:#2980B9;
-    white-space:nowrap}
-
-.wy-menu-vertical ul{
-    margin-bottom:0}
-
-.wy-menu-vertical li.divide-top{
-    border-top:solid 1px #404040}
-
-.wy-menu-vertical li.divide-bottom{
-    border-bottom:solid 1px #404040}
-
-.wy-menu-vertical li.current{
-    background:#e3e3e3}
-
-.wy-menu-vertical li.current a{
-    color:gray;
-    border-right:solid 1px #c9c9c9;
-    padding:0.4045em 2.427em}
-
-.wy-menu-vertical li.current a:hover{
-    background:#d6d6d6}
-
-.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{
-    color:#404040;
-    padding:0.4045em 1.618em;
-    font-weight:bold;
-    position:relative;
-    background:#fcfcfc;
-    border:none;
-    border-bottom:solid 1px #c9c9c9;
-    border-top:solid 1px #c9c9c9;
-    padding-left:1.618em -4px}
-
-.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{
-    background:#fcfcfc}
-
-.wy-menu-vertical li.toctree-l2.current>a{
-    background:#c9c9c9;
-    padding:0.4045em 2.427em}
-
-.wy-menu-vertical li.current ul{
-    display:block}
-
-.wy-menu-vertical li ul{
-    margin-bottom:0;
-    display:none}
-
-.wy-menu-vertical .local-toc li ul{
-    display:block}
-
-.wy-menu-vertical li ul li a{
-    margin-bottom:0;
-    color:#b3b3b3;
-    font-weight:normal}
-
-.wy-menu-vertical a{
-    display:inline-block;
-    line-height:18px;
-    padding:0.4045em 1.618em;
-    display:block;
-    position:relative;
-    font-size:90%;
-    color:#b3b3b3}
-
-.wy-menu-vertical a:hover{
-    background-color:#4e4a4a;
-    cursor:pointer}
-
-.wy-menu-vertical a:active{
-    background-color:#2980B9;
-    cursor:pointer;
-    color:#fff}
-
-.wy-side-nav-search{
-    z-index:200;
-    background-color:#2980B9;
-    text-align:center;
-    padding:0.809em;
-    display:block;
-    color:#fcfcfc;
-    margin-bottom:0.809em}
-
-.wy-side-nav-search input[type=text]{
-    width:100%;
-    border-radius:50px;
-    padding:6px 12px;
-    border-color:#2472a4}
-
-.wy-side-nav-search img{
-    display:block;
-    margin:auto auto 0.809em auto;
-    height:45px;
-    width:45px;
-    background-color:#2980B9;
-    padding:5px;
-    border-radius:100%}
-
-.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{
-    color:#fcfcfc;
-    font-size:100%;
-    font-weight:bold;
-    display:inline-block;
-    padding:4px 6px;
-    margin-bottom:0.809em}
-
-.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{
-    background:rgba(255,255,255,0.1)}
-
-.wy-nav .wy-menu-vertical header{
-    color:#2980B9}
-
-.wy-nav .wy-menu-vertical a{
-    color:#b3b3b3}
-
-.wy-nav .wy-menu-vertical a:hover{
-    background-color:#2980B9;
-    color:#fff}
-
-[data-menu-wrap]{
-    -webkit-transition:all 0.2s ease-in;
-    -moz-transition:all 0.2s ease-in;
-    transition:all 0.2s ease-in;
-    position:absolute;
-    opacity:1;
-    width:100%;
-    opacity:0}
-
-[data-menu-wrap].move-center{
-    left:0;
-    right:auto;
-    opacity:1}
-
-[data-menu-wrap].move-left{
-    right:auto;
-    left:-100%;
-    opacity:0}
-
-[data-menu-wrap].move-right{
-    right:-100%;
-    left:auto;
-    opacity:0}
-
-.wy-body-for-nav{
-    background:left repeat-y #fcfcfc;
-    background-image:url(data:image/png;
-                         base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC);
-    background-size:300px 1px}
-
-.wy-grid-for-nav{
-    position:absolute;
-    width:100%;
-    height:100%}
-
-.wy-nav-side{
-    position:absolute;
-    top:0;
-    left:0;
-    width:300px;
-    overflow:hidden;
-    min-height:100%;
-    background:#343131;
-    z-index:200}
-
-.wy-nav-top{
-    display:none;
-    background:#2980B9;
-    color:#fff;
-    padding:0.4045em 0.809em;
-    position:relative;
-    line-height:50px;
-    text-align:center;
-    font-size:100%;
-    *zoom:1}
-
-.wy-nav-top:before,.wy-nav-top:after{
-    display:table;
-    content:""}
-
-.wy-nav-top:after{
-    clear:both}
-
-.wy-nav-top a{
-    color:#fff;
-    font-weight:bold}
-
-.wy-nav-top img{
-    margin-right:12px;
-    height:45px;
-    width:45px;
-    background-color:#2980B9;
-    padding:5px;
-    border-radius:100%}
-
-.wy-nav-top i{
-    font-size:30px;
-    float:left;
-    cursor:pointer}
-
-.wy-nav-content-wrap{
-    margin-left:300px;
-    background:#fcfcfc;
-    min-height:100%}
-
-.wy-nav-content{
-    padding:1.618em 3.236em;
-    height:100%;
-    max-width:800px;
-    margin:auto}
-
-.wy-body-mask{
-    position:fixed;
-    width:100%;
-    height:100%;
-    background:rgba(0,0,0,0.2);
-    display:none;
-    z-index:499}
-
-.wy-body-mask.on{
-    display:block}
-
-footer{
-    color:#999}
-
-footer p{
-    margin-bottom:12px}
-
-.rst-footer-buttons{
-    *zoom:1}
-
-.rst-footer-buttons:before,.rst-footer-buttons:after{
-    display:table;
-    content:""}
-
-.rst-footer-buttons:after{
-    clear:both}
-
-#search-results .search li{
-    margin-bottom:24px;
-    border-bottom:solid 1px #e1e4e5;
-    padding-bottom:24px}
-
-#search-results .search li:first-child{
-    border-top:solid 1px #e1e4e5;
-    padding-top:24px}
-
-#search-results .search li a{
-    font-size:120%;
-    margin-bottom:12px;
-    display:inline-block}
-
-#search-results .context{
-    color:gray;
-    font-size:90%}
-
-@media screen and (max-width: 768px){
-    .wy-body-for-nav{
-        background:#fcfcfc}
-
-    .wy-nav-top{
-        display:block}
-
-    .wy-nav-side{
-        left:-300px}
-
-    .wy-nav-side.shift{
-        width:85%;
-        left:0}
-
-    .wy-nav-content-wrap{
-        margin-left:0}
-
-    .wy-nav-content-wrap .wy-nav-content{
-        padding:1.618em}
-
-    .wy-nav-content-wrap.shift{
-        position:fixed;
-        min-width:100%;
-        left:85%;
-        top:0;
-        height:100%;
-        overflow:hidden}
-
-}
-
-@media screen and (min-width: 1400px){
-    .wy-nav-content-wrap{
-        background:rgba(0,0,0,0.05)}
-
-    .wy-nav-content{
-        margin:0;
-        background:#fcfcfc}
-
-}
-
-@media print{
-    .rst-versions,footer,.wy-nav-side{
-        display:none}
-
-    .wy-nav-content-wrap{
-        margin-left:0}
-
-}
-
-nav.stickynav{
-    position:fixed;
-    top:0}
-
-.rst-versions{
-    position:fixed;
-    bottom:0;
-    left:0;
-    width:300px;
-    color:#fcfcfc;
-    background:#1f1d1d;
-    border-top:solid 10px #343131;
-    font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;
-    z-index:400}
-
-.rst-versions a{
-    color:#2980B9;
-    text-decoration:none}
-
-.rst-versions .rst-badge-small{
-    display:none}
-
-.rst-versions .rst-current-version{
-    padding:12px;
-    background-color:#272525;
-    display:block;
-    text-align:right;
-    font-size:90%;
-    cursor:pointer;
-    color:#27AE60;
-    *zoom:1}
-
-.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{
-    display:table;
-    content:""}
-
-.rst-versions .rst-current-version:after{
-    clear:both}
-
-.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .icon{
-    color:#fcfcfc}
-
-.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{
-    float:left}
-
-.rst-versions .rst-current-version .icon-book{
-    float:left}
-
-.rst-versions .rst-current-version.rst-out-of-date{
-    background-color:#E74C3C;
-    color:#fff}
-
-.rst-versions .rst-current-version.rst-active-old-version{
-    background-color:#F1C40F;
-    color:#000}
-
-.rst-versions.shift-up .rst-other-versions{
-    display:block}
-
-.rst-versions .rst-other-versions{
-    font-size:90%;
-    padding:12px;
-    color:gray;
-    display:none}
-
-.rst-versions .rst-other-versions hr{
-    display:block;
-    height:1px;
-    border:0;
-    margin:20px 0;
-    padding:0;
-    border-top:solid 1px #413d3d}
-
-.rst-versions .rst-other-versions dd{
-    display:inline-block;
-    margin:0}
-
-.rst-versions .rst-other-versions dd a{
-    display:inline-block;
-    padding:6px;
-    color:#fcfcfc}
-
-.rst-versions.rst-badge{
-    width:auto;
-    bottom:20px;
-    right:20px;
-    left:auto;
-    border:none;
-    max-width:300px}
-
-.rst-versions.rst-badge .icon-book{
-    float:none}
-
-.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{
-    float:none}
-
-.rst-versions.rst-badge.shift-up .rst-current-version{
-    text-align:right}
-
-.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{
-    float:left}
-
-.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{
-    float:left}
-
-.rst-versions.rst-badge .rst-current-version{
-    width:auto;
-    height:30px;
-    line-height:30px;
-    padding:0 6px;
-    display:block;
-    text-align:center}
-
-@media screen and (max-width: 768px){
-    .rst-versions{
-        width:85%;
-        display:none}
-
-    .rst-versions.shift{
-        display:block}
-
-    img{
-        width:100%;
-        height:auto}
-
-}
-
-.rst-content img{
-    max-width:100%;
-    height:auto !important}
-
-.rst-content div.figure{
-    margin-bottom:24px}
-
-.rst-content div.figure.align-center{
-    text-align:center}
-
-.rst-content .section>img,.rst-content .section>a>img{
-    margin-bottom:24px}
-
-.rst-content blockquote{
-    margin-left:24px;
-    line-height:24px;
-    margin-bottom:24px}
-
-.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last{
-    margin-bottom:0}
-
-.rst-content .admonition-title:before{
-    margin-right:4px}
-
-.rst-content .admonition table{
-    border-color:rgba(0,0,0,0.1)}
-
-.rst-content .admonition table td,.rst-content .admonition table th{
-    background:transparent !important;
-    border-color:rgba(0,0,0,0.1) !important}
-
-.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{
-    list-style:lower-alpha}
-
-.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{
-    list-style:upper-alpha}
-
-.rst-content .section ol p,.rst-content .section ul p{
-    margin-bottom:12px}
-
-.rst-content .line-block{
-    margin-left:24px}
-
-.rst-content .topic-title{
-    font-weight:bold;
-    margin-bottom:12px}
-
-.rst-content .toc-backref{
-    color:#404040}
-
-.rst-content .align-right{
-    float:right;
-    margin:0px 0px 24px 24px}
-
-.rst-content .align-left{
-    float:left;
-    margin:0px 24px 24px 0px}
-
-.rst-content .align-center{
-    margin:auto;
-    display:block}
-
-.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink{
-    display:none;
-    visibility:hidden;
-    font-size:14px}
-
-.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after{
-    visibility:visible;
-    content:"";
-    font-family:FontAwesome;
-    display:inline-block}
-
-.rst-content h1:hover .headerlink,.rst-content h2:hover .headerlink,.rst-content h3:hover .headerlink,.rst-content h4:hover .headerlink,.rst-content h5:hover .headerlink,.rst-content h6:hover .headerlink,.rst-content dl dt:hover .headerlink{
-    display:inline-block}
-
-.rst-content .sidebar{
-    float:right;
-    width:40%;
-    display:block;
-    margin:0 0 24px 24px;
-    padding:24px;
-    background:#f3f6f6;
-    border:solid 1px #e1e4e5}
-
-.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{
-    font-size:90%}
-
-.rst-content .sidebar .last{
-    margin-bottom:0}
-
-.rst-content .sidebar .sidebar-title{
-    display:block;
-    font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;
-    font-weight:bold;
-    background:#e1e4e5;
-    padding:6px 12px;
-    margin:-24px;
-    margin-bottom:24px;
-    font-size:100%}
-
-.rst-content .highlighted{
-    background:#F1C40F;
-    display:inline-block;
-    font-weight:bold;
-    padding:0 6px}
-
-.rst-content .footnote-reference,.rst-content .citation-reference{
-    vertical-align:super;
-    font-size:90%}
-
-.rst-content table.docutils.citation,.rst-content table.docutils.footnote{
-    background:none;
-    border:none;
-    color:#999}
-
-.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{
-    border:none;
-    background-color:transparent !important;
-    white-space:normal}
-
-.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{
-    padding-left:0;
-    padding-right:0;
-    vertical-align:top}
-
-.rst-content table.field-list{
-    border:none}
-
-.rst-content table.field-list td{
-    border:none;
-    padding-top:5px}
-
-.rst-content table.field-list td>strong{
-    display:inline-block;
-    margin-top:3px}
-
-.rst-content table.field-list .field-name{
-    padding-right:10px;
-    text-align:left;
-    white-space:nowrap}
-
-.rst-content table.field-list .field-body{
-    text-align:left;
-    padding-left:0}
-
-.rst-content tt{
-    color:#000}
-
-.rst-content tt big,.rst-content tt em{
-    font-size:100% !important;
-    line-height:normal}
-
-.rst-content tt .xref,a .rst-content tt{
-    font-weight:bold}
-
-.rst-content a tt{
-    color:#2980B9}
-
-.rst-content dl{
-    margin-bottom:24px}
-
-.rst-content dl dt{
-    font-weight:bold}
-
-.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{
-    margin-bottom:12px !important}
-
-.rst-content dl dd{
-    margin:0 0 12px 24px}
-
-.rst-content dl:not(.docutils){
-    margin-bottom:24px}
-
-.rst-content dl:not(.docutils) dt{
-    display:inline-block;
-    margin:6px 0;
-    font-size:90%;
-    line-height:normal;
-    background:#e7f2fa;
-    color:#2980B9;
-    border-top:solid 3px #6ab0de;
-    padding:6px;
-    position:relative}
-
-.rst-content dl:not(.docutils) dt:before{
-    color:#6ab0de}
-
-.rst-content dl:not(.docutils) dt .headerlink{
-    color:#404040;
-    font-size:100% !important}
-
-.rst-content dl:not(.docutils) dl dt{
-    margin-bottom:6px;
-    border:none;
-    border-left:solid 3px #ccc;
-    background:#f0f0f0;
-    color:gray}
-
-.rst-content dl:not(.docutils) dl dt .headerlink{
-    color:#404040;
-    font-size:100% !important}
-
-.rst-content dl:not(.docutils) dt:first-child{
-    margin-top:0}
-
-.rst-content dl:not(.docutils) tt{
-    font-weight:bold}
-
-.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname{
-    background-color:transparent;
-    border:none;
-    padding:0;
-    font-size:100% !important}
-
-.rst-content dl:not(.docutils) tt.descname{
-    font-weight:bold}
-
-.rst-content dl:not(.docutils) .optional{
-    display:inline-block;
-    padding:0 4px;
-    color:#000;
-    font-weight:bold}
-
-.rst-content dl:not(.docutils) .property{
-    display:inline-block;
-    padding-right:8px}
-
-.rst-content .viewcode-link,.rst-content .viewcode-back{
-    display:inline-block;
-    color:#27AE60;
-    font-size:80%;
-    padding-left:24px}
-
-.rst-content .viewcode-back{
-    display:block;
-    float:right}
-
-.rst-content p.rubric{
-    margin-bottom:12px;
-    font-weight:bold}
-
-@media screen and (max-width: 480px){
-    .rst-content .sidebar{
-        width:100%}
-
-}
-
-span[id*='MathJax-Span']{
-    color:#404040}
-
-.math{
-    text-align:center}
-
-
-/*# sourceMappingURL=theme.css.map */
diff --git a/doc/orgmode/org-html-themes b/doc/orgmode/org-html-themes
new file mode 160000
index 000000000..7e4e2ec56
--- /dev/null
+++ b/doc/orgmode/org-html-themes
@@ -0,0 +1 @@
+Subproject commit 7e4e2ec56069dae3b40e2afdc0174bec368609d8
diff --git a/doc/orgmode/users_guide.org.in b/doc/orgmode/users_guide.org.in
index 39e2618e9..226ca624c 100644
--- a/doc/orgmode/users_guide.org.in
+++ b/doc/orgmode/users_guide.org.in
@@ -6,12 +6,12 @@
 #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil pri:nil tags:not-in-toc html-style:nil
 #+BEAMER_THEME: Rochester
 
-#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="css/htmlize.css"/>
-#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="css/readtheorg.css"/>
-#+HTML_HEAD: <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
-#+HTML_HEAD: <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-#+HTML_HEAD: <script type="text/javascript" src="styles/lib/js/jquery.stickytableheaders.min.js"></script>
-#+HTML_HEAD: <script type="text/javascript" src="styles/readtheorg/js/readtheorg.js"></script>
+#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="org-html-themes/styles/readtheorg/css/htmlize.css"/>
+#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="org-html-themes/styles/readtheorg/css/readtheorg.css"/>
+#+HTML_HEAD: <script type="text/javascript" src="org-html-themes/styles/readtheorg/js/jquery.min.js"></script>
+#+HTML_HEAD: <script type="text/javascript" src="org-html-themes/styles/readtheorg/js/bootstrap.min.js"></script>
+#+HTML_HEAD: <script type="text/javascript" src="org-html-themes/styles/readtheorg/js/jquery.stickytableheaders.min.js"></script>
+#+HTML_HEAD: <script type="text/javascript" src="org-html-themes/styles/readtheorg/js/readtheorg.js"></script>
 
 #+INCLUDE: "./version.org"
 
diff --git a/tools/bench/jube/GenFigures.R b/tools/bench/jube/GenFigures.R
new file mode 100644
index 000000000..04fba1aa1
--- /dev/null
+++ b/tools/bench/jube/GenFigures.R
@@ -0,0 +1,175 @@
+library(ggplot2)
+library(plyr)
+library(reshape2)
+
+##
+## Load the file and clean up
+##
+df <- read.csv( "chameleon.csv", header=TRUE, sep=",", comment.char="#" )
+
+## Factorize the parameter for a better use
+df$algorithm = factor(df$algorithm)
+df$hostname  = factor(df$hostname)
+df$mpivendor = factor(df$mpivendor)
+df$ngpu      = factor(df$ngpu)
+df$nmpi      = factor(df$nmpi)
+df$p         = factor(df$p)
+df$q         = factor(df$q)
+df$precision = factor(df$precision)
+
+## Get the hostname list
+hostnames <- ddply( df, c("hostname"), summarise, N = length(hostname) )$hostname
+
+## Get the mpivendor list
+mpinames <- ddply( df, c("mpivendor"), summarise, N = length(mpivendor) )$mpivendor
+
+##
+## Generate one figure for CPU times, and one figure for GFlop/s
+## mpi - string to caracterize the mpivendors included in df
+##
+gen_mpi_figure <- function( df, mpi )
+{
+    ## summary( df )
+    if ( nrow( df ) == 0 ) {
+        break;
+    }
+
+    df$nmpi = revalue( df$nmpi, c("1" = "1 MPI Process",
+                                  "4" = "4 MPI Processes (2x2)",
+                                  "9" = "9 MPI Processes (3x3)") )
+
+    df$algorithm = revalue( df$algorithm, c("gemm"      = "Matrix Multiply (gemm)",
+                                            "geqrf_hqr" = "QR factorization (geqrf)",
+                                            "potrf"     = "Cholesky factorization (potrf)") )
+
+    df$precision = revalue( df$precision, c("s" = "Single real (s)",
+                                            "d" = "Double real (d)" ) )
+
+    df$mpivendor <- revalue( df$mpivendor, c("openmpi" = "OpenMPI",
+                                             "nmad" = "NewMadeleine") )
+
+    ##
+    ##  CPU time version
+    ##
+    p <- ggplot( df, aes( x=n, y=cputime, colour=mpivendor, linetype=precision ) )
+
+    p <- p + facet_grid( algorithm ~ nmpi, scales="free_x" )
+    p <- p + geom_line(  )
+    p <- p + scale_colour_discrete( name=element_blank() ) ##name="Number of MPI processes" )
+    p <- p + scale_linetype_manual( values=c("solid", "dashed"),
+                                   name=element_blank() )## name="Arithmetic",
+
+    p <- p + theme( legend.position="bottom" )
+
+    p <- p + scale_y_log10( )
+    p <- p + ylab( "CPU Time (s)" )
+    p <- p + xlab( "Matrix size (M = N = K)" )
+
+    filename <- paste( "chameleon", "plafrim", h, "time", mpi, sep="_")
+    filename <- paste( filename, ".png", sep="" )
+
+    ggsave( filename, plot=p, width=10, height=10 )
+
+    ##
+    ##  GFLop/s version
+    ##
+    p <- ggplot( df, aes( x=n, y=gflops, colour=mpivendor, linetype=precision ) )
+
+    p <- p + facet_grid( algorithm ~ nmpi, scales="free_x" )
+    p <- p + geom_line(  )
+    p <- p + scale_colour_discrete( name=element_blank() ) ##name="Number of MPI processes" )
+    p <- p + scale_linetype_manual( values=c("solid", "dashed"),
+                                   name=element_blank() )## name="Arithmetic",
+
+    p <- p + theme( legend.position="bottom" )
+
+    p <- p + ylab( "GFlop/s" )
+    p <- p + xlab( "Matrix size (M = N = K)" )
+
+    filename <- paste( "chameleon", "plafrim", h, "perf", mpi, sep="_")
+    filename <- paste( filename, ".png", sep="" )
+
+    ggsave( filename, plot=p, width=10, height=10 )
+}
+
+##
+## Generate one figure with both CPU times and GFlop/s in facet for single node exeperiments
+##
+gen_shm_figure <- function( df )
+{
+    if ( nrow( df ) == 0 ) {
+        next;
+    }
+
+    df$algorithm = revalue( df$algorithm, c("gemm"      = "Matrix Multiply (gemm)",
+                                            "geqrf_hqr" = "QR factorization (geqrf)",
+                                            "potrf"     = "Cholesky factorization (potrf)") )
+
+    df$precision = revalue( df$precision, c("s" = "Single real (s)",
+                                            "d" = "Double real (d)" ) )
+
+    df$mpivendor <- revalue( df$mpivendor, c("openmpi" = "OpenMPI",
+                                             "nmad" = "NewMadeleine") )
+
+    df$type <- revalue( df$type, c("cputime" = "CPU Time (s)",
+                                   "gflops"  = "GFlop/s") )
+
+    p <- ggplot( df, aes( x=n, y=value, colour=mpivendor, linetype=precision ) )
+
+    p <- p + facet_grid( type ~ algorithm, scales="free" )
+    p <- p + geom_line(  )
+    p <- p + scale_linetype_manual( name=element_blank(),
+                                   values=c("solid", "dashed"))
+    p <- p + theme( legend.position="bottom" )
+
+    p <- p + xlab( "Matrix size (M = N = K)" )
+    p <- p + ylab( element_blank() )
+    p <- p + guides( colour=FALSE )
+
+    filename <- paste( "chameleon", "plafrim", h, sep="_")
+    filename <- paste( filename, ".png", sep="" )
+
+    ggsave( filename, plot=p, width=10, height=7 )
+}
+
+##
+## Generate the distributed figures
+##
+
+#Restict to bora
+hostnames <- c( 'bora' )
+
+for ( h in hostnames ) {
+    for ( mpi in mpinames ) {
+        ldf <- df[ (df$hostname == h) & (df$mpivendor == mpi),]
+        gen_mpi_figure( ldf, mpi )
+    }
+
+    ldf <- df[ (df$hostname == h),]
+    gen_mpi_figure( ldf, "both" )
+}
+
+##
+## Generate the distributed figures
+##
+
+## Restrict the list
+hostnames <- c( 'sirocco' )
+mpinames  <- c( 'openmpi' )
+
+# Restructure the data to have cpu time and gflops on separated lines
+shmdf <- melt( df,
+              id.vars = c( "algorithm", "hostname", "k", "m", "mpivendor", "n",
+                          "ngpu", "nmpi", "nthread", "p", "precision", "q" ),
+              variable.name = "type",
+              value.name    = "value" )
+
+# loop over hostname and mpivendor
+for ( mpi in mpinames ) {
+    for ( h in hostnames ) {
+        ldf <- shmdf[ (shmdf$hostname == h) & (shmdf$mpivendor == mpi),]
+        gen_shm_figure( ldf )
+    }
+}
+
+
diff --git a/tools/bench/jube/get_result.py b/tools/bench/jube/get_result.py
new file mode 100755
index 000000000..a2bdbcb30
--- /dev/null
+++ b/tools/bench/jube/get_result.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python3
+
+import pandas
+import click
+import csv
+from elasticsearch import Elasticsearch
+
+@click.command()
+@click.option("-e", "--elastic-url", default="http://localhost:9200", help="elasticsearch instance url")
+@click.option("-t", "--team", required=True, help="team name")
+@click.option("-p", "--project", required=True, help="project name")
+@click.option("-c", "--commit", required=True, help="chameleon commit")
+def main(
+    elastic_url: str,
+    team: str,
+    project: str,
+    commit: str
+):
+    """Get a result from an elasticsearch database, e.g.
+    https://elasticsearch.bordeaux.inria.fr."""
+    es = Elasticsearch(elastic_url)
+    es_index = team + "-" + project + "_" + "perf"
+
+    search_param = {
+      "query": {
+        "bool": {
+          "must": [
+            {"term": {"Commit_sha_chameleon": {"value": commit}}}
+          ]
+        }
+      },
+      "size": 1000
+    }
+    response = es.search(index=es_index, body=search_param)
+    elastic_docs = response["hits"]["hits"]
+
+    docs = pandas.DataFrame()
+    for num, doc in enumerate(elastic_docs):
+
+        # get _source data dict from document
+        source_data = doc["_source"]
+
+        # get _id from document
+        _id = doc["_id"]
+
+        # create a Series object from doc dict object
+        doc_data = pandas.Series(source_data, name = _id)
+        doc_data = doc_data.drop(labels=['Commit_date_chameleon', 'Commit_sha_chameleon', 'Commit_sha_guix', 'Commit_sha_guix_hpc', 'Commit_sha_guix_hpcnonfree'])
+
+        # append the Series object to the DataFrame object
+        docs = docs.append(doc_data)
+
+    docs = docs.astype({"Nmpi": int, "Nthread": int, "Ngpu": int, "P": int, "Q": int, "M": int, "N": int, "K": int})
+    docs = docs.rename(columns=str.lower)
+    docs.to_csv("chameleon.csv", ",", index=False)
+
+if __name__ == "__main__":
+    main()
diff --git a/tools/bench/plafrim/parameters/miriel/parameters.xml b/tools/bench/plafrim/parameters/miriel/parameters.xml
deleted file mode 100644
index 54c33d13a..000000000
--- a/tools/bench/plafrim/parameters/miriel/parameters.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jube>
-    <parameterset name="param_gemm">
-        <parameter name="hostname"           type="string">miriel</parameter>
-        <parameter name="algorithm"          type="string">gemm</parameter>
-        <parameter name="precision"          type="string">s, d</parameter>
-        <parameter name="i_pq"               type="int"   >0, 1, 2</parameter>
-        <parameter name="p" mode="python"    type="int"   >[1, 2, 3][$i_pq]</parameter>
-        <parameter name="q" mode="python"    type="int"   >[1, 2, 3][$i_pq]</parameter>
-        <parameter name="nmpi" mode="python" type="int"   >[1, 4, 9][$i_pq]</parameter>
-        <parameter name="nthr"               type="int"   >22</parameter>
-        <parameter name="ngpu"               type="int"   >0</parameter>
-        <parameter name="b"                  type="int"   >320</parameter>
-        <parameter name="i_mn"               type="int"   >0, 1, 2, 3, 4, 5</parameter>
-        <parameter name="m" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*2*${b}, ${nmpi}*4*${b}, ${nmpi}*8*${b}, ${nmpi}*16*${b}, ${nmpi}*24*${b}][$i_mn]</parameter>
-        <parameter name="k" mode="python"    type="int"   >${m}</parameter>
-        <parameter name="n" mode="python"    type="int"   >${m}</parameter>
-        <parameter name="command"            type="string">mpiexec $MPI_OPTIONS -np $nmpi $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b</parameter>
-    </parameterset>
-    <parameterset name="param_potrf">
-        <parameter name="hostname"           type="string">miriel</parameter>
-        <parameter name="algorithm"          type="string">potrf</parameter>
-        <parameter name="precision"          type="string">s, d</parameter>
-        <parameter name="i_pq"               type="int"   >0, 1, 2</parameter>
-        <parameter name="p" mode="python"    type="int"   >[1, 2, 3][$i_pq]</parameter>
-        <parameter name="q" mode="python"    type="int"   >[1, 2, 3][$i_pq]</parameter>
-        <parameter name="nmpi" mode="python" type="int"   >[1, 4, 9][$i_pq]</parameter>
-        <parameter name="nthr"               type="int"   >22</parameter>
-        <parameter name="ngpu"               type="int"   >0</parameter>
-        <parameter name="b"                  type="int"   >320</parameter>
-        <parameter name="i_mn"               type="int"   >0, 1, 2, 3, 4, 5</parameter>
-        <parameter name="m" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*2*${b}, ${nmpi}*4*${b}, ${nmpi}*8*${b}, ${nmpi}*16*${b}, ${nmpi}*24*${b}][$i_mn]</parameter>
-        <parameter name="n" mode="python"    type="int"   >${m}</parameter>
-        <parameter name="k"                  type="int"   >1</parameter>
-        <parameter name="command"            type="string">mpiexec $MPI_OPTIONS -np $nmpi $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b</parameter>
-    </parameterset>
-    <parameterset name="param_geqrf">
-        <parameter name="hostname"           type="string">miriel</parameter>
-        <parameter name="algorithm"          type="string">geqrf_hqr</parameter>
-        <parameter name="precision"          type="string">s, d</parameter>
-        <parameter name="i_pq"               type="int"   >0, 1, 2</parameter>
-        <parameter name="p" mode="python"    type="int"   >[1, 2, 3][$i_pq]</parameter>
-        <parameter name="q" mode="python"    type="int"   >[1, 2, 3][$i_pq]</parameter>
-        <parameter name="nmpi" mode="python" type="int"   >[1, 4, 9][$i_pq]</parameter>
-        <parameter name="nthr"               type="int"   >22</parameter>
-        <parameter name="ngpu"               type="int"   >0</parameter>
-        <parameter name="b"                  type="int"   >320</parameter>
-        <parameter name="i_mn"               type="int"   >0, 1, 2, 3, 4, 5</parameter>
-        <parameter name="m" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*2*${b}, ${nmpi}*4*${b}, ${nmpi}*8*${b}, ${nmpi}*16*${b}, ${nmpi}*24*${b}][$i_mn]</parameter>
-        <parameter name="n" mode="python"    type="int"   >${m}</parameter>
-        <parameter name="k"                  type="int"   >1</parameter>
-        <parameter name="command"            type="string">mpiexec $MPI_OPTIONS -np $nmpi $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b</parameter>
-    </parameterset>
-</jube>
diff --git a/tools/bench/plafrim/parameters/sirocco/parameters.xml b/tools/bench/plafrim/parameters/sirocco/parameters.xml
index c5e869ea3..3f04ebc61 100644
--- a/tools/bench/plafrim/parameters/sirocco/parameters.xml
+++ b/tools/bench/plafrim/parameters/sirocco/parameters.xml
@@ -11,10 +11,10 @@
         <parameter name="nthr"               type="int"   >29</parameter>
         <parameter name="ngpu"               type="int"   >2</parameter>
         <parameter name="b"                  type="int"   >1600</parameter>
-        <parameter name="i_mn"               type="int"   >0, 1, 2, 3, 4</parameter>
-        <parameter name="m" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*5*${b}, ${nmpi}*10*${b}, ${nmpi}*20*${b}, ${nmpi}*40*${b}][$i_mn]</parameter>
-        <parameter name="k" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*5*${b}, ${nmpi}*10*${b}, ${nmpi}*20*${b}, ${nmpi}*40*${b}][$i_mn]</parameter>
-        <parameter name="n" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*5*${b}, ${nmpi}*10*${b}, ${nmpi}*20*${b}, ${nmpi}*40*${b}][$i_mn]</parameter>
+        <parameter name="i_mn"               type="int"   >0, 1, 2, 3, 4, 5</parameter>
+        <parameter name="m" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*2*${b}, ${nmpi}*4*${b}, ${nmpi}*8*${b}, ${nmpi}*16*${b}, ${nmpi}*32*${b}][$i_mn]</parameter>
+        <parameter name="k" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*2*${b}, ${nmpi}*4*${b}, ${nmpi}*8*${b}, ${nmpi}*16*${b}, ${nmpi}*32*${b}][$i_mn]</parameter>
+        <parameter name="n" mode="python"    type="int"   >[${nmpi}*${b}, ${nmpi}*2*${b}, ${nmpi}*4*${b}, ${nmpi}*8*${b}, ${nmpi}*16*${b}, ${nmpi}*32*${b}][$i_mn]</parameter>
         <parameter name="command"            type="string">mpiexec $MPI_OPTIONS -np $nmpi $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b</parameter>
     </parameterset>
     <parameterset name="param_potrf">
diff --git a/tools/bench/plafrim/run.sh b/tools/bench/plafrim/run.sh
index 89a135e0d..6ba4eaeb7 100755
--- a/tools/bench/plafrim/run.sh
+++ b/tools/bench/plafrim/run.sh
@@ -2,7 +2,7 @@
 
 echo "######################### Chameleon benchmarks #########################"
 
-set -x 
+set -x
 
 # to avoid a lock during fetching chameleon branch in parallel
 export XDG_CACHE_HOME=/tmp/guix-$$
@@ -11,27 +11,19 @@ export XDG_CACHE_HOME=/tmp/guix-$$
 guix describe --format=json > guix.json
 
 # define env var depending on the node type
-export STARPU_SILENT=1
-export STARPU_CALIBRATE=0
-export STARPU_COMM_STATS=1
-export STARPU_WORKER_STATS=1
 if [ $NODE = "bora" ]
 then
   export SLURM_CONSTRAINTS="bora,omnipath"
   export CHAMELEON_BUILD_OPTIONS="-DCHAMELEON_USE_MPI=ON -DCMAKE_BUILD_TYPE=Release"
   export STARPU_HOSTNAME="bora"
-elif [ $NODE = "miriel" ]
-then
-  export SLURM_CONSTRAINTS="miriel,infinipath"
-  export CHAMELEON_BUILD_OPTIONS="-DCHAMELEON_USE_MPI=ON -DCMAKE_BUILD_TYPE=Release"
-  export STARPU_HOSTNAME="miriel"
 elif [ $NODE = "sirocco" ]
 then
   export SLURM_CONSTRAINTS="sirocco,omnipath,v100"
   export CHAMELEON_BUILD_OPTIONS="-DCHAMELEON_USE_MPI=ON -DCHAMELEON_USE_CUDA=ON -DCMAKE_BUILD_TYPE=Release"
   export STARPU_HOSTNAME="sirocco"
+  export LD_PRELOAD="/usr/lib64/libcuda.so /usr/lib64/libnvidia-fatbinaryloader.so.440.33.01"
 else
-  echo "$0: Please set the NODE environnement variable to bora or miriel or sirocco."
+  echo "$0: Please set the NODE environnement variable to bora or sirocco."
   exit -1
 fi
 
@@ -41,25 +33,25 @@ if [ $NODE = "sirocco" ]
 then
   GUIX_ENV="chameleon-cuda --with-input=openblas=mkl"
 fi
+export MPI_OPTIONS=""
 if [ $MPI = "openmpi" ]
 then
-  export MPI_OPTIONS="--map-by ppr:1:node:pe=36"
-  if [ $NODE = "miriel" ]
+  if [ $NODE = "bora" ]
   then
-    export MPI_OPTIONS="--mca mtl psm --map-by ppr:1:node:pe=24"
+    export MPI_OPTIONS="--map-by ppr:1:node:pe=36"
   fi
   GUIX_ENV_MPI=""
   GUIX_ADHOC_MPI="openssh openmpi"
 elif [ $MPI = "nmad" ]
 then
   export MPI_OPTIONS="-DPIOM_DEDICATED=1 -DPIOM_DEDICATED_WAIT=1"
-  GUIX_ENV_MPI="--with-input=openmpi=nmad"
+  GUIX_ENV_MPI="--with-input=openmpi=nmad --with-branch=starpu=starpu-1.3"
   GUIX_ADHOC_MPI="which gzip zlib tar inetutils util-linux procps openssh nmad"
 else
   echo "$0: Please set the MPI environnement variable to openmpi or nmad."
   exit -1
 fi
-GUIX_ADHOC="slurm jube python python-click python-gitpython python-elasticsearch python-certifi sed coreutils grep gawk perl"
+GUIX_ADHOC="coreutils gawk grep jube perl python python-click python-certifi python-elasticsearch python-gitpython python-matplotlib python-pandas python-seaborn r-ggplot2 r-plyr r-reshape2 sed slurm"
 GUIX_RULE="$GUIX_ENV $GUIX_ENV_MPI --ad-hoc $GUIX_ADHOC $GUIX_ADHOC_MPI"
 
 # Submit jobs
@@ -68,6 +60,7 @@ GUIX_RULE="$GUIX_ENV $GUIX_ENV_MPI --ad-hoc $GUIX_ADHOC $GUIX_ADHOC_MPI"
 exec guix environment --pure \
                       --preserve=PLATFORM \
                       --preserve=NODE \
+                      --preserve=LD_PRELOAD \
                       --preserve=^CI \
                       --preserve=^SLURM \
                       --preserve=^JUBE \
diff --git a/tools/pages.sh b/tools/pages.sh
new file mode 100755
index 000000000..f7be64c65
--- /dev/null
+++ b/tools/pages.sh
@@ -0,0 +1,61 @@
+#!/usr/bin/env bash
+
+CHAMELEON_SRC_DIR=${CHAMELEON_SRC_DIR:-$PWD}
+
+mkdir tmp_fig
+cd tmp_fig
+
+## need to generate figures from last benchmarks
+# get the most recent chameleon commit date for which benchs have been performed
+commit_sha=`curl -X GET "https://elasticsearch.bordeaux.inria.fr/hiepacs-chameleon_perf/_search?pretty" -H 'Content-Type: application/json' -d'
+{
+  "query": { "match_all": {} },
+  "sort": [
+    { "Commit_date_chameleon": "desc" }
+  ],
+  "size": 1
+}
+' | grep "Commit_sha_chameleon" | awk '{ print $3" "$4}' |sed -e "s#,##g" |sed -e "s#\"##g" |sed -e "s# ##g"`
+echo $commit_sha
+
+# generate the csv file from elasticsearch for the given chameleon commit
+python3 ${CHAMELEON_SRC_DIR}/tools/bench/jube/get_result.py -e https://elasticsearch.bordeaux.inria.fr -t hiepacs -p chameleon -c $commit_sha
+
+# generate the figures
+Rscript ${CHAMELEON_SRC_DIR}/tools/bench/jube/GenFigures.R
+
+# add the performance chapter to the doc. we need the performances files to add
+# this chapter that are not commited in the sources so that this chapter is not
+# here by default
+cat >> ${CHAMELEON_SRC_DIR}/doc/orgmode/users_guide.org.in <<EOF
+* Chameleon Performances on PlaFRIM
+Chameleon commit: *$commit_sha*.
+#+INCLUDE: @CMAKE_CURRENT_SOURCE_DIR@/chapters/performances.org
+EOF
+
+cd ..
+
+## Build the doc
+VERSION=${VERSION:-pages}
+mkdir -p build-$VERSION
+cd build-$VERSION
+
+cmake $CHAMELEON_SRC_DIR -DCHAMELEON_ENABLE_DOC=ON
+make doc -j5
+
+cd ..
+mv build-$VERSION/doc/orgmode          public/
+mv build-$VERSION/doc/doxygen/out/html public/doxygen
+mv tmp_fig/*.png public/
+
+cd public/
+if [ -f users_guide.html ]
+then
+    ln -sfn users_guide.html index.html
+else
+    echo -e "ERROR: missing users_guide.html file"
+    exit 1
+fi
+
+# Change the width of the page in the CSS file
+sed -i -e "s#max-width:800px#max-width:1800px#" org-html-themes/styles/readtheorg/css/readtheorg.css
-- 
GitLab