diff --git a/.ipynb_checkpoints/entrega-checkpoint.ipynb b/.ipynb_checkpoints/entrega-checkpoint.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..7fec51502cbc3200b3d0ffc6bbba1fe85e197f3d --- /dev/null +++ b/.ipynb_checkpoints/entrega-checkpoint.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/DIAG1.jpg b/DIAG1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3fbc1f32773f15627e6b0bac5fa2852d4b249e03 Binary files /dev/null and b/DIAG1.jpg differ diff --git a/H-RD.gif b/H-RD.gif new file mode 100644 index 0000000000000000000000000000000000000000..6a7c08cb19c5446b14153a1f2f8b95449eaa3ce2 Binary files /dev/null and b/H-RD.gif differ diff --git a/dwarfs.csv b/dwarfs.csv new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/entrega.html b/entrega.html new file mode 100644 index 0000000000000000000000000000000000000000..af7d537495e87d14895967620c64448875edbf54 --- /dev/null +++ b/entrega.html @@ -0,0 +1,17031 @@ +<!DOCTYPE html> +<html> +<head><meta charset="utf-8" /> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>entrega</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> + + + + +<style type="text/css"> + pre { line-height: 125%; margin: 0; } +td.linenos pre { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } +td.linenos pre.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: var(--jp-cell-editor-active-background) } +.highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) } +.highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */ +.highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */ +.highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */ +.highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */ +.highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */ +.highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */ +.highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */ +.highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */ +.highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */ +.highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */ +.highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */ +.highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */ +.highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */ +.highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */ +.highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */ +.highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */ +.highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */ +.highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */ +.highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */ +.highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */ +.highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */ +.highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */ +.highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */ +.highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */ +.highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */ +.highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */ +.highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */ +.highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */ +.highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */ +.highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */ +.highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */ +.highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */ + </style> + + + +<style type="text/css"> +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* + * Mozilla scrollbar styling + */ + +/* use standard opaque scrollbars for most nodes */ +[data-jp-theme-scrollbars='true'] { + scrollbar-color: rgb(var(--jp-scrollbar-thumb-color)) + var(--jp-scrollbar-background-color); +} + +/* for code nodes, use a transparent style of scrollbar. These selectors + * will match lower in the tree, and so will override the above */ +[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar, +[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar { + scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent; +} + +/* + * Webkit scrollbar styling + */ + +/* use standard opaque scrollbars for most nodes */ + +[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar, +[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-corner { + background: var(--jp-scrollbar-background-color); +} + +[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-thumb { + background: rgb(var(--jp-scrollbar-thumb-color)); + border: var(--jp-scrollbar-thumb-margin) solid transparent; + background-clip: content-box; + border-radius: var(--jp-scrollbar-thumb-radius); +} + +[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:horizontal { + border-left: var(--jp-scrollbar-endpad) solid + var(--jp-scrollbar-background-color); + border-right: var(--jp-scrollbar-endpad) solid + var(--jp-scrollbar-background-color); +} + +[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:vertical { + border-top: var(--jp-scrollbar-endpad) solid + var(--jp-scrollbar-background-color); + border-bottom: var(--jp-scrollbar-endpad) solid + var(--jp-scrollbar-background-color); +} + +/* for code nodes, use a transparent style of scrollbar */ + +[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar::-webkit-scrollbar, +[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar::-webkit-scrollbar, +[data-jp-theme-scrollbars='true'] + .CodeMirror-hscrollbar::-webkit-scrollbar-corner, +[data-jp-theme-scrollbars='true'] + .CodeMirror-vscrollbar::-webkit-scrollbar-corner { + background-color: transparent; +} + +[data-jp-theme-scrollbars='true'] + .CodeMirror-hscrollbar::-webkit-scrollbar-thumb, +[data-jp-theme-scrollbars='true'] + .CodeMirror-vscrollbar::-webkit-scrollbar-thumb { + background: rgba(var(--jp-scrollbar-thumb-color), 0.5); + border: var(--jp-scrollbar-thumb-margin) solid transparent; + background-clip: content-box; + border-radius: var(--jp-scrollbar-thumb-radius); +} + +[data-jp-theme-scrollbars='true'] + .CodeMirror-hscrollbar::-webkit-scrollbar-track:horizontal { + border-left: var(--jp-scrollbar-endpad) solid transparent; + border-right: var(--jp-scrollbar-endpad) solid transparent; +} + +[data-jp-theme-scrollbars='true'] + .CodeMirror-vscrollbar::-webkit-scrollbar-track:vertical { + border-top: var(--jp-scrollbar-endpad) solid transparent; + border-bottom: var(--jp-scrollbar-endpad) solid transparent; +} + +/* + * Phosphor + */ + +.lm-ScrollBar[data-orientation='horizontal'] { + min-height: 16px; + max-height: 16px; + min-width: 45px; + border-top: 1px solid #a0a0a0; +} + +.lm-ScrollBar[data-orientation='vertical'] { + min-width: 16px; + max-width: 16px; + min-height: 45px; + border-left: 1px solid #a0a0a0; +} + +.lm-ScrollBar-button { + background-color: #f0f0f0; + background-position: center center; + min-height: 15px; + max-height: 15px; + min-width: 15px; + max-width: 15px; +} + +.lm-ScrollBar-button:hover { + background-color: #dadada; +} + +.lm-ScrollBar-button.lm-mod-active { + background-color: #cdcdcd; +} + +.lm-ScrollBar-track { + background: #f0f0f0; +} + +.lm-ScrollBar-thumb { + background: #cdcdcd; +} + +.lm-ScrollBar-thumb:hover { + background: #bababa; +} + +.lm-ScrollBar-thumb.lm-mod-active { + background: #a0a0a0; +} + +.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb { + height: 100%; + min-width: 15px; + border-left: 1px solid #a0a0a0; + border-right: 1px solid #a0a0a0; +} + +.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb { + width: 100%; + min-height: 15px; + border-top: 1px solid #a0a0a0; + border-bottom: 1px solid #a0a0a0; +} + +.lm-ScrollBar[data-orientation='horizontal'] + .lm-ScrollBar-button[data-action='decrement'] { + background-image: var(--jp-icon-caret-left); + background-size: 17px; +} + +.lm-ScrollBar[data-orientation='horizontal'] + .lm-ScrollBar-button[data-action='increment'] { + background-image: var(--jp-icon-caret-right); + background-size: 17px; +} + +.lm-ScrollBar[data-orientation='vertical'] + .lm-ScrollBar-button[data-action='decrement'] { + background-image: var(--jp-icon-caret-up); + background-size: 17px; +} + +.lm-ScrollBar[data-orientation='vertical'] + .lm-ScrollBar-button[data-action='increment'] { + background-image: var(--jp-icon-caret-down); + background-size: 17px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-Widget, /* </DEPRECATED> */ +.lm-Widget { + box-sizing: border-box; + position: relative; + overflow: hidden; + cursor: default; +} + + +/* <DEPRECATED> */ .p-Widget.p-mod-hidden, /* </DEPRECATED> */ +.lm-Widget.lm-mod-hidden { + display: none !important; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-CommandPalette, /* </DEPRECATED> */ +.lm-CommandPalette { + display: flex; + flex-direction: column; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +/* <DEPRECATED> */ .p-CommandPalette-search, /* </DEPRECATED> */ +.lm-CommandPalette-search { + flex: 0 0 auto; +} + + +/* <DEPRECATED> */ .p-CommandPalette-content, /* </DEPRECATED> */ +.lm-CommandPalette-content { + flex: 1 1 auto; + margin: 0; + padding: 0; + min-height: 0; + overflow: auto; + list-style-type: none; +} + + +/* <DEPRECATED> */ .p-CommandPalette-header, /* </DEPRECATED> */ +.lm-CommandPalette-header { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + + +/* <DEPRECATED> */ .p-CommandPalette-item, /* </DEPRECATED> */ +.lm-CommandPalette-item { + display: flex; + flex-direction: row; +} + + +/* <DEPRECATED> */ .p-CommandPalette-itemIcon, /* </DEPRECATED> */ +.lm-CommandPalette-itemIcon { + flex: 0 0 auto; +} + + +/* <DEPRECATED> */ .p-CommandPalette-itemContent, /* </DEPRECATED> */ +.lm-CommandPalette-itemContent { + flex: 1 1 auto; + overflow: hidden; +} + + +/* <DEPRECATED> */ .p-CommandPalette-itemShortcut, /* </DEPRECATED> */ +.lm-CommandPalette-itemShortcut { + flex: 0 0 auto; +} + + +/* <DEPRECATED> */ .p-CommandPalette-itemLabel, /* </DEPRECATED> */ +.lm-CommandPalette-itemLabel { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-DockPanel, /* </DEPRECATED> */ +.lm-DockPanel { + z-index: 0; +} + + +/* <DEPRECATED> */ .p-DockPanel-widget, /* </DEPRECATED> */ +.lm-DockPanel-widget { + z-index: 0; +} + + +/* <DEPRECATED> */ .p-DockPanel-tabBar, /* </DEPRECATED> */ +.lm-DockPanel-tabBar { + z-index: 1; +} + + +/* <DEPRECATED> */ .p-DockPanel-handle, /* </DEPRECATED> */ +.lm-DockPanel-handle { + z-index: 2; +} + + +/* <DEPRECATED> */ .p-DockPanel-handle.p-mod-hidden, /* </DEPRECATED> */ +.lm-DockPanel-handle.lm-mod-hidden { + display: none !important; +} + + +/* <DEPRECATED> */ .p-DockPanel-handle:after, /* </DEPRECATED> */ +.lm-DockPanel-handle:after { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + content: ''; +} + + +/* <DEPRECATED> */ +.p-DockPanel-handle[data-orientation='horizontal'], +/* </DEPRECATED> */ +.lm-DockPanel-handle[data-orientation='horizontal'] { + cursor: ew-resize; +} + + +/* <DEPRECATED> */ +.p-DockPanel-handle[data-orientation='vertical'], +/* </DEPRECATED> */ +.lm-DockPanel-handle[data-orientation='vertical'] { + cursor: ns-resize; +} + + +/* <DEPRECATED> */ +.p-DockPanel-handle[data-orientation='horizontal']:after, +/* </DEPRECATED> */ +.lm-DockPanel-handle[data-orientation='horizontal']:after { + left: 50%; + min-width: 8px; + transform: translateX(-50%); +} + + +/* <DEPRECATED> */ +.p-DockPanel-handle[data-orientation='vertical']:after, +/* </DEPRECATED> */ +.lm-DockPanel-handle[data-orientation='vertical']:after { + top: 50%; + min-height: 8px; + transform: translateY(-50%); +} + + +/* <DEPRECATED> */ .p-DockPanel-overlay, /* </DEPRECATED> */ +.lm-DockPanel-overlay { + z-index: 3; + box-sizing: border-box; + pointer-events: none; +} + + +/* <DEPRECATED> */ .p-DockPanel-overlay.p-mod-hidden, /* </DEPRECATED> */ +.lm-DockPanel-overlay.lm-mod-hidden { + display: none !important; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-Menu, /* </DEPRECATED> */ +.lm-Menu { + z-index: 10000; + position: absolute; + white-space: nowrap; + overflow-x: hidden; + overflow-y: auto; + outline: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +/* <DEPRECATED> */ .p-Menu-content, /* </DEPRECATED> */ +.lm-Menu-content { + margin: 0; + padding: 0; + display: table; + list-style-type: none; +} + + +/* <DEPRECATED> */ .p-Menu-item, /* </DEPRECATED> */ +.lm-Menu-item { + display: table-row; +} + + +/* <DEPRECATED> */ +.p-Menu-item.p-mod-hidden, +.p-Menu-item.p-mod-collapsed, +/* </DEPRECATED> */ +.lm-Menu-item.lm-mod-hidden, +.lm-Menu-item.lm-mod-collapsed { + display: none !important; +} + + +/* <DEPRECATED> */ +.p-Menu-itemIcon, +.p-Menu-itemSubmenuIcon, +/* </DEPRECATED> */ +.lm-Menu-itemIcon, +.lm-Menu-itemSubmenuIcon { + display: table-cell; + text-align: center; +} + + +/* <DEPRECATED> */ .p-Menu-itemLabel, /* </DEPRECATED> */ +.lm-Menu-itemLabel { + display: table-cell; + text-align: left; +} + + +/* <DEPRECATED> */ .p-Menu-itemShortcut, /* </DEPRECATED> */ +.lm-Menu-itemShortcut { + display: table-cell; + text-align: right; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-MenuBar, /* </DEPRECATED> */ +.lm-MenuBar { + outline: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +/* <DEPRECATED> */ .p-MenuBar-content, /* </DEPRECATED> */ +.lm-MenuBar-content { + margin: 0; + padding: 0; + display: flex; + flex-direction: row; + list-style-type: none; +} + + +/* <DEPRECATED> */ .p--MenuBar-item, /* </DEPRECATED> */ +.lm-MenuBar-item { + box-sizing: border-box; +} + + +/* <DEPRECATED> */ +.p-MenuBar-itemIcon, +.p-MenuBar-itemLabel, +/* </DEPRECATED> */ +.lm-MenuBar-itemIcon, +.lm-MenuBar-itemLabel { + display: inline-block; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-ScrollBar, /* </DEPRECATED> */ +.lm-ScrollBar { + display: flex; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +/* <DEPRECATED> */ +.p-ScrollBar[data-orientation='horizontal'], +/* </DEPRECATED> */ +.lm-ScrollBar[data-orientation='horizontal'] { + flex-direction: row; +} + + +/* <DEPRECATED> */ +.p-ScrollBar[data-orientation='vertical'], +/* </DEPRECATED> */ +.lm-ScrollBar[data-orientation='vertical'] { + flex-direction: column; +} + + +/* <DEPRECATED> */ .p-ScrollBar-button, /* </DEPRECATED> */ +.lm-ScrollBar-button { + box-sizing: border-box; + flex: 0 0 auto; +} + + +/* <DEPRECATED> */ .p-ScrollBar-track, /* </DEPRECATED> */ +.lm-ScrollBar-track { + box-sizing: border-box; + position: relative; + overflow: hidden; + flex: 1 1 auto; +} + + +/* <DEPRECATED> */ .p-ScrollBar-thumb, /* </DEPRECATED> */ +.lm-ScrollBar-thumb { + box-sizing: border-box; + position: absolute; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-SplitPanel-child, /* </DEPRECATED> */ +.lm-SplitPanel-child { + z-index: 0; +} + + +/* <DEPRECATED> */ .p-SplitPanel-handle, /* </DEPRECATED> */ +.lm-SplitPanel-handle { + z-index: 1; +} + + +/* <DEPRECATED> */ .p-SplitPanel-handle.p-mod-hidden, /* </DEPRECATED> */ +.lm-SplitPanel-handle.lm-mod-hidden { + display: none !important; +} + + +/* <DEPRECATED> */ .p-SplitPanel-handle:after, /* </DEPRECATED> */ +.lm-SplitPanel-handle:after { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + content: ''; +} + + +/* <DEPRECATED> */ +.p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle, +/* </DEPRECATED> */ +.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle { + cursor: ew-resize; +} + + +/* <DEPRECATED> */ +.p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle, +/* </DEPRECATED> */ +.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle { + cursor: ns-resize; +} + + +/* <DEPRECATED> */ +.p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle:after, +/* </DEPRECATED> */ +.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after { + left: 50%; + min-width: 8px; + transform: translateX(-50%); +} + + +/* <DEPRECATED> */ +.p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle:after, +/* </DEPRECATED> */ +.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after { + top: 50%; + min-height: 8px; + transform: translateY(-50%); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-TabBar, /* </DEPRECATED> */ +.lm-TabBar { + display: flex; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +/* <DEPRECATED> */ .p-TabBar[data-orientation='horizontal'], /* </DEPRECATED> */ +.lm-TabBar[data-orientation='horizontal'] { + flex-direction: row; +} + + +/* <DEPRECATED> */ .p-TabBar[data-orientation='vertical'], /* </DEPRECATED> */ +.lm-TabBar[data-orientation='vertical'] { + flex-direction: column; +} + + +/* <DEPRECATED> */ .p-TabBar-content, /* </DEPRECATED> */ +.lm-TabBar-content { + margin: 0; + padding: 0; + display: flex; + flex: 1 1 auto; + list-style-type: none; +} + + +/* <DEPRECATED> */ +.p-TabBar[data-orientation='horizontal'] > .p-TabBar-content, +/* </DEPRECATED> */ +.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content { + flex-direction: row; +} + + +/* <DEPRECATED> */ +.p-TabBar[data-orientation='vertical'] > .p-TabBar-content, +/* </DEPRECATED> */ +.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content { + flex-direction: column; +} + + +/* <DEPRECATED> */ .p-TabBar-tab, /* </DEPRECATED> */ +.lm-TabBar-tab { + display: flex; + flex-direction: row; + box-sizing: border-box; + overflow: hidden; +} + + +/* <DEPRECATED> */ +.p-TabBar-tabIcon, +.p-TabBar-tabCloseIcon, +/* </DEPRECATED> */ +.lm-TabBar-tabIcon, +.lm-TabBar-tabCloseIcon { + flex: 0 0 auto; +} + + +/* <DEPRECATED> */ .p-TabBar-tabLabel, /* </DEPRECATED> */ +.lm-TabBar-tabLabel { + flex: 1 1 auto; + overflow: hidden; + white-space: nowrap; +} + + +/* <DEPRECATED> */ .p-TabBar-tab.p-mod-hidden, /* </DEPRECATED> */ +.lm-TabBar-tab.lm-mod-hidden { + display: none !important; +} + + +/* <DEPRECATED> */ .p-TabBar.p-mod-dragging .p-TabBar-tab, /* </DEPRECATED> */ +.lm-TabBar.lm-mod-dragging .lm-TabBar-tab { + position: relative; +} + + +/* <DEPRECATED> */ +.p-TabBar.p-mod-dragging[data-orientation='horizontal'] .p-TabBar-tab, +/* </DEPRECATED> */ +.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab { + left: 0; + transition: left 150ms ease; +} + + +/* <DEPRECATED> */ +.p-TabBar.p-mod-dragging[data-orientation='vertical'] .p-TabBar-tab, +/* </DEPRECATED> */ +.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab { + top: 0; + transition: top 150ms ease; +} + + +/* <DEPRECATED> */ +.p-TabBar.p-mod-dragging .p-TabBar-tab.p-mod-dragging +/* </DEPRECATED> */ +.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging { + transition: none; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-TabPanel-tabBar, /* </DEPRECATED> */ +.lm-TabPanel-tabBar { + z-index: 1; +} + + +/* <DEPRECATED> */ .p-TabPanel-stackedPanel, /* </DEPRECATED> */ +.lm-TabPanel-stackedPanel { + z-index: 0; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + +@charset "UTF-8"; +/*! + +Copyright 2015-present Palantir Technologies, Inc. All rights reserved. +Licensed under the Apache License, Version 2.0. + +*/ +html{ + -webkit-box-sizing:border-box; + box-sizing:border-box; } + +*, +*::before, +*::after{ + -webkit-box-sizing:inherit; + box-sizing:inherit; } + +body{ + text-transform:none; + line-height:1.28581; + letter-spacing:0; + font-size:14px; + font-weight:400; + color:#182026; + font-family:-apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", "Icons16", sans-serif; } + +p{ + margin-top:0; + margin-bottom:10px; } + +small{ + font-size:12px; } + +strong{ + font-weight:600; } + +::-moz-selection{ + background:rgba(125, 188, 255, 0.6); } + +::selection{ + background:rgba(125, 188, 255, 0.6); } +.bp3-heading{ + color:#182026; + font-weight:600; + margin:0 0 10px; + padding:0; } + .bp3-dark .bp3-heading{ + color:#f5f8fa; } + +h1.bp3-heading, .bp3-running-text h1{ + line-height:40px; + font-size:36px; } + +h2.bp3-heading, .bp3-running-text h2{ + line-height:32px; + font-size:28px; } + +h3.bp3-heading, .bp3-running-text h3{ + line-height:25px; + font-size:22px; } + +h4.bp3-heading, .bp3-running-text h4{ + line-height:21px; + font-size:18px; } + +h5.bp3-heading, .bp3-running-text h5{ + line-height:19px; + font-size:16px; } + +h6.bp3-heading, .bp3-running-text h6{ + line-height:16px; + font-size:14px; } +.bp3-ui-text{ + text-transform:none; + line-height:1.28581; + letter-spacing:0; + font-size:14px; + font-weight:400; } + +.bp3-monospace-text{ + text-transform:none; + font-family:monospace; } + +.bp3-text-muted{ + color:#5c7080; } + .bp3-dark .bp3-text-muted{ + color:#a7b6c2; } + +.bp3-text-disabled{ + color:rgba(92, 112, 128, 0.6); } + .bp3-dark .bp3-text-disabled{ + color:rgba(167, 182, 194, 0.6); } + +.bp3-text-overflow-ellipsis{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; } +.bp3-running-text{ + line-height:1.5; + font-size:14px; } + .bp3-running-text h1{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h1{ + color:#f5f8fa; } + .bp3-running-text h2{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h2{ + color:#f5f8fa; } + .bp3-running-text h3{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h3{ + color:#f5f8fa; } + .bp3-running-text h4{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h4{ + color:#f5f8fa; } + .bp3-running-text h5{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h5{ + color:#f5f8fa; } + .bp3-running-text h6{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h6{ + color:#f5f8fa; } + .bp3-running-text hr{ + margin:20px 0; + border:none; + border-bottom:1px solid rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-running-text hr{ + border-color:rgba(255, 255, 255, 0.15); } + .bp3-running-text p{ + margin:0 0 10px; + padding:0; } + +.bp3-text-large{ + font-size:16px; } + +.bp3-text-small{ + font-size:12px; } +a{ + text-decoration:none; + color:#106ba3; } + a:hover{ + cursor:pointer; + text-decoration:underline; + color:#106ba3; } + a .bp3-icon, a .bp3-icon-standard, a .bp3-icon-large{ + color:inherit; } + a code, + .bp3-dark a code{ + color:inherit; } + .bp3-dark a, + .bp3-dark a:hover{ + color:#48aff0; } + .bp3-dark a .bp3-icon, .bp3-dark a .bp3-icon-standard, .bp3-dark a .bp3-icon-large, + .bp3-dark a:hover .bp3-icon, + .bp3-dark a:hover .bp3-icon-standard, + .bp3-dark a:hover .bp3-icon-large{ + color:inherit; } +.bp3-running-text code, .bp3-code{ + text-transform:none; + font-family:monospace; + border-radius:3px; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2); + background:rgba(255, 255, 255, 0.7); + padding:2px 5px; + color:#5c7080; + font-size:smaller; } + .bp3-dark .bp3-running-text code, .bp3-running-text .bp3-dark code, .bp3-dark .bp3-code{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#a7b6c2; } + .bp3-running-text a > code, a > .bp3-code{ + color:#137cbd; } + .bp3-dark .bp3-running-text a > code, .bp3-running-text .bp3-dark a > code, .bp3-dark a > .bp3-code{ + color:inherit; } + +.bp3-running-text pre, .bp3-code-block{ + text-transform:none; + font-family:monospace; + display:block; + margin:10px 0; + border-radius:3px; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + background:rgba(255, 255, 255, 0.7); + padding:13px 15px 12px; + line-height:1.4; + color:#182026; + font-size:13px; + word-break:break-all; + word-wrap:break-word; } + .bp3-dark .bp3-running-text pre, .bp3-running-text .bp3-dark pre, .bp3-dark .bp3-code-block{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#f5f8fa; } + .bp3-running-text pre > code, .bp3-code-block > code{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + padding:0; + color:inherit; + font-size:inherit; } + +.bp3-running-text kbd, .bp3-key{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + background:#ffffff; + min-width:24px; + height:24px; + padding:3px 6px; + vertical-align:middle; + line-height:24px; + color:#5c7080; + font-family:inherit; + font-size:12px; } + .bp3-running-text kbd .bp3-icon, .bp3-key .bp3-icon, .bp3-running-text kbd .bp3-icon-standard, .bp3-key .bp3-icon-standard, .bp3-running-text kbd .bp3-icon-large, .bp3-key .bp3-icon-large{ + margin-right:5px; } + .bp3-dark .bp3-running-text kbd, .bp3-running-text .bp3-dark kbd, .bp3-dark .bp3-key{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + background:#394b59; + color:#a7b6c2; } +.bp3-running-text blockquote, .bp3-blockquote{ + margin:0 0 10px; + border-left:solid 4px rgba(167, 182, 194, 0.5); + padding:0 20px; } + .bp3-dark .bp3-running-text blockquote, .bp3-running-text .bp3-dark blockquote, .bp3-dark .bp3-blockquote{ + border-color:rgba(115, 134, 148, 0.5); } +.bp3-running-text ul, +.bp3-running-text ol, .bp3-list{ + margin:10px 0; + padding-left:30px; } + .bp3-running-text ul li:not(:last-child), .bp3-running-text ol li:not(:last-child), .bp3-list li:not(:last-child){ + margin-bottom:5px; } + .bp3-running-text ul ol, .bp3-running-text ol ol, .bp3-list ol, + .bp3-running-text ul ul, + .bp3-running-text ol ul, + .bp3-list ul{ + margin-top:5px; } + +.bp3-list-unstyled{ + margin:0; + padding:0; + list-style:none; } + .bp3-list-unstyled li{ + padding:0; } +.bp3-rtl{ + text-align:right; } + +.bp3-dark{ + color:#f5f8fa; } + +:focus{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:2px; + -moz-outline-radius:6px; } + +.bp3-focus-disabled :focus{ + outline:none !important; } + .bp3-focus-disabled :focus ~ .bp3-control-indicator{ + outline:none !important; } + +.bp3-alert{ + max-width:400px; + padding:20px; } + +.bp3-alert-body{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; } + .bp3-alert-body .bp3-icon{ + margin-top:0; + margin-right:20px; + font-size:40px; } + +.bp3-alert-footer{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:reverse; + -ms-flex-direction:row-reverse; + flex-direction:row-reverse; + margin-top:10px; } + .bp3-alert-footer .bp3-button{ + margin-left:10px; } +.bp3-breadcrumbs{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -ms-flex-wrap:wrap; + flex-wrap:wrap; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + margin:0; + cursor:default; + height:30px; + padding:0; + list-style:none; } + .bp3-breadcrumbs > li{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; } + .bp3-breadcrumbs > li::after{ + display:block; + margin:0 5px; + background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.71 7.29l-4-4a1.003 1.003 0 0 0-1.42 1.42L8.59 8 5.3 11.29c-.19.18-.3.43-.3.71a1.003 1.003 0 0 0 1.71.71l4-4c.18-.18.29-.43.29-.71 0-.28-.11-.53-.29-.71z' fill='%235C7080'/%3e%3c/svg%3e"); + width:16px; + height:16px; + content:""; } + .bp3-breadcrumbs > li:last-of-type::after{ + display:none; } + +.bp3-breadcrumb, +.bp3-breadcrumb-current, +.bp3-breadcrumbs-collapsed{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + font-size:16px; } + +.bp3-breadcrumb, +.bp3-breadcrumbs-collapsed{ + color:#5c7080; } + +.bp3-breadcrumb:hover{ + text-decoration:none; } + +.bp3-breadcrumb.bp3-disabled{ + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + +.bp3-breadcrumb .bp3-icon{ + margin-right:5px; } + +.bp3-breadcrumb-current{ + color:inherit; + font-weight:600; } + .bp3-breadcrumb-current .bp3-input{ + vertical-align:baseline; + font-size:inherit; + font-weight:inherit; } + +.bp3-breadcrumbs-collapsed{ + margin-right:2px; + border:none; + border-radius:3px; + background:#ced9e0; + cursor:pointer; + padding:1px 5px; + vertical-align:text-bottom; } + .bp3-breadcrumbs-collapsed::before{ + display:block; + background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cg fill='%235C7080'%3e%3ccircle cx='2' cy='8.03' r='2'/%3e%3ccircle cx='14' cy='8.03' r='2'/%3e%3ccircle cx='8' cy='8.03' r='2'/%3e%3c/g%3e%3c/svg%3e") center no-repeat; + width:16px; + height:16px; + content:""; } + .bp3-breadcrumbs-collapsed:hover{ + background:#bfccd6; + text-decoration:none; + color:#182026; } + +.bp3-dark .bp3-breadcrumb, +.bp3-dark .bp3-breadcrumbs-collapsed{ + color:#a7b6c2; } + +.bp3-dark .bp3-breadcrumbs > li::after{ + color:#a7b6c2; } + +.bp3-dark .bp3-breadcrumb.bp3-disabled{ + color:rgba(167, 182, 194, 0.6); } + +.bp3-dark .bp3-breadcrumb-current{ + color:#f5f8fa; } + +.bp3-dark .bp3-breadcrumbs-collapsed{ + background:rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-breadcrumbs-collapsed:hover{ + background:rgba(16, 22, 26, 0.6); + color:#f5f8fa; } +.bp3-button{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + border:none; + border-radius:3px; + cursor:pointer; + padding:5px 10px; + vertical-align:middle; + text-align:left; + font-size:14px; + min-width:30px; + min-height:30px; } + .bp3-button > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-button > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-button::before, + .bp3-button > *{ + margin-right:7px; } + .bp3-button:empty::before, + .bp3-button > :last-child{ + margin-right:0; } + .bp3-button:empty{ + padding:0 !important; } + .bp3-button:disabled, .bp3-button.bp3-disabled{ + cursor:not-allowed; } + .bp3-button.bp3-fill{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + width:100%; } + .bp3-button.bp3-align-right, + .bp3-align-right .bp3-button{ + text-align:right; } + .bp3-button.bp3-align-left, + .bp3-align-left .bp3-button{ + text-align:left; } + .bp3-button:not([class*="bp3-intent-"]){ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + color:#182026; } + .bp3-button:not([class*="bp3-intent-"]):hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-button:not([class*="bp3-intent-"]):active, .bp3-button:not([class*="bp3-intent-"]).bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active:hover, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-button.bp3-intent-primary{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#137cbd; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-button.bp3-intent-primary:hover, .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-primary:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#106ba3; } + .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#0e5a8a; + background-image:none; } + .bp3-button.bp3-intent-primary:disabled, .bp3-button.bp3-intent-primary.bp3-disabled{ + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(19, 124, 189, 0.5); + background-image:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button.bp3-intent-success{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#0f9960; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-button.bp3-intent-success:hover, .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-success:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#0d8050; } + .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#0a6640; + background-image:none; } + .bp3-button.bp3-intent-success:disabled, .bp3-button.bp3-intent-success.bp3-disabled{ + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(15, 153, 96, 0.5); + background-image:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button.bp3-intent-warning{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#d9822b; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-button.bp3-intent-warning:hover, .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-warning:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#bf7326; } + .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#a66321; + background-image:none; } + .bp3-button.bp3-intent-warning:disabled, .bp3-button.bp3-intent-warning.bp3-disabled{ + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(217, 130, 43, 0.5); + background-image:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button.bp3-intent-danger{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#db3737; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-button.bp3-intent-danger:hover, .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-danger:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#c23030; } + .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#a82a2a; + background-image:none; } + .bp3-button.bp3-intent-danger:disabled, .bp3-button.bp3-intent-danger.bp3-disabled{ + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(219, 55, 55, 0.5); + background-image:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{ + stroke:#ffffff; } + .bp3-button.bp3-large, + .bp3-large .bp3-button{ + min-width:40px; + min-height:40px; + padding:5px 15px; + font-size:16px; } + .bp3-button.bp3-large::before, + .bp3-button.bp3-large > *, + .bp3-large .bp3-button::before, + .bp3-large .bp3-button > *{ + margin-right:10px; } + .bp3-button.bp3-large:empty::before, + .bp3-button.bp3-large > :last-child, + .bp3-large .bp3-button:empty::before, + .bp3-large .bp3-button > :last-child{ + margin-right:0; } + .bp3-button.bp3-small, + .bp3-small .bp3-button{ + min-width:24px; + min-height:24px; + padding:0 7px; } + .bp3-button.bp3-loading{ + position:relative; } + .bp3-button.bp3-loading[class*="bp3-icon-"]::before{ + visibility:hidden; } + .bp3-button.bp3-loading .bp3-button-spinner{ + position:absolute; + margin:0; } + .bp3-button.bp3-loading > :not(.bp3-button-spinner){ + visibility:hidden; } + .bp3-button[class*="bp3-icon-"]::before{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + color:#5c7080; } + .bp3-button .bp3-icon, .bp3-button .bp3-icon-standard, .bp3-button .bp3-icon-large{ + color:#5c7080; } + .bp3-button .bp3-icon.bp3-align-right, .bp3-button .bp3-icon-standard.bp3-align-right, .bp3-button .bp3-icon-large.bp3-align-right{ + margin-left:7px; } + .bp3-button .bp3-icon:first-child:last-child, + .bp3-button .bp3-spinner + .bp3-icon:last-child{ + margin:0 -7px; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]){ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + color:#f5f8fa; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover, .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"])[class*="bp3-icon-"]::before{ + color:#a7b6c2; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-large{ + color:#a7b6c2; } + .bp3-dark .bp3-button[class*="bp3-intent-"]{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-button[class*="bp3-intent-"]:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-button[class*="bp3-intent-"]:active, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-button[class*="bp3-intent-"]:disabled, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-image:none; + color:rgba(255, 255, 255, 0.3); } + .bp3-dark .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{ + stroke:#8a9ba8; } + .bp3-button:disabled::before, + .bp3-button:disabled .bp3-icon, .bp3-button:disabled .bp3-icon-standard, .bp3-button:disabled .bp3-icon-large, .bp3-button.bp3-disabled::before, + .bp3-button.bp3-disabled .bp3-icon, .bp3-button.bp3-disabled .bp3-icon-standard, .bp3-button.bp3-disabled .bp3-icon-large, .bp3-button[class*="bp3-intent-"]::before, + .bp3-button[class*="bp3-intent-"] .bp3-icon, .bp3-button[class*="bp3-intent-"] .bp3-icon-standard, .bp3-button[class*="bp3-intent-"] .bp3-icon-large{ + color:inherit !important; } + .bp3-button.bp3-minimal{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-button.bp3-minimal:hover{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(167, 182, 194, 0.3); + text-decoration:none; + color:#182026; } + .bp3-button.bp3-minimal:active, .bp3-button.bp3-minimal.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(115, 134, 148, 0.3); + color:#182026; } + .bp3-button.bp3-minimal:disabled, .bp3-button.bp3-minimal:disabled:hover, .bp3-button.bp3-minimal.bp3-disabled, .bp3-button.bp3-minimal.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-button.bp3-minimal{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:inherit; } + .bp3-dark .bp3-button.bp3-minimal:hover, .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-dark .bp3-button.bp3-minimal:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-button.bp3-minimal:disabled, .bp3-dark .bp3-button.bp3-minimal:disabled:hover, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-primary{ + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:hover, .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-success{ + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:hover, .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-warning{ + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:hover, .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-danger{ + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:hover, .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + +a.bp3-button{ + text-align:center; + text-decoration:none; + -webkit-transition:none; + transition:none; } + a.bp3-button, a.bp3-button:hover, a.bp3-button:active{ + color:#182026; } + a.bp3-button.bp3-disabled{ + color:rgba(92, 112, 128, 0.6); } + +.bp3-button-text{ + -webkit-box-flex:0; + -ms-flex:0 1 auto; + flex:0 1 auto; } + +.bp3-button.bp3-align-left .bp3-button-text, .bp3-button.bp3-align-right .bp3-button-text, +.bp3-button-group.bp3-align-left .bp3-button-text, +.bp3-button-group.bp3-align-right .bp3-button-text{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } +.bp3-button-group{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; } + .bp3-button-group .bp3-button{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + position:relative; + z-index:4; } + .bp3-button-group .bp3-button:focus{ + z-index:5; } + .bp3-button-group .bp3-button:hover{ + z-index:6; } + .bp3-button-group .bp3-button:active, .bp3-button-group .bp3-button.bp3-active{ + z-index:7; } + .bp3-button-group .bp3-button:disabled, .bp3-button-group .bp3-button.bp3-disabled{ + z-index:3; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]{ + z-index:9; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:focus{ + z-index:10; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:hover{ + z-index:11; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:active, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-active{ + z-index:12; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:disabled, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-disabled{ + z-index:8; } + .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:first-child) .bp3-button, + .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:first-child){ + border-top-left-radius:0; + border-bottom-left-radius:0; } + .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){ + margin-right:-1px; + border-top-right-radius:0; + border-bottom-right-radius:0; } + .bp3-button-group.bp3-minimal .bp3-button{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-button-group.bp3-minimal .bp3-button:hover{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(167, 182, 194, 0.3); + text-decoration:none; + color:#182026; } + .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(115, 134, 148, 0.3); + color:#182026; } + .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:inherit; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{ + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{ + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{ + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{ + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button-group .bp3-popover-wrapper, + .bp3-button-group .bp3-popover-target{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-button-group.bp3-fill{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + width:100%; } + .bp3-button-group .bp3-button.bp3-fill, + .bp3-button-group.bp3-fill .bp3-button:not(.bp3-fixed){ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-button-group.bp3-vertical{ + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + -webkit-box-align:stretch; + -ms-flex-align:stretch; + align-items:stretch; + vertical-align:top; } + .bp3-button-group.bp3-vertical.bp3-fill{ + width:unset; + height:100%; } + .bp3-button-group.bp3-vertical .bp3-button{ + margin-right:0 !important; + width:100%; } + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:first-child .bp3-button, + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:first-child{ + border-radius:3px 3px 0 0; } + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:last-child .bp3-button, + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:last-child{ + border-radius:0 0 3px 3px; } + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:not(:last-child){ + margin-bottom:-1px; } + .bp3-button-group.bp3-align-left .bp3-button{ + text-align:left; } + .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){ + margin-right:1px; } + .bp3-dark .bp3-button-group.bp3-vertical > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-dark .bp3-button-group.bp3-vertical > .bp3-button:not(:last-child){ + margin-bottom:1px; } +.bp3-callout{ + line-height:1.5; + font-size:14px; + position:relative; + border-radius:3px; + background-color:rgba(138, 155, 168, 0.15); + width:100%; + padding:10px 12px 9px; } + .bp3-callout[class*="bp3-icon-"]{ + padding-left:40px; } + .bp3-callout[class*="bp3-icon-"]::before{ + line-height:1; + font-family:"Icons20", sans-serif; + font-size:20px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + position:absolute; + top:10px; + left:10px; + color:#5c7080; } + .bp3-callout.bp3-callout-icon{ + padding-left:40px; } + .bp3-callout.bp3-callout-icon > .bp3-icon:first-child{ + position:absolute; + top:10px; + left:10px; + color:#5c7080; } + .bp3-callout .bp3-heading{ + margin-top:0; + margin-bottom:5px; + line-height:20px; } + .bp3-callout .bp3-heading:last-child{ + margin-bottom:0; } + .bp3-dark .bp3-callout{ + background-color:rgba(138, 155, 168, 0.2); } + .bp3-dark .bp3-callout[class*="bp3-icon-"]::before{ + color:#a7b6c2; } + .bp3-callout.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.15); } + .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-primary > .bp3-icon:first-child, + .bp3-callout.bp3-intent-primary .bp3-heading{ + color:#106ba3; } + .bp3-dark .bp3-callout.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-primary > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-primary .bp3-heading{ + color:#48aff0; } + .bp3-callout.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.15); } + .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-success > .bp3-icon:first-child, + .bp3-callout.bp3-intent-success .bp3-heading{ + color:#0d8050; } + .bp3-dark .bp3-callout.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-success > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-success .bp3-heading{ + color:#3dcc91; } + .bp3-callout.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.15); } + .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-warning > .bp3-icon:first-child, + .bp3-callout.bp3-intent-warning .bp3-heading{ + color:#bf7326; } + .bp3-dark .bp3-callout.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-warning > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-warning .bp3-heading{ + color:#ffb366; } + .bp3-callout.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.15); } + .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-danger > .bp3-icon:first-child, + .bp3-callout.bp3-intent-danger .bp3-heading{ + color:#c23030; } + .bp3-dark .bp3-callout.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-danger > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-danger .bp3-heading{ + color:#ff7373; } + .bp3-running-text .bp3-callout{ + margin:20px 0; } +.bp3-card{ + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + background-color:#ffffff; + padding:20px; + -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-card.bp3-dark, + .bp3-dark .bp3-card{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + background-color:#30404d; } + +.bp3-elevation-0{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); } + .bp3-elevation-0.bp3-dark, + .bp3-dark .bp3-elevation-0{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); } + +.bp3-elevation-1{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-elevation-1.bp3-dark, + .bp3-dark .bp3-elevation-1{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + +.bp3-elevation-2{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2); } + .bp3-elevation-2.bp3-dark, + .bp3-dark .bp3-elevation-2{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4); } + +.bp3-elevation-3{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); } + .bp3-elevation-3.bp3-dark, + .bp3-dark .bp3-elevation-3{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + +.bp3-elevation-4{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); } + .bp3-elevation-4.bp3-dark, + .bp3-dark .bp3-elevation-4{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); } + +.bp3-card.bp3-interactive:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + cursor:pointer; } + .bp3-card.bp3-interactive:hover.bp3-dark, + .bp3-dark .bp3-card.bp3-interactive:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + +.bp3-card.bp3-interactive:active{ + opacity:0.9; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + -webkit-transition-duration:0; + transition-duration:0; } + .bp3-card.bp3-interactive:active.bp3-dark, + .bp3-dark .bp3-card.bp3-interactive:active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + +.bp3-collapse{ + height:0; + overflow-y:hidden; + -webkit-transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-collapse .bp3-collapse-body{ + -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-collapse .bp3-collapse-body[aria-hidden="true"]{ + display:none; } + +.bp3-context-menu .bp3-popover-target{ + display:block; } + +.bp3-context-menu-popover-target{ + position:fixed; } + +.bp3-divider{ + margin:5px; + border-right:1px solid rgba(16, 22, 26, 0.15); + border-bottom:1px solid rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-divider{ + border-color:rgba(16, 22, 26, 0.4); } +.bp3-dialog-container{ + opacity:1; + -webkit-transform:scale(1); + transform:scale(1); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + width:100%; + min-height:100%; + pointer-events:none; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-dialog-container.bp3-overlay-enter > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear > .bp3-dialog{ + opacity:0; + -webkit-transform:scale(0.5); + transform:scale(0.5); } + .bp3-dialog-container.bp3-overlay-enter-active > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear-active > .bp3-dialog{ + opacity:1; + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:opacity, transform; + transition-property:opacity, transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-dialog-container.bp3-overlay-exit > .bp3-dialog{ + opacity:1; + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-dialog-container.bp3-overlay-exit-active > .bp3-dialog{ + opacity:0; + -webkit-transform:scale(0.5); + transform:scale(0.5); + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:opacity, transform; + transition-property:opacity, transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + +.bp3-dialog{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin:30px 0; + border-radius:6px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + background:#ebf1f5; + width:500px; + padding-bottom:20px; + pointer-events:all; + -webkit-user-select:text; + -moz-user-select:text; + -ms-user-select:text; + user-select:text; } + .bp3-dialog:focus{ + outline:0; } + .bp3-dialog.bp3-dark, + .bp3-dark .bp3-dialog{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + background:#293742; + color:#f5f8fa; } + +.bp3-dialog-header{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + border-radius:6px 6px 0 0; + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + background:#ffffff; + min-height:40px; + padding-right:5px; + padding-left:20px; } + .bp3-dialog-header .bp3-icon-large, + .bp3-dialog-header .bp3-icon{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + margin-right:10px; + color:#5c7080; } + .bp3-dialog-header .bp3-heading{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + margin:0; + line-height:inherit; } + .bp3-dialog-header .bp3-heading:last-child{ + margin-right:20px; } + .bp3-dark .bp3-dialog-header{ + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); + background:#30404d; } + .bp3-dark .bp3-dialog-header .bp3-icon-large, + .bp3-dark .bp3-dialog-header .bp3-icon{ + color:#a7b6c2; } + +.bp3-dialog-body{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + margin:20px; + line-height:18px; } + +.bp3-dialog-footer{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + margin:0 20px; } + +.bp3-dialog-footer-actions{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-pack:end; + -ms-flex-pack:end; + justify-content:flex-end; } + .bp3-dialog-footer-actions .bp3-button{ + margin-left:10px; } +.bp3-drawer{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin:0; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + background:#ffffff; + padding:0; } + .bp3-drawer:focus{ + outline:0; } + .bp3-drawer.bp3-position-top{ + top:0; + right:0; + left:0; + height:50%; } + .bp3-drawer.bp3-position-top.bp3-overlay-enter, .bp3-drawer.bp3-position-top.bp3-overlay-appear{ + -webkit-transform:translateY(-100%); + transform:translateY(-100%); } + .bp3-drawer.bp3-position-top.bp3-overlay-enter-active, .bp3-drawer.bp3-position-top.bp3-overlay-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-top.bp3-overlay-exit{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-drawer.bp3-position-top.bp3-overlay-exit-active{ + -webkit-transform:translateY(-100%); + transform:translateY(-100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-bottom{ + right:0; + bottom:0; + left:0; + height:50%; } + .bp3-drawer.bp3-position-bottom.bp3-overlay-enter, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear{ + -webkit-transform:translateY(100%); + transform:translateY(100%); } + .bp3-drawer.bp3-position-bottom.bp3-overlay-enter-active, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-bottom.bp3-overlay-exit{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-drawer.bp3-position-bottom.bp3-overlay-exit-active{ + -webkit-transform:translateY(100%); + transform:translateY(100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-left{ + top:0; + bottom:0; + left:0; + width:50%; } + .bp3-drawer.bp3-position-left.bp3-overlay-enter, .bp3-drawer.bp3-position-left.bp3-overlay-appear{ + -webkit-transform:translateX(-100%); + transform:translateX(-100%); } + .bp3-drawer.bp3-position-left.bp3-overlay-enter-active, .bp3-drawer.bp3-position-left.bp3-overlay-appear-active{ + -webkit-transform:translateX(0); + transform:translateX(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-left.bp3-overlay-exit{ + -webkit-transform:translateX(0); + transform:translateX(0); } + .bp3-drawer.bp3-position-left.bp3-overlay-exit-active{ + -webkit-transform:translateX(-100%); + transform:translateX(-100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-right{ + top:0; + right:0; + bottom:0; + width:50%; } + .bp3-drawer.bp3-position-right.bp3-overlay-enter, .bp3-drawer.bp3-position-right.bp3-overlay-appear{ + -webkit-transform:translateX(100%); + transform:translateX(100%); } + .bp3-drawer.bp3-position-right.bp3-overlay-enter-active, .bp3-drawer.bp3-position-right.bp3-overlay-appear-active{ + -webkit-transform:translateX(0); + transform:translateX(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-right.bp3-overlay-exit{ + -webkit-transform:translateX(0); + transform:translateX(0); } + .bp3-drawer.bp3-position-right.bp3-overlay-exit-active{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical){ + top:0; + right:0; + bottom:0; + width:50%; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear{ + -webkit-transform:translateX(100%); + transform:translateX(100%); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear-active{ + -webkit-transform:translateX(0); + transform:translateX(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit{ + -webkit-transform:translateX(0); + transform:translateX(0); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit-active{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical{ + right:0; + bottom:0; + left:0; + height:50%; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-appear{ + -webkit-transform:translateY(100%); + transform:translateY(100%); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-exit{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-exit-active{ + -webkit-transform:translateY(100%); + transform:translateY(100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-dark, + .bp3-dark .bp3-drawer{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + background:#30404d; + color:#f5f8fa; } + +.bp3-drawer-header{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + position:relative; + border-radius:0; + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + min-height:40px; + padding:5px; + padding-left:20px; } + .bp3-drawer-header .bp3-icon-large, + .bp3-drawer-header .bp3-icon{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + margin-right:10px; + color:#5c7080; } + .bp3-drawer-header .bp3-heading{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + margin:0; + line-height:inherit; } + .bp3-drawer-header .bp3-heading:last-child{ + margin-right:20px; } + .bp3-dark .bp3-drawer-header{ + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-drawer-header .bp3-icon-large, + .bp3-dark .bp3-drawer-header .bp3-icon{ + color:#a7b6c2; } + +.bp3-drawer-body{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + overflow:auto; + line-height:18px; } + +.bp3-drawer-footer{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + position:relative; + -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + padding:10px 20px; } + .bp3-dark .bp3-drawer-footer{ + -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4); + box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4); } +.bp3-editable-text{ + display:inline-block; + position:relative; + cursor:text; + max-width:100%; + vertical-align:top; + white-space:nowrap; } + .bp3-editable-text::before{ + position:absolute; + top:-3px; + right:-3px; + bottom:-3px; + left:-3px; + border-radius:3px; + content:""; + -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-editable-text:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15); } + .bp3-editable-text.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + background-color:#ffffff; } + .bp3-editable-text.bp3-disabled::before{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-editable-text.bp3-intent-primary .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{ + color:#137cbd; } + .bp3-editable-text.bp3-intent-primary:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4); } + .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-editable-text.bp3-intent-success .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{ + color:#0f9960; } + .bp3-editable-text.bp3-intent-success:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4); } + .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-editable-text.bp3-intent-warning .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{ + color:#d9822b; } + .bp3-editable-text.bp3-intent-warning:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4); } + .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-editable-text.bp3-intent-danger .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{ + color:#db3737; } + .bp3-editable-text.bp3-intent-danger:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4); } + .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-editable-text:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15); } + .bp3-dark .bp3-editable-text.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background-color:rgba(16, 22, 26, 0.3); } + .bp3-dark .bp3-editable-text.bp3-disabled::before{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{ + color:#48aff0; } + .bp3-dark .bp3-editable-text.bp3-intent-primary:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4); + box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{ + color:#3dcc91; } + .bp3-dark .bp3-editable-text.bp3-intent-success:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4); + box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{ + color:#ffb366; } + .bp3-dark .bp3-editable-text.bp3-intent-warning:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4); + box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{ + color:#ff7373; } + .bp3-dark .bp3-editable-text.bp3-intent-danger:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4); + box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + +.bp3-editable-text-input, +.bp3-editable-text-content{ + display:inherit; + position:relative; + min-width:inherit; + max-width:inherit; + vertical-align:top; + text-transform:inherit; + letter-spacing:inherit; + color:inherit; + font:inherit; + resize:none; } + +.bp3-editable-text-input{ + border:none; + -webkit-box-shadow:none; + box-shadow:none; + background:none; + width:100%; + padding:0; + white-space:pre-wrap; } + .bp3-editable-text-input::-webkit-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input::-moz-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input:-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input::-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input::placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input:focus{ + outline:none; } + .bp3-editable-text-input::-ms-clear{ + display:none; } + +.bp3-editable-text-content{ + overflow:hidden; + padding-right:2px; + text-overflow:ellipsis; + white-space:pre; } + .bp3-editable-text-editing > .bp3-editable-text-content{ + position:absolute; + left:0; + visibility:hidden; } + .bp3-editable-text-placeholder > .bp3-editable-text-content{ + color:rgba(92, 112, 128, 0.6); } + .bp3-dark .bp3-editable-text-placeholder > .bp3-editable-text-content{ + color:rgba(167, 182, 194, 0.6); } + +.bp3-editable-text.bp3-multiline{ + display:block; } + .bp3-editable-text.bp3-multiline .bp3-editable-text-content{ + overflow:auto; + white-space:pre-wrap; + word-wrap:break-word; } +.bp3-control-group{ + -webkit-transform:translateZ(0); + transform:translateZ(0); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:stretch; + -ms-flex-align:stretch; + align-items:stretch; } + .bp3-control-group > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-control-group > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-control-group .bp3-button, + .bp3-control-group .bp3-html-select, + .bp3-control-group .bp3-input, + .bp3-control-group .bp3-select{ + position:relative; } + .bp3-control-group .bp3-input{ + z-index:2; + border-radius:inherit; } + .bp3-control-group .bp3-input:focus{ + z-index:14; + border-radius:3px; } + .bp3-control-group .bp3-input[class*="bp3-intent"]{ + z-index:13; } + .bp3-control-group .bp3-input[class*="bp3-intent"]:focus{ + z-index:15; } + .bp3-control-group .bp3-input[readonly], .bp3-control-group .bp3-input:disabled, .bp3-control-group .bp3-input.bp3-disabled{ + z-index:1; } + .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input{ + z-index:13; } + .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input:focus{ + z-index:15; } + .bp3-control-group .bp3-button, + .bp3-control-group .bp3-html-select select, + .bp3-control-group .bp3-select select{ + -webkit-transform:translateZ(0); + transform:translateZ(0); + z-index:4; + border-radius:inherit; } + .bp3-control-group .bp3-button:focus, + .bp3-control-group .bp3-html-select select:focus, + .bp3-control-group .bp3-select select:focus{ + z-index:5; } + .bp3-control-group .bp3-button:hover, + .bp3-control-group .bp3-html-select select:hover, + .bp3-control-group .bp3-select select:hover{ + z-index:6; } + .bp3-control-group .bp3-button:active, + .bp3-control-group .bp3-html-select select:active, + .bp3-control-group .bp3-select select:active{ + z-index:7; } + .bp3-control-group .bp3-button[readonly], .bp3-control-group .bp3-button:disabled, .bp3-control-group .bp3-button.bp3-disabled, + .bp3-control-group .bp3-html-select select[readonly], + .bp3-control-group .bp3-html-select select:disabled, + .bp3-control-group .bp3-html-select select.bp3-disabled, + .bp3-control-group .bp3-select select[readonly], + .bp3-control-group .bp3-select select:disabled, + .bp3-control-group .bp3-select select.bp3-disabled{ + z-index:3; } + .bp3-control-group .bp3-button[class*="bp3-intent"], + .bp3-control-group .bp3-html-select select[class*="bp3-intent"], + .bp3-control-group .bp3-select select[class*="bp3-intent"]{ + z-index:9; } + .bp3-control-group .bp3-button[class*="bp3-intent"]:focus, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:focus, + .bp3-control-group .bp3-select select[class*="bp3-intent"]:focus{ + z-index:10; } + .bp3-control-group .bp3-button[class*="bp3-intent"]:hover, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:hover, + .bp3-control-group .bp3-select select[class*="bp3-intent"]:hover{ + z-index:11; } + .bp3-control-group .bp3-button[class*="bp3-intent"]:active, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:active, + .bp3-control-group .bp3-select select[class*="bp3-intent"]:active{ + z-index:12; } + .bp3-control-group .bp3-button[class*="bp3-intent"][readonly], .bp3-control-group .bp3-button[class*="bp3-intent"]:disabled, .bp3-control-group .bp3-button[class*="bp3-intent"].bp3-disabled, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"][readonly], + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:disabled, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"].bp3-disabled, + .bp3-control-group .bp3-select select[class*="bp3-intent"][readonly], + .bp3-control-group .bp3-select select[class*="bp3-intent"]:disabled, + .bp3-control-group .bp3-select select[class*="bp3-intent"].bp3-disabled{ + z-index:8; } + .bp3-control-group .bp3-input-group > .bp3-icon, + .bp3-control-group .bp3-input-group > .bp3-button, + .bp3-control-group .bp3-input-group > .bp3-input-action{ + z-index:16; } + .bp3-control-group .bp3-select::after, + .bp3-control-group .bp3-html-select::after, + .bp3-control-group .bp3-select > .bp3-icon, + .bp3-control-group .bp3-html-select > .bp3-icon{ + z-index:17; } + .bp3-control-group:not(.bp3-vertical) > *{ + margin-right:-1px; } + .bp3-dark .bp3-control-group:not(.bp3-vertical) > *{ + margin-right:0; } + .bp3-dark .bp3-control-group:not(.bp3-vertical) > .bp3-button + .bp3-button{ + margin-left:1px; } + .bp3-control-group .bp3-popover-wrapper, + .bp3-control-group .bp3-popover-target{ + border-radius:inherit; } + .bp3-control-group > :first-child{ + border-radius:3px 0 0 3px; } + .bp3-control-group > :last-child{ + margin-right:0; + border-radius:0 3px 3px 0; } + .bp3-control-group > :only-child{ + margin-right:0; + border-radius:3px; } + .bp3-control-group .bp3-input-group .bp3-button{ + border-radius:3px; } + .bp3-control-group > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-control-group.bp3-fill > *:not(.bp3-fixed){ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-control-group.bp3-vertical{ + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; } + .bp3-control-group.bp3-vertical > *{ + margin-top:-1px; } + .bp3-control-group.bp3-vertical > :first-child{ + margin-top:0; + border-radius:3px 3px 0 0; } + .bp3-control-group.bp3-vertical > :last-child{ + border-radius:0 0 3px 3px; } +.bp3-control{ + display:block; + position:relative; + margin-bottom:10px; + cursor:pointer; + text-transform:none; } + .bp3-control input:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#137cbd; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-control:hover input:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#106ba3; } + .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background:#0e5a8a; } + .bp3-control input:disabled:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(19, 124, 189, 0.5); } + .bp3-dark .bp3-control input:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control:hover input:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#106ba3; } + .bp3-dark .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#0e5a8a; } + .bp3-dark .bp3-control input:disabled:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(14, 90, 138, 0.5); } + .bp3-control:not(.bp3-align-right){ + padding-left:26px; } + .bp3-control:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-26px; } + .bp3-control.bp3-align-right{ + padding-right:26px; } + .bp3-control.bp3-align-right .bp3-control-indicator{ + margin-right:-26px; } + .bp3-control.bp3-disabled{ + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-control.bp3-inline{ + display:inline-block; + margin-right:20px; } + .bp3-control input{ + position:absolute; + top:0; + left:0; + opacity:0; + z-index:-1; } + .bp3-control .bp3-control-indicator{ + display:inline-block; + position:relative; + margin-top:-3px; + margin-right:10px; + border:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + cursor:pointer; + width:1em; + height:1em; + vertical-align:middle; + font-size:16px; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-control .bp3-control-indicator::before{ + display:block; + width:1em; + height:1em; + content:""; } + .bp3-control:hover .bp3-control-indicator{ + background-color:#ebf1f5; } + .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background:#d8e1e8; } + .bp3-control input:disabled ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(206, 217, 224, 0.5); + cursor:not-allowed; } + .bp3-control input:focus ~ .bp3-control-indicator{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:2px; + -moz-outline-radius:6px; } + .bp3-control.bp3-align-right .bp3-control-indicator{ + float:right; + margin-top:1px; + margin-left:10px; } + .bp3-control.bp3-large{ + font-size:16px; } + .bp3-control.bp3-large:not(.bp3-align-right){ + padding-left:30px; } + .bp3-control.bp3-large:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-30px; } + .bp3-control.bp3-large.bp3-align-right{ + padding-right:30px; } + .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{ + margin-right:-30px; } + .bp3-control.bp3-large .bp3-control-indicator{ + font-size:20px; } + .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{ + margin-top:0; } + .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#137cbd; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#106ba3; } + .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background:#0e5a8a; } + .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(19, 124, 189, 0.5); } + .bp3-dark .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#106ba3; } + .bp3-dark .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#0e5a8a; } + .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(14, 90, 138, 0.5); } + .bp3-control.bp3-checkbox .bp3-control-indicator{ + border-radius:3px; } + .bp3-control.bp3-checkbox input:checked ~ .bp3-control-indicator::before{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 1.003 0 0 0-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0 0 12 5z' fill='white'/%3e%3c/svg%3e"); } + .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator::before{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 7H5c-.55 0-1 .45-1 1s.45 1 1 1h6c.55 0 1-.45 1-1s-.45-1-1-1z' fill='white'/%3e%3c/svg%3e"); } + .bp3-control.bp3-radio .bp3-control-indicator{ + border-radius:50%; } + .bp3-control.bp3-radio input:checked ~ .bp3-control-indicator::before{ + background-image:radial-gradient(#ffffff, #ffffff 28%, transparent 32%); } + .bp3-control.bp3-radio input:checked:disabled ~ .bp3-control-indicator::before{ + opacity:0.5; } + .bp3-control.bp3-radio input:focus ~ .bp3-control-indicator{ + -moz-outline-radius:16px; } + .bp3-control.bp3-switch input ~ .bp3-control-indicator{ + background:rgba(167, 182, 194, 0.5); } + .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{ + background:rgba(115, 134, 148, 0.5); } + .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{ + background:rgba(92, 112, 128, 0.5); } + .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{ + background:rgba(206, 217, 224, 0.5); } + .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{ + background:rgba(255, 255, 255, 0.8); } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{ + background:#137cbd; } + .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{ + background:#106ba3; } + .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{ + background:#0e5a8a; } + .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{ + background:rgba(19, 124, 189, 0.5); } + .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{ + background:rgba(255, 255, 255, 0.8); } + .bp3-control.bp3-switch:not(.bp3-align-right){ + padding-left:38px; } + .bp3-control.bp3-switch:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-38px; } + .bp3-control.bp3-switch.bp3-align-right{ + padding-right:38px; } + .bp3-control.bp3-switch.bp3-align-right .bp3-control-indicator{ + margin-right:-38px; } + .bp3-control.bp3-switch .bp3-control-indicator{ + border:none; + border-radius:1.75em; + -webkit-box-shadow:none !important; + box-shadow:none !important; + width:auto; + min-width:1.75em; + -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-control.bp3-switch .bp3-control-indicator::before{ + position:absolute; + left:0; + margin:2px; + border-radius:50%; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + background:#ffffff; + width:calc(1em - 4px); + height:calc(1em - 4px); + -webkit-transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{ + left:calc(100% - 1em); } + .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right){ + padding-left:45px; } + .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-45px; } + .bp3-control.bp3-switch.bp3-large.bp3-align-right{ + padding-right:45px; } + .bp3-control.bp3-switch.bp3-large.bp3-align-right .bp3-control-indicator{ + margin-right:-45px; } + .bp3-dark .bp3-control.bp3-switch input ~ .bp3-control-indicator{ + background:rgba(16, 22, 26, 0.5); } + .bp3-dark .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{ + background:rgba(16, 22, 26, 0.7); } + .bp3-dark .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{ + background:rgba(16, 22, 26, 0.9); } + .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{ + background:rgba(57, 75, 89, 0.5); } + .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{ + background:rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{ + background:#137cbd; } + .bp3-dark .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{ + background:#106ba3; } + .bp3-dark .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{ + background:#0e5a8a; } + .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{ + background:rgba(14, 90, 138, 0.5); } + .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{ + background:rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-switch .bp3-control-indicator::before{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background:#394b59; } + .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-control.bp3-switch .bp3-switch-inner-text{ + text-align:center; + font-size:0.7em; } + .bp3-control.bp3-switch .bp3-control-indicator-child:first-child{ + visibility:hidden; + margin-right:1.2em; + margin-left:0.5em; + line-height:0; } + .bp3-control.bp3-switch .bp3-control-indicator-child:last-child{ + visibility:visible; + margin-right:0.5em; + margin-left:1.2em; + line-height:1em; } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:first-child{ + visibility:visible; + line-height:1em; } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:last-child{ + visibility:hidden; + line-height:0; } + .bp3-dark .bp3-control{ + color:#f5f8fa; } + .bp3-dark .bp3-control.bp3-disabled{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-control .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); } + .bp3-dark .bp3-control:hover .bp3-control-indicator{ + background-color:#30404d; } + .bp3-dark .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background:#202b33; } + .bp3-dark .bp3-control input:disabled ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + cursor:not-allowed; } + .bp3-dark .bp3-control.bp3-checkbox input:disabled:checked ~ .bp3-control-indicator, .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ + color:rgba(167, 182, 194, 0.6); } +.bp3-file-input{ + display:inline-block; + position:relative; + cursor:pointer; + height:30px; } + .bp3-file-input input{ + opacity:0; + margin:0; + min-width:200px; } + .bp3-file-input input:disabled + .bp3-file-upload-input, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(206, 217, 224, 0.5); + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); + resize:none; } + .bp3-file-input input:disabled + .bp3-file-upload-input::after, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active:hover, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input, .bp3-dark + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after, .bp3-dark + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-dark + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{ + color:#182026; } + .bp3-dark .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{ + color:#f5f8fa; } + .bp3-file-input.bp3-fill{ + width:100%; } + .bp3-file-input.bp3-large, + .bp3-large .bp3-file-input{ + height:40px; } + .bp3-file-input .bp3-file-upload-input-custom-text::after{ + content:attr(bp3-button-text); } + +.bp3-file-upload-input{ + outline:none; + border:none; + border-radius:3px; + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + background:#ffffff; + height:30px; + padding:0 10px; + vertical-align:middle; + line-height:30px; + color:#182026; + font-size:14px; + font-weight:400; + -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + position:absolute; + top:0; + right:0; + left:0; + padding-right:80px; + color:rgba(92, 112, 128, 0.6); + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-file-upload-input::-webkit-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input::-moz-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input:-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input::-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input::placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input:focus, .bp3-file-upload-input.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-file-upload-input[type="search"], .bp3-file-upload-input.bp3-round{ + border-radius:30px; + -webkit-box-sizing:border-box; + box-sizing:border-box; + padding-left:10px; } + .bp3-file-upload-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); } + .bp3-file-upload-input:disabled, .bp3-file-upload-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(206, 217, 224, 0.5); + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); + resize:none; } + .bp3-file-upload-input::after{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + color:#182026; + min-width:24px; + min-height:24px; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + position:absolute; + top:0; + right:0; + margin:3px; + border-radius:3px; + width:70px; + text-align:center; + line-height:24px; + content:"Browse"; } + .bp3-file-upload-input::after:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-file-upload-input::after:active, .bp3-file-upload-input::after.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-file-upload-input::after:disabled, .bp3-file-upload-input::after.bp3-disabled{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input::after:disabled.bp3-active, .bp3-file-upload-input::after:disabled.bp3-active:hover, .bp3-file-upload-input::after.bp3-disabled.bp3-active, .bp3-file-upload-input::after.bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-file-upload-input:hover::after{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-file-upload-input:active::after{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-large .bp3-file-upload-input{ + height:40px; + line-height:40px; + font-size:16px; + padding-right:95px; } + .bp3-large .bp3-file-upload-input[type="search"], .bp3-large .bp3-file-upload-input.bp3-round{ + padding:0 15px; } + .bp3-large .bp3-file-upload-input::after{ + min-width:30px; + min-height:30px; + margin:5px; + width:85px; + line-height:30px; } + .bp3-dark .bp3-file-upload-input{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#f5f8fa; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-file-upload-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-file-upload-input:disabled, .bp3-dark .bp3-file-upload-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::after{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + color:#f5f8fa; } + .bp3-dark .bp3-file-upload-input::after:hover, .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-file-upload-input::after:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + .bp3-dark .bp3-file-upload-input::after:disabled, .bp3-dark .bp3-file-upload-input::after.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::after:disabled.bp3-active, .bp3-dark .bp3-file-upload-input::after.bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-file-upload-input::after .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + .bp3-dark .bp3-file-upload-input:hover::after{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-file-upload-input:active::after{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + +.bp3-file-upload-input::after{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } +.bp3-form-group{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin:0 0 15px; } + .bp3-form-group label.bp3-label{ + margin-bottom:5px; } + .bp3-form-group .bp3-control{ + margin-top:7px; } + .bp3-form-group .bp3-form-helper-text{ + margin-top:5px; + color:#5c7080; + font-size:12px; } + .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{ + color:#106ba3; } + .bp3-form-group.bp3-intent-success .bp3-form-helper-text{ + color:#0d8050; } + .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{ + color:#bf7326; } + .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{ + color:#c23030; } + .bp3-form-group.bp3-inline{ + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; } + .bp3-form-group.bp3-inline.bp3-large label.bp3-label{ + margin:0 10px 0 0; + line-height:40px; } + .bp3-form-group.bp3-inline label.bp3-label{ + margin:0 10px 0 0; + line-height:30px; } + .bp3-form-group.bp3-disabled .bp3-label, + .bp3-form-group.bp3-disabled .bp3-text-muted, + .bp3-form-group.bp3-disabled .bp3-form-helper-text{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-dark .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{ + color:#48aff0; } + .bp3-dark .bp3-form-group.bp3-intent-success .bp3-form-helper-text{ + color:#3dcc91; } + .bp3-dark .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{ + color:#ffb366; } + .bp3-dark .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{ + color:#ff7373; } + .bp3-dark .bp3-form-group .bp3-form-helper-text{ + color:#a7b6c2; } + .bp3-dark .bp3-form-group.bp3-disabled .bp3-label, + .bp3-dark .bp3-form-group.bp3-disabled .bp3-text-muted, + .bp3-dark .bp3-form-group.bp3-disabled .bp3-form-helper-text{ + color:rgba(167, 182, 194, 0.6) !important; } +.bp3-input-group{ + display:block; + position:relative; } + .bp3-input-group .bp3-input{ + position:relative; + width:100%; } + .bp3-input-group .bp3-input:not(:first-child){ + padding-left:30px; } + .bp3-input-group .bp3-input:not(:last-child){ + padding-right:30px; } + .bp3-input-group .bp3-input-action, + .bp3-input-group > .bp3-button, + .bp3-input-group > .bp3-icon{ + position:absolute; + top:0; } + .bp3-input-group .bp3-input-action:first-child, + .bp3-input-group > .bp3-button:first-child, + .bp3-input-group > .bp3-icon:first-child{ + left:0; } + .bp3-input-group .bp3-input-action:last-child, + .bp3-input-group > .bp3-button:last-child, + .bp3-input-group > .bp3-icon:last-child{ + right:0; } + .bp3-input-group .bp3-button{ + min-width:24px; + min-height:24px; + margin:3px; + padding:0 7px; } + .bp3-input-group .bp3-button:empty{ + padding:0; } + .bp3-input-group > .bp3-icon{ + z-index:1; + color:#5c7080; } + .bp3-input-group > .bp3-icon:empty{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; } + .bp3-input-group > .bp3-icon, + .bp3-input-group .bp3-input-action > .bp3-spinner{ + margin:7px; } + .bp3-input-group .bp3-tag{ + margin:5px; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus), + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){ + color:#5c7080; } + .bp3-dark .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus), .bp3-dark + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){ + color:#a7b6c2; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large{ + color:#5c7080; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-large, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-standard, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-large{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-input-group.bp3-disabled{ + cursor:not-allowed; } + .bp3-input-group.bp3-disabled .bp3-icon{ + color:rgba(92, 112, 128, 0.6); } + .bp3-input-group.bp3-large .bp3-button{ + min-width:30px; + min-height:30px; + margin:5px; } + .bp3-input-group.bp3-large > .bp3-icon, + .bp3-input-group.bp3-large .bp3-input-action > .bp3-spinner{ + margin:12px; } + .bp3-input-group.bp3-large .bp3-input{ + height:40px; + line-height:40px; + font-size:16px; } + .bp3-input-group.bp3-large .bp3-input[type="search"], .bp3-input-group.bp3-large .bp3-input.bp3-round{ + padding:0 15px; } + .bp3-input-group.bp3-large .bp3-input:not(:first-child){ + padding-left:40px; } + .bp3-input-group.bp3-large .bp3-input:not(:last-child){ + padding-right:40px; } + .bp3-input-group.bp3-small .bp3-button{ + min-width:20px; + min-height:20px; + margin:2px; } + .bp3-input-group.bp3-small .bp3-tag{ + min-width:20px; + min-height:20px; + margin:2px; } + .bp3-input-group.bp3-small > .bp3-icon, + .bp3-input-group.bp3-small .bp3-input-action > .bp3-spinner{ + margin:4px; } + .bp3-input-group.bp3-small .bp3-input{ + height:24px; + padding-right:8px; + padding-left:8px; + line-height:24px; + font-size:12px; } + .bp3-input-group.bp3-small .bp3-input[type="search"], .bp3-input-group.bp3-small .bp3-input.bp3-round{ + padding:0 12px; } + .bp3-input-group.bp3-small .bp3-input:not(:first-child){ + padding-left:24px; } + .bp3-input-group.bp3-small .bp3-input:not(:last-child){ + padding-right:24px; } + .bp3-input-group.bp3-fill{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + width:100%; } + .bp3-input-group.bp3-round .bp3-button, + .bp3-input-group.bp3-round .bp3-input, + .bp3-input-group.bp3-round .bp3-tag{ + border-radius:30px; } + .bp3-dark .bp3-input-group .bp3-icon{ + color:#a7b6c2; } + .bp3-dark .bp3-input-group.bp3-disabled .bp3-icon{ + color:rgba(167, 182, 194, 0.6); } + .bp3-input-group.bp3-intent-primary .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-primary .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-primary .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #137cbd; + box-shadow:inset 0 0 0 1px #137cbd; } + .bp3-input-group.bp3-intent-primary .bp3-input:disabled, .bp3-input-group.bp3-intent-primary .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-primary > .bp3-icon{ + color:#106ba3; } + .bp3-dark .bp3-input-group.bp3-intent-primary > .bp3-icon{ + color:#48aff0; } + .bp3-input-group.bp3-intent-success .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-success .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-success .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #0f9960; + box-shadow:inset 0 0 0 1px #0f9960; } + .bp3-input-group.bp3-intent-success .bp3-input:disabled, .bp3-input-group.bp3-intent-success .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-success > .bp3-icon{ + color:#0d8050; } + .bp3-dark .bp3-input-group.bp3-intent-success > .bp3-icon{ + color:#3dcc91; } + .bp3-input-group.bp3-intent-warning .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-warning .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-warning .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #d9822b; + box-shadow:inset 0 0 0 1px #d9822b; } + .bp3-input-group.bp3-intent-warning .bp3-input:disabled, .bp3-input-group.bp3-intent-warning .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-warning > .bp3-icon{ + color:#bf7326; } + .bp3-dark .bp3-input-group.bp3-intent-warning > .bp3-icon{ + color:#ffb366; } + .bp3-input-group.bp3-intent-danger .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-danger .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-danger .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #db3737; + box-shadow:inset 0 0 0 1px #db3737; } + .bp3-input-group.bp3-intent-danger .bp3-input:disabled, .bp3-input-group.bp3-intent-danger .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-danger > .bp3-icon{ + color:#c23030; } + .bp3-dark .bp3-input-group.bp3-intent-danger > .bp3-icon{ + color:#ff7373; } +.bp3-input{ + outline:none; + border:none; + border-radius:3px; + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + background:#ffffff; + height:30px; + padding:0 10px; + vertical-align:middle; + line-height:30px; + color:#182026; + font-size:14px; + font-weight:400; + -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; } + .bp3-input::-webkit-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input::-moz-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input:-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input::-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input::placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input:focus, .bp3-input.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input[type="search"], .bp3-input.bp3-round{ + border-radius:30px; + -webkit-box-sizing:border-box; + box-sizing:border-box; + padding-left:10px; } + .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); } + .bp3-input:disabled, .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(206, 217, 224, 0.5); + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); + resize:none; } + .bp3-input.bp3-large{ + height:40px; + line-height:40px; + font-size:16px; } + .bp3-input.bp3-large[type="search"], .bp3-input.bp3-large.bp3-round{ + padding:0 15px; } + .bp3-input.bp3-small{ + height:24px; + padding-right:8px; + padding-left:8px; + line-height:24px; + font-size:12px; } + .bp3-input.bp3-small[type="search"], .bp3-input.bp3-small.bp3-round{ + padding:0 12px; } + .bp3-input.bp3-fill{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + width:100%; } + .bp3-dark .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-input::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input:disabled, .bp3-dark .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + color:rgba(167, 182, 194, 0.6); } + .bp3-input.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-primary:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-primary[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #137cbd; + box-shadow:inset 0 0 0 1px #137cbd; } + .bp3-input.bp3-intent-primary:disabled, .bp3-input.bp3-intent-primary.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-primary:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-primary[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #137cbd; + box-shadow:inset 0 0 0 1px #137cbd; } + .bp3-dark .bp3-input.bp3-intent-primary:disabled, .bp3-dark .bp3-input.bp3-intent-primary.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input.bp3-intent-success{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-success:focus{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-success[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #0f9960; + box-shadow:inset 0 0 0 1px #0f9960; } + .bp3-input.bp3-intent-success:disabled, .bp3-input.bp3-intent-success.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-success{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-success:focus{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-success[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #0f9960; + box-shadow:inset 0 0 0 1px #0f9960; } + .bp3-dark .bp3-input.bp3-intent-success:disabled, .bp3-dark .bp3-input.bp3-intent-success.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-warning:focus{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-warning[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #d9822b; + box-shadow:inset 0 0 0 1px #d9822b; } + .bp3-input.bp3-intent-warning:disabled, .bp3-input.bp3-intent-warning.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-warning:focus{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-warning[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #d9822b; + box-shadow:inset 0 0 0 1px #d9822b; } + .bp3-dark .bp3-input.bp3-intent-warning:disabled, .bp3-dark .bp3-input.bp3-intent-warning.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-danger:focus{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-danger[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #db3737; + box-shadow:inset 0 0 0 1px #db3737; } + .bp3-input.bp3-intent-danger:disabled, .bp3-input.bp3-intent-danger.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-danger:focus{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-danger[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #db3737; + box-shadow:inset 0 0 0 1px #db3737; } + .bp3-dark .bp3-input.bp3-intent-danger:disabled, .bp3-dark .bp3-input.bp3-intent-danger.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input::-ms-clear{ + display:none; } +textarea.bp3-input{ + max-width:100%; + padding:10px; } + textarea.bp3-input, textarea.bp3-input.bp3-large, textarea.bp3-input.bp3-small{ + height:auto; + line-height:inherit; } + textarea.bp3-input.bp3-small{ + padding:8px; } + .bp3-dark textarea.bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#f5f8fa; } + .bp3-dark textarea.bp3-input::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark textarea.bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark textarea.bp3-input:disabled, .bp3-dark textarea.bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + color:rgba(167, 182, 194, 0.6); } +label.bp3-label{ + display:block; + margin-top:0; + margin-bottom:15px; } + label.bp3-label .bp3-html-select, + label.bp3-label .bp3-input, + label.bp3-label .bp3-select, + label.bp3-label .bp3-slider, + label.bp3-label .bp3-popover-wrapper{ + display:block; + margin-top:5px; + text-transform:none; } + label.bp3-label .bp3-button-group{ + margin-top:5px; } + label.bp3-label .bp3-select select, + label.bp3-label .bp3-html-select select{ + width:100%; + vertical-align:top; + font-weight:400; } + label.bp3-label.bp3-disabled, + label.bp3-label.bp3-disabled .bp3-text-muted{ + color:rgba(92, 112, 128, 0.6); } + label.bp3-label.bp3-inline{ + line-height:30px; } + label.bp3-label.bp3-inline .bp3-html-select, + label.bp3-label.bp3-inline .bp3-input, + label.bp3-label.bp3-inline .bp3-input-group, + label.bp3-label.bp3-inline .bp3-select, + label.bp3-label.bp3-inline .bp3-popover-wrapper{ + display:inline-block; + margin:0 0 0 5px; + vertical-align:top; } + label.bp3-label.bp3-inline .bp3-button-group{ + margin:0 0 0 5px; } + label.bp3-label.bp3-inline .bp3-input-group .bp3-input{ + margin-left:0; } + label.bp3-label.bp3-inline.bp3-large{ + line-height:40px; } + label.bp3-label:not(.bp3-inline) .bp3-popover-target{ + display:block; } + .bp3-dark label.bp3-label{ + color:#f5f8fa; } + .bp3-dark label.bp3-label.bp3-disabled, + .bp3-dark label.bp3-label.bp3-disabled .bp3-text-muted{ + color:rgba(167, 182, 194, 0.6); } +.bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button{ + -webkit-box-flex:1; + -ms-flex:1 1 14px; + flex:1 1 14px; + width:30px; + min-height:0; + padding:0; } + .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:first-child{ + border-radius:0 3px 0 0; } + .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:last-child{ + border-radius:0 0 3px 0; } + +.bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:first-child{ + border-radius:3px 0 0 0; } + +.bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:last-child{ + border-radius:0 0 0 3px; } + +.bp3-numeric-input.bp3-large .bp3-button-group.bp3-vertical > .bp3-button{ + width:40px; } + +form{ + display:block; } +.bp3-html-select select, +.bp3-select select{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + border:none; + border-radius:3px; + cursor:pointer; + padding:5px 10px; + vertical-align:middle; + text-align:left; + font-size:14px; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + color:#182026; + border-radius:3px; + width:100%; + height:30px; + padding:0 25px 0 10px; + -moz-appearance:none; + -webkit-appearance:none; } + .bp3-html-select select > *, .bp3-select select > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-html-select select > .bp3-fill, .bp3-select select > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-html-select select::before, + .bp3-select select::before, .bp3-html-select select > *, .bp3-select select > *{ + margin-right:7px; } + .bp3-html-select select:empty::before, + .bp3-select select:empty::before, + .bp3-html-select select > :last-child, + .bp3-select select > :last-child{ + margin-right:0; } + .bp3-html-select select:hover, + .bp3-select select:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-html-select select:active, + .bp3-select select:active, .bp3-html-select select.bp3-active, + .bp3-select select.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-html-select select:disabled, + .bp3-select select:disabled, .bp3-html-select select.bp3-disabled, + .bp3-select select.bp3-disabled{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-html-select select:disabled.bp3-active, + .bp3-select select:disabled.bp3-active, .bp3-html-select select:disabled.bp3-active:hover, + .bp3-select select:disabled.bp3-active:hover, .bp3-html-select select.bp3-disabled.bp3-active, + .bp3-select select.bp3-disabled.bp3-active, .bp3-html-select select.bp3-disabled.bp3-active:hover, + .bp3-select select.bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + +.bp3-html-select.bp3-minimal select, +.bp3-select.bp3-minimal select{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-html-select.bp3-minimal select:hover, + .bp3-select.bp3-minimal select:hover{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(167, 182, 194, 0.3); + text-decoration:none; + color:#182026; } + .bp3-html-select.bp3-minimal select:active, + .bp3-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal select.bp3-active, + .bp3-select.bp3-minimal select.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(115, 134, 148, 0.3); + color:#182026; } + .bp3-html-select.bp3-minimal select:disabled, + .bp3-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal select:disabled:hover, + .bp3-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal select.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal select.bp3-disabled:hover, + .bp3-select.bp3-minimal select.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-html-select.bp3-minimal select:disabled.bp3-active, + .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active, + .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active, + .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-html-select.bp3-minimal select, .bp3-html-select.bp3-minimal .bp3-dark select, + .bp3-dark .bp3-select.bp3-minimal select, .bp3-select.bp3-minimal .bp3-dark select{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:inherit; } + .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover, + .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover, .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active, + .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover, + .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active, + .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-html-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal .bp3-dark select:disabled, + .bp3-dark .bp3-select.bp3-minimal select:disabled, .bp3-select.bp3-minimal .bp3-dark select:disabled, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover, + .bp3-dark .bp3-select.bp3-minimal select:disabled:hover, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-html-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-primary, + .bp3-select.bp3-minimal select.bp3-intent-primary{ + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, + .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, + .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, + .bp3-select.bp3-minimal select.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, + .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled, + .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-success, + .bp3-select.bp3-minimal select.bp3-intent-success{ + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, + .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal select.bp3-intent-success:active, + .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, + .bp3-select.bp3-minimal select.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:active, + .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled, + .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-warning, + .bp3-select.bp3-minimal select.bp3-intent-warning{ + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, + .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, + .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, + .bp3-select.bp3-minimal select.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, + .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled, + .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-danger, + .bp3-select.bp3-minimal select.bp3-intent-danger{ + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, + .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, + .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, + .bp3-select.bp3-minimal select.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, + .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled, + .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + +.bp3-html-select.bp3-large select, +.bp3-select.bp3-large select{ + height:40px; + padding-right:35px; + font-size:16px; } + +.bp3-dark .bp3-html-select select, .bp3-dark .bp3-select select{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + color:#f5f8fa; } + .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover, .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + .bp3-dark .bp3-html-select select:disabled, .bp3-dark .bp3-select select:disabled, .bp3-dark .bp3-html-select select.bp3-disabled, .bp3-dark .bp3-select select.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-html-select select:disabled.bp3-active, .bp3-dark .bp3-select select:disabled.bp3-active, .bp3-dark .bp3-html-select select.bp3-disabled.bp3-active, .bp3-dark .bp3-select select.bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-html-select select .bp3-button-spinner .bp3-spinner-head, .bp3-dark .bp3-select select .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + +.bp3-html-select select:disabled, +.bp3-select select:disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + +.bp3-html-select .bp3-icon, +.bp3-select .bp3-icon, .bp3-select::after{ + position:absolute; + top:7px; + right:7px; + color:#5c7080; + pointer-events:none; } + .bp3-html-select .bp3-disabled.bp3-icon, + .bp3-select .bp3-disabled.bp3-icon, .bp3-disabled.bp3-select::after{ + color:rgba(92, 112, 128, 0.6); } +.bp3-html-select, +.bp3-select{ + display:inline-block; + position:relative; + vertical-align:middle; + letter-spacing:normal; } + .bp3-html-select select::-ms-expand, + .bp3-select select::-ms-expand{ + display:none; } + .bp3-html-select .bp3-icon, + .bp3-select .bp3-icon{ + color:#5c7080; } + .bp3-html-select .bp3-icon:hover, + .bp3-select .bp3-icon:hover{ + color:#182026; } + .bp3-dark .bp3-html-select .bp3-icon, .bp3-dark + .bp3-select .bp3-icon{ + color:#a7b6c2; } + .bp3-dark .bp3-html-select .bp3-icon:hover, .bp3-dark + .bp3-select .bp3-icon:hover{ + color:#f5f8fa; } + .bp3-html-select.bp3-large::after, + .bp3-html-select.bp3-large .bp3-icon, + .bp3-select.bp3-large::after, + .bp3-select.bp3-large .bp3-icon{ + top:12px; + right:12px; } + .bp3-html-select.bp3-fill, + .bp3-html-select.bp3-fill select, + .bp3-select.bp3-fill, + .bp3-select.bp3-fill select{ + width:100%; } + .bp3-dark .bp3-html-select option, .bp3-dark + .bp3-select option{ + background-color:#30404d; + color:#f5f8fa; } + .bp3-dark .bp3-html-select::after, .bp3-dark + .bp3-select::after{ + color:#a7b6c2; } + +.bp3-select::after{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + content:""; } +.bp3-running-text table, table.bp3-html-table{ + border-spacing:0; + font-size:14px; } + .bp3-running-text table th, table.bp3-html-table th, + .bp3-running-text table td, + table.bp3-html-table td{ + padding:11px; + vertical-align:top; + text-align:left; } + .bp3-running-text table th, table.bp3-html-table th{ + color:#182026; + font-weight:600; } + + .bp3-running-text table td, + table.bp3-html-table td{ + color:#182026; } + .bp3-running-text table tbody tr:first-child th, table.bp3-html-table tbody tr:first-child th, + .bp3-running-text table tbody tr:first-child td, + table.bp3-html-table tbody tr:first-child td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-running-text table th, .bp3-running-text .bp3-dark table th, .bp3-dark table.bp3-html-table th{ + color:#f5f8fa; } + .bp3-dark .bp3-running-text table td, .bp3-running-text .bp3-dark table td, .bp3-dark table.bp3-html-table td{ + color:#f5f8fa; } + .bp3-dark .bp3-running-text table tbody tr:first-child th, .bp3-running-text .bp3-dark table tbody tr:first-child th, .bp3-dark table.bp3-html-table tbody tr:first-child th, + .bp3-dark .bp3-running-text table tbody tr:first-child td, + .bp3-running-text .bp3-dark table tbody tr:first-child td, + .bp3-dark table.bp3-html-table tbody tr:first-child td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); } + +table.bp3-html-table.bp3-html-table-condensed th, +table.bp3-html-table.bp3-html-table-condensed td, table.bp3-html-table.bp3-small th, +table.bp3-html-table.bp3-small td{ + padding-top:6px; + padding-bottom:6px; } + +table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{ + background:rgba(191, 204, 214, 0.15); } + +table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){ + -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); } + +table.bp3-html-table.bp3-html-table-bordered tbody tr td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); } + table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child){ + -webkit-box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15); } + +table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{ + -webkit-box-shadow:none; + box-shadow:none; } + table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:not(:first-child){ + -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); } + +table.bp3-html-table.bp3-interactive tbody tr:hover td{ + background-color:rgba(191, 204, 214, 0.3); + cursor:pointer; } + +table.bp3-html-table.bp3-interactive tbody tr:active td{ + background-color:rgba(191, 204, 214, 0.4); } + +.bp3-dark table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{ + background:rgba(92, 112, 128, 0.15); } + +.bp3-dark table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){ + -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); } + +.bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); } + .bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child){ + -webkit-box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15); } + +.bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{ + -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); } + .bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:first-child{ + -webkit-box-shadow:none; + box-shadow:none; } + +.bp3-dark table.bp3-html-table.bp3-interactive tbody tr:hover td{ + background-color:rgba(92, 112, 128, 0.3); + cursor:pointer; } + +.bp3-dark table.bp3-html-table.bp3-interactive tbody tr:active td{ + background-color:rgba(92, 112, 128, 0.4); } + +.bp3-key-combo{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; } + .bp3-key-combo > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-key-combo > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-key-combo::before, + .bp3-key-combo > *{ + margin-right:5px; } + .bp3-key-combo:empty::before, + .bp3-key-combo > :last-child{ + margin-right:0; } + +.bp3-hotkey-dialog{ + top:40px; + padding-bottom:0; } + .bp3-hotkey-dialog .bp3-dialog-body{ + margin:0; + padding:0; } + .bp3-hotkey-dialog .bp3-hotkey-label{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; } + +.bp3-hotkey-column{ + margin:auto; + max-height:80vh; + overflow-y:auto; + padding:30px; } + .bp3-hotkey-column .bp3-heading{ + margin-bottom:20px; } + .bp3-hotkey-column .bp3-heading:not(:first-child){ + margin-top:40px; } + +.bp3-hotkey{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:justify; + -ms-flex-pack:justify; + justify-content:space-between; + margin-right:0; + margin-left:0; } + .bp3-hotkey:not(:last-child){ + margin-bottom:10px; } +.bp3-icon{ + display:inline-block; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + vertical-align:text-bottom; } + .bp3-icon:not(:empty)::before{ + content:"" !important; + content:unset !important; } + .bp3-icon > svg{ + display:block; } + .bp3-icon > svg:not([fill]){ + fill:currentColor; } + +.bp3-icon.bp3-intent-primary, .bp3-icon-standard.bp3-intent-primary, .bp3-icon-large.bp3-intent-primary{ + color:#106ba3; } + .bp3-dark .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-icon-large.bp3-intent-primary{ + color:#48aff0; } + +.bp3-icon.bp3-intent-success, .bp3-icon-standard.bp3-intent-success, .bp3-icon-large.bp3-intent-success{ + color:#0d8050; } + .bp3-dark .bp3-icon.bp3-intent-success, .bp3-dark .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-icon-large.bp3-intent-success{ + color:#3dcc91; } + +.bp3-icon.bp3-intent-warning, .bp3-icon-standard.bp3-intent-warning, .bp3-icon-large.bp3-intent-warning{ + color:#bf7326; } + .bp3-dark .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-icon-large.bp3-intent-warning{ + color:#ffb366; } + +.bp3-icon.bp3-intent-danger, .bp3-icon-standard.bp3-intent-danger, .bp3-icon-large.bp3-intent-danger{ + color:#c23030; } + .bp3-dark .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-icon-large.bp3-intent-danger{ + color:#ff7373; } + +span.bp3-icon-standard{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + display:inline-block; } + +span.bp3-icon-large{ + line-height:1; + font-family:"Icons20", sans-serif; + font-size:20px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + display:inline-block; } + +span.bp3-icon:empty{ + line-height:1; + font-family:"Icons20"; + font-size:inherit; + font-weight:400; + font-style:normal; } + span.bp3-icon:empty::before{ + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; } + +.bp3-icon-add::before{ + content:""; } + +.bp3-icon-add-column-left::before{ + content:""; } + +.bp3-icon-add-column-right::before{ + content:""; } + +.bp3-icon-add-row-bottom::before{ + content:""; } + +.bp3-icon-add-row-top::before{ + content:"î›·"; } + +.bp3-icon-add-to-artifact::before{ + content:""; } + +.bp3-icon-add-to-folder::before{ + content:"î›’"; } + +.bp3-icon-airplane::before{ + content:"î‹"; } + +.bp3-icon-align-center::before{ + content:""; } + +.bp3-icon-align-justify::before{ + content:""; } + +.bp3-icon-align-left::before{ + content:""; } + +.bp3-icon-align-right::before{ + content:""; } + +.bp3-icon-alignment-bottom::before{ + content:""; } + +.bp3-icon-alignment-horizontal-center::before{ + content:""; } + +.bp3-icon-alignment-left::before{ + content:""; } + +.bp3-icon-alignment-right::before{ + content:""; } + +.bp3-icon-alignment-top::before{ + content:""; } + +.bp3-icon-alignment-vertical-center::before{ + content:""; } + +.bp3-icon-annotation::before{ + content:"î›°"; } + +.bp3-icon-application::before{ + content:""; } + +.bp3-icon-applications::before{ + content:""; } + +.bp3-icon-archive::before{ + content:""; } + +.bp3-icon-arrow-bottom-left::before{ + content:"↙"; } + +.bp3-icon-arrow-bottom-right::before{ + content:"↘"; } + +.bp3-icon-arrow-down::before{ + content:"↓"; } + +.bp3-icon-arrow-left::before{ + content:"â†"; } + +.bp3-icon-arrow-right::before{ + content:"→"; } + +.bp3-icon-arrow-top-left::before{ + content:"↖"; } + +.bp3-icon-arrow-top-right::before{ + content:"↗"; } + +.bp3-icon-arrow-up::before{ + content:"↑"; } + +.bp3-icon-arrows-horizontal::before{ + content:"↔"; } + +.bp3-icon-arrows-vertical::before{ + content:"↕"; } + +.bp3-icon-asterisk::before{ + content:"*"; } + +.bp3-icon-automatic-updates::before{ + content:""; } + +.bp3-icon-badge::before{ + content:""; } + +.bp3-icon-ban-circle::before{ + content:"îš"; } + +.bp3-icon-bank-account::before{ + content:"î¯"; } + +.bp3-icon-barcode::before{ + content:"î™¶"; } + +.bp3-icon-blank::before{ + content:""; } + +.bp3-icon-blocked-person::before{ + content:"î¨"; } + +.bp3-icon-bold::before{ + content:""; } + +.bp3-icon-book::before{ + content:""; } + +.bp3-icon-bookmark::before{ + content:""; } + +.bp3-icon-box::before{ + content:"îš¿"; } + +.bp3-icon-briefcase::before{ + content:"î™´"; } + +.bp3-icon-bring-data::before{ + content:""; } + +.bp3-icon-build::before{ + content:"îœ"; } + +.bp3-icon-calculator::before{ + content:""; } + +.bp3-icon-calendar::before{ + content:""; } + +.bp3-icon-camera::before{ + content:"îšž"; } + +.bp3-icon-caret-down::before{ + content:"⌄"; } + +.bp3-icon-caret-left::before{ + content:"〈"; } + +.bp3-icon-caret-right::before{ + content:"〉"; } + +.bp3-icon-caret-up::before{ + content:"⌃"; } + +.bp3-icon-cell-tower::before{ + content:"î°"; } + +.bp3-icon-changes::before{ + content:""; } + +.bp3-icon-chart::before{ + content:""; } + +.bp3-icon-chat::before{ + content:""; } + +.bp3-icon-chevron-backward::before{ + content:""; } + +.bp3-icon-chevron-down::before{ + content:"îš—"; } + +.bp3-icon-chevron-forward::before{ + content:"î› "; } + +.bp3-icon-chevron-left::before{ + content:"îš”"; } + +.bp3-icon-chevron-right::before{ + content:"îš•"; } + +.bp3-icon-chevron-up::before{ + content:"îš–"; } + +.bp3-icon-circle::before{ + content:""; } + +.bp3-icon-circle-arrow-down::before{ + content:""; } + +.bp3-icon-circle-arrow-left::before{ + content:""; } + +.bp3-icon-circle-arrow-right::before{ + content:"îš‹"; } + +.bp3-icon-circle-arrow-up::before{ + content:"îš"; } + +.bp3-icon-citation::before{ + content:""; } + +.bp3-icon-clean::before{ + content:""; } + +.bp3-icon-clipboard::before{ + content:"î˜"; } + +.bp3-icon-cloud::before{ + content:"â˜"; } + +.bp3-icon-cloud-download::before{ + content:"îš"; } + +.bp3-icon-cloud-upload::before{ + content:"îš‘"; } + +.bp3-icon-code::before{ + content:""; } + +.bp3-icon-code-block::before{ + content:"î›…"; } + +.bp3-icon-cog::before{ + content:"î™…"; } + +.bp3-icon-collapse-all::before{ + content:"î£"; } + +.bp3-icon-column-layout::before{ + content:""; } + +.bp3-icon-comment::before{ + content:""; } + +.bp3-icon-comparison::before{ + content:""; } + +.bp3-icon-compass::before{ + content:"îžœ"; } + +.bp3-icon-compressed::before{ + content:""; } + +.bp3-icon-confirm::before{ + content:""; } + +.bp3-icon-console::before{ + content:"îž›"; } + +.bp3-icon-contrast::before{ + content:""; } + +.bp3-icon-control::before{ + content:""; } + +.bp3-icon-credit-card::before{ + content:""; } + +.bp3-icon-cross::before{ + content:"✗"; } + +.bp3-icon-crown::before{ + content:"îž´"; } + +.bp3-icon-cube::before{ + content:""; } + +.bp3-icon-cube-add::before{ + content:""; } + +.bp3-icon-cube-remove::before{ + content:"îŸ"; } + +.bp3-icon-curved-range-chart::before{ + content:""; } + +.bp3-icon-cut::before{ + content:""; } + +.bp3-icon-dashboard::before{ + content:"î‘"; } + +.bp3-icon-data-lineage::before{ + content:""; } + +.bp3-icon-database::before{ + content:""; } + +.bp3-icon-delete::before{ + content:""; } + +.bp3-icon-delta::before{ + content:"Δ"; } + +.bp3-icon-derive-column::before{ + content:""; } + +.bp3-icon-desktop::before{ + content:""; } + +.bp3-icon-diagram-tree::before{ + content:"îž³"; } + +.bp3-icon-direction-left::before{ + content:"îš"; } + +.bp3-icon-direction-right::before{ + content:"îš‚"; } + +.bp3-icon-disable::before{ + content:""; } + +.bp3-icon-document::before{ + content:""; } + +.bp3-icon-document-open::before{ + content:""; } + +.bp3-icon-document-share::before{ + content:""; } + +.bp3-icon-dollar::before{ + content:"$"; } + +.bp3-icon-dot::before{ + content:"•"; } + +.bp3-icon-double-caret-horizontal::before{ + content:""; } + +.bp3-icon-double-caret-vertical::before{ + content:""; } + +.bp3-icon-double-chevron-down::before{ + content:""; } + +.bp3-icon-double-chevron-left::before{ + content:""; } + +.bp3-icon-double-chevron-right::before{ + content:"îœ"; } + +.bp3-icon-double-chevron-up::before{ + content:""; } + +.bp3-icon-doughnut-chart::before{ + content:""; } + +.bp3-icon-download::before{ + content:""; } + +.bp3-icon-drag-handle-horizontal::before{ + content:""; } + +.bp3-icon-drag-handle-vertical::before{ + content:""; } + +.bp3-icon-draw::before{ + content:""; } + +.bp3-icon-drive-time::before{ + content:""; } + +.bp3-icon-duplicate::before{ + content:"îšœ"; } + +.bp3-icon-edit::before{ + content:"✎"; } + +.bp3-icon-eject::before{ + content:"â"; } + +.bp3-icon-endorsed::before{ + content:"îŸ"; } + +.bp3-icon-envelope::before{ + content:"✉"; } + +.bp3-icon-equals::before{ + content:""; } + +.bp3-icon-eraser::before{ + content:"î³"; } + +.bp3-icon-error::before{ + content:""; } + +.bp3-icon-euro::before{ + content:"€"; } + +.bp3-icon-exchange::before{ + content:""; } + +.bp3-icon-exclude-row::before{ + content:""; } + +.bp3-icon-expand-all::before{ + content:"î¤"; } + +.bp3-icon-export::before{ + content:""; } + +.bp3-icon-eye-off::before{ + content:""; } + +.bp3-icon-eye-on::before{ + content:"îš"; } + +.bp3-icon-eye-open::before{ + content:""; } + +.bp3-icon-fast-backward::before{ + content:""; } + +.bp3-icon-fast-forward::before{ + content:""; } + +.bp3-icon-feed::before{ + content:"î™–"; } + +.bp3-icon-feed-subscribed::before{ + content:"îž"; } + +.bp3-icon-film::before{ + content:"îš¡"; } + +.bp3-icon-filter::before{ + content:""; } + +.bp3-icon-filter-keep::before{ + content:""; } + +.bp3-icon-filter-list::before{ + content:"î›®"; } + +.bp3-icon-filter-open::before{ + content:""; } + +.bp3-icon-filter-remove::before{ + content:"îž"; } + +.bp3-icon-flag::before{ + content:"âš‘"; } + +.bp3-icon-flame::before{ + content:"îž©"; } + +.bp3-icon-flash::before{ + content:"îš³"; } + +.bp3-icon-floppy-disk::before{ + content:"îš·"; } + +.bp3-icon-flow-branch::before{ + content:"îŸ"; } + +.bp3-icon-flow-end::before{ + content:""; } + +.bp3-icon-flow-linear::before{ + content:""; } + +.bp3-icon-flow-review::before{ + content:""; } + +.bp3-icon-flow-review-branch::before{ + content:""; } + +.bp3-icon-flows::before{ + content:"î™™"; } + +.bp3-icon-folder-close::before{ + content:"î™’"; } + +.bp3-icon-folder-new::before{ + content:"îž°"; } + +.bp3-icon-folder-open::before{ + content:""; } + +.bp3-icon-folder-shared::before{ + content:""; } + +.bp3-icon-folder-shared-open::before{ + content:"î™°"; } + +.bp3-icon-follower::before{ + content:"î "; } + +.bp3-icon-following::before{ + content:"î¡"; } + +.bp3-icon-font::before{ + content:"îš´"; } + +.bp3-icon-fork::before{ + content:""; } + +.bp3-icon-form::before{ + content:"îž•"; } + +.bp3-icon-full-circle::before{ + content:"îš…"; } + +.bp3-icon-full-stacked-chart::before{ + content:"îž"; } + +.bp3-icon-fullscreen::before{ + content:"îš™"; } + +.bp3-icon-function::before{ + content:""; } + +.bp3-icon-gantt-chart::before{ + content:"î›´"; } + +.bp3-icon-geolocation::before{ + content:""; } + +.bp3-icon-geosearch::before{ + content:""; } + +.bp3-icon-git-branch::before{ + content:""; } + +.bp3-icon-git-commit::before{ + content:""; } + +.bp3-icon-git-merge::before{ + content:""; } + +.bp3-icon-git-new-branch::before{ + content:"î‰"; } + +.bp3-icon-git-pull::before{ + content:""; } + +.bp3-icon-git-push::before{ + content:""; } + +.bp3-icon-git-repo::before{ + content:"îˆ"; } + +.bp3-icon-glass::before{ + content:"îš±"; } + +.bp3-icon-globe::before{ + content:""; } + +.bp3-icon-globe-network::before{ + content:"îžµ"; } + +.bp3-icon-graph::before{ + content:""; } + +.bp3-icon-graph-remove::before{ + content:""; } + +.bp3-icon-greater-than::before{ + content:""; } + +.bp3-icon-greater-than-or-equal-to::before{ + content:""; } + +.bp3-icon-grid::before{ + content:"î›"; } + +.bp3-icon-grid-view::before{ + content:""; } + +.bp3-icon-group-objects::before{ + content:""; } + +.bp3-icon-grouped-bar-chart::before{ + content:"î"; } + +.bp3-icon-hand::before{ + content:""; } + +.bp3-icon-hand-down::before{ + content:"îš»"; } + +.bp3-icon-hand-left::before{ + content:"îš¼"; } + +.bp3-icon-hand-right::before{ + content:"îš¹"; } + +.bp3-icon-hand-up::before{ + content:""; } + +.bp3-icon-header::before{ + content:"îšµ"; } + +.bp3-icon-header-one::before{ + content:"îž“"; } + +.bp3-icon-header-two::before{ + content:"îž”"; } + +.bp3-icon-headset::before{ + content:""; } + +.bp3-icon-heart::before{ + content:"♥"; } + +.bp3-icon-heart-broken::before{ + content:""; } + +.bp3-icon-heat-grid::before{ + content:""; } + +.bp3-icon-heatmap::before{ + content:""; } + +.bp3-icon-help::before{ + content:"?"; } + +.bp3-icon-helper-management::before{ + content:"î™"; } + +.bp3-icon-highlight::before{ + content:"î›"; } + +.bp3-icon-history::before{ + content:""; } + +.bp3-icon-home::before{ + content:"⌂"; } + +.bp3-icon-horizontal-bar-chart::before{ + content:""; } + +.bp3-icon-horizontal-bar-chart-asc::before{ + content:"îœ"; } + +.bp3-icon-horizontal-bar-chart-desc::before{ + content:"îœ"; } + +.bp3-icon-horizontal-distribution::before{ + content:"îœ "; } + +.bp3-icon-id-number::before{ + content:"î±"; } + +.bp3-icon-image-rotate-left::before{ + content:""; } + +.bp3-icon-image-rotate-right::before{ + content:""; } + +.bp3-icon-import::before{ + content:""; } + +.bp3-icon-inbox::before{ + content:""; } + +.bp3-icon-inbox-filtered::before{ + content:""; } + +.bp3-icon-inbox-geo::before{ + content:""; } + +.bp3-icon-inbox-search::before{ + content:""; } + +.bp3-icon-inbox-update::before{ + content:""; } + +.bp3-icon-info-sign::before{ + content:"ℹ"; } + +.bp3-icon-inheritance::before{ + content:""; } + +.bp3-icon-inner-join::before{ + content:""; } + +.bp3-icon-insert::before{ + content:""; } + +.bp3-icon-intersection::before{ + content:"î¥"; } + +.bp3-icon-ip-address::before{ + content:"î²"; } + +.bp3-icon-issue::before{ + content:"î´"; } + +.bp3-icon-issue-closed::before{ + content:"î¶"; } + +.bp3-icon-issue-new::before{ + content:"îµ"; } + +.bp3-icon-italic::before{ + content:""; } + +.bp3-icon-join-table::before{ + content:""; } + +.bp3-icon-key::before{ + content:""; } + +.bp3-icon-key-backspace::before{ + content:""; } + +.bp3-icon-key-command::before{ + content:""; } + +.bp3-icon-key-control::before{ + content:""; } + +.bp3-icon-key-delete::before{ + content:""; } + +.bp3-icon-key-enter::before{ + content:""; } + +.bp3-icon-key-escape::before{ + content:""; } + +.bp3-icon-key-option::before{ + content:"î‚"; } + +.bp3-icon-key-shift::before{ + content:""; } + +.bp3-icon-key-tab::before{ + content:"î—"; } + +.bp3-icon-known-vehicle::before{ + content:""; } + +.bp3-icon-label::before{ + content:""; } + +.bp3-icon-layer::before{ + content:"î›"; } + +.bp3-icon-layers::before{ + content:""; } + +.bp3-icon-layout::before{ + content:""; } + +.bp3-icon-layout-auto::before{ + content:"î˜"; } + +.bp3-icon-layout-balloon::before{ + content:""; } + +.bp3-icon-layout-circle::before{ + content:""; } + +.bp3-icon-layout-grid::before{ + content:"î˜"; } + +.bp3-icon-layout-group-by::before{ + content:""; } + +.bp3-icon-layout-hierarchy::before{ + content:"î˜"; } + +.bp3-icon-layout-linear::before{ + content:""; } + +.bp3-icon-layout-skew-grid::before{ + content:""; } + +.bp3-icon-layout-sorted-clusters::before{ + content:"î›”"; } + +.bp3-icon-learning::before{ + content:""; } + +.bp3-icon-left-join::before{ + content:""; } + +.bp3-icon-less-than::before{ + content:""; } + +.bp3-icon-less-than-or-equal-to::before{ + content:""; } + +.bp3-icon-lifesaver::before{ + content:""; } + +.bp3-icon-lightbulb::before{ + content:"îš°"; } + +.bp3-icon-link::before{ + content:"î˜"; } + +.bp3-icon-list::before{ + content:"☰"; } + +.bp3-icon-list-columns::before{ + content:"îž¹"; } + +.bp3-icon-list-detail-view::before{ + content:"îƒ"; } + +.bp3-icon-locate::before{ + content:""; } + +.bp3-icon-lock::before{ + content:""; } + +.bp3-icon-log-in::before{ + content:"îšš"; } + +.bp3-icon-log-out::before{ + content:""; } + +.bp3-icon-manual::before{ + content:"î›¶"; } + +.bp3-icon-manually-entered-data::before{ + content:"îŠ"; } + +.bp3-icon-map::before{ + content:""; } + +.bp3-icon-map-create::before{ + content:"î"; } + +.bp3-icon-map-marker::before{ + content:""; } + +.bp3-icon-maximize::before{ + content:""; } + +.bp3-icon-media::before{ + content:""; } + +.bp3-icon-menu::before{ + content:"î¢"; } + +.bp3-icon-menu-closed::before{ + content:""; } + +.bp3-icon-menu-open::before{ + content:"î™”"; } + +.bp3-icon-merge-columns::before{ + content:"î"; } + +.bp3-icon-merge-links::before{ + content:""; } + +.bp3-icon-minimize::before{ + content:""; } + +.bp3-icon-minus::before{ + content:"−"; } + +.bp3-icon-mobile-phone::before{ + content:""; } + +.bp3-icon-mobile-video::before{ + content:""; } + +.bp3-icon-moon::before{ + content:"î”"; } + +.bp3-icon-more::before{ + content:""; } + +.bp3-icon-mountain::before{ + content:"îž±"; } + +.bp3-icon-move::before{ + content:"îš“"; } + +.bp3-icon-mugshot::before{ + content:"î››"; } + +.bp3-icon-multi-select::before{ + content:""; } + +.bp3-icon-music::before{ + content:""; } + +.bp3-icon-new-drawing::before{ + content:""; } + +.bp3-icon-new-grid-item::before{ + content:"î‡"; } + +.bp3-icon-new-layer::before{ + content:""; } + +.bp3-icon-new-layers::before{ + content:""; } + +.bp3-icon-new-link::before{ + content:""; } + +.bp3-icon-new-object::before{ + content:"î™"; } + +.bp3-icon-new-person::before{ + content:""; } + +.bp3-icon-new-prescription::before{ + content:"îž‹"; } + +.bp3-icon-new-text-box::before{ + content:"î™›"; } + +.bp3-icon-ninja::before{ + content:""; } + +.bp3-icon-not-equal-to::before{ + content:"îŸ "; } + +.bp3-icon-notifications::before{ + content:""; } + +.bp3-icon-notifications-updated::before{ + content:""; } + +.bp3-icon-numbered-list::before{ + content:"î†"; } + +.bp3-icon-numerical::before{ + content:"î–"; } + +.bp3-icon-office::before{ + content:"îš›"; } + +.bp3-icon-offline::before{ + content:""; } + +.bp3-icon-oil-field::before{ + content:""; } + +.bp3-icon-one-column::before{ + content:""; } + +.bp3-icon-outdated::before{ + content:""; } + +.bp3-icon-page-layout::before{ + content:"î™ "; } + +.bp3-icon-panel-stats::before{ + content:"î·"; } + +.bp3-icon-panel-table::before{ + content:"î¸"; } + +.bp3-icon-paperclip::before{ + content:""; } + +.bp3-icon-paragraph::before{ + content:"î¬"; } + +.bp3-icon-path::before{ + content:"î“"; } + +.bp3-icon-path-search::before{ + content:""; } + +.bp3-icon-pause::before{ + content:"îš©"; } + +.bp3-icon-people::before{ + content:""; } + +.bp3-icon-percentage::before{ + content:"îª"; } + +.bp3-icon-person::before{ + content:""; } + +.bp3-icon-phone::before{ + content:"☎"; } + +.bp3-icon-pie-chart::before{ + content:"îš„"; } + +.bp3-icon-pin::before{ + content:""; } + +.bp3-icon-pivot::before{ + content:"î›±"; } + +.bp3-icon-pivot-table::before{ + content:""; } + +.bp3-icon-play::before{ + content:"îš«"; } + +.bp3-icon-plus::before{ + content:"+"; } + +.bp3-icon-polygon-filter::before{ + content:""; } + +.bp3-icon-power::before{ + content:"î›™"; } + +.bp3-icon-predictive-analysis::before{ + content:""; } + +.bp3-icon-prescription::before{ + content:""; } + +.bp3-icon-presentation::before{ + content:""; } + +.bp3-icon-print::before{ + content:"⎙"; } + +.bp3-icon-projects::before{ + content:""; } + +.bp3-icon-properties::before{ + content:""; } + +.bp3-icon-property::before{ + content:""; } + +.bp3-icon-publish-function::before{ + content:"î’"; } + +.bp3-icon-pulse::before{ + content:""; } + +.bp3-icon-random::before{ + content:""; } + +.bp3-icon-record::before{ + content:"îš®"; } + +.bp3-icon-redo::before{ + content:""; } + +.bp3-icon-refresh::before{ + content:""; } + +.bp3-icon-regression-chart::before{ + content:"î˜"; } + +.bp3-icon-remove::before{ + content:""; } + +.bp3-icon-remove-column::before{ + content:"î•"; } + +.bp3-icon-remove-column-left::before{ + content:""; } + +.bp3-icon-remove-column-right::before{ + content:""; } + +.bp3-icon-remove-row-bottom::before{ + content:""; } + +.bp3-icon-remove-row-top::before{ + content:"î›»"; } + +.bp3-icon-repeat::before{ + content:"îš’"; } + +.bp3-icon-reset::before{ + content:""; } + +.bp3-icon-resolve::before{ + content:""; } + +.bp3-icon-rig::before{ + content:"î€"; } + +.bp3-icon-right-join::before{ + content:""; } + +.bp3-icon-ring::before{ + content:""; } + +.bp3-icon-rotate-document::before{ + content:""; } + +.bp3-icon-rotate-page::before{ + content:""; } + +.bp3-icon-satellite::before{ + content:"î«"; } + +.bp3-icon-saved::before{ + content:"îš¶"; } + +.bp3-icon-scatter-plot::before{ + content:""; } + +.bp3-icon-search::before{ + content:""; } + +.bp3-icon-search-around::before{ + content:""; } + +.bp3-icon-search-template::before{ + content:""; } + +.bp3-icon-search-text::before{ + content:""; } + +.bp3-icon-segmented-control::before{ + content:""; } + +.bp3-icon-select::before{ + content:""; } + +.bp3-icon-selection::before{ + content:"⦿"; } + +.bp3-icon-send-to::before{ + content:"î™®"; } + +.bp3-icon-send-to-graph::before{ + content:""; } + +.bp3-icon-send-to-map::before{ + content:""; } + +.bp3-icon-series-add::before{ + content:"îž–"; } + +.bp3-icon-series-configuration::before{ + content:"îžš"; } + +.bp3-icon-series-derived::before{ + content:"îž™"; } + +.bp3-icon-series-filtered::before{ + content:""; } + +.bp3-icon-series-search::before{ + content:"îž—"; } + +.bp3-icon-settings::before{ + content:""; } + +.bp3-icon-share::before{ + content:""; } + +.bp3-icon-shield::before{ + content:"îž²"; } + +.bp3-icon-shop::before{ + content:""; } + +.bp3-icon-shopping-cart::before{ + content:"î›"; } + +.bp3-icon-signal-search::before{ + content:""; } + +.bp3-icon-sim-card::before{ + content:""; } + +.bp3-icon-slash::before{ + content:"î©"; } + +.bp3-icon-small-cross::before{ + content:"î›—"; } + +.bp3-icon-small-minus::before{ + content:""; } + +.bp3-icon-small-plus::before{ + content:"îœ"; } + +.bp3-icon-small-tick::before{ + content:""; } + +.bp3-icon-snowflake::before{ + content:"îž¶"; } + +.bp3-icon-social-media::before{ + content:"î™±"; } + +.bp3-icon-sort::before{ + content:"î™"; } + +.bp3-icon-sort-alphabetical::before{ + content:"î™"; } + +.bp3-icon-sort-alphabetical-desc::before{ + content:""; } + +.bp3-icon-sort-asc::before{ + content:""; } + +.bp3-icon-sort-desc::before{ + content:"î›–"; } + +.bp3-icon-sort-numerical::before{ + content:""; } + +.bp3-icon-sort-numerical-desc::before{ + content:""; } + +.bp3-icon-split-columns::before{ + content:"î"; } + +.bp3-icon-square::before{ + content:""; } + +.bp3-icon-stacked-chart::before{ + content:"î›§"; } + +.bp3-icon-star::before{ + content:"★"; } + +.bp3-icon-star-empty::before{ + content:"☆"; } + +.bp3-icon-step-backward::before{ + content:"îš§"; } + +.bp3-icon-step-chart::before{ + content:"îœ"; } + +.bp3-icon-step-forward::before{ + content:"îš"; } + +.bp3-icon-stop::before{ + content:""; } + +.bp3-icon-stopwatch::before{ + content:"î¤"; } + +.bp3-icon-strikethrough::before{ + content:""; } + +.bp3-icon-style::before{ + content:"î˜"; } + +.bp3-icon-swap-horizontal::before{ + content:"î…"; } + +.bp3-icon-swap-vertical::before{ + content:"î„"; } + +.bp3-icon-symbol-circle::before{ + content:""; } + +.bp3-icon-symbol-cross::before{ + content:""; } + +.bp3-icon-symbol-diamond::before{ + content:""; } + +.bp3-icon-symbol-square::before{ + content:""; } + +.bp3-icon-symbol-triangle-down::before{ + content:""; } + +.bp3-icon-symbol-triangle-up::before{ + content:""; } + +.bp3-icon-tag::before{ + content:""; } + +.bp3-icon-take-action::before{ + content:""; } + +.bp3-icon-taxi::before{ + content:"îžž"; } + +.bp3-icon-text-highlight::before{ + content:"î›"; } + +.bp3-icon-th::before{ + content:"î™§"; } + +.bp3-icon-th-derived::before{ + content:""; } + +.bp3-icon-th-disconnect::before{ + content:""; } + +.bp3-icon-th-filtered::before{ + content:""; } + +.bp3-icon-th-list::before{ + content:""; } + +.bp3-icon-thumbs-down::before{ + content:"îš¾"; } + +.bp3-icon-thumbs-up::before{ + content:"îš½"; } + +.bp3-icon-tick::before{ + content:"✓"; } + +.bp3-icon-tick-circle::before{ + content:"î¹"; } + +.bp3-icon-time::before{ + content:"â²"; } + +.bp3-icon-timeline-area-chart::before{ + content:"î›"; } + +.bp3-icon-timeline-bar-chart::before{ + content:"î˜ "; } + +.bp3-icon-timeline-events::before{ + content:""; } + +.bp3-icon-timeline-line-chart::before{ + content:""; } + +.bp3-icon-tint::before{ + content:"îš²"; } + +.bp3-icon-torch::before{ + content:"î™·"; } + +.bp3-icon-tractor::before{ + content:""; } + +.bp3-icon-train::before{ + content:""; } + +.bp3-icon-translate::before{ + content:"î™"; } + +.bp3-icon-trash::before{ + content:""; } + +.bp3-icon-tree::before{ + content:"îž·"; } + +.bp3-icon-trending-down::before{ + content:""; } + +.bp3-icon-trending-up::before{ + content:""; } + +.bp3-icon-truck::before{ + content:""; } + +.bp3-icon-two-columns::before{ + content:"î™—"; } + +.bp3-icon-unarchive::before{ + content:""; } + +.bp3-icon-underline::before{ + content:"âŽ"; } + +.bp3-icon-undo::before{ + content:"⎌"; } + +.bp3-icon-ungroup-objects::before{ + content:""; } + +.bp3-icon-unknown-vehicle::before{ + content:""; } + +.bp3-icon-unlock::before{ + content:""; } + +.bp3-icon-unpin::before{ + content:"î™"; } + +.bp3-icon-unresolve::before{ + content:""; } + +.bp3-icon-updated::before{ + content:"îž§"; } + +.bp3-icon-upload::before{ + content:"îš"; } + +.bp3-icon-user::before{ + content:""; } + +.bp3-icon-variable::before{ + content:""; } + +.bp3-icon-vertical-bar-chart-asc::before{ + content:"î›"; } + +.bp3-icon-vertical-bar-chart-desc::before{ + content:""; } + +.bp3-icon-vertical-distribution::before{ + content:""; } + +.bp3-icon-video::before{ + content:"îš "; } + +.bp3-icon-volume-down::before{ + content:""; } + +.bp3-icon-volume-off::before{ + content:""; } + +.bp3-icon-volume-up::before{ + content:""; } + +.bp3-icon-walk::before{ + content:"îž"; } + +.bp3-icon-warning-sign::before{ + content:""; } + +.bp3-icon-waterfall-chart::before{ + content:""; } + +.bp3-icon-widget::before{ + content:""; } + +.bp3-icon-widget-button::before{ + content:"îž"; } + +.bp3-icon-widget-footer::before{ + content:"îž’"; } + +.bp3-icon-widget-header::before{ + content:"îž‘"; } + +.bp3-icon-wrench::before{ + content:""; } + +.bp3-icon-zoom-in::before{ + content:"î™"; } + +.bp3-icon-zoom-out::before{ + content:""; } + +.bp3-icon-zoom-to-fit::before{ + content:"î™»"; } +.bp3-submenu > .bp3-popover-wrapper{ + display:block; } + +.bp3-submenu .bp3-popover-target{ + display:block; } + +.bp3-submenu.bp3-popover{ + -webkit-box-shadow:none; + box-shadow:none; + padding:0 5px; } + .bp3-submenu.bp3-popover > .bp3-popover-content{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-submenu.bp3-popover, .bp3-submenu.bp3-popover.bp3-dark{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-submenu.bp3-popover > .bp3-popover-content, .bp3-submenu.bp3-popover.bp3-dark > .bp3-popover-content{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } +.bp3-menu{ + margin:0; + border-radius:3px; + background:#ffffff; + min-width:180px; + padding:5px; + list-style:none; + text-align:left; + color:#182026; } + +.bp3-menu-divider{ + display:block; + margin:5px; + border-top:1px solid rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-menu-divider{ + border-top-color:rgba(255, 255, 255, 0.15); } + +.bp3-menu-item{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + border-radius:2px; + padding:5px 7px; + text-decoration:none; + line-height:20px; + color:inherit; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-menu-item > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-menu-item > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-menu-item::before, + .bp3-menu-item > *{ + margin-right:7px; } + .bp3-menu-item:empty::before, + .bp3-menu-item > :last-child{ + margin-right:0; } + .bp3-menu-item > .bp3-fill{ + word-break:break-word; } + .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ + background-color:rgba(167, 182, 194, 0.3); + cursor:pointer; + text-decoration:none; } + .bp3-menu-item.bp3-disabled{ + background-color:inherit; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-dark .bp3-menu-item{ + color:inherit; } + .bp3-dark .bp3-menu-item:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ + background-color:rgba(138, 155, 168, 0.15); + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-disabled{ + background-color:inherit; + color:rgba(167, 182, 194, 0.6); } + .bp3-menu-item.bp3-intent-primary{ + color:#106ba3; } + .bp3-menu-item.bp3-intent-primary .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-primary::before, .bp3-menu-item.bp3-intent-primary::after, + .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{ + color:#106ba3; } + .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary.bp3-active{ + background-color:#137cbd; } + .bp3-menu-item.bp3-intent-primary:active{ + background-color:#106ba3; } + .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary:active, .bp3-menu-item.bp3-intent-primary:active::before, .bp3-menu-item.bp3-intent-primary:active::after, + .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-menu-item.bp3-intent-primary.bp3-active::after, + .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item.bp3-intent-success{ + color:#0d8050; } + .bp3-menu-item.bp3-intent-success .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-success::before, .bp3-menu-item.bp3-intent-success::after, + .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{ + color:#0d8050; } + .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success.bp3-active{ + background-color:#0f9960; } + .bp3-menu-item.bp3-intent-success:active{ + background-color:#0d8050; } + .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-menu-item.bp3-intent-success:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success:active, .bp3-menu-item.bp3-intent-success:active::before, .bp3-menu-item.bp3-intent-success:active::after, + .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-menu-item.bp3-intent-success.bp3-active::after, + .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item.bp3-intent-warning{ + color:#bf7326; } + .bp3-menu-item.bp3-intent-warning .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-warning::before, .bp3-menu-item.bp3-intent-warning::after, + .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{ + color:#bf7326; } + .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning.bp3-active{ + background-color:#d9822b; } + .bp3-menu-item.bp3-intent-warning:active{ + background-color:#bf7326; } + .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning:active, .bp3-menu-item.bp3-intent-warning:active::before, .bp3-menu-item.bp3-intent-warning:active::after, + .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-menu-item.bp3-intent-warning.bp3-active::after, + .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item.bp3-intent-danger{ + color:#c23030; } + .bp3-menu-item.bp3-intent-danger .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-danger::before, .bp3-menu-item.bp3-intent-danger::after, + .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{ + color:#c23030; } + .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger.bp3-active{ + background-color:#db3737; } + .bp3-menu-item.bp3-intent-danger:active{ + background-color:#c23030; } + .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger:active, .bp3-menu-item.bp3-intent-danger:active::before, .bp3-menu-item.bp3-intent-danger:active::after, + .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-menu-item.bp3-intent-danger.bp3-active::after, + .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item::before{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + margin-right:7px; } + .bp3-menu-item::before, + .bp3-menu-item > .bp3-icon{ + margin-top:2px; + color:#5c7080; } + .bp3-menu-item .bp3-menu-item-label{ + color:#5c7080; } + .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ + color:inherit; } + .bp3-menu-item.bp3-active, .bp3-menu-item:active{ + background-color:rgba(115, 134, 148, 0.3); } + .bp3-menu-item.bp3-disabled{ + outline:none !important; + background-color:inherit !important; + cursor:not-allowed !important; + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-menu-item.bp3-disabled::before, + .bp3-menu-item.bp3-disabled > .bp3-icon, + .bp3-menu-item.bp3-disabled .bp3-menu-item-label{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-large .bp3-menu-item{ + padding:9px 7px; + line-height:22px; + font-size:16px; } + .bp3-large .bp3-menu-item .bp3-icon{ + margin-top:3px; } + .bp3-large .bp3-menu-item::before{ + line-height:1; + font-family:"Icons20", sans-serif; + font-size:20px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + margin-top:1px; + margin-right:10px; } + +button.bp3-menu-item{ + border:none; + background:none; + width:100%; + text-align:left; } +.bp3-menu-header{ + display:block; + margin:5px; + border-top:1px solid rgba(16, 22, 26, 0.15); + cursor:default; + padding-left:2px; } + .bp3-dark .bp3-menu-header{ + border-top-color:rgba(255, 255, 255, 0.15); } + .bp3-menu-header:first-of-type{ + border-top:none; } + .bp3-menu-header > h6{ + color:#182026; + font-weight:600; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + margin:0; + padding:10px 7px 0 1px; + line-height:17px; } + .bp3-dark .bp3-menu-header > h6{ + color:#f5f8fa; } + .bp3-menu-header:first-of-type > h6{ + padding-top:0; } + .bp3-large .bp3-menu-header > h6{ + padding-top:15px; + padding-bottom:5px; + font-size:18px; } + .bp3-large .bp3-menu-header:first-of-type > h6{ + padding-top:0; } + +.bp3-dark .bp3-menu{ + background:#30404d; + color:#f5f8fa; } + +.bp3-dark .bp3-menu-item.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-primary::before, .bp3-dark .bp3-menu-item.bp3-intent-primary::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{ + color:#48aff0; } + .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active{ + background-color:#137cbd; } + .bp3-dark .bp3-menu-item.bp3-intent-primary:active{ + background-color:#106ba3; } + .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary:active, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + +.bp3-dark .bp3-menu-item.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-success::before, .bp3-dark .bp3-menu-item.bp3-intent-success::after, + .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{ + color:#3dcc91; } + .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active{ + background-color:#0f9960; } + .bp3-dark .bp3-menu-item.bp3-intent-success:active{ + background-color:#0d8050; } + .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success:active, .bp3-dark .bp3-menu-item.bp3-intent-success:active::before, .bp3-dark .bp3-menu-item.bp3-intent-success:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + +.bp3-dark .bp3-menu-item.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-warning::before, .bp3-dark .bp3-menu-item.bp3-intent-warning::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{ + color:#ffb366; } + .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active{ + background-color:#d9822b; } + .bp3-dark .bp3-menu-item.bp3-intent-warning:active{ + background-color:#bf7326; } + .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning:active, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + +.bp3-dark .bp3-menu-item.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-danger::before, .bp3-dark .bp3-menu-item.bp3-intent-danger::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{ + color:#ff7373; } + .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active{ + background-color:#db3737; } + .bp3-dark .bp3-menu-item.bp3-intent-danger:active{ + background-color:#c23030; } + .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger:active, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + +.bp3-dark .bp3-menu-item::before, +.bp3-dark .bp3-menu-item > .bp3-icon{ + color:#a7b6c2; } + +.bp3-dark .bp3-menu-item .bp3-menu-item-label{ + color:#a7b6c2; } + +.bp3-dark .bp3-menu-item.bp3-active, .bp3-dark .bp3-menu-item:active{ + background-color:rgba(138, 155, 168, 0.3); } + +.bp3-dark .bp3-menu-item.bp3-disabled{ + color:rgba(167, 182, 194, 0.6) !important; } + .bp3-dark .bp3-menu-item.bp3-disabled::before, + .bp3-dark .bp3-menu-item.bp3-disabled > .bp3-icon, + .bp3-dark .bp3-menu-item.bp3-disabled .bp3-menu-item-label{ + color:rgba(167, 182, 194, 0.6) !important; } + +.bp3-dark .bp3-menu-divider, +.bp3-dark .bp3-menu-header{ + border-color:rgba(255, 255, 255, 0.15); } + +.bp3-dark .bp3-menu-header > h6{ + color:#f5f8fa; } + +.bp3-label .bp3-menu{ + margin-top:5px; } +.bp3-navbar{ + position:relative; + z-index:10; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + background-color:#ffffff; + width:100%; + height:50px; + padding:0 15px; } + .bp3-navbar.bp3-dark, + .bp3-dark .bp3-navbar{ + background-color:#394b59; } + .bp3-navbar.bp3-dark{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-navbar{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-navbar.bp3-fixed-top{ + position:fixed; + top:0; + right:0; + left:0; } + +.bp3-navbar-heading{ + margin-right:15px; + font-size:16px; } + +.bp3-navbar-group{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + height:50px; } + .bp3-navbar-group.bp3-align-left{ + float:left; } + .bp3-navbar-group.bp3-align-right{ + float:right; } + +.bp3-navbar-divider{ + margin:0 10px; + border-left:1px solid rgba(16, 22, 26, 0.15); + height:20px; } + .bp3-dark .bp3-navbar-divider{ + border-left-color:rgba(255, 255, 255, 0.15); } +.bp3-non-ideal-state{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + width:100%; + height:100%; + text-align:center; } + .bp3-non-ideal-state > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-non-ideal-state > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-non-ideal-state::before, + .bp3-non-ideal-state > *{ + margin-bottom:20px; } + .bp3-non-ideal-state:empty::before, + .bp3-non-ideal-state > :last-child{ + margin-bottom:0; } + .bp3-non-ideal-state > *{ + max-width:400px; } + +.bp3-non-ideal-state-visual{ + color:rgba(92, 112, 128, 0.6); + font-size:60px; } + .bp3-dark .bp3-non-ideal-state-visual{ + color:rgba(167, 182, 194, 0.6); } + +.bp3-overflow-list{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -ms-flex-wrap:nowrap; + flex-wrap:nowrap; + min-width:0; } + +.bp3-overflow-list-spacer{ + -ms-flex-negative:1; + flex-shrink:1; + width:1px; } + +body.bp3-overlay-open{ + overflow:hidden; } + +.bp3-overlay{ + position:static; + top:0; + right:0; + bottom:0; + left:0; + z-index:20; } + .bp3-overlay:not(.bp3-overlay-open){ + pointer-events:none; } + .bp3-overlay.bp3-overlay-container{ + position:fixed; + overflow:hidden; } + .bp3-overlay.bp3-overlay-container.bp3-overlay-inline{ + position:absolute; } + .bp3-overlay.bp3-overlay-scroll-container{ + position:fixed; + overflow:auto; } + .bp3-overlay.bp3-overlay-scroll-container.bp3-overlay-inline{ + position:absolute; } + .bp3-overlay.bp3-overlay-inline{ + display:inline; + overflow:visible; } + +.bp3-overlay-content{ + position:fixed; + z-index:20; } + .bp3-overlay-inline .bp3-overlay-content, + .bp3-overlay-scroll-container .bp3-overlay-content{ + position:absolute; } + +.bp3-overlay-backdrop{ + position:fixed; + top:0; + right:0; + bottom:0; + left:0; + opacity:1; + z-index:20; + background-color:rgba(16, 22, 26, 0.7); + overflow:auto; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-overlay-backdrop.bp3-overlay-enter, .bp3-overlay-backdrop.bp3-overlay-appear{ + opacity:0; } + .bp3-overlay-backdrop.bp3-overlay-enter-active, .bp3-overlay-backdrop.bp3-overlay-appear-active{ + opacity:1; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-overlay-backdrop.bp3-overlay-exit{ + opacity:1; } + .bp3-overlay-backdrop.bp3-overlay-exit-active{ + opacity:0; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-overlay-backdrop:focus{ + outline:none; } + .bp3-overlay-inline .bp3-overlay-backdrop{ + position:absolute; } +.bp3-panel-stack{ + position:relative; + overflow:hidden; } + +.bp3-panel-stack-header{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -ms-flex-negative:0; + flex-shrink:0; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + z-index:1; + -webkit-box-shadow:0 1px rgba(16, 22, 26, 0.15); + box-shadow:0 1px rgba(16, 22, 26, 0.15); + height:30px; } + .bp3-dark .bp3-panel-stack-header{ + -webkit-box-shadow:0 1px rgba(255, 255, 255, 0.15); + box-shadow:0 1px rgba(255, 255, 255, 0.15); } + .bp3-panel-stack-header > span{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:1; + -ms-flex:1; + flex:1; + -webkit-box-align:stretch; + -ms-flex-align:stretch; + align-items:stretch; } + .bp3-panel-stack-header .bp3-heading{ + margin:0 5px; } + +.bp3-button.bp3-panel-stack-header-back{ + margin-left:5px; + padding-left:0; + white-space:nowrap; } + .bp3-button.bp3-panel-stack-header-back .bp3-icon{ + margin:0 2px; } + +.bp3-panel-stack-view{ + position:absolute; + top:0; + right:0; + bottom:0; + left:0; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin-right:-1px; + border-right:1px solid rgba(16, 22, 26, 0.15); + background-color:#ffffff; + overflow-y:auto; } + .bp3-dark .bp3-panel-stack-view{ + background-color:#30404d; } + +.bp3-panel-stack-push .bp3-panel-stack-enter, .bp3-panel-stack-push .bp3-panel-stack-appear{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + opacity:0; } + +.bp3-panel-stack-push .bp3-panel-stack-enter-active, .bp3-panel-stack-push .bp3-panel-stack-appear-active{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; + -webkit-transition-delay:0; + transition-delay:0; } + +.bp3-panel-stack-push .bp3-panel-stack-exit{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; } + +.bp3-panel-stack-push .bp3-panel-stack-exit-active{ + -webkit-transform:translateX(-50%); + transform:translateX(-50%); + opacity:0; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; + -webkit-transition-delay:0; + transition-delay:0; } + +.bp3-panel-stack-pop .bp3-panel-stack-enter, .bp3-panel-stack-pop .bp3-panel-stack-appear{ + -webkit-transform:translateX(-50%); + transform:translateX(-50%); + opacity:0; } + +.bp3-panel-stack-pop .bp3-panel-stack-enter-active, .bp3-panel-stack-pop .bp3-panel-stack-appear-active{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; + -webkit-transition-delay:0; + transition-delay:0; } + +.bp3-panel-stack-pop .bp3-panel-stack-exit{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; } + +.bp3-panel-stack-pop .bp3-panel-stack-exit-active{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + opacity:0; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; + -webkit-transition-delay:0; + transition-delay:0; } +.bp3-popover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + -webkit-transform:scale(1); + transform:scale(1); + display:inline-block; + z-index:20; + border-radius:3px; } + .bp3-popover .bp3-popover-arrow{ + position:absolute; + width:30px; + height:30px; } + .bp3-popover .bp3-popover-arrow::before{ + margin:5px; + width:20px; + height:20px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover{ + margin-top:-17px; + margin-bottom:17px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{ + bottom:-11px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(-90deg); + transform:rotate(-90deg); } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover{ + margin-left:17px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{ + left:-11px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(0); + transform:rotate(0); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover{ + margin-top:17px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{ + top:-11px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(90deg); + transform:rotate(90deg); } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover{ + margin-right:17px; + margin-left:-17px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{ + right:-11px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(180deg); + transform:rotate(180deg); } + .bp3-tether-element-attached-middle > .bp3-popover > .bp3-popover-arrow{ + top:50%; + -webkit-transform:translateY(-50%); + transform:translateY(-50%); } + .bp3-tether-element-attached-center > .bp3-popover > .bp3-popover-arrow{ + right:50%; + -webkit-transform:translateX(50%); + transform:translateX(50%); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{ + top:-0.3934px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{ + right:-0.3934px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{ + left:-0.3934px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{ + bottom:-0.3934px; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-popover{ + -webkit-transform-origin:top left; + transform-origin:top left; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-popover{ + -webkit-transform-origin:top center; + transform-origin:top center; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-popover{ + -webkit-transform-origin:top right; + transform-origin:top right; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-popover{ + -webkit-transform-origin:center left; + transform-origin:center left; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-popover{ + -webkit-transform-origin:center center; + transform-origin:center center; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-popover{ + -webkit-transform-origin:center right; + transform-origin:center right; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-popover{ + -webkit-transform-origin:bottom left; + transform-origin:bottom left; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-popover{ + -webkit-transform-origin:bottom center; + transform-origin:bottom center; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-popover{ + -webkit-transform-origin:bottom right; + transform-origin:bottom right; } + .bp3-popover .bp3-popover-content{ + background:#ffffff; + color:inherit; } + .bp3-popover .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); } + .bp3-popover .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.1; } + .bp3-popover .bp3-popover-arrow-fill{ + fill:#ffffff; } + .bp3-popover-enter > .bp3-popover, .bp3-popover-appear > .bp3-popover{ + -webkit-transform:scale(0.3); + transform:scale(0.3); } + .bp3-popover-enter-active > .bp3-popover, .bp3-popover-appear-active > .bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover-exit > .bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-exit-active > .bp3-popover{ + -webkit-transform:scale(0.3); + transform:scale(0.3); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover .bp3-popover-content{ + position:relative; + border-radius:3px; } + .bp3-popover.bp3-popover-content-sizing .bp3-popover-content{ + max-width:350px; + padding:20px; } + .bp3-popover-target + .bp3-overlay .bp3-popover.bp3-popover-content-sizing{ + width:350px; } + .bp3-popover.bp3-minimal{ + margin:0 !important; } + .bp3-popover.bp3-minimal .bp3-popover-arrow{ + display:none; } + .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-enter > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-enter-active > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear-active > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover-exit > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-exit-active > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover.bp3-dark, + .bp3-dark .bp3-popover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + .bp3-popover.bp3-dark .bp3-popover-content, + .bp3-dark .bp3-popover .bp3-popover-content{ + background:#30404d; + color:inherit; } + .bp3-popover.bp3-dark .bp3-popover-arrow::before, + .bp3-dark .bp3-popover .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); } + .bp3-popover.bp3-dark .bp3-popover-arrow-border, + .bp3-dark .bp3-popover .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.2; } + .bp3-popover.bp3-dark .bp3-popover-arrow-fill, + .bp3-dark .bp3-popover .bp3-popover-arrow-fill{ + fill:#30404d; } + +.bp3-popover-arrow::before{ + display:block; + position:absolute; + -webkit-transform:rotate(45deg); + transform:rotate(45deg); + border-radius:2px; + content:""; } + +.bp3-tether-pinned .bp3-popover-arrow{ + display:none; } + +.bp3-popover-backdrop{ + background:rgba(255, 255, 255, 0); } + +.bp3-transition-container{ + opacity:1; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + z-index:20; } + .bp3-transition-container.bp3-popover-enter, .bp3-transition-container.bp3-popover-appear{ + opacity:0; } + .bp3-transition-container.bp3-popover-enter-active, .bp3-transition-container.bp3-popover-appear-active{ + opacity:1; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-transition-container.bp3-popover-exit{ + opacity:1; } + .bp3-transition-container.bp3-popover-exit-active{ + opacity:0; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-transition-container:focus{ + outline:none; } + .bp3-transition-container.bp3-popover-leave .bp3-popover-content{ + pointer-events:none; } + .bp3-transition-container[data-x-out-of-boundaries]{ + display:none; } + +span.bp3-popover-target{ + display:inline-block; } + +.bp3-popover-wrapper.bp3-fill{ + width:100%; } + +.bp3-portal{ + position:absolute; + top:0; + right:0; + left:0; } +@-webkit-keyframes linear-progress-bar-stripes{ + from{ + background-position:0 0; } + to{ + background-position:30px 0; } } +@keyframes linear-progress-bar-stripes{ + from{ + background-position:0 0; } + to{ + background-position:30px 0; } } + +.bp3-progress-bar{ + display:block; + position:relative; + border-radius:40px; + background:rgba(92, 112, 128, 0.2); + width:100%; + height:8px; + overflow:hidden; } + .bp3-progress-bar .bp3-progress-meter{ + position:absolute; + border-radius:40px; + background:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%); + background-color:rgba(92, 112, 128, 0.8); + background-size:30px 30px; + width:100%; + height:100%; + -webkit-transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-progress-bar:not(.bp3-no-animation):not(.bp3-no-stripes) .bp3-progress-meter{ + animation:linear-progress-bar-stripes 300ms linear infinite reverse; } + .bp3-progress-bar.bp3-no-stripes .bp3-progress-meter{ + background-image:none; } + +.bp3-dark .bp3-progress-bar{ + background:rgba(16, 22, 26, 0.5); } + .bp3-dark .bp3-progress-bar .bp3-progress-meter{ + background-color:#8a9ba8; } + +.bp3-progress-bar.bp3-intent-primary .bp3-progress-meter{ + background-color:#137cbd; } + +.bp3-progress-bar.bp3-intent-success .bp3-progress-meter{ + background-color:#0f9960; } + +.bp3-progress-bar.bp3-intent-warning .bp3-progress-meter{ + background-color:#d9822b; } + +.bp3-progress-bar.bp3-intent-danger .bp3-progress-meter{ + background-color:#db3737; } +@-webkit-keyframes skeleton-glow{ + from{ + border-color:rgba(206, 217, 224, 0.2); + background:rgba(206, 217, 224, 0.2); } + to{ + border-color:rgba(92, 112, 128, 0.2); + background:rgba(92, 112, 128, 0.2); } } +@keyframes skeleton-glow{ + from{ + border-color:rgba(206, 217, 224, 0.2); + background:rgba(206, 217, 224, 0.2); } + to{ + border-color:rgba(92, 112, 128, 0.2); + background:rgba(92, 112, 128, 0.2); } } +.bp3-skeleton{ + border-color:rgba(206, 217, 224, 0.2) !important; + border-radius:2px; + -webkit-box-shadow:none !important; + box-shadow:none !important; + background:rgba(206, 217, 224, 0.2); + background-clip:padding-box !important; + cursor:default; + color:transparent !important; + -webkit-animation:1000ms linear infinite alternate skeleton-glow; + animation:1000ms linear infinite alternate skeleton-glow; + pointer-events:none; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-skeleton::before, .bp3-skeleton::after, + .bp3-skeleton *{ + visibility:hidden !important; } +.bp3-slider{ + width:100%; + min-width:150px; + height:40px; + position:relative; + outline:none; + cursor:default; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-slider:hover{ + cursor:pointer; } + .bp3-slider:active{ + cursor:-webkit-grabbing; + cursor:grabbing; } + .bp3-slider.bp3-disabled{ + opacity:0.5; + cursor:not-allowed; } + .bp3-slider.bp3-slider-unlabeled{ + height:16px; } + +.bp3-slider-track, +.bp3-slider-progress{ + top:5px; + right:0; + left:0; + height:6px; + position:absolute; } + +.bp3-slider-track{ + border-radius:3px; + overflow:hidden; } + +.bp3-slider-progress{ + background:rgba(92, 112, 128, 0.2); } + .bp3-dark .bp3-slider-progress{ + background:rgba(16, 22, 26, 0.5); } + .bp3-slider-progress.bp3-intent-primary{ + background-color:#137cbd; } + .bp3-slider-progress.bp3-intent-success{ + background-color:#0f9960; } + .bp3-slider-progress.bp3-intent-warning{ + background-color:#d9822b; } + .bp3-slider-progress.bp3-intent-danger{ + background-color:#db3737; } + +.bp3-slider-handle{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + color:#182026; + position:absolute; + top:0; + left:0; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + cursor:pointer; + width:16px; + height:16px; } + .bp3-slider-handle:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-slider-handle:active, .bp3-slider-handle.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-slider-handle:disabled, .bp3-slider-handle.bp3-disabled{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-slider-handle:disabled.bp3-active, .bp3-slider-handle:disabled.bp3-active:hover, .bp3-slider-handle.bp3-disabled.bp3-active, .bp3-slider-handle.bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-slider-handle:focus{ + z-index:1; } + .bp3-slider-handle:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; + z-index:2; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + cursor:-webkit-grab; + cursor:grab; } + .bp3-slider-handle.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1); + cursor:-webkit-grabbing; + cursor:grabbing; } + .bp3-disabled .bp3-slider-handle{ + -webkit-box-shadow:none; + box-shadow:none; + background:#bfccd6; + pointer-events:none; } + .bp3-dark .bp3-slider-handle{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + color:#f5f8fa; } + .bp3-dark .bp3-slider-handle:hover, .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-slider-handle:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + .bp3-dark .bp3-slider-handle:disabled, .bp3-dark .bp3-slider-handle.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-slider-handle:disabled.bp3-active, .bp3-dark .bp3-slider-handle.bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-slider-handle .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + .bp3-dark .bp3-slider-handle, .bp3-dark .bp3-slider-handle:hover{ + background-color:#394b59; } + .bp3-dark .bp3-slider-handle.bp3-active{ + background-color:#293742; } + .bp3-dark .bp3-disabled .bp3-slider-handle{ + border-color:#5c7080; + -webkit-box-shadow:none; + box-shadow:none; + background:#5c7080; } + .bp3-slider-handle .bp3-slider-label{ + margin-left:8px; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + background:#394b59; + color:#f5f8fa; } + .bp3-dark .bp3-slider-handle .bp3-slider-label{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + background:#e1e8ed; + color:#394b59; } + .bp3-disabled .bp3-slider-handle .bp3-slider-label{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-slider-handle.bp3-start, .bp3-slider-handle.bp3-end{ + width:8px; } + .bp3-slider-handle.bp3-start{ + border-top-right-radius:0; + border-bottom-right-radius:0; } + .bp3-slider-handle.bp3-end{ + margin-left:8px; + border-top-left-radius:0; + border-bottom-left-radius:0; } + .bp3-slider-handle.bp3-end .bp3-slider-label{ + margin-left:0; } + +.bp3-slider-label{ + -webkit-transform:translate(-50%, 20px); + transform:translate(-50%, 20px); + display:inline-block; + position:absolute; + padding:2px 5px; + vertical-align:top; + line-height:1; + font-size:12px; } + +.bp3-slider.bp3-vertical{ + width:40px; + min-width:40px; + height:150px; } + .bp3-slider.bp3-vertical .bp3-slider-track, + .bp3-slider.bp3-vertical .bp3-slider-progress{ + top:0; + bottom:0; + left:5px; + width:6px; + height:auto; } + .bp3-slider.bp3-vertical .bp3-slider-progress{ + top:auto; } + .bp3-slider.bp3-vertical .bp3-slider-label{ + -webkit-transform:translate(20px, 50%); + transform:translate(20px, 50%); } + .bp3-slider.bp3-vertical .bp3-slider-handle{ + top:auto; } + .bp3-slider.bp3-vertical .bp3-slider-handle .bp3-slider-label{ + margin-top:-8px; + margin-left:0; } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end, .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{ + margin-left:0; + width:16px; + height:8px; } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{ + border-top-left-radius:0; + border-bottom-right-radius:3px; } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start .bp3-slider-label{ + -webkit-transform:translate(20px); + transform:translate(20px); } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end{ + margin-bottom:8px; + border-top-left-radius:3px; + border-bottom-left-radius:0; + border-bottom-right-radius:0; } + +@-webkit-keyframes pt-spinner-animation{ + from{ + -webkit-transform:rotate(0deg); + transform:rotate(0deg); } + to{ + -webkit-transform:rotate(360deg); + transform:rotate(360deg); } } + +@keyframes pt-spinner-animation{ + from{ + -webkit-transform:rotate(0deg); + transform:rotate(0deg); } + to{ + -webkit-transform:rotate(360deg); + transform:rotate(360deg); } } + +.bp3-spinner{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + overflow:visible; + vertical-align:middle; } + .bp3-spinner svg{ + display:block; } + .bp3-spinner path{ + fill-opacity:0; } + .bp3-spinner .bp3-spinner-head{ + -webkit-transform-origin:center; + transform-origin:center; + -webkit-transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + stroke:rgba(92, 112, 128, 0.8); + stroke-linecap:round; } + .bp3-spinner .bp3-spinner-track{ + stroke:rgba(92, 112, 128, 0.2); } + +.bp3-spinner-animation{ + -webkit-animation:pt-spinner-animation 500ms linear infinite; + animation:pt-spinner-animation 500ms linear infinite; } + .bp3-no-spin > .bp3-spinner-animation{ + -webkit-animation:none; + animation:none; } + +.bp3-dark .bp3-spinner .bp3-spinner-head{ + stroke:#8a9ba8; } + +.bp3-dark .bp3-spinner .bp3-spinner-track{ + stroke:rgba(16, 22, 26, 0.5); } + +.bp3-spinner.bp3-intent-primary .bp3-spinner-head{ + stroke:#137cbd; } + +.bp3-spinner.bp3-intent-success .bp3-spinner-head{ + stroke:#0f9960; } + +.bp3-spinner.bp3-intent-warning .bp3-spinner-head{ + stroke:#d9822b; } + +.bp3-spinner.bp3-intent-danger .bp3-spinner-head{ + stroke:#db3737; } +.bp3-tabs.bp3-vertical{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; } + .bp3-tabs.bp3-vertical > .bp3-tab-list{ + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; } + .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab{ + border-radius:3px; + width:100%; + padding:0 10px; } + .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab[aria-selected="true"]{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(19, 124, 189, 0.2); } + .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab-indicator-wrapper .bp3-tab-indicator{ + top:0; + right:0; + bottom:0; + left:0; + border-radius:3px; + background-color:rgba(19, 124, 189, 0.2); + height:auto; } + .bp3-tabs.bp3-vertical > .bp3-tab-panel{ + margin-top:0; + padding-left:20px; } + +.bp3-tab-list{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + -webkit-box-align:end; + -ms-flex-align:end; + align-items:flex-end; + position:relative; + margin:0; + border:none; + padding:0; + list-style:none; } + .bp3-tab-list > *:not(:last-child){ + margin-right:20px; } + +.bp3-tab{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + position:relative; + cursor:pointer; + max-width:100%; + vertical-align:top; + line-height:30px; + color:#182026; + font-size:14px; } + .bp3-tab a{ + display:block; + text-decoration:none; + color:inherit; } + .bp3-tab-indicator-wrapper ~ .bp3-tab{ + -webkit-box-shadow:none !important; + box-shadow:none !important; + background-color:transparent !important; } + .bp3-tab[aria-disabled="true"]{ + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-tab[aria-selected="true"]{ + border-radius:0; + -webkit-box-shadow:inset 0 -3px 0 #106ba3; + box-shadow:inset 0 -3px 0 #106ba3; } + .bp3-tab[aria-selected="true"], .bp3-tab:not([aria-disabled="true"]):hover{ + color:#106ba3; } + .bp3-tab:focus{ + -moz-outline-radius:0; } + .bp3-large > .bp3-tab{ + line-height:40px; + font-size:16px; } + +.bp3-tab-panel{ + margin-top:20px; } + .bp3-tab-panel[aria-hidden="true"]{ + display:none; } + +.bp3-tab-indicator-wrapper{ + position:absolute; + top:0; + left:0; + -webkit-transform:translateX(0), translateY(0); + transform:translateX(0), translateY(0); + -webkit-transition:height, width, -webkit-transform; + transition:height, width, -webkit-transform; + transition:height, transform, width; + transition:height, transform, width, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + pointer-events:none; } + .bp3-tab-indicator-wrapper .bp3-tab-indicator{ + position:absolute; + right:0; + bottom:0; + left:0; + background-color:#106ba3; + height:3px; } + .bp3-tab-indicator-wrapper.bp3-no-animation{ + -webkit-transition:none; + transition:none; } + +.bp3-dark .bp3-tab{ + color:#f5f8fa; } + .bp3-dark .bp3-tab[aria-disabled="true"]{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tab[aria-selected="true"]{ + -webkit-box-shadow:inset 0 -3px 0 #48aff0; + box-shadow:inset 0 -3px 0 #48aff0; } + .bp3-dark .bp3-tab[aria-selected="true"], .bp3-dark .bp3-tab:not([aria-disabled="true"]):hover{ + color:#48aff0; } + +.bp3-dark .bp3-tab-indicator{ + background-color:#48aff0; } + +.bp3-flex-expander{ + -webkit-box-flex:1; + -ms-flex:1 1; + flex:1 1; } +.bp3-tag{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + position:relative; + border:none; + border-radius:3px; + -webkit-box-shadow:none; + box-shadow:none; + background-color:#5c7080; + min-width:20px; + max-width:100%; + min-height:20px; + padding:2px 6px; + line-height:16px; + color:#f5f8fa; + font-size:12px; } + .bp3-tag.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-interactive:hover{ + background-color:rgba(92, 112, 128, 0.85); } + .bp3-tag.bp3-interactive.bp3-active, .bp3-tag.bp3-interactive:active{ + background-color:rgba(92, 112, 128, 0.7); } + .bp3-tag > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-tag > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-tag::before, + .bp3-tag > *{ + margin-right:4px; } + .bp3-tag:empty::before, + .bp3-tag > :last-child{ + margin-right:0; } + .bp3-tag:focus{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:0; + -moz-outline-radius:6px; } + .bp3-tag.bp3-round{ + border-radius:30px; + padding-right:8px; + padding-left:8px; } + .bp3-dark .bp3-tag{ + background-color:#bfccd6; + color:#182026; } + .bp3-dark .bp3-tag.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-interactive:hover{ + background-color:rgba(191, 204, 214, 0.85); } + .bp3-dark .bp3-tag.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-interactive:active{ + background-color:rgba(191, 204, 214, 0.7); } + .bp3-dark .bp3-tag > .bp3-icon, .bp3-dark .bp3-tag .bp3-icon-standard, .bp3-dark .bp3-tag .bp3-icon-large{ + fill:currentColor; } + .bp3-tag > .bp3-icon, .bp3-tag .bp3-icon-standard, .bp3-tag .bp3-icon-large{ + fill:#ffffff; } + .bp3-tag.bp3-large, + .bp3-large .bp3-tag{ + min-width:30px; + min-height:30px; + padding:0 10px; + line-height:20px; + font-size:14px; } + .bp3-tag.bp3-large::before, + .bp3-tag.bp3-large > *, + .bp3-large .bp3-tag::before, + .bp3-large .bp3-tag > *{ + margin-right:7px; } + .bp3-tag.bp3-large:empty::before, + .bp3-tag.bp3-large > :last-child, + .bp3-large .bp3-tag:empty::before, + .bp3-large .bp3-tag > :last-child{ + margin-right:0; } + .bp3-tag.bp3-large.bp3-round, + .bp3-large .bp3-tag.bp3-round{ + padding-right:12px; + padding-left:12px; } + .bp3-tag.bp3-intent-primary{ + background:#137cbd; + color:#ffffff; } + .bp3-tag.bp3-intent-primary.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-primary.bp3-interactive:hover{ + background-color:rgba(19, 124, 189, 0.85); } + .bp3-tag.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-primary.bp3-interactive:active{ + background-color:rgba(19, 124, 189, 0.7); } + .bp3-tag.bp3-intent-success{ + background:#0f9960; + color:#ffffff; } + .bp3-tag.bp3-intent-success.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-success.bp3-interactive:hover{ + background-color:rgba(15, 153, 96, 0.85); } + .bp3-tag.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-success.bp3-interactive:active{ + background-color:rgba(15, 153, 96, 0.7); } + .bp3-tag.bp3-intent-warning{ + background:#d9822b; + color:#ffffff; } + .bp3-tag.bp3-intent-warning.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-warning.bp3-interactive:hover{ + background-color:rgba(217, 130, 43, 0.85); } + .bp3-tag.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-warning.bp3-interactive:active{ + background-color:rgba(217, 130, 43, 0.7); } + .bp3-tag.bp3-intent-danger{ + background:#db3737; + color:#ffffff; } + .bp3-tag.bp3-intent-danger.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-danger.bp3-interactive:hover{ + background-color:rgba(219, 55, 55, 0.85); } + .bp3-tag.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-danger.bp3-interactive:active{ + background-color:rgba(219, 55, 55, 0.7); } + .bp3-tag.bp3-fill{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + width:100%; } + .bp3-tag.bp3-minimal > .bp3-icon, .bp3-tag.bp3-minimal .bp3-icon-standard, .bp3-tag.bp3-minimal .bp3-icon-large{ + fill:#5c7080; } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){ + background-color:rgba(138, 155, 168, 0.2); + color:#182026; } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{ + background-color:rgba(92, 112, 128, 0.3); } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{ + background-color:rgba(92, 112, 128, 0.4); } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){ + color:#f5f8fa; } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{ + background-color:rgba(191, 204, 214, 0.3); } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{ + background-color:rgba(191, 204, 214, 0.4); } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) > .bp3-icon, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-large{ + fill:#a7b6c2; } + .bp3-tag.bp3-minimal.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{ + background-color:rgba(19, 124, 189, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{ + background-color:rgba(19, 124, 189, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-primary > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-large{ + fill:#137cbd; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.25); + color:#48aff0; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{ + background-color:rgba(19, 124, 189, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{ + background-color:rgba(19, 124, 189, 0.45); } + .bp3-tag.bp3-minimal.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{ + background-color:rgba(15, 153, 96, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{ + background-color:rgba(15, 153, 96, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-success > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-large{ + fill:#0f9960; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.25); + color:#3dcc91; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{ + background-color:rgba(15, 153, 96, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{ + background-color:rgba(15, 153, 96, 0.45); } + .bp3-tag.bp3-minimal.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{ + background-color:rgba(217, 130, 43, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{ + background-color:rgba(217, 130, 43, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-warning > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-large{ + fill:#d9822b; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.25); + color:#ffb366; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{ + background-color:rgba(217, 130, 43, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{ + background-color:rgba(217, 130, 43, 0.45); } + .bp3-tag.bp3-minimal.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{ + background-color:rgba(219, 55, 55, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{ + background-color:rgba(219, 55, 55, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-danger > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-large{ + fill:#db3737; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.25); + color:#ff7373; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{ + background-color:rgba(219, 55, 55, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{ + background-color:rgba(219, 55, 55, 0.45); } + +.bp3-tag-remove{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + opacity:0.5; + margin-top:-2px; + margin-right:-6px !important; + margin-bottom:-2px; + border:none; + background:none; + cursor:pointer; + padding:2px; + padding-left:0; + color:inherit; } + .bp3-tag-remove:hover{ + opacity:0.8; + background:none; + text-decoration:none; } + .bp3-tag-remove:active{ + opacity:1; } + .bp3-tag-remove:empty::before{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + content:"î›—"; } + .bp3-large .bp3-tag-remove{ + margin-right:-10px !important; + padding:5px; + padding-left:0; } + .bp3-large .bp3-tag-remove:empty::before{ + line-height:1; + font-family:"Icons20", sans-serif; + font-size:20px; + font-weight:400; + font-style:normal; } +.bp3-tag-input{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + cursor:text; + height:auto; + min-height:30px; + padding-right:0; + padding-left:5px; + line-height:inherit; } + .bp3-tag-input > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-tag-input > .bp3-tag-input-values{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-tag-input .bp3-tag-input-icon{ + margin-top:7px; + margin-right:7px; + margin-left:2px; + color:#5c7080; } + .bp3-tag-input .bp3-tag-input-values{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -ms-flex-wrap:wrap; + flex-wrap:wrap; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -ms-flex-item-align:stretch; + align-self:stretch; + margin-top:5px; + margin-right:7px; + min-width:0; } + .bp3-tag-input .bp3-tag-input-values > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-tag-input .bp3-tag-input-values > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-tag-input .bp3-tag-input-values::before, + .bp3-tag-input .bp3-tag-input-values > *{ + margin-right:5px; } + .bp3-tag-input .bp3-tag-input-values:empty::before, + .bp3-tag-input .bp3-tag-input-values > :last-child{ + margin-right:0; } + .bp3-tag-input .bp3-tag-input-values:first-child .bp3-input-ghost:first-child{ + padding-left:5px; } + .bp3-tag-input .bp3-tag-input-values > *{ + margin-bottom:5px; } + .bp3-tag-input .bp3-tag{ + overflow-wrap:break-word; } + .bp3-tag-input .bp3-tag.bp3-active{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:0; + -moz-outline-radius:6px; } + .bp3-tag-input .bp3-input-ghost{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + width:80px; + line-height:20px; } + .bp3-tag-input .bp3-input-ghost:disabled, .bp3-tag-input .bp3-input-ghost.bp3-disabled{ + cursor:not-allowed; } + .bp3-tag-input .bp3-button, + .bp3-tag-input .bp3-spinner{ + margin:3px; + margin-left:0; } + .bp3-tag-input .bp3-button{ + min-width:24px; + min-height:24px; + padding:0 7px; } + .bp3-tag-input.bp3-large{ + height:auto; + min-height:40px; } + .bp3-tag-input.bp3-large::before, + .bp3-tag-input.bp3-large > *{ + margin-right:10px; } + .bp3-tag-input.bp3-large:empty::before, + .bp3-tag-input.bp3-large > :last-child{ + margin-right:0; } + .bp3-tag-input.bp3-large .bp3-tag-input-icon{ + margin-top:10px; + margin-left:5px; } + .bp3-tag-input.bp3-large .bp3-input-ghost{ + line-height:30px; } + .bp3-tag-input.bp3-large .bp3-button{ + min-width:30px; + min-height:30px; + padding:5px 10px; + margin:5px; + margin-left:0; } + .bp3-tag-input.bp3-large .bp3-spinner{ + margin:8px; + margin-left:0; } + .bp3-tag-input.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + background-color:#ffffff; } + .bp3-tag-input.bp3-active.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-tag-input.bp3-active.bp3-intent-success{ + -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-tag-input.bp3-active.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-tag-input.bp3-active.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-tag-input .bp3-tag-input-icon, .bp3-tag-input.bp3-dark .bp3-tag-input-icon{ + color:#a7b6c2; } + .bp3-dark .bp3-tag-input .bp3-input-ghost, .bp3-tag-input.bp3-dark .bp3-input-ghost{ + color:#f5f8fa; } + .bp3-dark .bp3-tag-input .bp3-input-ghost::-webkit-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost::-moz-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost:-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost::-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost::placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input.bp3-active, .bp3-tag-input.bp3-dark.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background-color:rgba(16, 22, 26, 0.3); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-primary, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-success, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-success{ + -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-warning, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-danger, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + +.bp3-input-ghost{ + border:none; + -webkit-box-shadow:none; + box-shadow:none; + background:none; + padding:0; } + .bp3-input-ghost::-webkit-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost::-moz-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost:-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost::-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost::placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost:focus{ + outline:none !important; } +.bp3-toast{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + position:relative !important; + margin:20px 0 0; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + background-color:#ffffff; + min-width:300px; + max-width:500px; + pointer-events:all; } + .bp3-toast.bp3-toast-enter, .bp3-toast.bp3-toast-appear{ + -webkit-transform:translateY(-40px); + transform:translateY(-40px); } + .bp3-toast.bp3-toast-enter-active, .bp3-toast.bp3-toast-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-toast.bp3-toast-enter ~ .bp3-toast, .bp3-toast.bp3-toast-appear ~ .bp3-toast{ + -webkit-transform:translateY(-40px); + transform:translateY(-40px); } + .bp3-toast.bp3-toast-enter-active ~ .bp3-toast, .bp3-toast.bp3-toast-appear-active ~ .bp3-toast{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-toast.bp3-toast-exit{ + opacity:1; + -webkit-filter:blur(0); + filter:blur(0); } + .bp3-toast.bp3-toast-exit-active{ + opacity:0; + -webkit-filter:blur(10px); + filter:blur(10px); + -webkit-transition-property:opacity, -webkit-filter; + transition-property:opacity, -webkit-filter; + transition-property:opacity, filter; + transition-property:opacity, filter, -webkit-filter; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-toast.bp3-toast-exit ~ .bp3-toast{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-toast.bp3-toast-exit-active ~ .bp3-toast{ + -webkit-transform:translateY(-40px); + transform:translateY(-40px); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:50ms; + transition-delay:50ms; } + .bp3-toast .bp3-button-group{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + padding:5px; + padding-left:0; } + .bp3-toast > .bp3-icon{ + margin:12px; + margin-right:0; + color:#5c7080; } + .bp3-toast.bp3-dark, + .bp3-dark .bp3-toast{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + background-color:#394b59; } + .bp3-toast.bp3-dark > .bp3-icon, + .bp3-dark .bp3-toast > .bp3-icon{ + color:#a7b6c2; } + .bp3-toast[class*="bp3-intent-"] a{ + color:rgba(255, 255, 255, 0.7); } + .bp3-toast[class*="bp3-intent-"] a:hover{ + color:#ffffff; } + .bp3-toast[class*="bp3-intent-"] > .bp3-icon{ + color:#ffffff; } + .bp3-toast[class*="bp3-intent-"] .bp3-button, .bp3-toast[class*="bp3-intent-"] .bp3-button::before, + .bp3-toast[class*="bp3-intent-"] .bp3-button .bp3-icon, .bp3-toast[class*="bp3-intent-"] .bp3-button:active{ + color:rgba(255, 255, 255, 0.7) !important; } + .bp3-toast[class*="bp3-intent-"] .bp3-button:focus{ + outline-color:rgba(255, 255, 255, 0.5); } + .bp3-toast[class*="bp3-intent-"] .bp3-button:hover{ + background-color:rgba(255, 255, 255, 0.15) !important; + color:#ffffff !important; } + .bp3-toast[class*="bp3-intent-"] .bp3-button:active{ + background-color:rgba(255, 255, 255, 0.3) !important; + color:#ffffff !important; } + .bp3-toast[class*="bp3-intent-"] .bp3-button::after{ + background:rgba(255, 255, 255, 0.3) !important; } + .bp3-toast.bp3-intent-primary{ + background-color:#137cbd; + color:#ffffff; } + .bp3-toast.bp3-intent-success{ + background-color:#0f9960; + color:#ffffff; } + .bp3-toast.bp3-intent-warning{ + background-color:#d9822b; + color:#ffffff; } + .bp3-toast.bp3-intent-danger{ + background-color:#db3737; + color:#ffffff; } + +.bp3-toast-message{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + padding:11px; + word-break:break-word; } + +.bp3-toast-container{ + display:-webkit-box !important; + display:-ms-flexbox !important; + display:flex !important; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + position:fixed; + right:0; + left:0; + z-index:40; + overflow:hidden; + padding:0 20px 20px; + pointer-events:none; } + .bp3-toast-container.bp3-toast-container-top{ + top:0; + bottom:auto; } + .bp3-toast-container.bp3-toast-container-bottom{ + -webkit-box-orient:vertical; + -webkit-box-direction:reverse; + -ms-flex-direction:column-reverse; + flex-direction:column-reverse; + top:auto; + bottom:0; } + .bp3-toast-container.bp3-toast-container-left{ + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; } + .bp3-toast-container.bp3-toast-container-right{ + -webkit-box-align:end; + -ms-flex-align:end; + align-items:flex-end; } + +.bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active), +.bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active) ~ .bp3-toast, .bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active), +.bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active) ~ .bp3-toast, +.bp3-toast-container-bottom .bp3-toast.bp3-toast-leave-active ~ .bp3-toast{ + -webkit-transform:translateY(60px); + transform:translateY(60px); } +.bp3-tooltip{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-tooltip .bp3-popover-arrow{ + position:absolute; + width:22px; + height:22px; } + .bp3-tooltip .bp3-popover-arrow::before{ + margin:4px; + width:14px; + height:14px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip{ + margin-top:-11px; + margin-bottom:11px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{ + bottom:-8px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(-90deg); + transform:rotate(-90deg); } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip{ + margin-left:11px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{ + left:-8px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(0); + transform:rotate(0); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip{ + margin-top:11px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{ + top:-8px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(90deg); + transform:rotate(90deg); } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip{ + margin-right:11px; + margin-left:-11px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{ + right:-8px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(180deg); + transform:rotate(180deg); } + .bp3-tether-element-attached-middle > .bp3-tooltip > .bp3-popover-arrow{ + top:50%; + -webkit-transform:translateY(-50%); + transform:translateY(-50%); } + .bp3-tether-element-attached-center > .bp3-tooltip > .bp3-popover-arrow{ + right:50%; + -webkit-transform:translateX(50%); + transform:translateX(50%); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{ + top:-0.22183px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{ + right:-0.22183px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{ + left:-0.22183px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{ + bottom:-0.22183px; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-tooltip{ + -webkit-transform-origin:top left; + transform-origin:top left; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-tooltip{ + -webkit-transform-origin:top center; + transform-origin:top center; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-tooltip{ + -webkit-transform-origin:top right; + transform-origin:top right; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-tooltip{ + -webkit-transform-origin:center left; + transform-origin:center left; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-tooltip{ + -webkit-transform-origin:center center; + transform-origin:center center; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-tooltip{ + -webkit-transform-origin:center right; + transform-origin:center right; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-tooltip{ + -webkit-transform-origin:bottom left; + transform-origin:bottom left; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-tooltip{ + -webkit-transform-origin:bottom center; + transform-origin:bottom center; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-tooltip{ + -webkit-transform-origin:bottom right; + transform-origin:bottom right; } + .bp3-tooltip .bp3-popover-content{ + background:#394b59; + color:#f5f8fa; } + .bp3-tooltip .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); } + .bp3-tooltip .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.1; } + .bp3-tooltip .bp3-popover-arrow-fill{ + fill:#394b59; } + .bp3-popover-enter > .bp3-tooltip, .bp3-popover-appear > .bp3-tooltip{ + -webkit-transform:scale(0.8); + transform:scale(0.8); } + .bp3-popover-enter-active > .bp3-tooltip, .bp3-popover-appear-active > .bp3-tooltip{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover-exit > .bp3-tooltip{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-exit-active > .bp3-tooltip{ + -webkit-transform:scale(0.8); + transform:scale(0.8); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-tooltip .bp3-popover-content{ + padding:10px 12px; } + .bp3-tooltip.bp3-dark, + .bp3-dark .bp3-tooltip{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + .bp3-tooltip.bp3-dark .bp3-popover-content, + .bp3-dark .bp3-tooltip .bp3-popover-content{ + background:#e1e8ed; + color:#394b59; } + .bp3-tooltip.bp3-dark .bp3-popover-arrow::before, + .bp3-dark .bp3-tooltip .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); } + .bp3-tooltip.bp3-dark .bp3-popover-arrow-border, + .bp3-dark .bp3-tooltip .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.2; } + .bp3-tooltip.bp3-dark .bp3-popover-arrow-fill, + .bp3-dark .bp3-tooltip .bp3-popover-arrow-fill{ + fill:#e1e8ed; } + .bp3-tooltip.bp3-intent-primary .bp3-popover-content{ + background:#137cbd; + color:#ffffff; } + .bp3-tooltip.bp3-intent-primary .bp3-popover-arrow-fill{ + fill:#137cbd; } + .bp3-tooltip.bp3-intent-success .bp3-popover-content{ + background:#0f9960; + color:#ffffff; } + .bp3-tooltip.bp3-intent-success .bp3-popover-arrow-fill{ + fill:#0f9960; } + .bp3-tooltip.bp3-intent-warning .bp3-popover-content{ + background:#d9822b; + color:#ffffff; } + .bp3-tooltip.bp3-intent-warning .bp3-popover-arrow-fill{ + fill:#d9822b; } + .bp3-tooltip.bp3-intent-danger .bp3-popover-content{ + background:#db3737; + color:#ffffff; } + .bp3-tooltip.bp3-intent-danger .bp3-popover-arrow-fill{ + fill:#db3737; } + +.bp3-tooltip-indicator{ + border-bottom:dotted 1px; + cursor:help; } +.bp3-tree .bp3-icon, .bp3-tree .bp3-icon-standard, .bp3-tree .bp3-icon-large{ + color:#5c7080; } + .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-tree .bp3-icon-large.bp3-intent-primary{ + color:#137cbd; } + .bp3-tree .bp3-icon.bp3-intent-success, .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-tree .bp3-icon-large.bp3-intent-success{ + color:#0f9960; } + .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-tree .bp3-icon-large.bp3-intent-warning{ + color:#d9822b; } + .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-tree .bp3-icon-large.bp3-intent-danger{ + color:#db3737; } + +.bp3-tree-node-list{ + margin:0; + padding-left:0; + list-style:none; } + +.bp3-tree-root{ + position:relative; + background-color:transparent; + cursor:default; + padding-left:0; } + +.bp3-tree-node-content-0{ + padding-left:0px; } + +.bp3-tree-node-content-1{ + padding-left:23px; } + +.bp3-tree-node-content-2{ + padding-left:46px; } + +.bp3-tree-node-content-3{ + padding-left:69px; } + +.bp3-tree-node-content-4{ + padding-left:92px; } + +.bp3-tree-node-content-5{ + padding-left:115px; } + +.bp3-tree-node-content-6{ + padding-left:138px; } + +.bp3-tree-node-content-7{ + padding-left:161px; } + +.bp3-tree-node-content-8{ + padding-left:184px; } + +.bp3-tree-node-content-9{ + padding-left:207px; } + +.bp3-tree-node-content-10{ + padding-left:230px; } + +.bp3-tree-node-content-11{ + padding-left:253px; } + +.bp3-tree-node-content-12{ + padding-left:276px; } + +.bp3-tree-node-content-13{ + padding-left:299px; } + +.bp3-tree-node-content-14{ + padding-left:322px; } + +.bp3-tree-node-content-15{ + padding-left:345px; } + +.bp3-tree-node-content-16{ + padding-left:368px; } + +.bp3-tree-node-content-17{ + padding-left:391px; } + +.bp3-tree-node-content-18{ + padding-left:414px; } + +.bp3-tree-node-content-19{ + padding-left:437px; } + +.bp3-tree-node-content-20{ + padding-left:460px; } + +.bp3-tree-node-content{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + width:100%; + height:30px; + padding-right:5px; } + .bp3-tree-node-content:hover{ + background-color:rgba(191, 204, 214, 0.4); } + +.bp3-tree-node-caret, +.bp3-tree-node-caret-none{ + min-width:30px; } + +.bp3-tree-node-caret{ + color:#5c7080; + -webkit-transform:rotate(0deg); + transform:rotate(0deg); + cursor:pointer; + padding:7px; + -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-tree-node-caret:hover{ + color:#182026; } + .bp3-dark .bp3-tree-node-caret{ + color:#a7b6c2; } + .bp3-dark .bp3-tree-node-caret:hover{ + color:#f5f8fa; } + .bp3-tree-node-caret.bp3-tree-node-caret-open{ + -webkit-transform:rotate(90deg); + transform:rotate(90deg); } + .bp3-tree-node-caret.bp3-icon-standard::before{ + content:"îš•"; } + +.bp3-tree-node-icon{ + position:relative; + margin-right:7px; } + +.bp3-tree-node-label{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + position:relative; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-tree-node-label span{ + display:inline; } + +.bp3-tree-node-secondary-label{ + padding:0 5px; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-tree-node-secondary-label .bp3-popover-wrapper, + .bp3-tree-node-secondary-label .bp3-popover-target{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; } + +.bp3-tree-node.bp3-disabled .bp3-tree-node-content{ + background-color:inherit; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + +.bp3-tree-node.bp3-disabled .bp3-tree-node-caret, +.bp3-tree-node.bp3-disabled .bp3-tree-node-icon{ + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + +.bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{ + background-color:#137cbd; } + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content, + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-standard, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-large{ + color:#ffffff; } + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret::before{ + color:rgba(255, 255, 255, 0.7); } + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret:hover::before{ + color:#ffffff; } + +.bp3-dark .bp3-tree-node-content:hover{ + background-color:rgba(92, 112, 128, 0.3); } + +.bp3-dark .bp3-tree .bp3-icon, .bp3-dark .bp3-tree .bp3-icon-standard, .bp3-dark .bp3-tree .bp3-icon-large{ + color:#a7b6c2; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-primary{ + color:#137cbd; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-success{ + color:#0f9960; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-warning{ + color:#d9822b; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-danger{ + color:#db3737; } + +.bp3-dark .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{ + background-color:#137cbd; } +/*! + +Copyright 2017-present Palantir Technologies, Inc. All rights reserved. +Licensed under the Apache License, Version 2.0. + +*/ +.bp3-omnibar{ + -webkit-filter:blur(0); + filter:blur(0); + opacity:1; + top:20vh; + left:calc(50% - 250px); + z-index:21; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + background-color:#ffffff; + width:500px; } + .bp3-omnibar.bp3-overlay-enter, .bp3-omnibar.bp3-overlay-appear{ + -webkit-filter:blur(20px); + filter:blur(20px); + opacity:0.2; } + .bp3-omnibar.bp3-overlay-enter-active, .bp3-omnibar.bp3-overlay-appear-active{ + -webkit-filter:blur(0); + filter:blur(0); + opacity:1; + -webkit-transition-property:opacity, -webkit-filter; + transition-property:opacity, -webkit-filter; + transition-property:filter, opacity; + transition-property:filter, opacity, -webkit-filter; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-omnibar.bp3-overlay-exit{ + -webkit-filter:blur(0); + filter:blur(0); + opacity:1; } + .bp3-omnibar.bp3-overlay-exit-active{ + -webkit-filter:blur(20px); + filter:blur(20px); + opacity:0.2; + -webkit-transition-property:opacity, -webkit-filter; + transition-property:opacity, -webkit-filter; + transition-property:filter, opacity; + transition-property:filter, opacity, -webkit-filter; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-omnibar .bp3-input{ + border-radius:0; + background-color:transparent; } + .bp3-omnibar .bp3-input, .bp3-omnibar .bp3-input:focus{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-omnibar .bp3-menu{ + border-radius:0; + -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + background-color:transparent; + max-height:calc(60vh - 40px); + overflow:auto; } + .bp3-omnibar .bp3-menu:empty{ + display:none; } + .bp3-dark .bp3-omnibar, .bp3-omnibar.bp3-dark{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + +.bp3-omnibar-overlay .bp3-overlay-backdrop{ + background-color:rgba(16, 22, 26, 0.2); } + +.bp3-select-popover .bp3-popover-content{ + padding:5px; } + +.bp3-select-popover .bp3-input-group{ + margin-bottom:0; } + +.bp3-select-popover .bp3-menu{ + max-width:400px; + max-height:300px; + overflow:auto; + padding:0; } + .bp3-select-popover .bp3-menu:not(:first-child){ + padding-top:5px; } + +.bp3-multi-select{ + min-width:150px; } + +.bp3-multi-select-popover .bp3-menu{ + max-width:400px; + max-height:300px; + overflow:auto; } + +.bp3-select-popover .bp3-popover-content{ + padding:5px; } + +.bp3-select-popover .bp3-input-group{ + margin-bottom:0; } + +.bp3-select-popover .bp3-menu{ + max-width:400px; + max-height:300px; + overflow:auto; + padding:0; } + .bp3-select-popover .bp3-menu:not(:first-child){ + padding-top:5px; } +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */ + +/** + * (DEPRECATED) Support for consuming icons as CSS background images + */ + +/* Icons urls */ + +:root { + --jp-icon-add: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-bug: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDhoLTIuODFjLS40NS0uNzgtMS4wNy0xLjQ1LTEuODItMS45NkwxNyA0LjQxIDE1LjU5IDNsLTIuMTcgMi4xN0MxMi45NiA1LjA2IDEyLjQ5IDUgMTIgNWMtLjQ5IDAtLjk2LjA2LTEuNDEuMTdMOC40MSAzIDcgNC40MWwxLjYyIDEuNjNDNy44OCA2LjU1IDcuMjYgNy4yMiA2LjgxIDhINHYyaDIuMDljLS4wNS4zMy0uMDkuNjYtLjA5IDF2MUg0djJoMnYxYzAgLjM0LjA0LjY3LjA5IDFINHYyaDIuODFjMS4wNCAxLjc5IDIuOTcgMyA1LjE5IDNzNC4xNS0xLjIxIDUuMTktM0gyMHYtMmgtMi4wOWMuMDUtLjMzLjA5LS42Ni4wOS0xdi0xaDJ2LTJoLTJ2LTFjMC0uMzQtLjA0LS42Ny0uMDktMUgyMFY4em0tNiA4aC00di0yaDR2MnptMC00aC00di0yaDR2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-build: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE0LjkgMTcuNDVDMTYuMjUgMTcuNDUgMTcuMzUgMTYuMzUgMTcuMzUgMTVDMTcuMzUgMTMuNjUgMTYuMjUgMTIuNTUgMTQuOSAxMi41NUMxMy41NCAxMi41NSAxMi40NSAxMy42NSAxMi40NSAxNUMxMi40NSAxNi4zNSAxMy41NCAxNy40NSAxNC45IDE3LjQ1Wk0yMC4xIDE1LjY4TDIxLjU4IDE2Ljg0QzIxLjcxIDE2Ljk1IDIxLjc1IDE3LjEzIDIxLjY2IDE3LjI5TDIwLjI2IDE5LjcxQzIwLjE3IDE5Ljg2IDIwIDE5LjkyIDE5LjgzIDE5Ljg2TDE4LjA5IDE5LjE2QzE3LjczIDE5LjQ0IDE3LjMzIDE5LjY3IDE2LjkxIDE5Ljg1TDE2LjY0IDIxLjdDMTYuNjIgMjEuODcgMTYuNDcgMjIgMTYuMyAyMkgxMy41QzEzLjMyIDIyIDEzLjE4IDIxLjg3IDEzLjE1IDIxLjdMMTIuODkgMTkuODVDMTIuNDYgMTkuNjcgMTIuMDcgMTkuNDQgMTEuNzEgMTkuMTZMOS45NjAwMiAxOS44NkM5LjgxMDAyIDE5LjkyIDkuNjIwMDIgMTkuODYgOS41NDAwMiAxOS43MUw4LjE0MDAyIDE3LjI5QzguMDUwMDIgMTcuMTMgOC4wOTAwMiAxNi45NSA4LjIyMDAyIDE2Ljg0TDkuNzAwMDIgMTUuNjhMOS42NTAwMSAxNUw5LjcwMDAyIDE0LjMxTDguMjIwMDIgMTMuMTZDOC4wOTAwMiAxMy4wNSA4LjA1MDAyIDEyLjg2IDguMTQwMDIgMTIuNzFMOS41NDAwMiAxMC4yOUM5LjYyMDAyIDEwLjEzIDkuODEwMDIgMTAuMDcgOS45NjAwMiAxMC4xM0wxMS43MSAxMC44NEMxMi4wNyAxMC41NiAxMi40NiAxMC4zMiAxMi44OSAxMC4xNUwxMy4xNSA4LjI4OTk4QzEzLjE4IDguMTI5OTggMTMuMzIgNy45OTk5OCAxMy41IDcuOTk5OThIMTYuM0MxNi40NyA3Ljk5OTk4IDE2LjYyIDguMTI5OTggMTYuNjQgOC4yODk5OEwxNi45MSAxMC4xNUMxNy4zMyAxMC4zMiAxNy43MyAxMC41NiAxOC4wOSAxMC44NEwxOS44MyAxMC4xM0MyMCAxMC4wNyAyMC4xNyAxMC4xMyAyMC4yNiAxMC4yOUwyMS42NiAxMi43MUMyMS43NSAxMi44NiAyMS43MSAxMy4wNSAyMS41OCAxMy4xNkwyMC4xIDE0LjMxTDIwLjE1IDE1TDIwLjEgMTUuNjhaIi8+CiAgICA8cGF0aCBkPSJNNy4zMjk2NiA3LjQ0NDU0QzguMDgzMSA3LjAwOTU0IDguMzM5MzIgNi4wNTMzMiA3LjkwNDMyIDUuMjk5ODhDNy40NjkzMiA0LjU0NjQzIDYuNTA4MSA0LjI4MTU2IDUuNzU0NjYgNC43MTY1NkM1LjM5MTc2IDQuOTI2MDggNS4xMjY5NSA1LjI3MTE4IDUuMDE4NDkgNS42NzU5NEM0LjkxMDA0IDYuMDgwNzEgNC45NjY4MiA2LjUxMTk4IDUuMTc2MzQgNi44NzQ4OEM1LjYxMTM0IDcuNjI4MzIgNi41NzYyMiA3Ljg3OTU0IDcuMzI5NjYgNy40NDQ1NFpNOS42NTcxOCA0Ljc5NTkzTDEwLjg2NzIgNC45NTE3OUMxMC45NjI4IDQuOTc3NDEgMTEuMDQwMiA1LjA3MTMzIDExLjAzODIgNS4xODc5M0wxMS4wMzg4IDYuOTg4OTNDMTEuMDQ1NSA3LjEwMDU0IDEwLjk2MTYgNy4xOTUxOCAxMC44NTUgNy4yMTA1NEw5LjY2MDAxIDcuMzgwODNMOS4yMzkxNSA4LjEzMTg4TDkuNjY5NjEgOS4yNTc0NUM5LjcwNzI5IDkuMzYyNzEgOS42NjkzNCA5LjQ3Njk5IDkuNTc0MDggOS41MzE5OUw4LjAxNTIzIDEwLjQzMkM3LjkxMTMxIDEwLjQ5MiA3Ljc5MzM3IDEwLjQ2NzcgNy43MjEwNSAxMC4zODI0TDYuOTg3NDggOS40MzE4OEw2LjEwOTMxIDkuNDMwODNMNS4zNDcwNCAxMC4zOTA1QzUuMjg5MDkgMTAuNDcwMiA1LjE3MzgzIDEwLjQ5MDUgNS4wNzE4NyAxMC40MzM5TDMuNTEyNDUgOS41MzI5M0MzLjQxMDQ5IDkuNDc2MzMgMy4zNzY0NyA5LjM1NzQxIDMuNDEwNzUgOS4yNTY3OUwzLjg2MzQ3IDguMTQwOTNMMy42MTc0OSA3Ljc3NDg4TDMuNDIzNDcgNy4zNzg4M0wyLjIzMDc1IDcuMjEyOTdDMi4xMjY0NyA3LjE5MjM1IDIuMDQwNDkgNy4xMDM0MiAyLjA0MjQ1IDYuOTg2ODJMMi4wNDE4NyA1LjE4NTgyQzIuMDQzODMgNS4wNjkyMiAyLjExOTA5IDQuOTc5NTggMi4yMTcwNCA0Ljk2OTIyTDMuNDIwNjUgNC43OTM5M0wzLjg2NzQ5IDQuMDI3ODhMMy40MTEwNSAyLjkxNzMxQzMuMzczMzcgMi44MTIwNCAzLjQxMTMxIDIuNjk3NzYgMy41MTUyMyAyLjYzNzc2TDUuMDc0MDggMS43Mzc3NkM1LjE2OTM0IDEuNjgyNzYgNS4yODcyOSAxLjcwNzA0IDUuMzU5NjEgMS43OTIzMUw2LjExOTE1IDIuNzI3ODhMNi45ODAwMSAyLjczODkzTDcuNzI0OTYgMS43ODkyMkM3Ljc5MTU2IDEuNzA0NTggNy45MTU0OCAxLjY3OTIyIDguMDA4NzkgMS43NDA4Mkw5LjU2ODIxIDIuNjQxODJDOS42NzAxNyAyLjY5ODQyIDkuNzEyODUgMi44MTIzNCA5LjY4NzIzIDIuOTA3OTdMOS4yMTcxOCA0LjAzMzgzTDkuNDYzMTYgNC4zOTk4OEw5LjY1NzE4IDQuNzk1OTNaIi8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-caret-down-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iOS45LDEzLjYgMy42LDcuNCA0LjQsNi42IDkuOSwxMi4yIDE1LjQsNi43IDE2LjEsNy40ICIvPgoJPC9nPgo8L3N2Zz4K); + --jp-icon-caret-down-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNS45TDksOS43bDMuOC0zLjhsMS4yLDEuMmwtNC45LDVsLTQuOS01TDUuMiw1Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-caret-down: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNy41TDksMTEuMmwzLjgtMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-caret-left: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik0xMC44LDEyLjhMNy4xLDlsMy44LTMuOGwwLDcuNkgxMC44eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-caret-right: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik03LjIsNS4yTDEwLjksOWwtMy44LDMuOFY1LjJINy4yeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-caret-up-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTUuNCwxMy4zIDkuOSw3LjcgNC40LDEzLjIgMy42LDEyLjUgOS45LDYuMyAxNi4xLDEyLjYgIi8+Cgk8L2c+Cjwvc3ZnPgo=); + --jp-icon-caret-up: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik01LjIsMTAuNUw5LDYuOGwzLjgsMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-case-sensitive: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWFjY2VudDIiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTcuNiw4aDAuOWwzLjUsOGgtMS4xTDEwLDE0SDZsLTAuOSwySDRMNy42LDh6IE04LDkuMUw2LjQsMTNoMy4yTDgsOS4xeiIvPgogICAgPHBhdGggZD0iTTE2LjYsOS44Yy0wLjIsMC4xLTAuNCwwLjEtMC43LDAuMWMtMC4yLDAtMC40LTAuMS0wLjYtMC4yYy0wLjEtMC4xLTAuMi0wLjQtMC4yLTAuNyBjLTAuMywwLjMtMC42LDAuNS0wLjksMC43Yy0wLjMsMC4xLTAuNywwLjItMS4xLDAuMmMtMC4zLDAtMC41LDAtMC43LTAuMWMtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjNjLTAuMi0wLjEtMC4zLTAuMy0wLjQtMC41IGMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjdjMC0wLjMsMC4xLTAuNiwwLjItMC44YzAuMS0wLjIsMC4zLTAuNCwwLjQtMC41QzEyLDcsMTIuMiw2LjksMTIuNSw2LjhjMC4yLTAuMSwwLjUtMC4xLDAuNy0wLjIgYzAuMy0wLjEsMC41LTAuMSwwLjctMC4xYzAuMiwwLDAuNC0wLjEsMC42LTAuMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjJjMC4xLTAuMSwwLjItMC4yLDAuMi0wLjRjMC0xLTEuMS0xLTEuMy0xIGMtMC40LDAtMS40LDAtMS40LDEuMmgtMC45YzAtMC40LDAuMS0wLjcsMC4yLTFjMC4xLTAuMiwwLjMtMC40LDAuNS0wLjZjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNDMTMuMyw0LDEzLjYsNCwxMy45LDQgYzAuMywwLDAuNSwwLDAuOCwwLjFjMC4zLDAsMC41LDAuMSwwLjcsMC4yYzAuMiwwLjEsMC40LDAuMywwLjUsMC41QzE2LDUsMTYsNS4yLDE2LDUuNnYyLjljMCwwLjIsMCwwLjQsMCwwLjUgYzAsMC4xLDAuMSwwLjIsMC4zLDAuMmMwLjEsMCwwLjIsMCwwLjMsMFY5Ljh6IE0xNS4yLDYuOWMtMS4yLDAuNi0zLjEsMC4yLTMuMSwxLjRjMCwxLjQsMy4xLDEsMy4xLTAuNVY2Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTYuMTdMNC44MyAxMmwtMS40MiAxLjQxTDkgMTkgMjEgN2wtMS40MS0xLjQxeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-circle-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-circle: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjgiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-clear: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8bWFzayBpZD0iZG9udXRIb2xlIj4KICAgIDxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiIC8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiBmaWxsPSJibGFjayIvPgogIDwvbWFzaz4KCiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxyZWN0IGhlaWdodD0iMTgiIHdpZHRoPSIyIiB4PSIxMSIgeT0iMyIgdHJhbnNmb3JtPSJyb3RhdGUoMzE1LCAxMiwgMTIpIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgbWFzaz0idXJsKCNkb251dEhvbGUpIi8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-close: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1ub25lIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIGpwLWljb24zLWhvdmVyIiBmaWxsPSJub25lIj4KICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjExIi8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIGpwLWljb24tYWNjZW50Mi1ob3ZlciIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPgogIDwvZz4KCiAgPGcgY2xhc3M9ImpwLWljb24tbm9uZSBqcC1pY29uLWJ1c3kiIGZpbGw9Im5vbmUiPgogICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNyIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-console: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxnIGNsYXNzPSJqcC1pY29uLWJyYW5kMSBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMjg4RDEiPgogICAgPHBhdGggZD0iTTIwIDE5LjhoMTYwdjE1OS45SDIweiIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNmZmYiPgogICAgPHBhdGggZD0iTTEwNSAxMjcuM2g0MHYxMi44aC00MHpNNTEuMSA3N0w3NCA5OS45bC0yMy4zIDIzLjMgMTAuNSAxMC41IDIzLjMtMjMuM0w5NSA5OS45IDg0LjUgODkuNCA2MS42IDY2LjV6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-copy: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTExLjksMUgzLjJDMi40LDEsMS43LDEuNywxLjcsMi41djEwLjJoMS41VjIuNWg4LjdWMXogTTE0LjEsMy45aC04Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MTAuMmMwLDAuOCwwLjcsMS41LDEuNSwxLjVoOCBjMC44LDAsMS41LTAuNywxLjUtMS41VjUuNEMxNS41LDQuNiwxNC45LDMuOSwxNC4xLDMuOXogTTE0LjEsMTUuNWgtOFY1LjRoOFYxNS41eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-cut: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-download: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-edit: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-ellipses: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEyIiByPSIyIi8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-extension: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-fast-forward: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTQgMThsOC41LTZMNCA2djEyem05LTEydjEybDguNS02TDEzIDZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-file-upload: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-file: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuMyA4LjJsLTUuNS01LjVjLS4zLS4zLS43LS41LTEuMi0uNUgzLjljLS44LjEtMS42LjktMS42IDEuOHYxNC4xYzAgLjkuNyAxLjYgMS42IDEuNmgxNC4yYy45IDAgMS42LS43IDEuNi0xLjZWOS40Yy4xLS41LS4xLS45LS40LTEuMnptLTUuOC0zLjNsMy40IDMuNmgtMy40VjQuOXptMy45IDEyLjdINC43Yy0uMSAwLS4yIDAtLjItLjJWNC43YzAtLjIuMS0uMy4yLS4zaDcuMnY0LjRzMCAuOC4zIDEuMWMuMy4zIDEuMS4zIDEuMS4zaDQuM3Y3LjJzLS4xLjItLjIuMnoiLz4KPC9zdmc+Cg==); + --jp-icon-filter-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6Ii8+Cjwvc3ZnPgo=); + --jp-icon-html5: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMDAiIGQ9Ik0xMDguNCAwaDIzdjIyLjhoMjEuMlYwaDIzdjY5aC0yM1Y0NmgtMjF2MjNoLTIzLjJNMjA2IDIzaC0yMC4zVjBoNjMuN3YyM0gyMjl2NDZoLTIzbTUzLjUtNjloMjQuMWwxNC44IDI0LjNMMzEzLjIgMGgyNC4xdjY5aC0yM1YzNC44bC0xNi4xIDI0LjgtMTYuMS0yNC44VjY5aC0yMi42bTg5LjItNjloMjN2NDYuMmgzMi42VjY5aC01NS42Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2U0NGQyNiIgZD0iTTEwNy42IDQ3MWwtMzMtMzcwLjRoMzYyLjhsLTMzIDM3MC4yTDI1NS43IDUxMiIvPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNmMTY1MjkiIGQ9Ik0yNTYgNDgwLjVWMTMxaDE0OC4zTDM3NiA0NDciLz4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNlYmViZWIiIGQ9Ik0xNDIgMTc2LjNoMTE0djQ1LjRoLTY0LjJsNC4yIDQ2LjVoNjB2NDUuM0gxNTQuNG0yIDIyLjhIMjAybDMuMiAzNi4zIDUwLjggMTMuNnY0Ny40bC05My4yLTI2Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIiBkPSJNMzY5LjYgMTc2LjNIMjU1Ljh2NDUuNGgxMDkuNm0tNC4xIDQ2LjVIMjU1Ljh2NDUuNGg1NmwtNS4zIDU5LTUwLjcgMTMuNnY0Ny4ybDkzLTI1LjgiLz4KPC9zdmc+Cg==); + --jp-icon-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1icmFuZDQganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNGRkYiIGQ9Ik0yLjIgMi4yaDE3LjV2MTcuNUgyLjJ6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzNGNTFCNSIgZD0iTTIuMiAyLjJ2MTcuNWgxNy41bC4xLTE3LjVIMi4yem0xMi4xIDIuMmMxLjIgMCAyLjIgMSAyLjIgMi4ycy0xIDIuMi0yLjIgMi4yLTIuMi0xLTIuMi0yLjIgMS0yLjIgMi4yLTIuMnpNNC40IDE3LjZsMy4zLTguOCAzLjMgNi42IDIuMi0zLjIgNC40IDUuNEg0LjR6Ii8+Cjwvc3ZnPgo=); + --jp-icon-inspector: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tNSAxNEg0di00aDExdjR6bTAtNUg0VjloMTF2NHptNSA1aC00VjloNHY5eiIvPgo8L3N2Zz4K); + --jp-icon-json: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMSBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNGOUE4MjUiPgogICAgPHBhdGggZD0iTTIwLjIgMTEuOGMtMS42IDAtMS43LjUtMS43IDEgMCAuNC4xLjkuMSAxLjMuMS41LjEuOS4xIDEuMyAwIDEuNy0xLjQgMi4zLTMuNSAyLjNoLS45di0xLjloLjVjMS4xIDAgMS40IDAgMS40LS44IDAtLjMgMC0uNi0uMS0xIDAtLjQtLjEtLjgtLjEtMS4yIDAtMS4zIDAtMS44IDEuMy0yLTEuMy0uMi0xLjMtLjctMS4zLTIgMC0uNC4xLS44LjEtMS4yLjEtLjQuMS0uNy4xLTEgMC0uOC0uNC0uNy0xLjQtLjhoLS41VjQuMWguOWMyLjIgMCAzLjUuNyAzLjUgMi4zIDAgLjQtLjEuOS0uMSAxLjMtLjEuNS0uMS45LS4xIDEuMyAwIC41LjIgMSAxLjcgMXYxLjh6TTEuOCAxMC4xYzEuNiAwIDEuNy0uNSAxLjctMSAwLS40LS4xLS45LS4xLTEuMy0uMS0uNS0uMS0uOS0uMS0xLjMgMC0xLjYgMS40LTIuMyAzLjUtMi4zaC45djEuOWgtLjVjLTEgMC0xLjQgMC0xLjQuOCAwIC4zIDAgLjYuMSAxIDAgLjIuMS42LjEgMSAwIDEuMyAwIDEuOC0xLjMgMkM2IDExLjIgNiAxMS43IDYgMTNjMCAuNC0uMS44LS4xIDEuMi0uMS4zLS4xLjctLjEgMSAwIC44LjMuOCAxLjQuOGguNXYxLjloLS45Yy0yLjEgMC0zLjUtLjYtMy41LTIuMyAwLS40LjEtLjkuMS0xLjMuMS0uNS4xLS45LjEtMS4zIDAtLjUtLjItMS0xLjctMXYtMS45eiIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSIxMy44IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY3g9IjExIiBjeT0iOC4yIiByPSIyLjEiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-jupyter-favicon: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUyIiBoZWlnaHQ9IjE2NSIgdmlld0JveD0iMCAwIDE1MiAxNjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA3ODk0NywgMTEwLjU4MjkyNykiIGQ9Ik03NS45NDIyODQyLDI5LjU4MDQ1NjEgQzQzLjMwMjM5NDcsMjkuNTgwNDU2MSAxNC43OTY3ODMyLDE3LjY1MzQ2MzQgMCwwIEM1LjUxMDgzMjExLDE1Ljg0MDY4MjkgMTUuNzgxNTM4OSwyOS41NjY3NzMyIDI5LjM5MDQ5NDcsMzkuMjc4NDE3MSBDNDIuOTk5Nyw0OC45ODk4NTM3IDU5LjI3MzcsNTQuMjA2NzgwNSA3NS45NjA1Nzg5LDU0LjIwNjc4MDUgQzkyLjY0NzQ1NzksNTQuMjA2NzgwNSAxMDguOTIxNDU4LDQ4Ljk4OTg1MzcgMTIyLjUzMDY2MywzOS4yNzg0MTcxIEMxMzYuMTM5NDUzLDI5LjU2Njc3MzIgMTQ2LjQxMDI4NCwxNS44NDA2ODI5IDE1MS45MjExNTgsMCBDMTM3LjA4Nzg2OCwxNy42NTM0NjM0IDEwOC41ODI1ODksMjkuNTgwNDU2MSA3NS45NDIyODQyLDI5LjU4MDQ1NjEgTDc1Ljk0MjI4NDIsMjkuNTgwNDU2MSBaIiAvPgogICAgPHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMzczNjgsIDAuNzA0ODc4KSIgZD0iTTc1Ljk3ODQ1NzksMjQuNjI2NDA3MyBDMTA4LjYxODc2MywyNC42MjY0MDczIDEzNy4xMjQ0NTgsMzYuNTUzNDQxNSAxNTEuOTIxMTU4LDU0LjIwNjc4MDUgQzE0Ni40MTAyODQsMzguMzY2MjIyIDEzNi4xMzk0NTMsMjQuNjQwMTMxNyAxMjIuNTMwNjYzLDE0LjkyODQ4NzggQzEwOC45MjE0NTgsNS4yMTY4NDM5IDkyLjY0NzQ1NzksMCA3NS45NjA1Nzg5LDAgQzU5LjI3MzcsMCA0Mi45OTk3LDUuMjE2ODQzOSAyOS4zOTA0OTQ3LDE0LjkyODQ4NzggQzE1Ljc4MTUzODksMjQuNjQwMTMxNyA1LjUxMDgzMjExLDM4LjM2NjIyMiAwLDU0LjIwNjc4MDUgQzE0LjgzMzA4MTYsMzYuNTg5OTI5MyA0My4zMzg1Njg0LDI0LjYyNjQwNzMgNzUuOTc4NDU3OSwyNC42MjY0MDczIEw3NS45Nzg0NTc5LDI0LjYyNjQwNzMgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-jupyter: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCAzOSA1MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYzOCAtMjI4MSkiPgogICAgPGcgY2xhc3M9ImpwLWljb24td2FybjAiIGZpbGw9IiNGMzc3MjYiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5Ljc0IDIzMTEuOTgpIiBkPSJNIDE4LjI2NDYgNy4xMzQxMUMgMTAuNDE0NSA3LjEzNDExIDMuNTU4NzIgNC4yNTc2IDAgMEMgMS4zMjUzOSAzLjgyMDQgMy43OTU1NiA3LjEzMDgxIDcuMDY4NiA5LjQ3MzAzQyAxMC4zNDE3IDExLjgxNTIgMTQuMjU1NyAxMy4wNzM0IDE4LjI2OSAxMy4wNzM0QyAyMi4yODIzIDEzLjA3MzQgMjYuMTk2MyAxMS44MTUyIDI5LjQ2OTQgOS40NzMwM0MgMzIuNzQyNCA3LjEzMDgxIDM1LjIxMjYgMy44MjA0IDM2LjUzOCAwQyAzMi45NzA1IDQuMjU3NiAyNi4xMTQ4IDcuMTM0MTEgMTguMjY0NiA3LjEzNDExWiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5LjczIDIyODUuNDgpIiBkPSJNIDE4LjI3MzMgNS45MzkzMUMgMjYuMTIzNSA1LjkzOTMxIDMyLjk3OTMgOC44MTU4MyAzNi41MzggMTMuMDczNEMgMzUuMjEyNiA5LjI1MzAzIDMyLjc0MjQgNS45NDI2MiAyOS40Njk0IDMuNjAwNEMgMjYuMTk2MyAxLjI1ODE4IDIyLjI4MjMgMCAxOC4yNjkgMEMgMTQuMjU1NyAwIDEwLjM0MTcgMS4yNTgxOCA3LjA2ODYgMy42MDA0QyAzLjc5NTU2IDUuOTQyNjIgMS4zMjUzOSA5LjI1MzAzIDAgMTMuMDczNEMgMy41Njc0NSA4LjgyNDYzIDEwLjQyMzIgNS45MzkzMSAxOC4yNzMzIDUuOTM5MzFaIi8+CiAgICA8L2c+CiAgICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjY5LjMgMjI4MS4zMSkiIGQ9Ik0gNS44OTM1MyAyLjg0NEMgNS45MTg4OSAzLjQzMTY1IDUuNzcwODUgNC4wMTM2NyA1LjQ2ODE1IDQuNTE2NDVDIDUuMTY1NDUgNS4wMTkyMiA0LjcyMTY4IDUuNDIwMTUgNC4xOTI5OSA1LjY2ODUxQyAzLjY2NDMgNS45MTY4OCAzLjA3NDQ0IDYuMDAxNTEgMi40OTgwNSA1LjkxMTcxQyAxLjkyMTY2IDUuODIxOSAxLjM4NDYzIDUuNTYxNyAwLjk1NDg5OCA1LjE2NDAxQyAwLjUyNTE3IDQuNzY2MzMgMC4yMjIwNTYgNC4yNDkwMyAwLjA4MzkwMzcgMy42Nzc1N0MgLTAuMDU0MjQ4MyAzLjEwNjExIC0wLjAyMTIzIDIuNTA2MTcgMC4xNzg3ODEgMS45NTM2NEMgMC4zNzg3OTMgMS40MDExIDAuNzM2ODA5IDAuOTIwODE3IDEuMjA3NTQgMC41NzM1MzhDIDEuNjc4MjYgMC4yMjYyNTkgMi4yNDA1NSAwLjAyNzU5MTkgMi44MjMyNiAwLjAwMjY3MjI5QyAzLjYwMzg5IC0wLjAzMDcxMTUgNC4zNjU3MyAwLjI0OTc4OSA0Ljk0MTQyIDAuNzgyNTUxQyA1LjUxNzExIDEuMzE1MzEgNS44NTk1NiAyLjA1Njc2IDUuODkzNTMgMi44NDRaIi8+CiAgICAgIDxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MzkuOCAyMzIzLjgxKSIgZD0iTSA3LjQyNzg5IDMuNTgzMzhDIDcuNDYwMDggNC4zMjQzIDcuMjczNTUgNS4wNTgxOSA2Ljg5MTkzIDUuNjkyMTNDIDYuNTEwMzEgNi4zMjYwNyA1Ljk1MDc1IDYuODMxNTYgNS4yODQxMSA3LjE0NDZDIDQuNjE3NDcgNy40NTc2MyAzLjg3MzcxIDcuNTY0MTQgMy4xNDcwMiA3LjQ1MDYzQyAyLjQyMDMyIDcuMzM3MTIgMS43NDMzNiA3LjAwODcgMS4yMDE4NCA2LjUwNjk1QyAwLjY2MDMyOCA2LjAwNTIgMC4yNzg2MSA1LjM1MjY4IDAuMTA1MDE3IDQuNjMyMDJDIC0wLjA2ODU3NTcgMy45MTEzNSAtMC4wMjYyMzYxIDMuMTU0OTQgMC4yMjY2NzUgMi40NTg1NkMgMC40Nzk1ODcgMS43NjIxNyAwLjkzMTY5NyAxLjE1NzEzIDEuNTI1NzYgMC43MjAwMzNDIDIuMTE5ODMgMC4yODI5MzUgMi44MjkxNCAwLjAzMzQzOTUgMy41NjM4OSAwLjAwMzEzMzQ0QyA0LjU0NjY3IC0wLjAzNzQwMzMgNS41MDUyOSAwLjMxNjcwNiA2LjIyOTYxIDAuOTg3ODM1QyA2Ljk1MzkzIDEuNjU4OTYgNy4zODQ4NCAyLjU5MjM1IDcuNDI3ODkgMy41ODMzOEwgNy40Mjc4OSAzLjU4MzM4WiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM4LjM2IDIyODYuMDYpIiBkPSJNIDIuMjc0NzEgNC4zOTYyOUMgMS44NDM2MyA0LjQxNTA4IDEuNDE2NzEgNC4zMDQ0NSAxLjA0Nzk5IDQuMDc4NDNDIDAuNjc5MjY4IDMuODUyNCAwLjM4NTMyOCAzLjUyMTE0IDAuMjAzMzcxIDMuMTI2NTZDIDAuMDIxNDEzNiAyLjczMTk4IC0wLjA0MDM3OTggMi4yOTE4MyAwLjAyNTgxMTYgMS44NjE4MUMgMC4wOTIwMDMxIDEuNDMxOCAwLjI4MzIwNCAxLjAzMTI2IDAuNTc1MjEzIDAuNzEwODgzQyAwLjg2NzIyMiAwLjM5MDUxIDEuMjQ2OTEgMC4xNjQ3MDggMS42NjYyMiAwLjA2MjA1OTJDIDIuMDg1NTMgLTAuMDQwNTg5NyAyLjUyNTYxIC0wLjAxNTQ3MTQgMi45MzA3NiAwLjEzNDIzNUMgMy4zMzU5MSAwLjI4Mzk0MSAzLjY4NzkyIDAuNTUxNTA1IDMuOTQyMjIgMC45MDMwNkMgNC4xOTY1MiAxLjI1NDYyIDQuMzQxNjkgMS42NzQzNiA0LjM1OTM1IDIuMTA5MTZDIDQuMzgyOTkgMi42OTEwNyA0LjE3Njc4IDMuMjU4NjkgMy43ODU5NyAzLjY4NzQ2QyAzLjM5NTE2IDQuMTE2MjQgMi44NTE2NiA0LjM3MTE2IDIuMjc0NzEgNC4zOTYyOUwgMi4yNzQ3MSA0LjM5NjI5WiIvPgogICAgPC9nPgogIDwvZz4+Cjwvc3ZnPgo=); + --jp-icon-jupyterlab-wordmark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIHZpZXdCb3g9IjAgMCAxODYwLjggNDc1Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0RTRFNEUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4MC4xMzY0MDEsIDY0LjI3MTQ5MykiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDU4Ljg3NTU2NikiPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4NzYwMywgMC4xNDAyOTQpIj4KICAgICAgICA8cGF0aCBkPSJNLTQyNi45LDE2OS44YzAsNDguNy0zLjcsNjQuNy0xMy42LDc2LjRjLTEwLjgsMTAtMjUsMTUuNS0zOS43LDE1LjVsMy43LDI5IGMyMi44LDAuMyw0NC44LTcuOSw2MS45LTIzLjFjMTcuOC0xOC41LDI0LTQ0LjEsMjQtODMuM1YwSC00Mjd2MTcwLjFMLTQyNi45LDE2OS44TC00MjYuOSwxNjkuOHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU1LjA0NTI5NiwgNTYuODM3MTA0KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNTYyNDUzLCAxLjc5OTg0MikiPgogICAgICAgIDxwYXRoIGQ9Ik0tMzEyLDE0OGMwLDIxLDAsMzkuNSwxLjcsNTUuNGgtMzEuOGwtMi4xLTMzLjNoLTAuOGMtNi43LDExLjYtMTYuNCwyMS4zLTI4LDI3LjkgYy0xMS42LDYuNi0yNC44LDEwLTM4LjIsOS44Yy0zMS40LDAtNjktMTcuNy02OS04OVYwaDM2LjR2MTEyLjdjMCwzOC43LDExLjYsNjQuNyw0NC42LDY0LjdjMTAuMy0wLjIsMjAuNC0zLjUsMjguOS05LjQgYzguNS01LjksMTUuMS0xNC4zLDE4LjktMjMuOWMyLjItNi4xLDMuMy0xMi41LDMuMy0xOC45VjAuMmgzNi40VjE0OEgtMzEyTC0zMTIsMTQ4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTAuMDEzMzIyLCA1My40Nzk2MzgpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS43MDY0NTgsIDAuMjMxNDI1KSI+CiAgICAgICAgPHBhdGggZD0iTS00NzguNiw3MS40YzAtMjYtMC44LTQ3LTEuNy02Ni43aDMyLjdsMS43LDM0LjhoMC44YzcuMS0xMi41LDE3LjUtMjIuOCwzMC4xLTI5LjcgYzEyLjUtNywyNi43LTEwLjMsNDEtOS44YzQ4LjMsMCw4NC43LDQxLjcsODQuNywxMDMuM2MwLDczLjEtNDMuNywxMDkuMi05MSwxMDkuMmMtMTIuMSwwLjUtMjQuMi0yLjItMzUtNy44IGMtMTAuOC01LjYtMTkuOS0xMy45LTI2LjYtMjQuMmgtMC44VjI5MWgtMzZ2LTIyMEwtNDc4LjYsNzEuNEwtNDc4LjYsNzEuNHogTS00NDIuNiwxMjUuNmMwLjEsNS4xLDAuNiwxMC4xLDEuNywxNS4xIGMzLDEyLjMsOS45LDIzLjMsMTkuOCwzMS4xYzkuOSw3LjgsMjIuMSwxMi4xLDM0LjcsMTIuMWMzOC41LDAsNjAuNy0zMS45LDYwLjctNzguNWMwLTQwLjctMjEuMS03NS42LTU5LjUtNzUuNiBjLTEyLjksMC40LTI1LjMsNS4xLTM1LjMsMTMuNGMtOS45LDguMy0xNi45LDE5LjctMTkuNiwzMi40Yy0xLjUsNC45LTIuMywxMC0yLjUsMTUuMVYxMjUuNkwtNDQyLjYsMTI1LjZMLTQ0Mi42LDEyNS42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDYuNzQwNzI2LCA1Ni44MzcxMDQpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC43NTEyMjYsIDEuOTg5Mjk5KSI+CiAgICAgICAgPHBhdGggZD0iTS00NDAuOCwwbDQzLjcsMTIwLjFjNC41LDEzLjQsOS41LDI5LjQsMTIuOCw0MS43aDAuOGMzLjctMTIuMiw3LjktMjcuNywxMi44LTQyLjQgbDM5LjctMTE5LjJoMzguNUwtMzQ2LjksMTQ1Yy0yNiw2OS43LTQzLjcsMTA1LjQtNjguNiwxMjcuMmMtMTIuNSwxMS43LTI3LjksMjAtNDQuNiwyMy45bC05LjEtMzEuMSBjMTEuNy0zLjksMjIuNS0xMC4xLDMxLjgtMTguMWMxMy4yLTExLjEsMjMuNy0yNS4yLDMwLjYtNDEuMmMxLjUtMi44LDIuNS01LjcsMi45LTguOGMtMC4zLTMuMy0xLjItNi42LTIuNS05LjdMLTQ4MC4yLDAuMSBoMzkuN0wtNDQwLjgsMEwtNDQwLjgsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIyLjc0ODEwNCwgMC4wMDAwMDApIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS40NjQwNTAsIDAuMzc4OTE0KSI+CiAgICAgICAgPHBhdGggZD0iTS00MTMuNywwdjU4LjNoNTJ2MjguMmgtNTJWMTk2YzAsMjUsNywzOS41LDI3LjMsMzkuNWM3LjEsMC4xLDE0LjItMC43LDIxLjEtMi41IGwxLjcsMjcuN2MtMTAuMywzLjctMjEuMyw1LjQtMzIuMiw1Yy03LjMsMC40LTE0LjYtMC43LTIxLjMtMy40Yy02LjgtMi43LTEyLjktNi44LTE3LjktMTIuMWMtMTAuMy0xMC45LTE0LjEtMjktMTQuMS01Mi45IFY4Ni41aC0zMVY1OC4zaDMxVjkuNkwtNDEzLjcsMEwtNDEzLjcsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTc0LjQzMzI4NiwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuOTkwMDM0LCAwLjYxMDMzOSkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDQ1LjgsMTEzYzAuOCw1MCwzMi4yLDcwLjYsNjguNiw3MC42YzE5LDAuNiwzNy45LTMsNTUuMy0xMC41bDYuMiwyNi40IGMtMjAuOSw4LjktNDMuNSwxMy4xLTY2LjIsMTIuNmMtNjEuNSwwLTk4LjMtNDEuMi05OC4zLTEwMi41Qy00ODAuMiw0OC4yLTQ0NC43LDAtMzg2LjUsMGM2NS4yLDAsODIuNyw1OC4zLDgyLjcsOTUuNyBjLTAuMSw1LjgtMC41LDExLjUtMS4yLDE3LjJoLTE0MC42SC00NDUuOEwtNDQ1LjgsMTEzeiBNLTMzOS4yLDg2LjZjMC40LTIzLjUtOS41LTYwLjEtNTAuNC02MC4xIGMtMzYuOCwwLTUyLjgsMzQuNC01NS43LDYwLjFILTMzOS4yTC0zMzkuMiw4Ni42TC0zMzkuMiw4Ni42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAxLjk2MTA1OCwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuMTc5NjQwLCAwLjcwNTA2OCkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDc4LjYsNjhjMC0yMy45LTAuNC00NC41LTEuNy02My40aDMxLjhsMS4yLDM5LjloMS43YzkuMS0yNy4zLDMxLTQ0LjUsNTUuMy00NC41IGMzLjUtMC4xLDcsMC40LDEwLjMsMS4ydjM0LjhjLTQuMS0wLjktOC4yLTEuMy0xMi40LTEuMmMtMjUuNiwwLTQzLjcsMTkuNy00OC43LDQ3LjRjLTEsNS43LTEuNiwxMS41LTEuNywxNy4ydjEwOC4zaC0zNlY2OCBMLTQ3OC42LDY4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCBkPSJNMTM1Mi4zLDMyNi4yaDM3VjI4aC0zN1YzMjYuMnogTTE2MDQuOCwzMjYuMmMtMi41LTEzLjktMy40LTMxLjEtMy40LTQ4Ljd2LTc2IGMwLTQwLjctMTUuMS04My4xLTc3LjMtODMuMWMtMjUuNiwwLTUwLDcuMS02Ni44LDE4LjFsOC40LDI0LjRjMTQuMy05LjIsMzQtMTUuMSw1My0xNS4xYzQxLjYsMCw0Ni4yLDMwLjIsNDYuMiw0N3Y0LjIgYy03OC42LTAuNC0xMjIuMywyNi41LTEyMi4zLDc1LjZjMCwyOS40LDIxLDU4LjQsNjIuMiw1OC40YzI5LDAsNTAuOS0xNC4zLDYyLjItMzAuMmgxLjNsMi45LDI1LjZIMTYwNC44eiBNMTU2NS43LDI1Ny43IGMwLDMuOC0wLjgsOC0yLjEsMTEuOGMtNS45LDE3LjItMjIuNywzNC00OS4yLDM0Yy0xOC45LDAtMzQuOS0xMS4zLTM0LjktMzUuM2MwLTM5LjUsNDUuOC00Ni42LDg2LjItNDUuOFYyNTcuN3ogTTE2OTguNSwzMjYuMiBsMS43LTMzLjZoMS4zYzE1LjEsMjYuOSwzOC43LDM4LjIsNjguMSwzOC4yYzQ1LjQsMCw5MS4yLTM2LjEsOTEuMi0xMDguOGMwLjQtNjEuNy0zNS4zLTEwMy43LTg1LjctMTAzLjcgYy0zMi44LDAtNTYuMywxNC43LTY5LjMsMzcuNGgtMC44VjI4aC0zNi42djI0NS43YzAsMTguMS0wLjgsMzguNi0xLjcsNTIuNUgxNjk4LjV6IE0xNzA0LjgsMjA4LjJjMC01LjksMS4zLTEwLjksMi4xLTE1LjEgYzcuNi0yOC4xLDMxLjEtNDUuNCw1Ni4zLTQ1LjRjMzkuNSwwLDYwLjUsMzQuOSw2MC41LDc1LjZjMCw0Ni42LTIzLjEsNzguMS02MS44LDc4LjFjLTI2LjksMC00OC4zLTE3LjYtNTUuNS00My4zIGMtMC44LTQuMi0xLjctOC44LTEuNy0xMy40VjIwOC4yeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzYxNjE2MSIgZD0iTTE1IDlIOXY2aDZWOXptLTIgNGgtMnYtMmgydjJ6bTgtMlY5aC0yVjdjMC0xLjEtLjktMi0yLTJoLTJWM2gtMnYyaC0yVjNIOXYySDdjLTEuMSAwLTIgLjktMiAydjJIM3YyaDJ2MkgzdjJoMnYyYzAgMS4xLjkgMiAyIDJoMnYyaDJ2LTJoMnYyaDJ2LTJoMmMxLjEgMCAyLS45IDItMnYtMmgydi0yaC0ydi0yaDJ6bS00IDZIN1Y3aDEwdjEweiIvPgo8L3N2Zz4K); + --jp-icon-keyboard: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMTdjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0tOSAzaDJ2MmgtMlY4em0wIDNoMnYyaC0ydi0yek04IDhoMnYySDhWOHptMCAzaDJ2Mkg4di0yem0tMSAySDV2LTJoMnYyem0wLTNINVY4aDJ2MnptOSA3SDh2LTJoOHYyem0wLTRoLTJ2LTJoMnYyem0wLTNoLTJWOGgydjJ6bTMgM2gtMnYtMmgydjJ6bTAtM2gtMlY4aDJ2MnoiLz4KPC9zdmc+Cg==); + --jp-icon-launcher: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMTlINVY1aDdWM0g1YTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+Cg==); + --jp-icon-line-form: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNS44OCA0LjEyTDEzLjc2IDEybC03Ljg4IDcuODhMOCAyMmwxMC0xMEw4IDJ6Ii8+Cjwvc3ZnPgo=); + --jp-icon-link: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA1djE0SDVWNWgxNG0xLjEtMkgzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xMSA3aDZ2MmgtNlY3em0wIDRoNnYyaC02di0yem0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3eiIvPgo8L3N2Zz4=); + --jp-icon-listings-info: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTAuOTc4IDUwLjk3OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTAuOTc4IDUwLjk3ODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCTxnPg0KCQkJPHBhdGggc3R5bGU9ImZpbGw6IzAxMDAwMjsiIGQ9Ik00My41Miw3LjQ1OEMzOC43MTEsMi42NDgsMzIuMzA3LDAsMjUuNDg5LDBDMTguNjcsMCwxMi4yNjYsMi42NDgsNy40NTgsNy40NTgNCgkJCQljLTkuOTQzLDkuOTQxLTkuOTQzLDI2LjExOSwwLDM2LjA2MmM0LjgwOSw0LjgwOSwxMS4yMTIsNy40NTYsMTguMDMxLDcuNDU4YzAsMCwwLjAwMSwwLDAuMDAyLDANCgkJCQljNi44MTYsMCwxMy4yMjEtMi42NDgsMTguMDI5LTcuNDU4YzQuODA5LTQuODA5LDcuNDU3LTExLjIxMiw3LjQ1Ny0xOC4wM0M1MC45NzcsMTguNjcsNDguMzI4LDEyLjI2Niw0My41Miw3LjQ1OHoNCgkJCQkgTTQyLjEwNiw0Mi4xMDVjLTQuNDMyLDQuNDMxLTEwLjMzMiw2Ljg3Mi0xNi42MTUsNi44NzJoLTAuMDAyYy02LjI4NS0wLjAwMS0xMi4xODctMi40NDEtMTYuNjE3LTYuODcyDQoJCQkJYy05LjE2Mi05LjE2My05LjE2Mi0yNC4wNzEsMC0zMy4yMzNDMTMuMzAzLDQuNDQsMTkuMjA0LDIsMjUuNDg5LDJjNi4yODQsMCwxMi4xODYsMi40NCwxNi42MTcsNi44NzINCgkJCQljNC40MzEsNC40MzEsNi44NzEsMTAuMzMyLDYuODcxLDE2LjYxN0M0OC45NzcsMzEuNzcyLDQ2LjUzNiwzNy42NzUsNDIuMTA2LDQyLjEwNXoiLz4NCgkJPC9nPg0KCQk8Zz4NCgkJCTxwYXRoIHN0eWxlPSJmaWxsOiMwMTAwMDI7IiBkPSJNMjMuNTc4LDMyLjIxOGMtMC4wMjMtMS43MzQsMC4xNDMtMy4wNTksMC40OTYtMy45NzJjMC4zNTMtMC45MTMsMS4xMS0xLjk5NywyLjI3Mi0zLjI1Mw0KCQkJCWMwLjQ2OC0wLjUzNiwwLjkyMy0xLjA2MiwxLjM2Ny0xLjU3NWMwLjYyNi0wLjc1MywxLjEwNC0xLjQ3OCwxLjQzNi0yLjE3NWMwLjMzMS0wLjcwNywwLjQ5NS0xLjU0MSwwLjQ5NS0yLjUNCgkJCQljMC0xLjA5Ni0wLjI2LTIuMDg4LTAuNzc5LTIuOTc5Yy0wLjU2NS0wLjg3OS0xLjUwMS0xLjMzNi0yLjgwNi0xLjM2OWMtMS44MDIsMC4wNTctMi45ODUsMC42NjctMy41NSwxLjgzMg0KCQkJCWMtMC4zMDEsMC41MzUtMC41MDMsMS4xNDEtMC42MDcsMS44MTRjLTAuMTM5LDAuNzA3LTAuMjA3LDEuNDMyLTAuMjA3LDIuMTc0aC0yLjkzN2MtMC4wOTEtMi4yMDgsMC40MDctNC4xMTQsMS40OTMtNS43MTkNCgkJCQljMS4wNjItMS42NCwyLjg1NS0yLjQ4MSw1LjM3OC0yLjUyN2MyLjE2LDAuMDIzLDMuODc0LDAuNjA4LDUuMTQxLDEuNzU4YzEuMjc4LDEuMTYsMS45MjksMi43NjQsMS45NSw0LjgxMQ0KCQkJCWMwLDEuMTQyLTAuMTM3LDIuMTExLTAuNDEsMi45MTFjLTAuMzA5LDAuODQ1LTAuNzMxLDEuNTkzLTEuMjY4LDIuMjQzYy0wLjQ5MiwwLjY1LTEuMDY4LDEuMzE4LTEuNzMsMi4wMDINCgkJCQljLTAuNjUsMC42OTctMS4zMTMsMS40NzktMS45ODcsMi4zNDZjLTAuMjM5LDAuMzc3LTAuNDI5LDAuNzc3LTAuNTY1LDEuMTk5Yy0wLjE2LDAuOTU5LTAuMjE3LDEuOTUxLTAuMTcxLDIuOTc5DQoJCQkJQzI2LjU4OSwzMi4yMTgsMjMuNTc4LDMyLjIxOCwyMy41NzgsMzIuMjE4eiBNMjMuNTc4LDM4LjIydi0zLjQ4NGgzLjA3NnYzLjQ4NEgyMy41Nzh6Ii8+DQoJCTwvZz4NCgk8L2c+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==); + --jp-icon-markdown: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjRsLS4zLTQuMnoiLz4KPC9zdmc+Cg==); + --jp-icon-new-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDZoLThsLTItMkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS0xIDhoLTN2M2gtMnYtM2gtM3YtMmgzVjloMnYzaDN2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-not-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMTkgMTcuMTg0NCAyLjk2OTY4IDE0LjMwMzIgMS44NjA5NCAxMS40NDA5WiIvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24yIiBzdHJva2U9IiMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4zMTU5MiA5LjMyMDMxKSIgZD0iTTcuMzY4NDIgMEwwIDcuMzY0NzkiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzE1OTIgMTYuNjgzNikgc2NhbGUoMSAtMSkiIGQ9Ik03LjM2ODQyIDBMMCA3LjM2NDc5Ii8+Cjwvc3ZnPgo=); + --jp-icon-notebook: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNFRjZDMDAiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM2gxNS40bTEuNS0xLjVIMS44djE4LjNoMTguM2wuMS0xOC4zeiIvPgogICAgPHBhdGggZD0iTTE2LjUgMTYuNWwtNS40LTQuMy01LjYgNC4zdi0xMWgxMXoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-palette: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE4IDEzVjIwSDRWNkg5LjAyQzkuMDcgNS4yOSA5LjI0IDQuNjIgOS41IDRINEMyLjkgNCAyIDQuOSAyIDZWMjBDMiAyMS4xIDIuOSAyMiA0IDIySDE4QzE5LjEgMjIgMjAgMjEuMSAyMCAyMFYxNUwxOCAxM1pNMTkuMyA4Ljg5QzE5Ljc0IDguMTkgMjAgNy4zOCAyMCA2LjVDMjAgNC4wMSAxNy45OSAyIDE1LjUgMkMxMy4wMSAyIDExIDQuMDEgMTEgNi41QzExIDguOTkgMTMuMDEgMTEgMTUuNDkgMTFDMTYuMzcgMTEgMTcuMTkgMTAuNzQgMTcuODggMTAuM0wyMSAxMy40MkwyMi40MiAxMkwxOS4zIDguODlaTTE1LjUgOUMxNC4xMiA5IDEzIDcuODggMTMgNi41QzEzIDUuMTIgMTQuMTIgNCAxNS41IDRDMTYuODggNCAxOCA1LjEyIDE4IDYuNUMxOCA3Ljg4IDE2Ljg4IDkgMTUuNSA5WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDZIOS4wMTg5NEM5LjAwNjM5IDYuMTY1MDIgOSA2LjMzMTc2IDkgNi41QzkgOC44MTU3NyAxMC4yMTEgMTAuODQ4NyAxMi4wMzQzIDEySDlWMTRIMTZWMTIuOTgxMUMxNi41NzAzIDEyLjkzNzcgMTcuMTIgMTIuODIwNyAxNy42Mzk2IDEyLjYzOTZMMTggMTNWMjBINFY2Wk04IDhINlYxMEg4VjhaTTYgMTJIOFYxNEg2VjEyWk04IDE2SDZWMThIOFYxNlpNOSAxNkgxNlYxOEg5VjE2WiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-paste: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE5IDJoLTQuMThDMTQuNC44NCAxMy4zIDAgMTIgMGMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptNyAxOEg1VjRoMnYzaDEwVjRoMnYxNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==); + --jp-icon-python: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMEQ0N0ExIj4KICAgIDxwYXRoIGQ9Ik0xMS4xIDYuOVY1LjhINi45YzAtLjUgMC0xLjMuMi0xLjYuNC0uNy44LTEuMSAxLjctMS40IDEuNy0uMyAyLjUtLjMgMy45LS4xIDEgLjEgMS45LjkgMS45IDEuOXY0LjJjMCAuNS0uOSAxLjYtMiAxLjZIOC44Yy0xLjUgMC0yLjQgMS40LTIuNCAyLjh2Mi4ySDQuN0MzLjUgMTUuMSAzIDE0IDMgMTMuMVY5Yy0uMS0xIC42LTIgMS44LTIgMS41LS4xIDYuMy0uMSA2LjMtLjF6Ii8+CiAgICA8cGF0aCBkPSJNMTAuOSAxNS4xdjEuMWg0LjJjMCAuNSAwIDEuMy0uMiAxLjYtLjQuNy0uOCAxLjEtMS43IDEuNC0xLjcuMy0yLjUuMy0zLjkuMS0xLS4xLTEuOS0uOS0xLjktMS45di00LjJjMC0uNS45LTEuNiAyLTEuNmgzLjhjMS41IDAgMi40LTEuNCAyLjQtMi44VjYuNmgxLjdDMTguNSA2LjkgMTkgOCAxOSA4LjlWMTNjMCAxLS43IDIuMS0xLjkgMi4xaC02LjJ6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-r-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjE5NkYzIiBkPSJNNC40IDIuNWMxLjItLjEgMi45LS4zIDQuOS0uMyAyLjUgMCA0LjEuNCA1LjIgMS4zIDEgLjcgMS41IDEuOSAxLjUgMy41IDAgMi0xLjQgMy41LTIuOSA0LjEgMS4yLjQgMS43IDEuNiAyLjIgMyAuNiAxLjkgMSAzLjkgMS4zIDQuNmgtMy44Yy0uMy0uNC0uOC0xLjctMS4yLTMuN3MtMS4yLTIuNi0yLjYtMi42aC0uOXY2LjRINC40VjIuNXptMy43IDYuOWgxLjRjMS45IDAgMi45LS45IDIuOS0yLjNzLTEtMi4zLTIuOC0yLjNjLS43IDAtMS4zIDAtMS42LjJ2NC41aC4xdi0uMXoiLz4KPC9zdmc+Cg==); + --jp-icon-react: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMTUwIDE1MCA1NDEuOSAyOTUuMyI+CiAgPGcgY2xhc3M9ImpwLWljb24tYnJhbmQyIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxREFGQiI+CiAgICA8cGF0aCBkPSJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM3ptLTEzMC4yLTY2LjdjLTMuNyAxMi45LTguMyAyNi4yLTEzLjUgMzkuNS00LjEtOC04LjQtMTYtMTMuMS0yNC00LjYtOC05LjUtMTUuOC0xNC40LTIzLjQgMTQuMiAyLjEgMjcuOSA0LjcgNDEgNy45em0tNDUuOCAxMDYuNWMtNy44IDEzLjUtMTUuOCAyNi4zLTI0LjEgMzguMi0xNC45IDEuMy0zMCAyLTQ1LjIgMi0xNS4xIDAtMzAuMi0uNy00NS0xLjktOC4zLTExLjktMTYuNC0yNC42LTI0LjItMzgtNy42LTEzLjEtMTQuNS0yNi40LTIwLjgtMzkuOCA2LjItMTMuNCAxMy4yLTI2LjggMjAuNy0zOS45IDcuOC0xMy41IDE1LjgtMjYuMyAyNC4xLTM4LjIgMTQuOS0xLjMgMzAtMiA0NS4yLTIgMTUuMSAwIDMwLjIuNyA0NSAxLjkgOC4zIDExLjkgMTYuNCAyNC42IDI0LjIgMzggNy42IDEzLjEgMTQuNSAyNi40IDIwLjggMzkuOC02LjMgMTMuNC0xMy4yIDI2LjgtMjAuNyAzOS45em0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xek00MjEuMiA0MzBjLTkuMy05LjYtMTguNi0yMC4zLTI3LjgtMzIgOSAuNCAxOC4yLjcgMjcuNS43IDkuNCAwIDE4LjctLjIgMjcuOC0uNy05IDExLjctMTguMyAyMi40LTI3LjUgMzJ6bS03NC40LTU4LjljLTE0LjItMi4xLTI3LjktNC43LTQxLTcuOSAzLjctMTIuOSA4LjMtMjYuMiAxMy41LTM5LjUgNC4xIDggOC40IDE2IDEzLjEgMjQgNC43IDggOS41IDE1LjggMTQuNCAyMy40ek00MjAuNyAxNjNjOS4zIDkuNiAxOC42IDIwLjMgMjcuOCAzMi05LS40LTE4LjItLjctMjcuNS0uNy05LjQgMC0xOC43LjItMjcuOC43IDktMTEuNyAxOC4zLTIyLjQgMjcuNS0zMnptLTc0IDU4LjljLTQuOSA3LjctOS44IDE1LjYtMTQuNCAyMy43LTQuNiA4LTguOSAxNi0xMyAyNC01LjQtMTMuNC0xMC0yNi44LTEzLjgtMzkuOCAxMy4xLTMuMSAyNi45LTUuOCA0MS4yLTcuOXptLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42IDAtMTUuNyAyMi45LTM1LjYgNTguMy01MC42IDguNi0zLjcgMTgtNyAyNy43LTEwLjEgNS43IDE5LjYgMTMuMiA0MCAyMi41IDYwLjktOS4yIDIwLjgtMTYuNiA0MS4xLTIyLjIgNjAuNi05LjktMy4xLTE5LjMtNi41LTI4LTEwLjJ6TTMxMCA0OTBjLTEzLjYtNy44LTE5LjUtMzcuNS0xNC45LTc1LjcgMS4xLTkuNCAyLjktMTkuMyA1LjEtMjkuNCAxOS42IDQuOCA0MSA4LjUgNjMuNSAxMC45IDEzLjUgMTguNSAyNy41IDM1LjMgNDEuNiA1MC0zMi42IDMwLjMtNjMuMiA0Ni45LTg0IDQ2LjktNC41LS4xLTguMy0xLTExLjMtMi43em0yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xem0zOC41LTY2LjdjLTguNiAzLjctMTggNy0yNy43IDEwLjEtNS43LTE5LjYtMTMuMi00MC0yMi41LTYwLjkgOS4yLTIwLjggMTYuNi00MS4xIDIyLjItNjAuNiA5LjkgMy4xIDE5LjMgNi41IDI4LjEgMTAuMiAzNS40IDE1LjEgNTguMyAzNC45IDU4LjMgNTAuNi0uMSAxNS43LTIzIDM1LjYtNTguNCA1MC42ek0zMjAuOCA3OC40eiIvPgogICAgPGNpcmNsZSBjeD0iNDIwLjkiIGN5PSIyOTYuNSIgcj0iNDUuNyIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-refresh: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTkgMTMuNWMtMi40OSAwLTQuNS0yLjAxLTQuNS00LjVTNi41MSA0LjUgOSA0LjVjMS4yNCAwIDIuMzYuNTIgMy4xNyAxLjMzTDEwIDhoNVYzbC0xLjc2IDEuNzZDMTIuMTUgMy42OCAxMC42NiAzIDkgMyA1LjY5IDMgMy4wMSA1LjY5IDMuMDEgOVM1LjY5IDE1IDkgMTVjMi45NyAwIDUuNDMtMi4xNiA1LjktNWgtMS41MmMtLjQ2IDItMi4yNCAzLjUtNC4zOCAzLjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-regex: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiBmaWxsPSIjRkZGIj4KICAgIDxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjUuNSIgY3k9IjE0LjUiIHI9IjEuNSIvPgogICAgPHJlY3QgeD0iMTIiIHk9IjQiIGNsYXNzPSJzdDIiIHdpZHRoPSIxIiBoZWlnaHQ9IjgiLz4KICAgIDxyZWN0IHg9IjguNSIgeT0iNy41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg2NiAtMC41IDAuNSAwLjg2NiAtMi4zMjU1IDcuMzIxOSkiIGNsYXNzPSJzdDIiIHdpZHRoPSI4IiBoZWlnaHQ9IjEiLz4KICAgIDxyZWN0IHg9IjEyIiB5PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjUgLTAuODY2IDAuODY2IDAuNSAtMC42Nzc5IDE0LjgyNTIpIiBjbGFzcz0ic3QyIiB3aWR0aD0iMSIgaGVpZ2h0PSI4Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-run: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTggNXYxNGwxMS03eiIvPgogICAgPC9nPgo8L3N2Zz4K); + --jp-icon-running: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptOTYgMzI4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYweiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-save: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiIvPgogICAgPC9nPgo8L3N2Zz4K); + --jp-icon-search: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-settings: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVBLjQ4OC40ODggMCAwMDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NGwtMi4xMS0xLjY1ek0xMiAxNS41Yy0xLjkzIDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSAzLjUtMy41IDMuNSAxLjU3IDMuNSAzLjUtMS41NyAzLjUtMy41IDMuNXoiLz4KPC9zdmc+Cg==); + --jp-icon-spreadsheet: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNENBRjUwIiBkPSJNMi4yIDIuMnYxNy42aDE3LjZWMi4ySDIuMnptMTUuNCA3LjdoLTUuNVY0LjRoNS41djUuNXpNOS45IDQuNHY1LjVINC40VjQuNGg1LjV6bS01LjUgNy43aDUuNXY1LjVINC40di01LjV6bTcuNyA1LjV2LTUuNWg1LjV2NS41aC01LjV6Ii8+Cjwvc3ZnPgo=); + --jp-icon-stop: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik02IDZoMTJ2MTJINnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==); + --jp-icon-tab: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIxIDNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDNWNWgxMHY0aDh2MTB6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-terminal: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiA+CiAgICA8cmVjdCBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiIGZpbGw9IiMzMzMzMzMiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uLWFjY2VudDIganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGQ9Ik01LjA1NjY0IDguNzYxNzJDNS4wNTY2NCA4LjU5NzY2IDUuMDMxMjUgOC40NTMxMiA0Ljk4MDQ3IDguMzI4MTJDNC45MzM1OSA4LjE5OTIyIDQuODU1NDcgOC4wODIwMyA0Ljc0NjA5IDcuOTc2NTZDNC42NDA2MiA3Ljg3MTA5IDQuNSA3Ljc3NTM5IDQuMzI0MjIgNy42ODk0NUM0LjE1MjM0IDcuNTk5NjEgMy45NDMzNiA3LjUxMTcyIDMuNjk3MjcgNy40MjU3OEMzLjMwMjczIDcuMjg1MTYgMi45NDMzNiA3LjEzNjcyIDIuNjE5MTQgNi45ODA0N0MyLjI5NDkyIDYuODI0MjIgMi4wMTc1OCA2LjY0MjU4IDEuNzg3MTEgNi40MzU1NUMxLjU2MDU1IDYuMjI4NTIgMS4zODQ3NyA1Ljk4ODI4IDEuMjU5NzcgNS43MTQ4NEMxLjEzNDc3IDUuNDM3NSAxLjA3MjI3IDUuMTA5MzggMS4wNzIyNyA0LjczMDQ3QzEuMDcyMjcgNC4zOTg0NCAxLjEyODkxIDQuMDk1NyAxLjI0MjE5IDMuODIyMjdDMS4zNTU0NyAzLjU0NDkyIDEuNTE1NjIgMy4zMDQ2OSAxLjcyMjY2IDMuMTAxNTZDMS45Mjk2OSAyLjg5ODQ0IDIuMTc5NjkgMi43MzQzNyAyLjQ3MjY2IDIuNjA5MzhDMi43NjU2MiAyLjQ4NDM4IDMuMDkxOCAyLjQwNDMgMy40NTExNyAyLjM2OTE0VjEuMTA5MzhINC4zODg2N1YyLjM4MDg2QzQuNzQwMjMgMi40Mjc3MyA1LjA1NjY0IDIuNTIzNDQgNS4zMzc4OSAyLjY2Nzk3QzUuNjE5MTQgMi44MTI1IDUuODU3NDIgMy4wMDE5NSA2LjA1MjczIDMuMjM2MzNDNi4yNTE5NSAzLjQ2NjggNi40MDQzIDMuNzQwMjMgNi41MDk3NyA0LjA1NjY0QzYuNjE5MTQgNC4zNjkxNCA2LjY3MzgzIDQuNzIwNyA2LjY3MzgzIDUuMTExMzNINS4wNDQ5MkM1LjA0NDkyIDQuNjM4NjcgNC45Mzc1IDQuMjgxMjUgNC43MjI2NiA0LjAzOTA2QzQuNTA3ODEgMy43OTI5NyA0LjIxNjggMy42Njk5MiAzLjg0OTYxIDMuNjY5OTJDMy42NTAzOSAzLjY2OTkyIDMuNDc2NTYgMy42OTcyNyAzLjMyODEyIDMuNzUxOTVDMy4xODM1OSAzLjgwMjczIDMuMDY0NDUgMy44NzY5NSAyLjk3MDcgMy45NzQ2MUMyLjg3Njk1IDQuMDY4MzYgMi44MDY2NCA0LjE3OTY5IDIuNzU5NzcgNC4zMDg1OUMyLjcxNjggNC40Mzc1IDIuNjk1MzEgNC41NzgxMiAyLjY5NTMxIDQuNzMwNDdDMi42OTUzMSA0Ljg4MjgxIDIuNzE2OCA1LjAxOTUzIDIuNzU5NzcgNS4xNDA2MkMyLjgwNjY0IDUuMjU3ODEgMi44ODI4MSA1LjM2NzE5IDIuOTg4MjggNS40Njg3NUMzLjA5NzY2IDUuNTcwMzEgMy4yNDAyMyA1LjY2Nzk3IDMuNDE2MDIgNS43NjE3MkMzLjU5MTggNS44NTE1NiAzLjgxMDU1IDUuOTQzMzYgNC4wNzIyNyA2LjAzNzExQzQuNDY2OCA2LjE4NTU1IDQuODI0MjIgNi4zMzk4NCA1LjE0NDUzIDYuNUM1LjQ2NDg0IDYuNjU2MjUgNS43MzgyOCA2LjgzOTg0IDUuOTY0ODQgNy4wNTA3OEM2LjE5NTMxIDcuMjU3ODEgNi4zNzEwOSA3LjUgNi40OTIxOSA3Ljc3NzM0QzYuNjE3MTkgOC4wNTA3OCA2LjY3OTY5IDguMzc1IDYuNjc5NjkgOC43NUM2LjY3OTY5IDkuMDkzNzUgNi42MjMwNSA5LjQwNDMgNi41MDk3NyA5LjY4MTY0QzYuMzk2NDggOS45NTUwOCA2LjIzNDM4IDEwLjE5MTQgNi4wMjM0NCAxMC4zOTA2QzUuODEyNSAxMC41ODk4IDUuNTU4NTkgMTAuNzUgNS4yNjE3MiAxMC44NzExQzQuOTY0ODQgMTAuOTg4MyA0LjYzMjgxIDExLjA2NDUgNC4yNjU2MiAxMS4wOTk2VjEyLjI0OEgzLjMzMzk4VjExLjA5OTZDMy4wMDE5NSAxMS4wNjg0IDIuNjc5NjkgMTAuOTk2MSAyLjM2NzE5IDEwLjg4MjhDMi4wNTQ2OSAxMC43NjU2IDEuNzc3MzQgMTAuNTk3NyAxLjUzNTE2IDEwLjM3ODlDMS4yOTY4OCAxMC4xNjAyIDEuMTA1NDcgOS44ODQ3NyAwLjk2MDkzOCA5LjU1MjczQzAuODE2NDA2IDkuMjE2OCAwLjc0NDE0MSA4LjgxNDQ1IDAuNzQ0MTQxIDguMzQ1N0gyLjM3ODkxQzIuMzc4OTEgOC42MjY5NSAyLjQxOTkyIDguODYzMjggMi41MDE5NSA5LjA1NDY5QzIuNTgzOTggOS4yNDIxOSAyLjY4OTQ1IDkuMzkyNTggMi44MTgzNiA5LjUwNTg2QzIuOTUxMTcgOS42MTUyMyAzLjEwMTU2IDkuNjkzMzYgMy4yNjk1MyA5Ljc0MDIzQzMuNDM3NSA5Ljc4NzExIDMuNjA5MzggOS44MTA1NSAzLjc4NTE2IDkuODEwNTVDNC4yMDMxMiA5LjgxMDU1IDQuNTE5NTMgOS43MTI4OSA0LjczNDM4IDkuNTE3NThDNC45NDkyMiA5LjMyMjI3IDUuMDU2NjQgOS4wNzAzMSA1LjA1NjY0IDguNzYxNzJaTTEzLjQxOCAxMi4yNzE1SDguMDc0MjJWMTFIMTMuNDE4VjEyLjI3MTVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjk1MjY0IDYpIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K); + --jp-icon-text-editor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTUgMTVIM3YyaDEydi0yem0wLThIM3YyaDEyVjd6TTMgMTNoMTh2LTJIM3Yyem0wIDhoMTh2LTJIM3Yyek0zIDN2MmgxOFYzSDN6Ii8+Cjwvc3ZnPgo=); + --jp-icon-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMiAxNy4xODQ0IDIuOTY5NjggMTQuMzAzMiAxLjg2MDk0IDExLjQ0MDlaIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiMzMzMzMzMiIHN0cm9rZT0iIzMzMzMzMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA5Ljg2NzE5KSIgZD0iTTIuODYwMTUgNC44NjUzNUwwLjcyNjU0OSAyLjk5OTU5TDAgMy42MzA0NUwyLjg2MDE1IDYuMTMxNTdMOCAwLjYzMDg3Mkw3LjI3ODU3IDBMMi44NjAxNSA0Ljg2NTM1WiIvPgo8L3N2Zz4K); + --jp-icon-undo: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjUgOGMtMi42NSAwLTUuMDUuOTktNi45IDIuNkwyIDd2OWg5bC0zLjYyLTMuNjJjMS4zOS0xLjE2IDMuMTYtMS44OCA1LjEyLTEuODggMy41NCAwIDYuNTUgMi4zMSA3LjYgNS41bDIuMzctLjc4QzIxLjA4IDExLjAzIDE3LjE1IDggMTIuNSA4eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-vega: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjEyMTIxIj4KICAgIDxwYXRoIGQ9Ik0xMC42IDUuNGwyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJNMTUuOCAyLjJsLTQuNCA2LjZMNyA2LjNsLTQuOCA4djUuNWgxNy42VjIuMmgtNHptLTcgMTUuNEg1LjV2LTQuNGgzLjN2NC40em00LjQgMEg5LjhWOS44aDMuNHY3Ljh6bTQuNCAwaC0zLjRWNi41aDMuNHYxMS4xeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-yaml: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjRDgxQjYwIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjVsLTIuOS0uMXoiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxNi41IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxMSIgcj0iMi4xIi8+CiAgPC9nPgo8L3N2Zz4K); +} + +/* Icon CSS class declarations */ + +.jp-AddIcon { + background-image: var(--jp-icon-add); +} +.jp-BugIcon { + background-image: var(--jp-icon-bug); +} +.jp-BuildIcon { + background-image: var(--jp-icon-build); +} +.jp-CaretDownEmptyIcon { + background-image: var(--jp-icon-caret-down-empty); +} +.jp-CaretDownEmptyThinIcon { + background-image: var(--jp-icon-caret-down-empty-thin); +} +.jp-CaretDownIcon { + background-image: var(--jp-icon-caret-down); +} +.jp-CaretLeftIcon { + background-image: var(--jp-icon-caret-left); +} +.jp-CaretRightIcon { + background-image: var(--jp-icon-caret-right); +} +.jp-CaretUpEmptyThinIcon { + background-image: var(--jp-icon-caret-up-empty-thin); +} +.jp-CaretUpIcon { + background-image: var(--jp-icon-caret-up); +} +.jp-CaseSensitiveIcon { + background-image: var(--jp-icon-case-sensitive); +} +.jp-CheckIcon { + background-image: var(--jp-icon-check); +} +.jp-CircleEmptyIcon { + background-image: var(--jp-icon-circle-empty); +} +.jp-CircleIcon { + background-image: var(--jp-icon-circle); +} +.jp-ClearIcon { + background-image: var(--jp-icon-clear); +} +.jp-CloseIcon { + background-image: var(--jp-icon-close); +} +.jp-ConsoleIcon { + background-image: var(--jp-icon-console); +} +.jp-CopyIcon { + background-image: var(--jp-icon-copy); +} +.jp-CutIcon { + background-image: var(--jp-icon-cut); +} +.jp-DownloadIcon { + background-image: var(--jp-icon-download); +} +.jp-EditIcon { + background-image: var(--jp-icon-edit); +} +.jp-EllipsesIcon { + background-image: var(--jp-icon-ellipses); +} +.jp-ExtensionIcon { + background-image: var(--jp-icon-extension); +} +.jp-FastForwardIcon { + background-image: var(--jp-icon-fast-forward); +} +.jp-FileIcon { + background-image: var(--jp-icon-file); +} +.jp-FileUploadIcon { + background-image: var(--jp-icon-file-upload); +} +.jp-FilterListIcon { + background-image: var(--jp-icon-filter-list); +} +.jp-FolderIcon { + background-image: var(--jp-icon-folder); +} +.jp-Html5Icon { + background-image: var(--jp-icon-html5); +} +.jp-ImageIcon { + background-image: var(--jp-icon-image); +} +.jp-InspectorIcon { + background-image: var(--jp-icon-inspector); +} +.jp-JsonIcon { + background-image: var(--jp-icon-json); +} +.jp-JupyterFaviconIcon { + background-image: var(--jp-icon-jupyter-favicon); +} +.jp-JupyterIcon { + background-image: var(--jp-icon-jupyter); +} +.jp-JupyterlabWordmarkIcon { + background-image: var(--jp-icon-jupyterlab-wordmark); +} +.jp-KernelIcon { + background-image: var(--jp-icon-kernel); +} +.jp-KeyboardIcon { + background-image: var(--jp-icon-keyboard); +} +.jp-LauncherIcon { + background-image: var(--jp-icon-launcher); +} +.jp-LineFormIcon { + background-image: var(--jp-icon-line-form); +} +.jp-LinkIcon { + background-image: var(--jp-icon-link); +} +.jp-ListIcon { + background-image: var(--jp-icon-list); +} +.jp-ListingsInfoIcon { + background-image: var(--jp-icon-listings-info); +} +.jp-MarkdownIcon { + background-image: var(--jp-icon-markdown); +} +.jp-NewFolderIcon { + background-image: var(--jp-icon-new-folder); +} +.jp-NotTrustedIcon { + background-image: var(--jp-icon-not-trusted); +} +.jp-NotebookIcon { + background-image: var(--jp-icon-notebook); +} +.jp-PaletteIcon { + background-image: var(--jp-icon-palette); +} +.jp-PasteIcon { + background-image: var(--jp-icon-paste); +} +.jp-PythonIcon { + background-image: var(--jp-icon-python); +} +.jp-RKernelIcon { + background-image: var(--jp-icon-r-kernel); +} +.jp-ReactIcon { + background-image: var(--jp-icon-react); +} +.jp-RefreshIcon { + background-image: var(--jp-icon-refresh); +} +.jp-RegexIcon { + background-image: var(--jp-icon-regex); +} +.jp-RunIcon { + background-image: var(--jp-icon-run); +} +.jp-RunningIcon { + background-image: var(--jp-icon-running); +} +.jp-SaveIcon { + background-image: var(--jp-icon-save); +} +.jp-SearchIcon { + background-image: var(--jp-icon-search); +} +.jp-SettingsIcon { + background-image: var(--jp-icon-settings); +} +.jp-SpreadsheetIcon { + background-image: var(--jp-icon-spreadsheet); +} +.jp-StopIcon { + background-image: var(--jp-icon-stop); +} +.jp-TabIcon { + background-image: var(--jp-icon-tab); +} +.jp-TerminalIcon { + background-image: var(--jp-icon-terminal); +} +.jp-TextEditorIcon { + background-image: var(--jp-icon-text-editor); +} +.jp-TrustedIcon { + background-image: var(--jp-icon-trusted); +} +.jp-UndoIcon { + background-image: var(--jp-icon-undo); +} +.jp-VegaIcon { + background-image: var(--jp-icon-vega); +} +.jp-YamlIcon { + background-image: var(--jp-icon-yaml); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/** + * (DEPRECATED) Support for consuming icons as CSS background images + */ + +:root { + --jp-icon-search-white: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==); +} + +.jp-Icon, +.jp-MaterialIcon { + background-position: center; + background-repeat: no-repeat; + background-size: 16px; + min-width: 16px; + min-height: 16px; +} + +.jp-Icon-cover { + background-position: center; + background-repeat: no-repeat; + background-size: cover; +} + +/** + * (DEPRECATED) Support for specific CSS icon sizes + */ + +.jp-Icon-16 { + background-size: 16px; + min-width: 16px; + min-height: 16px; +} + +.jp-Icon-18 { + background-size: 18px; + min-width: 18px; + min-height: 18px; +} + +.jp-Icon-20 { + background-size: 20px; + min-width: 20px; + min-height: 20px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/** + * Support for icons as inline SVG HTMLElements + */ + +/* recolor the primary elements of an icon */ +.jp-icon0[fill] { + fill: var(--jp-inverse-layout-color0); +} +.jp-icon1[fill] { + fill: var(--jp-inverse-layout-color1); +} +.jp-icon2[fill] { + fill: var(--jp-inverse-layout-color2); +} +.jp-icon3[fill] { + fill: var(--jp-inverse-layout-color3); +} +.jp-icon4[fill] { + fill: var(--jp-inverse-layout-color4); +} + +.jp-icon0[stroke] { + stroke: var(--jp-inverse-layout-color0); +} +.jp-icon1[stroke] { + stroke: var(--jp-inverse-layout-color1); +} +.jp-icon2[stroke] { + stroke: var(--jp-inverse-layout-color2); +} +.jp-icon3[stroke] { + stroke: var(--jp-inverse-layout-color3); +} +.jp-icon4[stroke] { + stroke: var(--jp-inverse-layout-color4); +} +/* recolor the accent elements of an icon */ +.jp-icon-accent0[fill] { + fill: var(--jp-layout-color0); +} +.jp-icon-accent1[fill] { + fill: var(--jp-layout-color1); +} +.jp-icon-accent2[fill] { + fill: var(--jp-layout-color2); +} +.jp-icon-accent3[fill] { + fill: var(--jp-layout-color3); +} +.jp-icon-accent4[fill] { + fill: var(--jp-layout-color4); +} + +.jp-icon-accent0[stroke] { + stroke: var(--jp-layout-color0); +} +.jp-icon-accent1[stroke] { + stroke: var(--jp-layout-color1); +} +.jp-icon-accent2[stroke] { + stroke: var(--jp-layout-color2); +} +.jp-icon-accent3[stroke] { + stroke: var(--jp-layout-color3); +} +.jp-icon-accent4[stroke] { + stroke: var(--jp-layout-color4); +} +/* set the color of an icon to transparent */ +.jp-icon-none[fill] { + fill: none; +} + +.jp-icon-none[stroke] { + stroke: none; +} +/* brand icon colors. Same for light and dark */ +.jp-icon-brand0[fill] { + fill: var(--jp-brand-color0); +} +.jp-icon-brand1[fill] { + fill: var(--jp-brand-color1); +} +.jp-icon-brand2[fill] { + fill: var(--jp-brand-color2); +} +.jp-icon-brand3[fill] { + fill: var(--jp-brand-color3); +} +.jp-icon-brand4[fill] { + fill: var(--jp-brand-color4); +} + +.jp-icon-brand0[stroke] { + stroke: var(--jp-brand-color0); +} +.jp-icon-brand1[stroke] { + stroke: var(--jp-brand-color1); +} +.jp-icon-brand2[stroke] { + stroke: var(--jp-brand-color2); +} +.jp-icon-brand3[stroke] { + stroke: var(--jp-brand-color3); +} +.jp-icon-brand4[stroke] { + stroke: var(--jp-brand-color4); +} +/* warn icon colors. Same for light and dark */ +.jp-icon-warn0[fill] { + fill: var(--jp-warn-color0); +} +.jp-icon-warn1[fill] { + fill: var(--jp-warn-color1); +} +.jp-icon-warn2[fill] { + fill: var(--jp-warn-color2); +} +.jp-icon-warn3[fill] { + fill: var(--jp-warn-color3); +} + +.jp-icon-warn0[stroke] { + stroke: var(--jp-warn-color0); +} +.jp-icon-warn1[stroke] { + stroke: var(--jp-warn-color1); +} +.jp-icon-warn2[stroke] { + stroke: var(--jp-warn-color2); +} +.jp-icon-warn3[stroke] { + stroke: var(--jp-warn-color3); +} +/* icon colors that contrast well with each other and most backgrounds */ +.jp-icon-contrast0[fill] { + fill: var(--jp-icon-contrast-color0); +} +.jp-icon-contrast1[fill] { + fill: var(--jp-icon-contrast-color1); +} +.jp-icon-contrast2[fill] { + fill: var(--jp-icon-contrast-color2); +} +.jp-icon-contrast3[fill] { + fill: var(--jp-icon-contrast-color3); +} + +.jp-icon-contrast0[stroke] { + stroke: var(--jp-icon-contrast-color0); +} +.jp-icon-contrast1[stroke] { + stroke: var(--jp-icon-contrast-color1); +} +.jp-icon-contrast2[stroke] { + stroke: var(--jp-icon-contrast-color2); +} +.jp-icon-contrast3[stroke] { + stroke: var(--jp-icon-contrast-color3); +} + +/* CSS for icons in selected items in the settings editor */ +#setting-editor .jp-PluginList .jp-mod-selected .jp-icon-selectable[fill] { + fill: #fff; +} +#setting-editor + .jp-PluginList + .jp-mod-selected + .jp-icon-selectable-inverse[fill] { + fill: var(--jp-brand-color1); +} + +/* CSS for icons in selected filebrowser listing items */ +.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] { + fill: #fff; +} +.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] { + fill: var(--jp-brand-color1); +} + +/* CSS for icons in selected tabs in the sidebar tab manager */ +#tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-selectable[fill] { + fill: #fff; +} + +#tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-selectable-inverse[fill] { + fill: var(--jp-brand-color1); +} +#tab-manager + .lm-TabBar-tab.jp-mod-active + .jp-icon-hover + :hover + .jp-icon-selectable[fill] { + fill: var(--jp-brand-color1); +} + +#tab-manager + .lm-TabBar-tab.jp-mod-active + .jp-icon-hover + :hover + .jp-icon-selectable-inverse[fill] { + fill: #fff; +} + +/** + * TODO: come up with non css-hack solution for showing the busy icon on top + * of the close icon + * CSS for complex behavior of close icon of tabs in the sidebar tab manager + */ +#tab-manager + .lm-TabBar-tab.jp-mod-dirty + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon3[fill] { + fill: none; +} +#tab-manager + .lm-TabBar-tab.jp-mod-dirty + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon-busy[fill] { + fill: var(--jp-inverse-layout-color3); +} + +#tab-manager + .lm-TabBar-tab.jp-mod-dirty.jp-mod-active + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon-busy[fill] { + fill: #fff; +} + +/** +* TODO: come up with non css-hack solution for showing the busy icon on top +* of the close icon +* CSS for complex behavior of close icon of tabs in the main area tabbar +*/ +.lm-DockPanel-tabBar + .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon3[fill] { + fill: none; +} +.lm-DockPanel-tabBar + .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon-busy[fill] { + fill: var(--jp-inverse-layout-color3); +} + +/* CSS for icons in status bar */ +#jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] { + fill: #fff; +} + +#jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] { + fill: var(--jp-brand-color1); +} +/* special handling for splash icon CSS. While the theme CSS reloads during + splash, the splash icon can loose theming. To prevent that, we set a + default for its color variable */ +:root { + --jp-warn-color0: var(--md-orange-700); +} + +/* not sure what to do with this one, used in filebrowser listing */ +.jp-DragIcon { + margin-right: 4px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/** + * Support for alt colors for icons as inline SVG HTMLElements + */ + +/* alt recolor the primary elements of an icon */ +.jp-icon-alt .jp-icon0[fill] { + fill: var(--jp-layout-color0); +} +.jp-icon-alt .jp-icon1[fill] { + fill: var(--jp-layout-color1); +} +.jp-icon-alt .jp-icon2[fill] { + fill: var(--jp-layout-color2); +} +.jp-icon-alt .jp-icon3[fill] { + fill: var(--jp-layout-color3); +} +.jp-icon-alt .jp-icon4[fill] { + fill: var(--jp-layout-color4); +} + +.jp-icon-alt .jp-icon0[stroke] { + stroke: var(--jp-layout-color0); +} +.jp-icon-alt .jp-icon1[stroke] { + stroke: var(--jp-layout-color1); +} +.jp-icon-alt .jp-icon2[stroke] { + stroke: var(--jp-layout-color2); +} +.jp-icon-alt .jp-icon3[stroke] { + stroke: var(--jp-layout-color3); +} +.jp-icon-alt .jp-icon4[stroke] { + stroke: var(--jp-layout-color4); +} + +/* alt recolor the accent elements of an icon */ +.jp-icon-alt .jp-icon-accent0[fill] { + fill: var(--jp-inverse-layout-color0); +} +.jp-icon-alt .jp-icon-accent1[fill] { + fill: var(--jp-inverse-layout-color1); +} +.jp-icon-alt .jp-icon-accent2[fill] { + fill: var(--jp-inverse-layout-color2); +} +.jp-icon-alt .jp-icon-accent3[fill] { + fill: var(--jp-inverse-layout-color3); +} +.jp-icon-alt .jp-icon-accent4[fill] { + fill: var(--jp-inverse-layout-color4); +} + +.jp-icon-alt .jp-icon-accent0[stroke] { + stroke: var(--jp-inverse-layout-color0); +} +.jp-icon-alt .jp-icon-accent1[stroke] { + stroke: var(--jp-inverse-layout-color1); +} +.jp-icon-alt .jp-icon-accent2[stroke] { + stroke: var(--jp-inverse-layout-color2); +} +.jp-icon-alt .jp-icon-accent3[stroke] { + stroke: var(--jp-inverse-layout-color3); +} +.jp-icon-alt .jp-icon-accent4[stroke] { + stroke: var(--jp-inverse-layout-color4); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-icon-hoverShow:not(:hover) svg { + display: none !important; +} + +/** + * Support for hover colors for icons as inline SVG HTMLElements + */ + +/** + * regular colors + */ + +/* recolor the primary elements of an icon */ +.jp-icon-hover :hover .jp-icon0-hover[fill] { + fill: var(--jp-inverse-layout-color0); +} +.jp-icon-hover :hover .jp-icon1-hover[fill] { + fill: var(--jp-inverse-layout-color1); +} +.jp-icon-hover :hover .jp-icon2-hover[fill] { + fill: var(--jp-inverse-layout-color2); +} +.jp-icon-hover :hover .jp-icon3-hover[fill] { + fill: var(--jp-inverse-layout-color3); +} +.jp-icon-hover :hover .jp-icon4-hover[fill] { + fill: var(--jp-inverse-layout-color4); +} + +.jp-icon-hover :hover .jp-icon0-hover[stroke] { + stroke: var(--jp-inverse-layout-color0); +} +.jp-icon-hover :hover .jp-icon1-hover[stroke] { + stroke: var(--jp-inverse-layout-color1); +} +.jp-icon-hover :hover .jp-icon2-hover[stroke] { + stroke: var(--jp-inverse-layout-color2); +} +.jp-icon-hover :hover .jp-icon3-hover[stroke] { + stroke: var(--jp-inverse-layout-color3); +} +.jp-icon-hover :hover .jp-icon4-hover[stroke] { + stroke: var(--jp-inverse-layout-color4); +} + +/* recolor the accent elements of an icon */ +.jp-icon-hover :hover .jp-icon-accent0-hover[fill] { + fill: var(--jp-layout-color0); +} +.jp-icon-hover :hover .jp-icon-accent1-hover[fill] { + fill: var(--jp-layout-color1); +} +.jp-icon-hover :hover .jp-icon-accent2-hover[fill] { + fill: var(--jp-layout-color2); +} +.jp-icon-hover :hover .jp-icon-accent3-hover[fill] { + fill: var(--jp-layout-color3); +} +.jp-icon-hover :hover .jp-icon-accent4-hover[fill] { + fill: var(--jp-layout-color4); +} + +.jp-icon-hover :hover .jp-icon-accent0-hover[stroke] { + stroke: var(--jp-layout-color0); +} +.jp-icon-hover :hover .jp-icon-accent1-hover[stroke] { + stroke: var(--jp-layout-color1); +} +.jp-icon-hover :hover .jp-icon-accent2-hover[stroke] { + stroke: var(--jp-layout-color2); +} +.jp-icon-hover :hover .jp-icon-accent3-hover[stroke] { + stroke: var(--jp-layout-color3); +} +.jp-icon-hover :hover .jp-icon-accent4-hover[stroke] { + stroke: var(--jp-layout-color4); +} + +/* set the color of an icon to transparent */ +.jp-icon-hover :hover .jp-icon-none-hover[fill] { + fill: none; +} + +.jp-icon-hover :hover .jp-icon-none-hover[stroke] { + stroke: none; +} + +/** + * inverse colors + */ + +/* inverse recolor the primary elements of an icon */ +.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] { + fill: var(--jp-layout-color0); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] { + fill: var(--jp-layout-color1); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] { + fill: var(--jp-layout-color2); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] { + fill: var(--jp-layout-color3); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] { + fill: var(--jp-layout-color4); +} + +.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] { + stroke: var(--jp-layout-color0); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] { + stroke: var(--jp-layout-color1); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] { + stroke: var(--jp-layout-color2); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] { + stroke: var(--jp-layout-color3); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] { + stroke: var(--jp-layout-color4); +} + +/* inverse recolor the accent elements of an icon */ +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] { + fill: var(--jp-inverse-layout-color0); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] { + fill: var(--jp-inverse-layout-color1); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] { + fill: var(--jp-inverse-layout-color2); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] { + fill: var(--jp-inverse-layout-color3); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] { + fill: var(--jp-inverse-layout-color4); +} + +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] { + stroke: var(--jp-inverse-layout-color0); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] { + stroke: var(--jp-inverse-layout-color1); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] { + stroke: var(--jp-inverse-layout-color2); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] { + stroke: var(--jp-inverse-layout-color3); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] { + stroke: var(--jp-inverse-layout-color4); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* Sibling imports */ + +/* Override Blueprint's _reset.scss styles */ +html { + box-sizing: unset; +} + +*, +*::before, +*::after { + box-sizing: unset; +} + +body { + color: unset; + font-family: var(--jp-ui-font-family); +} + +p { + margin-top: unset; + margin-bottom: unset; +} + +small { + font-size: unset; +} + +strong { + font-weight: unset; +} + +/* Override Blueprint's _typography.scss styles */ +a { + text-decoration: unset; + color: unset; +} +a:hover { + text-decoration: unset; + color: unset; +} + +/* Override Blueprint's _accessibility.scss styles */ +:focus { + outline: unset; + outline-offset: unset; + -moz-outline-radius: unset; +} + +/* Styles for ui-components */ +.jp-Button { + border-radius: var(--jp-border-radius); + padding: 0px 12px; + font-size: var(--jp-ui-font-size1); +} + +/* Use our own theme for hover styles */ +button.jp-Button.bp3-button.bp3-minimal:hover { + background-color: var(--jp-layout-color2); +} +.jp-Button.minimal { + color: unset !important; +} + +.jp-Button.jp-ToolbarButtonComponent { + text-transform: none; +} + +.jp-InputGroup input { + box-sizing: border-box; + border-radius: 0; + background-color: transparent; + color: var(--jp-ui-font-color0); + box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color); +} + +.jp-InputGroup input:focus { + box-shadow: inset 0 0 0 var(--jp-border-width) + var(--jp-input-active-box-shadow-color), + inset 0 0 0 3px var(--jp-input-active-box-shadow-color); +} + +.jp-InputGroup input::placeholder, +input::placeholder { + color: var(--jp-ui-font-color3); +} + +.jp-BPIcon { + display: inline-block; + vertical-align: middle; + margin: auto; +} + +/* Stop blueprint futzing with our icon fills */ +.bp3-icon.jp-BPIcon > svg:not([fill]) { + fill: var(--jp-inverse-layout-color3); +} + +.jp-InputGroupAction { + padding: 6px; +} + +.jp-HTMLSelect.jp-DefaultStyle select { + background-color: initial; + border: none; + border-radius: 0; + box-shadow: none; + color: var(--jp-ui-font-color0); + display: block; + font-size: var(--jp-ui-font-size1); + height: 24px; + line-height: 14px; + padding: 0 25px 0 10px; + text-align: left; + -moz-appearance: none; + -webkit-appearance: none; +} + +/* Use our own theme for hover and option styles */ +.jp-HTMLSelect.jp-DefaultStyle select:hover, +.jp-HTMLSelect.jp-DefaultStyle select > option { + background-color: var(--jp-layout-color2); + color: var(--jp-ui-font-color0); +} +select { + box-sizing: border-box; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-Collapse { + display: flex; + flex-direction: column; + align-items: stretch; + border-top: 1px solid var(--jp-border-color2); + border-bottom: 1px solid var(--jp-border-color2); +} + +.jp-Collapse-header { + padding: 1px 12px; + color: var(--jp-ui-font-color1); + background-color: var(--jp-layout-color1); + font-size: var(--jp-ui-font-size2); +} + +.jp-Collapse-header:hover { + background-color: var(--jp-layout-color2); +} + +.jp-Collapse-contents { + padding: 0px 12px 0px 12px; + background-color: var(--jp-layout-color1); + color: var(--jp-ui-font-color1); + overflow: auto; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Variables +|----------------------------------------------------------------------------*/ + +:root { + --jp-private-commandpalette-search-height: 28px; +} + +/*----------------------------------------------------------------------------- +| Overall styles +|----------------------------------------------------------------------------*/ + +.lm-CommandPalette { + padding-bottom: 0px; + color: var(--jp-ui-font-color1); + background: var(--jp-layout-color1); + /* This is needed so that all font sizing of children done in ems is + * relative to this base size */ + font-size: var(--jp-ui-font-size1); +} + +/*----------------------------------------------------------------------------- +| Search +|----------------------------------------------------------------------------*/ + +.lm-CommandPalette-search { + padding: 4px; + background-color: var(--jp-layout-color1); + z-index: 2; +} + +.lm-CommandPalette-wrapper { + overflow: overlay; + padding: 0px 9px; + background-color: var(--jp-input-active-background); + height: 30px; + box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color); +} + +.lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper { + box-shadow: inset 0 0 0 1px var(--jp-input-active-box-shadow-color), + inset 0 0 0 3px var(--jp-input-active-box-shadow-color); +} + +.lm-CommandPalette-wrapper::after { + content: ' '; + color: white; + background-color: var(--jp-brand-color1); + position: absolute; + top: 4px; + right: 4px; + height: 30px; + width: 10px; + padding: 0px 10px; + background-image: var(--jp-icon-search-white); + background-size: 20px; + background-repeat: no-repeat; + background-position: center; +} + +.lm-CommandPalette-input { + background: transparent; + width: calc(100% - 18px); + float: left; + border: none; + outline: none; + font-size: var(--jp-ui-font-size1); + color: var(--jp-ui-font-color0); + line-height: var(--jp-private-commandpalette-search-height); +} + +.lm-CommandPalette-input::-webkit-input-placeholder, +.lm-CommandPalette-input::-moz-placeholder, +.lm-CommandPalette-input:-ms-input-placeholder { + color: var(--jp-ui-font-color3); + font-size: var(--jp-ui-font-size1); +} + +/*----------------------------------------------------------------------------- +| Results +|----------------------------------------------------------------------------*/ + +.lm-CommandPalette-header:first-child { + margin-top: 0px; +} + +.lm-CommandPalette-header { + border-bottom: solid var(--jp-border-width) var(--jp-border-color2); + color: var(--jp-ui-font-color1); + cursor: pointer; + display: flex; + font-size: var(--jp-ui-font-size0); + font-weight: 600; + letter-spacing: 1px; + margin-top: 8px; + padding: 8px 0 8px 12px; + text-transform: uppercase; +} + +.lm-CommandPalette-header.lm-mod-active { + background: var(--jp-layout-color2); +} + +.lm-CommandPalette-header > mark { + background-color: transparent; + font-weight: bold; + color: var(--jp-ui-font-color1); +} + +.lm-CommandPalette-item { + padding: 4px 12px 4px 4px; + color: var(--jp-ui-font-color1); + font-size: var(--jp-ui-font-size1); + font-weight: 400; + display: flex; +} + +.lm-CommandPalette-item.lm-mod-disabled { + color: var(--jp-ui-font-color3); +} + +.lm-CommandPalette-item.lm-mod-active { + background: var(--jp-layout-color3); +} + +.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) { + background: var(--jp-layout-color4); +} + +.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) { + background: var(--jp-layout-color2); +} + +.lm-CommandPalette-itemContent { + overflow: hidden; +} + +.lm-CommandPalette-itemLabel > mark { + color: var(--jp-ui-font-color0); + background-color: transparent; + font-weight: bold; +} + +.lm-CommandPalette-item.lm-mod-disabled mark { + color: var(--jp-ui-font-color3); +} + +.lm-CommandPalette-item .lm-CommandPalette-itemIcon { + margin: 0 4px 0 0; + position: relative; + width: 16px; + top: 2px; + flex: 0 0 auto; +} + +.lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon { + opacity: 0.4; +} + +.lm-CommandPalette-item .lm-CommandPalette-itemShortcut { + flex: 0 0 auto; +} + +.lm-CommandPalette-itemCaption { + display: none; +} + +.lm-CommandPalette-content { + background-color: var(--jp-layout-color1); +} + +.lm-CommandPalette-content:empty:after { + content: 'No results'; + margin: auto; + margin-top: 20px; + width: 100px; + display: block; + font-size: var(--jp-ui-font-size2); + font-family: var(--jp-ui-font-family); + font-weight: lighter; +} + +.lm-CommandPalette-emptyMessage { + text-align: center; + margin-top: 24px; + line-height: 1.32; + padding: 0px 8px; + color: var(--jp-content-font-color3); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2017, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-Dialog { + position: absolute; + z-index: 10000; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + top: 0px; + left: 0px; + margin: 0; + padding: 0; + width: 100%; + height: 100%; + background: var(--jp-dialog-background); +} + +.jp-Dialog-content { + display: flex; + flex-direction: column; + margin-left: auto; + margin-right: auto; + background: var(--jp-layout-color1); + padding: 24px; + padding-bottom: 12px; + min-width: 300px; + min-height: 150px; + max-width: 1000px; + max-height: 500px; + box-sizing: border-box; + box-shadow: var(--jp-elevation-z20); + word-wrap: break-word; + border-radius: var(--jp-border-radius); + /* This is needed so that all font sizing of children done in ems is + * relative to this base size */ + font-size: var(--jp-ui-font-size1); + color: var(--jp-ui-font-color1); +} + +.jp-Dialog-button { + overflow: visible; +} + +button.jp-Dialog-button:focus { + outline: 1px solid var(--jp-brand-color1); + outline-offset: 4px; + -moz-outline-radius: 0px; +} + +button.jp-Dialog-button:focus::-moz-focus-inner { + border: 0; +} + +.jp-Dialog-header { + flex: 0 0 auto; + padding-bottom: 12px; + font-size: var(--jp-ui-font-size3); + font-weight: 400; + color: var(--jp-ui-font-color0); +} + +.jp-Dialog-body { + display: flex; + flex-direction: column; + flex: 1 1 auto; + font-size: var(--jp-ui-font-size1); + background: var(--jp-layout-color1); + overflow: auto; +} + +.jp-Dialog-footer { + display: flex; + flex-direction: row; + justify-content: flex-end; + flex: 0 0 auto; + margin-left: -12px; + margin-right: -12px; + padding: 12px; +} + +.jp-Dialog-title { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.jp-Dialog-body > .jp-select-wrapper { + width: 100%; +} + +.jp-Dialog-body > button { + padding: 0px 16px; +} + +.jp-Dialog-body > label { + line-height: 1.4; + color: var(--jp-ui-font-color0); +} + +.jp-Dialog-button.jp-mod-styled:not(:last-child) { + margin-right: 12px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2016, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-HoverBox { + position: fixed; +} + +.jp-HoverBox.jp-mod-outofview { + display: none; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-IFrame { + width: 100%; + height: 100%; +} + +.jp-IFrame > iframe { + border: none; +} + +/* +When drag events occur, `p-mod-override-cursor` is added to the body. +Because iframes steal all cursor events, the following two rules are necessary +to suppress pointer events while resize drags are occurring. There may be a +better solution to this problem. +*/ +body.lm-mod-override-cursor .jp-IFrame { + position: relative; +} + +body.lm-mod-override-cursor .jp-IFrame:before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: transparent; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2016, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-MainAreaWidget > :focus { + outline: none; +} + +/** + * google-material-color v1.2.6 + * https://github.com/danlevan/google-material-color + */ +:root { + --md-red-50: #ffebee; + --md-red-100: #ffcdd2; + --md-red-200: #ef9a9a; + --md-red-300: #e57373; + --md-red-400: #ef5350; + --md-red-500: #f44336; + --md-red-600: #e53935; + --md-red-700: #d32f2f; + --md-red-800: #c62828; + --md-red-900: #b71c1c; + --md-red-A100: #ff8a80; + --md-red-A200: #ff5252; + --md-red-A400: #ff1744; + --md-red-A700: #d50000; + + --md-pink-50: #fce4ec; + --md-pink-100: #f8bbd0; + --md-pink-200: #f48fb1; + --md-pink-300: #f06292; + --md-pink-400: #ec407a; + --md-pink-500: #e91e63; + --md-pink-600: #d81b60; + --md-pink-700: #c2185b; + --md-pink-800: #ad1457; + --md-pink-900: #880e4f; + --md-pink-A100: #ff80ab; + --md-pink-A200: #ff4081; + --md-pink-A400: #f50057; + --md-pink-A700: #c51162; + + --md-purple-50: #f3e5f5; + --md-purple-100: #e1bee7; + --md-purple-200: #ce93d8; + --md-purple-300: #ba68c8; + --md-purple-400: #ab47bc; + --md-purple-500: #9c27b0; + --md-purple-600: #8e24aa; + --md-purple-700: #7b1fa2; + --md-purple-800: #6a1b9a; + --md-purple-900: #4a148c; + --md-purple-A100: #ea80fc; + --md-purple-A200: #e040fb; + --md-purple-A400: #d500f9; + --md-purple-A700: #aa00ff; + + --md-deep-purple-50: #ede7f6; + --md-deep-purple-100: #d1c4e9; + --md-deep-purple-200: #b39ddb; + --md-deep-purple-300: #9575cd; + --md-deep-purple-400: #7e57c2; + --md-deep-purple-500: #673ab7; + --md-deep-purple-600: #5e35b1; + --md-deep-purple-700: #512da8; + --md-deep-purple-800: #4527a0; + --md-deep-purple-900: #311b92; + --md-deep-purple-A100: #b388ff; + --md-deep-purple-A200: #7c4dff; + --md-deep-purple-A400: #651fff; + --md-deep-purple-A700: #6200ea; + + --md-indigo-50: #e8eaf6; + --md-indigo-100: #c5cae9; + --md-indigo-200: #9fa8da; + --md-indigo-300: #7986cb; + --md-indigo-400: #5c6bc0; + --md-indigo-500: #3f51b5; + --md-indigo-600: #3949ab; + --md-indigo-700: #303f9f; + --md-indigo-800: #283593; + --md-indigo-900: #1a237e; + --md-indigo-A100: #8c9eff; + --md-indigo-A200: #536dfe; + --md-indigo-A400: #3d5afe; + --md-indigo-A700: #304ffe; + + --md-blue-50: #e3f2fd; + --md-blue-100: #bbdefb; + --md-blue-200: #90caf9; + --md-blue-300: #64b5f6; + --md-blue-400: #42a5f5; + --md-blue-500: #2196f3; + --md-blue-600: #1e88e5; + --md-blue-700: #1976d2; + --md-blue-800: #1565c0; + --md-blue-900: #0d47a1; + --md-blue-A100: #82b1ff; + --md-blue-A200: #448aff; + --md-blue-A400: #2979ff; + --md-blue-A700: #2962ff; + + --md-light-blue-50: #e1f5fe; + --md-light-blue-100: #b3e5fc; + --md-light-blue-200: #81d4fa; + --md-light-blue-300: #4fc3f7; + --md-light-blue-400: #29b6f6; + --md-light-blue-500: #03a9f4; + --md-light-blue-600: #039be5; + --md-light-blue-700: #0288d1; + --md-light-blue-800: #0277bd; + --md-light-blue-900: #01579b; + --md-light-blue-A100: #80d8ff; + --md-light-blue-A200: #40c4ff; + --md-light-blue-A400: #00b0ff; + --md-light-blue-A700: #0091ea; + + --md-cyan-50: #e0f7fa; + --md-cyan-100: #b2ebf2; + --md-cyan-200: #80deea; + --md-cyan-300: #4dd0e1; + --md-cyan-400: #26c6da; + --md-cyan-500: #00bcd4; + --md-cyan-600: #00acc1; + --md-cyan-700: #0097a7; + --md-cyan-800: #00838f; + --md-cyan-900: #006064; + --md-cyan-A100: #84ffff; + --md-cyan-A200: #18ffff; + --md-cyan-A400: #00e5ff; + --md-cyan-A700: #00b8d4; + + --md-teal-50: #e0f2f1; + --md-teal-100: #b2dfdb; + --md-teal-200: #80cbc4; + --md-teal-300: #4db6ac; + --md-teal-400: #26a69a; + --md-teal-500: #009688; + --md-teal-600: #00897b; + --md-teal-700: #00796b; + --md-teal-800: #00695c; + --md-teal-900: #004d40; + --md-teal-A100: #a7ffeb; + --md-teal-A200: #64ffda; + --md-teal-A400: #1de9b6; + --md-teal-A700: #00bfa5; + + --md-green-50: #e8f5e9; + --md-green-100: #c8e6c9; + --md-green-200: #a5d6a7; + --md-green-300: #81c784; + --md-green-400: #66bb6a; + --md-green-500: #4caf50; + --md-green-600: #43a047; + --md-green-700: #388e3c; + --md-green-800: #2e7d32; + --md-green-900: #1b5e20; + --md-green-A100: #b9f6ca; + --md-green-A200: #69f0ae; + --md-green-A400: #00e676; + --md-green-A700: #00c853; + + --md-light-green-50: #f1f8e9; + --md-light-green-100: #dcedc8; + --md-light-green-200: #c5e1a5; + --md-light-green-300: #aed581; + --md-light-green-400: #9ccc65; + --md-light-green-500: #8bc34a; + --md-light-green-600: #7cb342; + --md-light-green-700: #689f38; + --md-light-green-800: #558b2f; + --md-light-green-900: #33691e; + --md-light-green-A100: #ccff90; + --md-light-green-A200: #b2ff59; + --md-light-green-A400: #76ff03; + --md-light-green-A700: #64dd17; + + --md-lime-50: #f9fbe7; + --md-lime-100: #f0f4c3; + --md-lime-200: #e6ee9c; + --md-lime-300: #dce775; + --md-lime-400: #d4e157; + --md-lime-500: #cddc39; + --md-lime-600: #c0ca33; + --md-lime-700: #afb42b; + --md-lime-800: #9e9d24; + --md-lime-900: #827717; + --md-lime-A100: #f4ff81; + --md-lime-A200: #eeff41; + --md-lime-A400: #c6ff00; + --md-lime-A700: #aeea00; + + --md-yellow-50: #fffde7; + --md-yellow-100: #fff9c4; + --md-yellow-200: #fff59d; + --md-yellow-300: #fff176; + --md-yellow-400: #ffee58; + --md-yellow-500: #ffeb3b; + --md-yellow-600: #fdd835; + --md-yellow-700: #fbc02d; + --md-yellow-800: #f9a825; + --md-yellow-900: #f57f17; + --md-yellow-A100: #ffff8d; + --md-yellow-A200: #ffff00; + --md-yellow-A400: #ffea00; + --md-yellow-A700: #ffd600; + + --md-amber-50: #fff8e1; + --md-amber-100: #ffecb3; + --md-amber-200: #ffe082; + --md-amber-300: #ffd54f; + --md-amber-400: #ffca28; + --md-amber-500: #ffc107; + --md-amber-600: #ffb300; + --md-amber-700: #ffa000; + --md-amber-800: #ff8f00; + --md-amber-900: #ff6f00; + --md-amber-A100: #ffe57f; + --md-amber-A200: #ffd740; + --md-amber-A400: #ffc400; + --md-amber-A700: #ffab00; + + --md-orange-50: #fff3e0; + --md-orange-100: #ffe0b2; + --md-orange-200: #ffcc80; + --md-orange-300: #ffb74d; + --md-orange-400: #ffa726; + --md-orange-500: #ff9800; + --md-orange-600: #fb8c00; + --md-orange-700: #f57c00; + --md-orange-800: #ef6c00; + --md-orange-900: #e65100; + --md-orange-A100: #ffd180; + --md-orange-A200: #ffab40; + --md-orange-A400: #ff9100; + --md-orange-A700: #ff6d00; + + --md-deep-orange-50: #fbe9e7; + --md-deep-orange-100: #ffccbc; + --md-deep-orange-200: #ffab91; + --md-deep-orange-300: #ff8a65; + --md-deep-orange-400: #ff7043; + --md-deep-orange-500: #ff5722; + --md-deep-orange-600: #f4511e; + --md-deep-orange-700: #e64a19; + --md-deep-orange-800: #d84315; + --md-deep-orange-900: #bf360c; + --md-deep-orange-A100: #ff9e80; + --md-deep-orange-A200: #ff6e40; + --md-deep-orange-A400: #ff3d00; + --md-deep-orange-A700: #dd2c00; + + --md-brown-50: #efebe9; + --md-brown-100: #d7ccc8; + --md-brown-200: #bcaaa4; + --md-brown-300: #a1887f; + --md-brown-400: #8d6e63; + --md-brown-500: #795548; + --md-brown-600: #6d4c41; + --md-brown-700: #5d4037; + --md-brown-800: #4e342e; + --md-brown-900: #3e2723; + + --md-grey-50: #fafafa; + --md-grey-100: #f5f5f5; + --md-grey-200: #eeeeee; + --md-grey-300: #e0e0e0; + --md-grey-400: #bdbdbd; + --md-grey-500: #9e9e9e; + --md-grey-600: #757575; + --md-grey-700: #616161; + --md-grey-800: #424242; + --md-grey-900: #212121; + + --md-blue-grey-50: #eceff1; + --md-blue-grey-100: #cfd8dc; + --md-blue-grey-200: #b0bec5; + --md-blue-grey-300: #90a4ae; + --md-blue-grey-400: #78909c; + --md-blue-grey-500: #607d8b; + --md-blue-grey-600: #546e7a; + --md-blue-grey-700: #455a64; + --md-blue-grey-800: #37474f; + --md-blue-grey-900: #263238; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2017, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-Spinner { + position: absolute; + display: flex; + justify-content: center; + align-items: center; + z-index: 10; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: var(--jp-layout-color0); + outline: none; +} + +.jp-SpinnerContent { + font-size: 10px; + margin: 50px auto; + text-indent: -9999em; + width: 3em; + height: 3em; + border-radius: 50%; + background: var(--jp-brand-color3); + background: linear-gradient( + to right, + #f37626 10%, + rgba(255, 255, 255, 0) 42% + ); + position: relative; + animation: load3 1s infinite linear, fadeIn 1s; +} + +.jp-SpinnerContent:before { + width: 50%; + height: 50%; + background: #f37626; + border-radius: 100% 0 0 0; + position: absolute; + top: 0; + left: 0; + content: ''; +} + +.jp-SpinnerContent:after { + background: var(--jp-layout-color0); + width: 75%; + height: 75%; + border-radius: 50%; + content: ''; + margin: auto; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; +} + +@keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +@keyframes load3 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2017, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +button.jp-mod-styled { + font-size: var(--jp-ui-font-size1); + color: var(--jp-ui-font-color0); + border: none; + box-sizing: border-box; + text-align: center; + line-height: 32px; + height: 32px; + padding: 0px 12px; + letter-spacing: 0.8px; + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; +} + +input.jp-mod-styled { + background: var(--jp-input-background); + height: 28px; + box-sizing: border-box; + border: var(--jp-border-width) solid var(--jp-border-color1); + padding-left: 7px; + padding-right: 7px; + font-size: var(--jp-ui-font-size2); + color: var(--jp-ui-font-color0); + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; +} + +input.jp-mod-styled:focus { + border: var(--jp-border-width) solid var(--md-blue-500); + box-shadow: inset 0 0 4px var(--md-blue-300); +} + +.jp-select-wrapper { + display: flex; + position: relative; + flex-direction: column; + padding: 1px; + background-color: var(--jp-layout-color1); + height: 28px; + box-sizing: border-box; + margin-bottom: 12px; +} + +.jp-select-wrapper.jp-mod-focused select.jp-mod-styled { + border: var(--jp-border-width) solid var(--jp-input-active-border-color); + box-shadow: var(--jp-input-box-shadow); + background-color: var(--jp-input-active-background); +} + +select.jp-mod-styled:hover { + background-color: var(--jp-layout-color1); + cursor: pointer; + color: var(--jp-ui-font-color0); + background-color: var(--jp-input-hover-background); + box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.5); +} + +select.jp-mod-styled { + flex: 1 1 auto; + height: 32px; + width: 100%; + font-size: var(--jp-ui-font-size2); + background: var(--jp-input-background); + color: var(--jp-ui-font-color0); + padding: 0 25px 0 8px; + border: var(--jp-border-width) solid var(--jp-input-border-color); + border-radius: 0px; + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2016, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +:root { + --jp-private-toolbar-height: calc( + 28px + var(--jp-border-width) + ); /* leave 28px for content */ +} + +.jp-Toolbar { + color: var(--jp-ui-font-color1); + flex: 0 0 auto; + display: flex; + flex-direction: row; + border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color); + box-shadow: var(--jp-toolbar-box-shadow); + background: var(--jp-toolbar-background); + min-height: var(--jp-toolbar-micro-height); + padding: 2px; + z-index: 1; +} + +/* Toolbar items */ + +.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer { + flex-grow: 1; + flex-shrink: 1; +} + +.jp-Toolbar-item.jp-Toolbar-kernelStatus { + display: inline-block; + width: 32px; + background-repeat: no-repeat; + background-position: center; + background-size: 16px; +} + +.jp-Toolbar > .jp-Toolbar-item { + flex: 0 0 auto; + display: flex; + padding-left: 1px; + padding-right: 1px; + font-size: var(--jp-ui-font-size1); + line-height: var(--jp-private-toolbar-height); + height: 100%; +} + +/* Toolbar buttons */ + +/* This is the div we use to wrap the react component into a Widget */ +div.jp-ToolbarButton { + color: transparent; + border: none; + box-sizing: border-box; + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + padding: 0px; + margin: 0px; +} + +button.jp-ToolbarButtonComponent { + background: var(--jp-layout-color1); + border: none; + box-sizing: border-box; + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + padding: 0px 6px; + margin: 0px; + height: 24px; + border-radius: var(--jp-border-radius); + display: flex; + align-items: center; + text-align: center; + font-size: 14px; + min-width: unset; + min-height: unset; +} + +button.jp-ToolbarButtonComponent:disabled { + opacity: 0.4; +} + +button.jp-ToolbarButtonComponent span { + padding: 0px; + flex: 0 0 auto; +} + +button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label { + font-size: var(--jp-ui-font-size1); + line-height: 100%; + padding-left: 2px; + color: var(--jp-ui-font-color1); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2017, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ body.p-mod-override-cursor *, /* </DEPRECATED> */ +body.lm-mod-override-cursor * { + cursor: inherit !important; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2016, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-JSONEditor { + display: flex; + flex-direction: column; + width: 100%; +} + +.jp-JSONEditor-host { + flex: 1 1 auto; + border: var(--jp-border-width) solid var(--jp-input-border-color); + border-radius: 0px; + background: var(--jp-layout-color0); + min-height: 50px; + padding: 1px; +} + +.jp-JSONEditor.jp-mod-error .jp-JSONEditor-host { + border-color: red; + outline-color: red; +} + +.jp-JSONEditor-header { + display: flex; + flex: 1 0 auto; + padding: 0 0 0 12px; +} + +.jp-JSONEditor-header label { + flex: 0 0 auto; +} + +.jp-JSONEditor-commitButton { + height: 16px; + width: 16px; + background-size: 18px; + background-repeat: no-repeat; + background-position: center; +} + +.jp-JSONEditor-host.jp-mod-focused { + background-color: var(--jp-input-active-background); + border: 1px solid var(--jp-input-active-border-color); + box-shadow: var(--jp-input-box-shadow); +} + +.jp-Editor.jp-mod-dropTarget { + border: var(--jp-border-width) solid var(--jp-input-active-border-color); + box-shadow: var(--jp-input-box-shadow); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* BASICS */ + +.CodeMirror { + /* Set height, width, borders, and global font properties here */ + font-family: monospace; + height: 300px; + color: black; + direction: ltr; +} + +/* PADDING */ + +.CodeMirror-lines { + padding: 4px 0; /* Vertical padding around content */ +} +.CodeMirror pre.CodeMirror-line, +.CodeMirror pre.CodeMirror-line-like { + padding: 0 4px; /* Horizontal padding of content */ +} + +.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + background-color: white; /* The little square between H and V scrollbars */ +} + +/* GUTTER */ + +.CodeMirror-gutters { + border-right: 1px solid #ddd; + background-color: #f7f7f7; + white-space: nowrap; +} +.CodeMirror-linenumbers {} +.CodeMirror-linenumber { + padding: 0 3px 0 5px; + min-width: 20px; + text-align: right; + color: #999; + white-space: nowrap; +} + +.CodeMirror-guttermarker { color: black; } +.CodeMirror-guttermarker-subtle { color: #999; } + +/* CURSOR */ + +.CodeMirror-cursor { + border-left: 1px solid black; + border-right: none; + width: 0; +} +/* Shown when moving in bi-directional text */ +.CodeMirror div.CodeMirror-secondarycursor { + border-left: 1px solid silver; +} +.cm-fat-cursor .CodeMirror-cursor { + width: auto; + border: 0 !important; + background: #7e7; +} +.cm-fat-cursor div.CodeMirror-cursors { + z-index: 1; +} +.cm-fat-cursor-mark { + background-color: rgba(20, 255, 20, 0.5); + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; +} +.cm-animate-fat-cursor { + width: auto; + border: 0; + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; + background-color: #7e7; +} +@-moz-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} +@-webkit-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} +@keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} + +/* Can style cursor different in overwrite (non-insert) mode */ +.CodeMirror-overwrite .CodeMirror-cursor {} + +.cm-tab { display: inline-block; text-decoration: inherit; } + +.CodeMirror-rulers { + position: absolute; + left: 0; right: 0; top: -50px; bottom: 0; + overflow: hidden; +} +.CodeMirror-ruler { + border-left: 1px solid #ccc; + top: 0; bottom: 0; + position: absolute; +} + +/* DEFAULT THEME */ + +.cm-s-default .cm-header {color: blue;} +.cm-s-default .cm-quote {color: #090;} +.cm-negative {color: #d44;} +.cm-positive {color: #292;} +.cm-header, .cm-strong {font-weight: bold;} +.cm-em {font-style: italic;} +.cm-link {text-decoration: underline;} +.cm-strikethrough {text-decoration: line-through;} + +.cm-s-default .cm-keyword {color: #708;} +.cm-s-default .cm-atom {color: #219;} +.cm-s-default .cm-number {color: #164;} +.cm-s-default .cm-def {color: #00f;} +.cm-s-default .cm-variable, +.cm-s-default .cm-punctuation, +.cm-s-default .cm-property, +.cm-s-default .cm-operator {} +.cm-s-default .cm-variable-2 {color: #05a;} +.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;} +.cm-s-default .cm-comment {color: #a50;} +.cm-s-default .cm-string {color: #a11;} +.cm-s-default .cm-string-2 {color: #f50;} +.cm-s-default .cm-meta {color: #555;} +.cm-s-default .cm-qualifier {color: #555;} +.cm-s-default .cm-builtin {color: #30a;} +.cm-s-default .cm-bracket {color: #997;} +.cm-s-default .cm-tag {color: #170;} +.cm-s-default .cm-attribute {color: #00c;} +.cm-s-default .cm-hr {color: #999;} +.cm-s-default .cm-link {color: #00c;} + +.cm-s-default .cm-error {color: #f00;} +.cm-invalidchar {color: #f00;} + +.CodeMirror-composing { border-bottom: 2px solid; } + +/* Default styles for common addons */ + +div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;} +div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;} +.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } +.CodeMirror-activeline-background {background: #e8f2ff;} + +/* STOP */ + +/* The rest of this file contains styles related to the mechanics of + the editor. You probably shouldn't touch them. */ + +.CodeMirror { + position: relative; + overflow: hidden; + background: white; +} + +.CodeMirror-scroll { + overflow: scroll !important; /* Things will break if this is overridden */ + /* 30px is the magic margin used to hide the element's real scrollbars */ + /* See overflow: hidden in .CodeMirror */ + margin-bottom: -30px; margin-right: -30px; + padding-bottom: 30px; + height: 100%; + outline: none; /* Prevent dragging from highlighting the element */ + position: relative; +} +.CodeMirror-sizer { + position: relative; + border-right: 30px solid transparent; +} + +/* The fake, visible scrollbars. Used to force redraw during scrolling + before actual scrolling happens, thus preventing shaking and + flickering artifacts. */ +.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + position: absolute; + z-index: 6; + display: none; +} +.CodeMirror-vscrollbar { + right: 0; top: 0; + overflow-x: hidden; + overflow-y: scroll; +} +.CodeMirror-hscrollbar { + bottom: 0; left: 0; + overflow-y: hidden; + overflow-x: scroll; +} +.CodeMirror-scrollbar-filler { + right: 0; bottom: 0; +} +.CodeMirror-gutter-filler { + left: 0; bottom: 0; +} + +.CodeMirror-gutters { + position: absolute; left: 0; top: 0; + min-height: 100%; + z-index: 3; +} +.CodeMirror-gutter { + white-space: normal; + height: 100%; + display: inline-block; + vertical-align: top; + margin-bottom: -30px; +} +.CodeMirror-gutter-wrapper { + position: absolute; + z-index: 4; + background: none !important; + border: none !important; +} +.CodeMirror-gutter-background { + position: absolute; + top: 0; bottom: 0; + z-index: 4; +} +.CodeMirror-gutter-elt { + position: absolute; + cursor: default; + z-index: 4; +} +.CodeMirror-gutter-wrapper ::selection { background-color: transparent } +.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent } + +.CodeMirror-lines { + cursor: text; + min-height: 1px; /* prevents collapsing before first draw */ +} +.CodeMirror pre.CodeMirror-line, +.CodeMirror pre.CodeMirror-line-like { + /* Reset some styles that the rest of the page might have set */ + -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; + border-width: 0; + background: transparent; + font-family: inherit; + font-size: inherit; + margin: 0; + white-space: pre; + word-wrap: normal; + line-height: inherit; + color: inherit; + z-index: 2; + position: relative; + overflow: visible; + -webkit-tap-highlight-color: transparent; + -webkit-font-variant-ligatures: contextual; + font-variant-ligatures: contextual; +} +.CodeMirror-wrap pre.CodeMirror-line, +.CodeMirror-wrap pre.CodeMirror-line-like { + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; +} + +.CodeMirror-linebackground { + position: absolute; + left: 0; right: 0; top: 0; bottom: 0; + z-index: 0; +} + +.CodeMirror-linewidget { + position: relative; + z-index: 2; + padding: 0.1px; /* Force widget margins to stay inside of the container */ +} + +.CodeMirror-widget {} + +.CodeMirror-rtl pre { direction: rtl; } + +.CodeMirror-code { + outline: none; +} + +/* Force content-box sizing for the elements where we expect it */ +.CodeMirror-scroll, +.CodeMirror-sizer, +.CodeMirror-gutter, +.CodeMirror-gutters, +.CodeMirror-linenumber { + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +.CodeMirror-measure { + position: absolute; + width: 100%; + height: 0; + overflow: hidden; + visibility: hidden; +} + +.CodeMirror-cursor { + position: absolute; + pointer-events: none; +} +.CodeMirror-measure pre { position: static; } + +div.CodeMirror-cursors { + visibility: hidden; + position: relative; + z-index: 3; +} +div.CodeMirror-dragcursors { + visibility: visible; +} + +.CodeMirror-focused div.CodeMirror-cursors { + visibility: visible; +} + +.CodeMirror-selected { background: #d9d9d9; } +.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } +.CodeMirror-crosshair { cursor: crosshair; } +.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; } +.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; } + +.cm-searching { + background-color: #ffa; + background-color: rgba(255, 255, 0, .4); +} + +/* Used to force a border model for a node */ +.cm-force-border { padding-right: .1px; } + +@media print { + /* Hide the cursor when printing */ + .CodeMirror div.CodeMirror-cursors { + visibility: hidden; + } +} + +/* See issue #2901 */ +.cm-tab-wrap-hack:after { content: ''; } + +/* Help users use markselection to safely style text background */ +span.CodeMirror-selectedtext { background: none; } + +.CodeMirror-dialog { + position: absolute; + left: 0; right: 0; + background: inherit; + z-index: 15; + padding: .1em .8em; + overflow: hidden; + color: inherit; +} + +.CodeMirror-dialog-top { + border-bottom: 1px solid #eee; + top: 0; +} + +.CodeMirror-dialog-bottom { + border-top: 1px solid #eee; + bottom: 0; +} + +.CodeMirror-dialog input { + border: none; + outline: none; + background: transparent; + width: 20em; + color: inherit; + font-family: monospace; +} + +.CodeMirror-dialog button { + font-size: 70%; +} + +.CodeMirror-foldmarker { + color: blue; + text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; + font-family: arial; + line-height: .3; + cursor: pointer; +} +.CodeMirror-foldgutter { + width: .7em; +} +.CodeMirror-foldgutter-open, +.CodeMirror-foldgutter-folded { + cursor: pointer; +} +.CodeMirror-foldgutter-open:after { + content: "\25BE"; +} +.CodeMirror-foldgutter-folded:after { + content: "\25B8"; +} + +/* + Name: material + Author: Mattia Astorino (http://github.com/equinusocio) + Website: https://material-theme.site/ +*/ + +.cm-s-material.CodeMirror { + background-color: #263238; + color: #EEFFFF; +} + +.cm-s-material .CodeMirror-gutters { + background: #263238; + color: #546E7A; + border: none; +} + +.cm-s-material .CodeMirror-guttermarker, +.cm-s-material .CodeMirror-guttermarker-subtle, +.cm-s-material .CodeMirror-linenumber { + color: #546E7A; +} + +.cm-s-material .CodeMirror-cursor { + border-left: 1px solid #FFCC00; +} + +.cm-s-material div.CodeMirror-selected { + background: rgba(128, 203, 196, 0.2); +} + +.cm-s-material.CodeMirror-focused div.CodeMirror-selected { + background: rgba(128, 203, 196, 0.2); +} + +.cm-s-material .CodeMirror-line::selection, +.cm-s-material .CodeMirror-line>span::selection, +.cm-s-material .CodeMirror-line>span>span::selection { + background: rgba(128, 203, 196, 0.2); +} + +.cm-s-material .CodeMirror-line::-moz-selection, +.cm-s-material .CodeMirror-line>span::-moz-selection, +.cm-s-material .CodeMirror-line>span>span::-moz-selection { + background: rgba(128, 203, 196, 0.2); +} + +.cm-s-material .CodeMirror-activeline-background { + background: rgba(0, 0, 0, 0.5); +} + +.cm-s-material .cm-keyword { + color: #C792EA; +} + +.cm-s-material .cm-operator { + color: #89DDFF; +} + +.cm-s-material .cm-variable-2 { + color: #EEFFFF; +} + +.cm-s-material .cm-variable-3, +.cm-s-material .cm-type { + color: #f07178; +} + +.cm-s-material .cm-builtin { + color: #FFCB6B; +} + +.cm-s-material .cm-atom { + color: #F78C6C; +} + +.cm-s-material .cm-number { + color: #FF5370; +} + +.cm-s-material .cm-def { + color: #82AAFF; +} + +.cm-s-material .cm-string { + color: #C3E88D; +} + +.cm-s-material .cm-string-2 { + color: #f07178; +} + +.cm-s-material .cm-comment { + color: #546E7A; +} + +.cm-s-material .cm-variable { + color: #f07178; +} + +.cm-s-material .cm-tag { + color: #FF5370; +} + +.cm-s-material .cm-meta { + color: #FFCB6B; +} + +.cm-s-material .cm-attribute { + color: #C792EA; +} + +.cm-s-material .cm-property { + color: #C792EA; +} + +.cm-s-material .cm-qualifier { + color: #DECB6B; +} + +.cm-s-material .cm-variable-3, +.cm-s-material .cm-type { + color: #DECB6B; +} + + +.cm-s-material .cm-error { + color: rgba(255, 255, 255, 1.0); + background-color: #FF5370; +} + +.cm-s-material .CodeMirror-matchingbracket { + text-decoration: underline; + color: white !important; +} +/** + * " + * Using Zenburn color palette from the Emacs Zenburn Theme + * https://github.com/bbatsov/zenburn-emacs/blob/master/zenburn-theme.el + * + * Also using parts of https://github.com/xavi/coderay-lighttable-theme + * " + * From: https://github.com/wisenomad/zenburn-lighttable-theme/blob/master/zenburn.css + */ + +.cm-s-zenburn .CodeMirror-gutters { background: #3f3f3f !important; } +.cm-s-zenburn .CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded { color: #999; } +.cm-s-zenburn .CodeMirror-cursor { border-left: 1px solid white; } +.cm-s-zenburn { background-color: #3f3f3f; color: #dcdccc; } +.cm-s-zenburn span.cm-builtin { color: #dcdccc; font-weight: bold; } +.cm-s-zenburn span.cm-comment { color: #7f9f7f; } +.cm-s-zenburn span.cm-keyword { color: #f0dfaf; font-weight: bold; } +.cm-s-zenburn span.cm-atom { color: #bfebbf; } +.cm-s-zenburn span.cm-def { color: #dcdccc; } +.cm-s-zenburn span.cm-variable { color: #dfaf8f; } +.cm-s-zenburn span.cm-variable-2 { color: #dcdccc; } +.cm-s-zenburn span.cm-string { color: #cc9393; } +.cm-s-zenburn span.cm-string-2 { color: #cc9393; } +.cm-s-zenburn span.cm-number { color: #dcdccc; } +.cm-s-zenburn span.cm-tag { color: #93e0e3; } +.cm-s-zenburn span.cm-property { color: #dfaf8f; } +.cm-s-zenburn span.cm-attribute { color: #dfaf8f; } +.cm-s-zenburn span.cm-qualifier { color: #7cb8bb; } +.cm-s-zenburn span.cm-meta { color: #f0dfaf; } +.cm-s-zenburn span.cm-header { color: #f0efd0; } +.cm-s-zenburn span.cm-operator { color: #f0efd0; } +.cm-s-zenburn span.CodeMirror-matchingbracket { box-sizing: border-box; background: transparent; border-bottom: 1px solid; } +.cm-s-zenburn span.CodeMirror-nonmatchingbracket { border-bottom: 1px solid; background: none; } +.cm-s-zenburn .CodeMirror-activeline { background: #000000; } +.cm-s-zenburn .CodeMirror-activeline-background { background: #000000; } +.cm-s-zenburn div.CodeMirror-selected { background: #545454; } +.cm-s-zenburn .CodeMirror-focused div.CodeMirror-selected { background: #4f4f4f; } + +.cm-s-abcdef.CodeMirror { background: #0f0f0f; color: #defdef; } +.cm-s-abcdef div.CodeMirror-selected { background: #515151; } +.cm-s-abcdef .CodeMirror-line::selection, .cm-s-abcdef .CodeMirror-line > span::selection, .cm-s-abcdef .CodeMirror-line > span > span::selection { background: rgba(56, 56, 56, 0.99); } +.cm-s-abcdef .CodeMirror-line::-moz-selection, .cm-s-abcdef .CodeMirror-line > span::-moz-selection, .cm-s-abcdef .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 56, 56, 0.99); } +.cm-s-abcdef .CodeMirror-gutters { background: #555; border-right: 2px solid #314151; } +.cm-s-abcdef .CodeMirror-guttermarker { color: #222; } +.cm-s-abcdef .CodeMirror-guttermarker-subtle { color: azure; } +.cm-s-abcdef .CodeMirror-linenumber { color: #FFFFFF; } +.cm-s-abcdef .CodeMirror-cursor { border-left: 1px solid #00FF00; } + +.cm-s-abcdef span.cm-keyword { color: darkgoldenrod; font-weight: bold; } +.cm-s-abcdef span.cm-atom { color: #77F; } +.cm-s-abcdef span.cm-number { color: violet; } +.cm-s-abcdef span.cm-def { color: #fffabc; } +.cm-s-abcdef span.cm-variable { color: #abcdef; } +.cm-s-abcdef span.cm-variable-2 { color: #cacbcc; } +.cm-s-abcdef span.cm-variable-3, .cm-s-abcdef span.cm-type { color: #def; } +.cm-s-abcdef span.cm-property { color: #fedcba; } +.cm-s-abcdef span.cm-operator { color: #ff0; } +.cm-s-abcdef span.cm-comment { color: #7a7b7c; font-style: italic;} +.cm-s-abcdef span.cm-string { color: #2b4; } +.cm-s-abcdef span.cm-meta { color: #C9F; } +.cm-s-abcdef span.cm-qualifier { color: #FFF700; } +.cm-s-abcdef span.cm-builtin { color: #30aabc; } +.cm-s-abcdef span.cm-bracket { color: #8a8a8a; } +.cm-s-abcdef span.cm-tag { color: #FFDD44; } +.cm-s-abcdef span.cm-attribute { color: #DDFF00; } +.cm-s-abcdef span.cm-error { color: #FF0000; } +.cm-s-abcdef span.cm-header { color: aquamarine; font-weight: bold; } +.cm-s-abcdef span.cm-link { color: blueviolet; } + +.cm-s-abcdef .CodeMirror-activeline-background { background: #314151; } + +/* + + Name: Base16 Default Light + Author: Chris Kempson (http://chriskempson.com) + + CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) + Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +.cm-s-base16-light.CodeMirror { background: #f5f5f5; color: #202020; } +.cm-s-base16-light div.CodeMirror-selected { background: #e0e0e0; } +.cm-s-base16-light .CodeMirror-line::selection, .cm-s-base16-light .CodeMirror-line > span::selection, .cm-s-base16-light .CodeMirror-line > span > span::selection { background: #e0e0e0; } +.cm-s-base16-light .CodeMirror-line::-moz-selection, .cm-s-base16-light .CodeMirror-line > span::-moz-selection, .cm-s-base16-light .CodeMirror-line > span > span::-moz-selection { background: #e0e0e0; } +.cm-s-base16-light .CodeMirror-gutters { background: #f5f5f5; border-right: 0px; } +.cm-s-base16-light .CodeMirror-guttermarker { color: #ac4142; } +.cm-s-base16-light .CodeMirror-guttermarker-subtle { color: #b0b0b0; } +.cm-s-base16-light .CodeMirror-linenumber { color: #b0b0b0; } +.cm-s-base16-light .CodeMirror-cursor { border-left: 1px solid #505050; } + +.cm-s-base16-light span.cm-comment { color: #8f5536; } +.cm-s-base16-light span.cm-atom { color: #aa759f; } +.cm-s-base16-light span.cm-number { color: #aa759f; } + +.cm-s-base16-light span.cm-property, .cm-s-base16-light span.cm-attribute { color: #90a959; } +.cm-s-base16-light span.cm-keyword { color: #ac4142; } +.cm-s-base16-light span.cm-string { color: #f4bf75; } + +.cm-s-base16-light span.cm-variable { color: #90a959; } +.cm-s-base16-light span.cm-variable-2 { color: #6a9fb5; } +.cm-s-base16-light span.cm-def { color: #d28445; } +.cm-s-base16-light span.cm-bracket { color: #202020; } +.cm-s-base16-light span.cm-tag { color: #ac4142; } +.cm-s-base16-light span.cm-link { color: #aa759f; } +.cm-s-base16-light span.cm-error { background: #ac4142; color: #505050; } + +.cm-s-base16-light .CodeMirror-activeline-background { background: #DDDCDC; } +.cm-s-base16-light .CodeMirror-matchingbracket { color: #f5f5f5 !important; background-color: #6A9FB5 !important} + +/* + + Name: Base16 Default Dark + Author: Chris Kempson (http://chriskempson.com) + + CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) + Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +.cm-s-base16-dark.CodeMirror { background: #151515; color: #e0e0e0; } +.cm-s-base16-dark div.CodeMirror-selected { background: #303030; } +.cm-s-base16-dark .CodeMirror-line::selection, .cm-s-base16-dark .CodeMirror-line > span::selection, .cm-s-base16-dark .CodeMirror-line > span > span::selection { background: rgba(48, 48, 48, .99); } +.cm-s-base16-dark .CodeMirror-line::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(48, 48, 48, .99); } +.cm-s-base16-dark .CodeMirror-gutters { background: #151515; border-right: 0px; } +.cm-s-base16-dark .CodeMirror-guttermarker { color: #ac4142; } +.cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #505050; } +.cm-s-base16-dark .CodeMirror-linenumber { color: #505050; } +.cm-s-base16-dark .CodeMirror-cursor { border-left: 1px solid #b0b0b0; } + +.cm-s-base16-dark span.cm-comment { color: #8f5536; } +.cm-s-base16-dark span.cm-atom { color: #aa759f; } +.cm-s-base16-dark span.cm-number { color: #aa759f; } + +.cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute { color: #90a959; } +.cm-s-base16-dark span.cm-keyword { color: #ac4142; } +.cm-s-base16-dark span.cm-string { color: #f4bf75; } + +.cm-s-base16-dark span.cm-variable { color: #90a959; } +.cm-s-base16-dark span.cm-variable-2 { color: #6a9fb5; } +.cm-s-base16-dark span.cm-def { color: #d28445; } +.cm-s-base16-dark span.cm-bracket { color: #e0e0e0; } +.cm-s-base16-dark span.cm-tag { color: #ac4142; } +.cm-s-base16-dark span.cm-link { color: #aa759f; } +.cm-s-base16-dark span.cm-error { background: #ac4142; color: #b0b0b0; } + +.cm-s-base16-dark .CodeMirror-activeline-background { background: #202020; } +.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } + +/* + + Name: dracula + Author: Michael Kaminsky (http://github.com/mkaminsky11) + + Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme) + +*/ + + +.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters { + background-color: #282a36 !important; + color: #f8f8f2 !important; + border: none; +} +.cm-s-dracula .CodeMirror-gutters { color: #282a36; } +.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; } +.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; } +.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); } +.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); } +.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); } +.cm-s-dracula span.cm-comment { color: #6272a4; } +.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; } +.cm-s-dracula span.cm-number { color: #bd93f9; } +.cm-s-dracula span.cm-variable { color: #50fa7b; } +.cm-s-dracula span.cm-variable-2 { color: white; } +.cm-s-dracula span.cm-def { color: #50fa7b; } +.cm-s-dracula span.cm-operator { color: #ff79c6; } +.cm-s-dracula span.cm-keyword { color: #ff79c6; } +.cm-s-dracula span.cm-atom { color: #bd93f9; } +.cm-s-dracula span.cm-meta { color: #f8f8f2; } +.cm-s-dracula span.cm-tag { color: #ff79c6; } +.cm-s-dracula span.cm-attribute { color: #50fa7b; } +.cm-s-dracula span.cm-qualifier { color: #50fa7b; } +.cm-s-dracula span.cm-property { color: #66d9ef; } +.cm-s-dracula span.cm-builtin { color: #50fa7b; } +.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; } + +.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); } +.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } + +/* + + Name: Hopscotch + Author: Jan T. Sott + + CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) + Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +.cm-s-hopscotch.CodeMirror {background: #322931; color: #d5d3d5;} +.cm-s-hopscotch div.CodeMirror-selected {background: #433b42 !important;} +.cm-s-hopscotch .CodeMirror-gutters {background: #322931; border-right: 0px;} +.cm-s-hopscotch .CodeMirror-linenumber {color: #797379;} +.cm-s-hopscotch .CodeMirror-cursor {border-left: 1px solid #989498 !important;} + +.cm-s-hopscotch span.cm-comment {color: #b33508;} +.cm-s-hopscotch span.cm-atom {color: #c85e7c;} +.cm-s-hopscotch span.cm-number {color: #c85e7c;} + +.cm-s-hopscotch span.cm-property, .cm-s-hopscotch span.cm-attribute {color: #8fc13e;} +.cm-s-hopscotch span.cm-keyword {color: #dd464c;} +.cm-s-hopscotch span.cm-string {color: #fdcc59;} + +.cm-s-hopscotch span.cm-variable {color: #8fc13e;} +.cm-s-hopscotch span.cm-variable-2 {color: #1290bf;} +.cm-s-hopscotch span.cm-def {color: #fd8b19;} +.cm-s-hopscotch span.cm-error {background: #dd464c; color: #989498;} +.cm-s-hopscotch span.cm-bracket {color: #d5d3d5;} +.cm-s-hopscotch span.cm-tag {color: #dd464c;} +.cm-s-hopscotch span.cm-link {color: #c85e7c;} + +.cm-s-hopscotch .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} +.cm-s-hopscotch .CodeMirror-activeline-background { background: #302020; } + +/****************************************************************/ +/* Based on mbonaci's Brackets mbo theme */ +/* https://github.com/mbonaci/global/blob/master/Mbo.tmTheme */ +/* Create your own: http://tmtheme-editor.herokuapp.com */ +/****************************************************************/ + +.cm-s-mbo.CodeMirror { background: #2c2c2c; color: #ffffec; } +.cm-s-mbo div.CodeMirror-selected { background: #716C62; } +.cm-s-mbo .CodeMirror-line::selection, .cm-s-mbo .CodeMirror-line > span::selection, .cm-s-mbo .CodeMirror-line > span > span::selection { background: rgba(113, 108, 98, .99); } +.cm-s-mbo .CodeMirror-line::-moz-selection, .cm-s-mbo .CodeMirror-line > span::-moz-selection, .cm-s-mbo .CodeMirror-line > span > span::-moz-selection { background: rgba(113, 108, 98, .99); } +.cm-s-mbo .CodeMirror-gutters { background: #4e4e4e; border-right: 0px; } +.cm-s-mbo .CodeMirror-guttermarker { color: white; } +.cm-s-mbo .CodeMirror-guttermarker-subtle { color: grey; } +.cm-s-mbo .CodeMirror-linenumber { color: #dadada; } +.cm-s-mbo .CodeMirror-cursor { border-left: 1px solid #ffffec; } + +.cm-s-mbo span.cm-comment { color: #95958a; } +.cm-s-mbo span.cm-atom { color: #00a8c6; } +.cm-s-mbo span.cm-number { color: #00a8c6; } + +.cm-s-mbo span.cm-property, .cm-s-mbo span.cm-attribute { color: #9ddfe9; } +.cm-s-mbo span.cm-keyword { color: #ffb928; } +.cm-s-mbo span.cm-string { color: #ffcf6c; } +.cm-s-mbo span.cm-string.cm-property { color: #ffffec; } + +.cm-s-mbo span.cm-variable { color: #ffffec; } +.cm-s-mbo span.cm-variable-2 { color: #00a8c6; } +.cm-s-mbo span.cm-def { color: #ffffec; } +.cm-s-mbo span.cm-bracket { color: #fffffc; font-weight: bold; } +.cm-s-mbo span.cm-tag { color: #9ddfe9; } +.cm-s-mbo span.cm-link { color: #f54b07; } +.cm-s-mbo span.cm-error { border-bottom: #636363; color: #ffffec; } +.cm-s-mbo span.cm-qualifier { color: #ffffec; } + +.cm-s-mbo .CodeMirror-activeline-background { background: #494b41; } +.cm-s-mbo .CodeMirror-matchingbracket { color: #ffb928 !important; } +.cm-s-mbo .CodeMirror-matchingtag { background: rgba(255, 255, 255, .37); } + +/* + MDN-LIKE Theme - Mozilla + Ported to CodeMirror by Peter Kroon <plakroon@gmail.com> + Report bugs/issues here: https://github.com/codemirror/CodeMirror/issues + GitHub: @peterkroon + + The mdn-like theme is inspired on the displayed code examples at: https://developer.mozilla.org/en-US/docs/Web/CSS/animation + +*/ +.cm-s-mdn-like.CodeMirror { color: #999; background-color: #fff; } +.cm-s-mdn-like div.CodeMirror-selected { background: #cfc; } +.cm-s-mdn-like .CodeMirror-line::selection, .cm-s-mdn-like .CodeMirror-line > span::selection, .cm-s-mdn-like .CodeMirror-line > span > span::selection { background: #cfc; } +.cm-s-mdn-like .CodeMirror-line::-moz-selection, .cm-s-mdn-like .CodeMirror-line > span::-moz-selection, .cm-s-mdn-like .CodeMirror-line > span > span::-moz-selection { background: #cfc; } + +.cm-s-mdn-like .CodeMirror-gutters { background: #f8f8f8; border-left: 6px solid rgba(0,83,159,0.65); color: #333; } +.cm-s-mdn-like .CodeMirror-linenumber { color: #aaa; padding-left: 8px; } +.cm-s-mdn-like .CodeMirror-cursor { border-left: 2px solid #222; } + +.cm-s-mdn-like .cm-keyword { color: #6262FF; } +.cm-s-mdn-like .cm-atom { color: #F90; } +.cm-s-mdn-like .cm-number { color: #ca7841; } +.cm-s-mdn-like .cm-def { color: #8DA6CE; } +.cm-s-mdn-like span.cm-variable-2, .cm-s-mdn-like span.cm-tag { color: #690; } +.cm-s-mdn-like span.cm-variable-3, .cm-s-mdn-like span.cm-def, .cm-s-mdn-like span.cm-type { color: #07a; } + +.cm-s-mdn-like .cm-variable { color: #07a; } +.cm-s-mdn-like .cm-property { color: #905; } +.cm-s-mdn-like .cm-qualifier { color: #690; } + +.cm-s-mdn-like .cm-operator { color: #cda869; } +.cm-s-mdn-like .cm-comment { color:#777; font-weight:normal; } +.cm-s-mdn-like .cm-string { color:#07a; font-style:italic; } +.cm-s-mdn-like .cm-string-2 { color:#bd6b18; } /*?*/ +.cm-s-mdn-like .cm-meta { color: #000; } /*?*/ +.cm-s-mdn-like .cm-builtin { color: #9B7536; } /*?*/ +.cm-s-mdn-like .cm-tag { color: #997643; } +.cm-s-mdn-like .cm-attribute { color: #d6bb6d; } /*?*/ +.cm-s-mdn-like .cm-header { color: #FF6400; } +.cm-s-mdn-like .cm-hr { color: #AEAEAE; } +.cm-s-mdn-like .cm-link { color:#ad9361; font-style:italic; text-decoration:none; } +.cm-s-mdn-like .cm-error { border-bottom: 1px solid red; } + +div.cm-s-mdn-like .CodeMirror-activeline-background { background: #efefff; } +div.cm-s-mdn-like span.CodeMirror-matchingbracket { outline:1px solid grey; color: inherit; } + +.cm-s-mdn-like.CodeMirror { background-image: url(data:image/png;base64,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); } + +/* + + Name: seti + Author: Michael Kaminsky (http://github.com/mkaminsky11) + + Original seti color scheme by Jesse Weed (https://github.com/jesseweed/seti-syntax) + +*/ + + +.cm-s-seti.CodeMirror { + background-color: #151718 !important; + color: #CFD2D1 !important; + border: none; +} +.cm-s-seti .CodeMirror-gutters { + color: #404b53; + background-color: #0E1112; + border: none; +} +.cm-s-seti .CodeMirror-cursor { border-left: solid thin #f8f8f0; } +.cm-s-seti .CodeMirror-linenumber { color: #6D8A88; } +.cm-s-seti.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); } +.cm-s-seti .CodeMirror-line::selection, .cm-s-seti .CodeMirror-line > span::selection, .cm-s-seti .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); } +.cm-s-seti .CodeMirror-line::-moz-selection, .cm-s-seti .CodeMirror-line > span::-moz-selection, .cm-s-seti .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); } +.cm-s-seti span.cm-comment { color: #41535b; } +.cm-s-seti span.cm-string, .cm-s-seti span.cm-string-2 { color: #55b5db; } +.cm-s-seti span.cm-number { color: #cd3f45; } +.cm-s-seti span.cm-variable { color: #55b5db; } +.cm-s-seti span.cm-variable-2 { color: #a074c4; } +.cm-s-seti span.cm-def { color: #55b5db; } +.cm-s-seti span.cm-keyword { color: #ff79c6; } +.cm-s-seti span.cm-operator { color: #9fca56; } +.cm-s-seti span.cm-keyword { color: #e6cd69; } +.cm-s-seti span.cm-atom { color: #cd3f45; } +.cm-s-seti span.cm-meta { color: #55b5db; } +.cm-s-seti span.cm-tag { color: #55b5db; } +.cm-s-seti span.cm-attribute { color: #9fca56; } +.cm-s-seti span.cm-qualifier { color: #9fca56; } +.cm-s-seti span.cm-property { color: #a074c4; } +.cm-s-seti span.cm-variable-3, .cm-s-seti span.cm-type { color: #9fca56; } +.cm-s-seti span.cm-builtin { color: #9fca56; } +.cm-s-seti .CodeMirror-activeline-background { background: #101213; } +.cm-s-seti .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } + +/* +Solarized theme for code-mirror +http://ethanschoonover.com/solarized +*/ + +/* +Solarized color palette +http://ethanschoonover.com/solarized/img/solarized-palette.png +*/ + +.solarized.base03 { color: #002b36; } +.solarized.base02 { color: #073642; } +.solarized.base01 { color: #586e75; } +.solarized.base00 { color: #657b83; } +.solarized.base0 { color: #839496; } +.solarized.base1 { color: #93a1a1; } +.solarized.base2 { color: #eee8d5; } +.solarized.base3 { color: #fdf6e3; } +.solarized.solar-yellow { color: #b58900; } +.solarized.solar-orange { color: #cb4b16; } +.solarized.solar-red { color: #dc322f; } +.solarized.solar-magenta { color: #d33682; } +.solarized.solar-violet { color: #6c71c4; } +.solarized.solar-blue { color: #268bd2; } +.solarized.solar-cyan { color: #2aa198; } +.solarized.solar-green { color: #859900; } + +/* Color scheme for code-mirror */ + +.cm-s-solarized { + line-height: 1.45em; + color-profile: sRGB; + rendering-intent: auto; +} +.cm-s-solarized.cm-s-dark { + color: #839496; + background-color: #002b36; + text-shadow: #002b36 0 1px; +} +.cm-s-solarized.cm-s-light { + background-color: #fdf6e3; + color: #657b83; + text-shadow: #eee8d5 0 1px; +} + +.cm-s-solarized .CodeMirror-widget { + text-shadow: none; +} + +.cm-s-solarized .cm-header { color: #586e75; } +.cm-s-solarized .cm-quote { color: #93a1a1; } + +.cm-s-solarized .cm-keyword { color: #cb4b16; } +.cm-s-solarized .cm-atom { color: #d33682; } +.cm-s-solarized .cm-number { color: #d33682; } +.cm-s-solarized .cm-def { color: #2aa198; } + +.cm-s-solarized .cm-variable { color: #839496; } +.cm-s-solarized .cm-variable-2 { color: #b58900; } +.cm-s-solarized .cm-variable-3, .cm-s-solarized .cm-type { color: #6c71c4; } + +.cm-s-solarized .cm-property { color: #2aa198; } +.cm-s-solarized .cm-operator { color: #6c71c4; } + +.cm-s-solarized .cm-comment { color: #586e75; font-style:italic; } + +.cm-s-solarized .cm-string { color: #859900; } +.cm-s-solarized .cm-string-2 { color: #b58900; } + +.cm-s-solarized .cm-meta { color: #859900; } +.cm-s-solarized .cm-qualifier { color: #b58900; } +.cm-s-solarized .cm-builtin { color: #d33682; } +.cm-s-solarized .cm-bracket { color: #cb4b16; } +.cm-s-solarized .CodeMirror-matchingbracket { color: #859900; } +.cm-s-solarized .CodeMirror-nonmatchingbracket { color: #dc322f; } +.cm-s-solarized .cm-tag { color: #93a1a1; } +.cm-s-solarized .cm-attribute { color: #2aa198; } +.cm-s-solarized .cm-hr { + color: transparent; + border-top: 1px solid #586e75; + display: block; +} +.cm-s-solarized .cm-link { color: #93a1a1; cursor: pointer; } +.cm-s-solarized .cm-special { color: #6c71c4; } +.cm-s-solarized .cm-em { + color: #999; + text-decoration: underline; + text-decoration-style: dotted; +} +.cm-s-solarized .cm-error, +.cm-s-solarized .cm-invalidchar { + color: #586e75; + border-bottom: 1px dotted #dc322f; +} + +.cm-s-solarized.cm-s-dark div.CodeMirror-selected { background: #073642; } +.cm-s-solarized.cm-s-dark.CodeMirror ::selection { background: rgba(7, 54, 66, 0.99); } +.cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection, .cm-s-dark .CodeMirror-line > span::-moz-selection, .cm-s-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(7, 54, 66, 0.99); } + +.cm-s-solarized.cm-s-light div.CodeMirror-selected { background: #eee8d5; } +.cm-s-solarized.cm-s-light .CodeMirror-line::selection, .cm-s-light .CodeMirror-line > span::selection, .cm-s-light .CodeMirror-line > span > span::selection { background: #eee8d5; } +.cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection, .cm-s-ligh .CodeMirror-line > span::-moz-selection, .cm-s-ligh .CodeMirror-line > span > span::-moz-selection { background: #eee8d5; } + +/* Editor styling */ + + + +/* Little shadow on the view-port of the buffer view */ +.cm-s-solarized.CodeMirror { + -moz-box-shadow: inset 7px 0 12px -6px #000; + -webkit-box-shadow: inset 7px 0 12px -6px #000; + box-shadow: inset 7px 0 12px -6px #000; +} + +/* Remove gutter border */ +.cm-s-solarized .CodeMirror-gutters { + border-right: 0; +} + +/* Gutter colors and line number styling based of color scheme (dark / light) */ + +/* Dark */ +.cm-s-solarized.cm-s-dark .CodeMirror-gutters { + background-color: #073642; +} + +.cm-s-solarized.cm-s-dark .CodeMirror-linenumber { + color: #586e75; + text-shadow: #021014 0 -1px; +} + +/* Light */ +.cm-s-solarized.cm-s-light .CodeMirror-gutters { + background-color: #eee8d5; +} + +.cm-s-solarized.cm-s-light .CodeMirror-linenumber { + color: #839496; +} + +/* Common */ +.cm-s-solarized .CodeMirror-linenumber { + padding: 0 5px; +} +.cm-s-solarized .CodeMirror-guttermarker-subtle { color: #586e75; } +.cm-s-solarized.cm-s-dark .CodeMirror-guttermarker { color: #ddd; } +.cm-s-solarized.cm-s-light .CodeMirror-guttermarker { color: #cb4b16; } + +.cm-s-solarized .CodeMirror-gutter .CodeMirror-gutter-text { + color: #586e75; +} + +/* Cursor */ +.cm-s-solarized .CodeMirror-cursor { border-left: 1px solid #819090; } + +/* Fat cursor */ +.cm-s-solarized.cm-s-light.cm-fat-cursor .CodeMirror-cursor { background: #77ee77; } +.cm-s-solarized.cm-s-light .cm-animate-fat-cursor { background-color: #77ee77; } +.cm-s-solarized.cm-s-dark.cm-fat-cursor .CodeMirror-cursor { background: #586e75; } +.cm-s-solarized.cm-s-dark .cm-animate-fat-cursor { background-color: #586e75; } + +/* Active line */ +.cm-s-solarized.cm-s-dark .CodeMirror-activeline-background { + background: rgba(255, 255, 255, 0.06); +} +.cm-s-solarized.cm-s-light .CodeMirror-activeline-background { + background: rgba(0, 0, 0, 0.06); +} + +.cm-s-the-matrix.CodeMirror { background: #000000; color: #00FF00; } +.cm-s-the-matrix div.CodeMirror-selected { background: #2D2D2D; } +.cm-s-the-matrix .CodeMirror-line::selection, .cm-s-the-matrix .CodeMirror-line > span::selection, .cm-s-the-matrix .CodeMirror-line > span > span::selection { background: rgba(45, 45, 45, 0.99); } +.cm-s-the-matrix .CodeMirror-line::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span > span::-moz-selection { background: rgba(45, 45, 45, 0.99); } +.cm-s-the-matrix .CodeMirror-gutters { background: #060; border-right: 2px solid #00FF00; } +.cm-s-the-matrix .CodeMirror-guttermarker { color: #0f0; } +.cm-s-the-matrix .CodeMirror-guttermarker-subtle { color: white; } +.cm-s-the-matrix .CodeMirror-linenumber { color: #FFFFFF; } +.cm-s-the-matrix .CodeMirror-cursor { border-left: 1px solid #00FF00; } + +.cm-s-the-matrix span.cm-keyword { color: #008803; font-weight: bold; } +.cm-s-the-matrix span.cm-atom { color: #3FF; } +.cm-s-the-matrix span.cm-number { color: #FFB94F; } +.cm-s-the-matrix span.cm-def { color: #99C; } +.cm-s-the-matrix span.cm-variable { color: #F6C; } +.cm-s-the-matrix span.cm-variable-2 { color: #C6F; } +.cm-s-the-matrix span.cm-variable-3, .cm-s-the-matrix span.cm-type { color: #96F; } +.cm-s-the-matrix span.cm-property { color: #62FFA0; } +.cm-s-the-matrix span.cm-operator { color: #999; } +.cm-s-the-matrix span.cm-comment { color: #CCCCCC; } +.cm-s-the-matrix span.cm-string { color: #39C; } +.cm-s-the-matrix span.cm-meta { color: #C9F; } +.cm-s-the-matrix span.cm-qualifier { color: #FFF700; } +.cm-s-the-matrix span.cm-builtin { color: #30a; } +.cm-s-the-matrix span.cm-bracket { color: #cc7; } +.cm-s-the-matrix span.cm-tag { color: #FFBD40; } +.cm-s-the-matrix span.cm-attribute { color: #FFF700; } +.cm-s-the-matrix span.cm-error { color: #FF0000; } + +.cm-s-the-matrix .CodeMirror-activeline-background { background: #040; } + +/* +Copyright (C) 2011 by MarkLogic Corporation +Author: Mike Brevoort <mike@brevoort.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ +.cm-s-xq-light span.cm-keyword { line-height: 1em; font-weight: bold; color: #5A5CAD; } +.cm-s-xq-light span.cm-atom { color: #6C8CD5; } +.cm-s-xq-light span.cm-number { color: #164; } +.cm-s-xq-light span.cm-def { text-decoration:underline; } +.cm-s-xq-light span.cm-variable { color: black; } +.cm-s-xq-light span.cm-variable-2 { color:black; } +.cm-s-xq-light span.cm-variable-3, .cm-s-xq-light span.cm-type { color: black; } +.cm-s-xq-light span.cm-property {} +.cm-s-xq-light span.cm-operator {} +.cm-s-xq-light span.cm-comment { color: #0080FF; font-style: italic; } +.cm-s-xq-light span.cm-string { color: red; } +.cm-s-xq-light span.cm-meta { color: yellow; } +.cm-s-xq-light span.cm-qualifier { color: grey; } +.cm-s-xq-light span.cm-builtin { color: #7EA656; } +.cm-s-xq-light span.cm-bracket { color: #cc7; } +.cm-s-xq-light span.cm-tag { color: #3F7F7F; } +.cm-s-xq-light span.cm-attribute { color: #7F007F; } +.cm-s-xq-light span.cm-error { color: #f00; } + +.cm-s-xq-light .CodeMirror-activeline-background { background: #e8f2ff; } +.cm-s-xq-light .CodeMirror-matchingbracket { outline:1px solid grey;color:black !important;background:yellow; } + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.CodeMirror { + line-height: var(--jp-code-line-height); + font-size: var(--jp-code-font-size); + font-family: var(--jp-code-font-family); + border: 0; + border-radius: 0; + height: auto; + /* Changed to auto to autogrow */ +} + +.CodeMirror pre { + padding: 0 var(--jp-code-padding); +} + +.jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-dialog { + background-color: var(--jp-layout-color0); + color: var(--jp-content-font-color1); +} + +/* This causes https://github.com/jupyter/jupyterlab/issues/522 */ +/* May not cause it not because we changed it! */ +.CodeMirror-lines { + padding: var(--jp-code-padding) 0; +} + +.CodeMirror-linenumber { + padding: 0 8px; +} + +.jp-CodeMirrorEditor-static { + margin: var(--jp-code-padding); +} + +.jp-CodeMirrorEditor, +.jp-CodeMirrorEditor-static { + cursor: text; +} + +.jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor { + border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color); +} + +/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */ +@media screen and (min-width: 2138px) and (max-width: 4319px) { + .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor { + border-left: var(--jp-code-cursor-width1) solid + var(--jp-editor-cursor-color); + } +} + +/* When zoomed out less than 33% */ +@media screen and (min-width: 4320px) { + .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor { + border-left: var(--jp-code-cursor-width2) solid + var(--jp-editor-cursor-color); + } +} + +.CodeMirror.jp-mod-readOnly .CodeMirror-cursor { + display: none; +} + +.CodeMirror-gutters { + border-right: 1px solid var(--jp-border-color2); + background-color: var(--jp-layout-color0); +} + +.jp-CollaboratorCursor { + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: none; + border-bottom: 3px solid; + background-clip: content-box; + margin-left: -5px; + margin-right: -5px; +} + +.CodeMirror-selectedtext.cm-searching { + background-color: var(--jp-search-selected-match-background-color) !important; + color: var(--jp-search-selected-match-color) !important; +} + +.cm-searching { + background-color: var( + --jp-search-unselected-match-background-color + ) !important; + color: var(--jp-search-unselected-match-color) !important; +} + +.CodeMirror-focused .CodeMirror-selected { + background-color: var(--jp-editor-selected-focused-background); +} + +.CodeMirror-selected { + background-color: var(--jp-editor-selected-background); +} + +.jp-CollaboratorCursor-hover { + position: absolute; + z-index: 1; + transform: translateX(-50%); + color: white; + border-radius: 3px; + padding-left: 4px; + padding-right: 4px; + padding-top: 1px; + padding-bottom: 1px; + text-align: center; + font-size: var(--jp-ui-font-size1); + white-space: nowrap; +} + +.jp-CodeMirror-ruler { + border-left: 1px dashed var(--jp-border-color2); +} + +/** + * Here is our jupyter theme for CodeMirror syntax highlighting + * This is used in our marked.js syntax highlighting and CodeMirror itself + * The string "jupyter" is set in ../codemirror/widget.DEFAULT_CODEMIRROR_THEME + * This came from the classic notebook, which came form highlight.js/GitHub + */ + +/** + * CodeMirror themes are handling the background/color in this way. This works + * fine for CodeMirror editors outside the notebook, but the notebook styles + * these things differently. + */ +.CodeMirror.cm-s-jupyter { + background: var(--jp-layout-color0); + color: var(--jp-content-font-color1); +} + +/* In the notebook, we want this styling to be handled by its container */ +.jp-CodeConsole .CodeMirror.cm-s-jupyter, +.jp-Notebook .CodeMirror.cm-s-jupyter { + background: transparent; +} + +.cm-s-jupyter .CodeMirror-cursor { + border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color); +} +.cm-s-jupyter span.cm-keyword { + color: var(--jp-mirror-editor-keyword-color); + font-weight: bold; +} +.cm-s-jupyter span.cm-atom { + color: var(--jp-mirror-editor-atom-color); +} +.cm-s-jupyter span.cm-number { + color: var(--jp-mirror-editor-number-color); +} +.cm-s-jupyter span.cm-def { + color: var(--jp-mirror-editor-def-color); +} +.cm-s-jupyter span.cm-variable { + color: var(--jp-mirror-editor-variable-color); +} +.cm-s-jupyter span.cm-variable-2 { + color: var(--jp-mirror-editor-variable-2-color); +} +.cm-s-jupyter span.cm-variable-3 { + color: var(--jp-mirror-editor-variable-3-color); +} +.cm-s-jupyter span.cm-punctuation { + color: var(--jp-mirror-editor-punctuation-color); +} +.cm-s-jupyter span.cm-property { + color: var(--jp-mirror-editor-property-color); +} +.cm-s-jupyter span.cm-operator { + color: var(--jp-mirror-editor-operator-color); + font-weight: bold; +} +.cm-s-jupyter span.cm-comment { + color: var(--jp-mirror-editor-comment-color); + font-style: italic; +} +.cm-s-jupyter span.cm-string { + color: var(--jp-mirror-editor-string-color); +} +.cm-s-jupyter span.cm-string-2 { + color: var(--jp-mirror-editor-string-2-color); +} +.cm-s-jupyter span.cm-meta { + color: var(--jp-mirror-editor-meta-color); +} +.cm-s-jupyter span.cm-qualifier { + color: var(--jp-mirror-editor-qualifier-color); +} +.cm-s-jupyter span.cm-builtin { + color: var(--jp-mirror-editor-builtin-color); +} +.cm-s-jupyter span.cm-bracket { + color: var(--jp-mirror-editor-bracket-color); +} +.cm-s-jupyter span.cm-tag { + color: var(--jp-mirror-editor-tag-color); +} +.cm-s-jupyter span.cm-attribute { + color: var(--jp-mirror-editor-attribute-color); +} +.cm-s-jupyter span.cm-header { + color: var(--jp-mirror-editor-header-color); +} +.cm-s-jupyter span.cm-quote { + color: var(--jp-mirror-editor-quote-color); +} +.cm-s-jupyter span.cm-link { + color: var(--jp-mirror-editor-link-color); +} +.cm-s-jupyter span.cm-error { + color: var(--jp-mirror-editor-error-color); +} +.cm-s-jupyter span.cm-hr { + color: #999; +} + +.cm-s-jupyter span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} + +.cm-s-jupyter .CodeMirror-activeline-background, +.cm-s-jupyter .CodeMirror-gutter { + background-color: var(--jp-layout-color2); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| RenderedText +|----------------------------------------------------------------------------*/ + +.jp-RenderedText { + text-align: left; + padding-left: var(--jp-code-padding); + line-height: var(--jp-code-line-height); + font-family: var(--jp-code-font-family); +} + +.jp-RenderedText pre, +.jp-RenderedJavaScript pre, +.jp-RenderedHTMLCommon pre { + color: var(--jp-content-font-color1); + font-size: var(--jp-code-font-size); + border: none; + margin: 0px; + padding: 0px; + line-height: normal; +} + +.jp-RenderedText pre a:link { + text-decoration: none; + color: var(--jp-content-link-color); +} +.jp-RenderedText pre a:hover { + text-decoration: underline; + color: var(--jp-content-link-color); +} +.jp-RenderedText pre a:visited { + text-decoration: none; + color: var(--jp-content-link-color); +} + +/* console foregrounds and backgrounds */ +.jp-RenderedText pre .ansi-black-fg { + color: #3e424d; +} +.jp-RenderedText pre .ansi-red-fg { + color: #e75c58; +} +.jp-RenderedText pre .ansi-green-fg { + color: #00a250; +} +.jp-RenderedText pre .ansi-yellow-fg { + color: #ddb62b; +} +.jp-RenderedText pre .ansi-blue-fg { + color: #208ffb; +} +.jp-RenderedText pre .ansi-magenta-fg { + color: #d160c4; +} +.jp-RenderedText pre .ansi-cyan-fg { + color: #60c6c8; +} +.jp-RenderedText pre .ansi-white-fg { + color: #c5c1b4; +} + +.jp-RenderedText pre .ansi-black-bg { + background-color: #3e424d; +} +.jp-RenderedText pre .ansi-red-bg { + background-color: #e75c58; +} +.jp-RenderedText pre .ansi-green-bg { + background-color: #00a250; +} +.jp-RenderedText pre .ansi-yellow-bg { + background-color: #ddb62b; +} +.jp-RenderedText pre .ansi-blue-bg { + background-color: #208ffb; +} +.jp-RenderedText pre .ansi-magenta-bg { + background-color: #d160c4; +} +.jp-RenderedText pre .ansi-cyan-bg { + background-color: #60c6c8; +} +.jp-RenderedText pre .ansi-white-bg { + background-color: #c5c1b4; +} + +.jp-RenderedText pre .ansi-black-intense-fg { + color: #282c36; +} +.jp-RenderedText pre .ansi-red-intense-fg { + color: #b22b31; +} +.jp-RenderedText pre .ansi-green-intense-fg { + color: #007427; +} +.jp-RenderedText pre .ansi-yellow-intense-fg { + color: #b27d12; +} +.jp-RenderedText pre .ansi-blue-intense-fg { + color: #0065ca; +} +.jp-RenderedText pre .ansi-magenta-intense-fg { + color: #a03196; +} +.jp-RenderedText pre .ansi-cyan-intense-fg { + color: #258f8f; +} +.jp-RenderedText pre .ansi-white-intense-fg { + color: #a1a6b2; +} + +.jp-RenderedText pre .ansi-black-intense-bg { + background-color: #282c36; +} +.jp-RenderedText pre .ansi-red-intense-bg { + background-color: #b22b31; +} +.jp-RenderedText pre .ansi-green-intense-bg { + background-color: #007427; +} +.jp-RenderedText pre .ansi-yellow-intense-bg { + background-color: #b27d12; +} +.jp-RenderedText pre .ansi-blue-intense-bg { + background-color: #0065ca; +} +.jp-RenderedText pre .ansi-magenta-intense-bg { + background-color: #a03196; +} +.jp-RenderedText pre .ansi-cyan-intense-bg { + background-color: #258f8f; +} +.jp-RenderedText pre .ansi-white-intense-bg { + background-color: #a1a6b2; +} + +.jp-RenderedText pre .ansi-default-inverse-fg { + color: var(--jp-ui-inverse-font-color0); +} +.jp-RenderedText pre .ansi-default-inverse-bg { + background-color: var(--jp-inverse-layout-color0); +} + +.jp-RenderedText pre .ansi-bold { + font-weight: bold; +} +.jp-RenderedText pre .ansi-underline { + text-decoration: underline; +} + +.jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] { + background: var(--jp-rendermime-error-background); + padding-top: var(--jp-code-padding); +} + +/*----------------------------------------------------------------------------- +| RenderedLatex +|----------------------------------------------------------------------------*/ + +.jp-RenderedLatex { + color: var(--jp-content-font-color1); + font-size: var(--jp-content-font-size1); + line-height: var(--jp-content-line-height); +} + +/* Left-justify outputs.*/ +.jp-OutputArea-output.jp-RenderedLatex { + padding: var(--jp-code-padding); + text-align: left; +} + +/*----------------------------------------------------------------------------- +| RenderedHTML +|----------------------------------------------------------------------------*/ + +.jp-RenderedHTMLCommon { + color: var(--jp-content-font-color1); + font-family: var(--jp-content-font-family); + font-size: var(--jp-content-font-size1); + line-height: var(--jp-content-line-height); + /* Give a bit more R padding on Markdown text to keep line lengths reasonable */ + padding-right: 20px; +} + +.jp-RenderedHTMLCommon em { + font-style: italic; +} + +.jp-RenderedHTMLCommon strong { + font-weight: bold; +} + +.jp-RenderedHTMLCommon u { + text-decoration: underline; +} + +.jp-RenderedHTMLCommon a:link { + text-decoration: none; + color: var(--jp-content-link-color); +} + +.jp-RenderedHTMLCommon a:hover { + text-decoration: underline; + color: var(--jp-content-link-color); +} + +.jp-RenderedHTMLCommon a:visited { + text-decoration: none; + color: var(--jp-content-link-color); +} + +/* Headings */ + +.jp-RenderedHTMLCommon h1, +.jp-RenderedHTMLCommon h2, +.jp-RenderedHTMLCommon h3, +.jp-RenderedHTMLCommon h4, +.jp-RenderedHTMLCommon h5, +.jp-RenderedHTMLCommon h6 { + line-height: var(--jp-content-heading-line-height); + font-weight: var(--jp-content-heading-font-weight); + font-style: normal; + margin: var(--jp-content-heading-margin-top) 0 + var(--jp-content-heading-margin-bottom) 0; +} + +.jp-RenderedHTMLCommon h1:first-child, +.jp-RenderedHTMLCommon h2:first-child, +.jp-RenderedHTMLCommon h3:first-child, +.jp-RenderedHTMLCommon h4:first-child, +.jp-RenderedHTMLCommon h5:first-child, +.jp-RenderedHTMLCommon h6:first-child { + margin-top: calc(0.5 * var(--jp-content-heading-margin-top)); +} + +.jp-RenderedHTMLCommon h1:last-child, +.jp-RenderedHTMLCommon h2:last-child, +.jp-RenderedHTMLCommon h3:last-child, +.jp-RenderedHTMLCommon h4:last-child, +.jp-RenderedHTMLCommon h5:last-child, +.jp-RenderedHTMLCommon h6:last-child { + margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom)); +} + +.jp-RenderedHTMLCommon h1 { + font-size: var(--jp-content-font-size5); +} + +.jp-RenderedHTMLCommon h2 { + font-size: var(--jp-content-font-size4); +} + +.jp-RenderedHTMLCommon h3 { + font-size: var(--jp-content-font-size3); +} + +.jp-RenderedHTMLCommon h4 { + font-size: var(--jp-content-font-size2); +} + +.jp-RenderedHTMLCommon h5 { + font-size: var(--jp-content-font-size1); +} + +.jp-RenderedHTMLCommon h6 { + font-size: var(--jp-content-font-size0); +} + +/* Lists */ + +.jp-RenderedHTMLCommon ul:not(.list-inline), +.jp-RenderedHTMLCommon ol:not(.list-inline) { + padding-left: 2em; +} + +.jp-RenderedHTMLCommon ul { + list-style: disc; +} + +.jp-RenderedHTMLCommon ul ul { + list-style: square; +} + +.jp-RenderedHTMLCommon ul ul ul { + list-style: circle; +} + +.jp-RenderedHTMLCommon ol { + list-style: decimal; +} + +.jp-RenderedHTMLCommon ol ol { + list-style: upper-alpha; +} + +.jp-RenderedHTMLCommon ol ol ol { + list-style: lower-alpha; +} + +.jp-RenderedHTMLCommon ol ol ol ol { + list-style: lower-roman; +} + +.jp-RenderedHTMLCommon ol ol ol ol ol { + list-style: decimal; +} + +.jp-RenderedHTMLCommon ol, +.jp-RenderedHTMLCommon ul { + margin-bottom: 1em; +} + +.jp-RenderedHTMLCommon ul ul, +.jp-RenderedHTMLCommon ul ol, +.jp-RenderedHTMLCommon ol ul, +.jp-RenderedHTMLCommon ol ol { + margin-bottom: 0em; +} + +.jp-RenderedHTMLCommon hr { + color: var(--jp-border-color2); + background-color: var(--jp-border-color1); + margin-top: 1em; + margin-bottom: 1em; +} + +.jp-RenderedHTMLCommon > pre { + margin: 1.5em 2em; +} + +.jp-RenderedHTMLCommon pre, +.jp-RenderedHTMLCommon code { + border: 0; + background-color: var(--jp-layout-color0); + color: var(--jp-content-font-color1); + font-family: var(--jp-code-font-family); + font-size: inherit; + line-height: var(--jp-code-line-height); + padding: 0; + white-space: pre-wrap; +} + +.jp-RenderedHTMLCommon :not(pre) > code { + background-color: var(--jp-layout-color2); + padding: 1px 5px; +} + +/* Tables */ + +.jp-RenderedHTMLCommon table { + border-collapse: collapse; + border-spacing: 0; + border: none; + color: var(--jp-ui-font-color1); + font-size: 12px; + table-layout: fixed; + margin-left: auto; + margin-right: auto; +} + +.jp-RenderedHTMLCommon thead { + border-bottom: var(--jp-border-width) solid var(--jp-border-color1); + vertical-align: bottom; +} + +.jp-RenderedHTMLCommon td, +.jp-RenderedHTMLCommon th, +.jp-RenderedHTMLCommon tr { + vertical-align: middle; + padding: 0.5em 0.5em; + line-height: normal; + white-space: normal; + max-width: none; + border: none; +} + +.jp-RenderedMarkdown.jp-RenderedHTMLCommon td, +.jp-RenderedMarkdown.jp-RenderedHTMLCommon th { + max-width: none; +} + +:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td, +:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th, +:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr { + text-align: right; +} + +.jp-RenderedHTMLCommon th { + font-weight: bold; +} + +.jp-RenderedHTMLCommon tbody tr:nth-child(odd) { + background: var(--jp-layout-color0); +} + +.jp-RenderedHTMLCommon tbody tr:nth-child(even) { + background: var(--jp-rendermime-table-row-background); +} + +.jp-RenderedHTMLCommon tbody tr:hover { + background: var(--jp-rendermime-table-row-hover-background); +} + +.jp-RenderedHTMLCommon table { + margin-bottom: 1em; +} + +.jp-RenderedHTMLCommon p { + text-align: left; + margin: 0px; +} + +.jp-RenderedHTMLCommon p { + margin-bottom: 1em; +} + +.jp-RenderedHTMLCommon img { + -moz-force-broken-image-icon: 1; +} + +/* Restrict to direct children as other images could be nested in other content. */ +.jp-RenderedHTMLCommon > img { + display: block; + margin-left: 0; + margin-right: 0; + margin-bottom: 1em; +} + +/* Change color behind transparent images if they need it... */ +[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background { + background-color: var(--jp-inverse-layout-color1); +} +[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background { + background-color: var(--jp-inverse-layout-color1); +} +/* ...or leave it untouched if they don't */ +[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-dark-background { +} +[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-light-background { +} + +.jp-RenderedHTMLCommon img, +.jp-RenderedImage img, +.jp-RenderedHTMLCommon svg, +.jp-RenderedSVG svg { + max-width: 100%; + height: auto; +} + +.jp-RenderedHTMLCommon img.jp-mod-unconfined, +.jp-RenderedImage img.jp-mod-unconfined, +.jp-RenderedHTMLCommon svg.jp-mod-unconfined, +.jp-RenderedSVG svg.jp-mod-unconfined { + max-width: none; +} + +.jp-RenderedHTMLCommon .alert { + padding: var(--jp-notebook-padding); + border: var(--jp-border-width) solid transparent; + border-radius: var(--jp-border-radius); + margin-bottom: 1em; +} + +.jp-RenderedHTMLCommon .alert-info { + color: var(--jp-info-color0); + background-color: var(--jp-info-color3); + border-color: var(--jp-info-color2); +} +.jp-RenderedHTMLCommon .alert-info hr { + border-color: var(--jp-info-color3); +} +.jp-RenderedHTMLCommon .alert-info > p:last-child, +.jp-RenderedHTMLCommon .alert-info > ul:last-child { + margin-bottom: 0; +} + +.jp-RenderedHTMLCommon .alert-warning { + color: var(--jp-warn-color0); + background-color: var(--jp-warn-color3); + border-color: var(--jp-warn-color2); +} +.jp-RenderedHTMLCommon .alert-warning hr { + border-color: var(--jp-warn-color3); +} +.jp-RenderedHTMLCommon .alert-warning > p:last-child, +.jp-RenderedHTMLCommon .alert-warning > ul:last-child { + margin-bottom: 0; +} + +.jp-RenderedHTMLCommon .alert-success { + color: var(--jp-success-color0); + background-color: var(--jp-success-color3); + border-color: var(--jp-success-color2); +} +.jp-RenderedHTMLCommon .alert-success hr { + border-color: var(--jp-success-color3); +} +.jp-RenderedHTMLCommon .alert-success > p:last-child, +.jp-RenderedHTMLCommon .alert-success > ul:last-child { + margin-bottom: 0; +} + +.jp-RenderedHTMLCommon .alert-danger { + color: var(--jp-error-color0); + background-color: var(--jp-error-color3); + border-color: var(--jp-error-color2); +} +.jp-RenderedHTMLCommon .alert-danger hr { + border-color: var(--jp-error-color3); +} +.jp-RenderedHTMLCommon .alert-danger > p:last-child, +.jp-RenderedHTMLCommon .alert-danger > ul:last-child { + margin-bottom: 0; +} + +.jp-RenderedHTMLCommon blockquote { + margin: 1em 2em; + padding: 0 1em; + border-left: 5px solid var(--jp-border-color2); +} + +a.jp-InternalAnchorLink { + visibility: hidden; + margin-left: 8px; + color: var(--md-blue-800); +} + +h1:hover .jp-InternalAnchorLink, +h2:hover .jp-InternalAnchorLink, +h3:hover .jp-InternalAnchorLink, +h4:hover .jp-InternalAnchorLink, +h5:hover .jp-InternalAnchorLink, +h6:hover .jp-InternalAnchorLink { + visibility: visible; +} + +.jp-RenderedHTMLCommon kbd { + background-color: var(--jp-rendermime-table-row-background); + border: 1px solid var(--jp-border-color0); + border-bottom-color: var(--jp-border-color2); + border-radius: 3px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); + display: inline-block; + font-size: 0.8em; + line-height: 1em; + padding: 0.2em 0.5em; +} + +/* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0. + * At the bottom of cells this is a bit too much as there is also spacing + * between cells. Going all the way to 0 gets too tight between markdown and + * code cells. + */ +.jp-RenderedHTMLCommon > *:last-child { + margin-bottom: 0.5em; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-MimeDocument { + outline: none; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Variables +|----------------------------------------------------------------------------*/ + +:root { + --jp-private-filebrowser-button-height: 28px; + --jp-private-filebrowser-button-width: 48px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-FileBrowser { + display: flex; + flex-direction: column; + color: var(--jp-ui-font-color1); + background: var(--jp-layout-color1); + /* This is needed so that all font sizing of children done in ems is + * relative to this base size */ + font-size: var(--jp-ui-font-size1); +} + +.jp-FileBrowser-toolbar.jp-Toolbar { + border-bottom: none; + height: auto; + margin: var(--jp-toolbar-header-margin); + box-shadow: none; +} + +.jp-BreadCrumbs { + flex: 0 0 auto; + margin: 4px 12px; +} + +.jp-BreadCrumbs-item { + margin: 0px 2px; + padding: 0px 2px; + border-radius: var(--jp-border-radius); + cursor: pointer; +} + +.jp-BreadCrumbs-item:hover { + background-color: var(--jp-layout-color2); +} + +.jp-BreadCrumbs-item:first-child { + margin-left: 0px; +} + +.jp-BreadCrumbs-item.jp-mod-dropTarget { + background-color: var(--jp-brand-color2); + opacity: 0.7; +} + +/*----------------------------------------------------------------------------- +| Buttons +|----------------------------------------------------------------------------*/ + +.jp-FileBrowser-toolbar.jp-Toolbar { + padding: 0px; +} + +.jp-FileBrowser-toolbar.jp-Toolbar { + justify-content: space-evenly; +} + +.jp-FileBrowser-toolbar.jp-Toolbar .jp-Toolbar-item { + flex: 1; +} + +.jp-FileBrowser-toolbar.jp-Toolbar .jp-ToolbarButtonComponent { + width: 100%; +} + +/*----------------------------------------------------------------------------- +| DirListing +|----------------------------------------------------------------------------*/ + +.jp-DirListing { + flex: 1 1 auto; + display: flex; + flex-direction: column; + outline: 0; +} + +.jp-DirListing-header { + flex: 0 0 auto; + display: flex; + flex-direction: row; + overflow: hidden; + border-top: var(--jp-border-width) solid var(--jp-border-color2); + border-bottom: var(--jp-border-width) solid var(--jp-border-color1); + box-shadow: var(--jp-toolbar-box-shadow); + z-index: 2; +} + +.jp-DirListing-headerItem { + padding: 4px 12px 2px 12px; + font-weight: 500; +} + +.jp-DirListing-headerItem:hover { + background: var(--jp-layout-color2); +} + +.jp-DirListing-headerItem.jp-id-name { + flex: 1 0 84px; +} + +.jp-DirListing-headerItem.jp-id-modified { + flex: 0 0 112px; + border-left: var(--jp-border-width) solid var(--jp-border-color2); + text-align: right; +} + +.jp-DirListing-narrow .jp-id-modified, +.jp-DirListing-narrow .jp-DirListing-itemModified { + display: none; +} + +.jp-DirListing-headerItem.jp-mod-selected { + font-weight: 600; +} + +/* increase specificity to override bundled default */ +.jp-DirListing-content { + flex: 1 1 auto; + margin: 0; + padding: 0; + list-style-type: none; + overflow: auto; + background-color: var(--jp-layout-color1); +} + +/* Style the directory listing content when a user drops a file to upload */ +.jp-DirListing.jp-mod-native-drop .jp-DirListing-content { + outline: 5px dashed rgba(128, 128, 128, 0.5); + outline-offset: -10px; + cursor: copy; +} + +.jp-DirListing-item { + display: flex; + flex-direction: row; + padding: 4px 12px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.jp-DirListing-item.jp-mod-selected { + color: white; + background: var(--jp-brand-color1); +} + +.jp-DirListing-item.jp-mod-dropTarget { + background: var(--jp-brand-color3); +} + +.jp-DirListing-item:hover:not(.jp-mod-selected) { + background: var(--jp-layout-color2); +} + +.jp-DirListing-itemIcon { + flex: 0 0 20px; + margin-right: 4px; +} + +.jp-DirListing-itemText { + flex: 1 0 64px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + user-select: none; +} + +.jp-DirListing-itemModified { + flex: 0 0 125px; + text-align: right; +} + +.jp-DirListing-editor { + flex: 1 0 64px; + outline: none; + border: none; +} + +.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon:before { + color: limegreen; + content: '\25CF'; + font-size: 8px; + position: absolute; + left: -8px; +} + +.jp-DirListing-item.lm-mod-drag-image, +.jp-DirListing-item.jp-mod-selected.lm-mod-drag-image { + font-size: var(--jp-ui-font-size1); + padding-left: 4px; + margin-left: 4px; + width: 160px; + background-color: var(--jp-ui-inverse-font-color2); + box-shadow: var(--jp-elevation-z2); + border-radius: 0px; + color: var(--jp-ui-font-color1); + transform: translateX(-40%) translateY(-58%); +} + +.jp-DirListing-deadSpace { + flex: 1 1 auto; + margin: 0; + padding: 0; + list-style-type: none; + overflow: auto; + background-color: var(--jp-layout-color1); +} + +.jp-Document { + min-width: 120px; + min-height: 120px; + outline: none; +} + +.jp-FileDialog.jp-mod-conflict input { + color: red; +} + +.jp-FileDialog .jp-new-name-title { + margin-top: 12px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Private CSS variables +|----------------------------------------------------------------------------*/ + +:root { +} + +/*----------------------------------------------------------------------------- +| Main OutputArea +| OutputArea has a list of Outputs +|----------------------------------------------------------------------------*/ + +.jp-OutputArea { + overflow-y: auto; +} + +.jp-OutputArea-child { + display: flex; + flex-direction: row; +} + +.jp-OutputPrompt { + flex: 0 0 var(--jp-cell-prompt-width); + color: var(--jp-cell-outprompt-font-color); + font-family: var(--jp-cell-prompt-font-family); + padding: var(--jp-code-padding); + letter-spacing: var(--jp-cell-prompt-letter-spacing); + line-height: var(--jp-code-line-height); + font-size: var(--jp-code-font-size); + border: var(--jp-border-width) solid transparent; + opacity: var(--jp-cell-prompt-opacity); + /* Right align prompt text, don't wrap to handle large prompt numbers */ + text-align: right; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + /* Disable text selection */ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.jp-OutputArea-output { + height: auto; + overflow: auto; + user-select: text; + -moz-user-select: text; + -webkit-user-select: text; + -ms-user-select: text; +} + +.jp-OutputArea-child .jp-OutputArea-output { + flex-grow: 1; + flex-shrink: 1; +} + +/** + * Isolated output. + */ +.jp-OutputArea-output.jp-mod-isolated { + width: 100%; + display: block; +} + +/* +When drag events occur, `p-mod-override-cursor` is added to the body. +Because iframes steal all cursor events, the following two rules are necessary +to suppress pointer events while resize drags are occurring. There may be a +better solution to this problem. +*/ +body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated { + position: relative; +} + +body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated:before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: transparent; +} + +/* pre */ + +.jp-OutputArea-output pre { + border: none; + margin: 0px; + padding: 0px; + overflow-x: auto; + overflow-y: auto; + word-break: break-all; + word-wrap: break-word; + white-space: pre-wrap; +} + +/* tables */ + +.jp-OutputArea-output.jp-RenderedHTMLCommon table { + margin-left: 0; + margin-right: 0; +} + +/* description lists */ + +.jp-OutputArea-output dl, +.jp-OutputArea-output dt, +.jp-OutputArea-output dd { + display: block; +} + +.jp-OutputArea-output dl { + width: 100%; + overflow: hidden; + padding: 0; + margin: 0; +} + +.jp-OutputArea-output dt { + font-weight: bold; + float: left; + width: 20%; + padding: 0; + margin: 0; +} + +.jp-OutputArea-output dd { + float: left; + width: 80%; + padding: 0; + margin: 0; +} + +/* Hide the gutter in case of + * - nested output areas (e.g. in the case of output widgets) + * - mirrored output areas + */ +.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt { + display: none; +} + +/*----------------------------------------------------------------------------- +| executeResult is added to any Output-result for the display of the object +| returned by a cell +|----------------------------------------------------------------------------*/ + +.jp-OutputArea-output.jp-OutputArea-executeResult { + margin-left: 0px; + flex: 1 1 auto; +} + +.jp-OutputArea-executeResult.jp-RenderedText { + padding-top: var(--jp-code-padding); +} + +/*----------------------------------------------------------------------------- +| The Stdin output +|----------------------------------------------------------------------------*/ + +.jp-OutputArea-stdin { + line-height: var(--jp-code-line-height); + padding-top: var(--jp-code-padding); + display: flex; +} + +.jp-Stdin-prompt { + color: var(--jp-content-font-color0); + padding-right: var(--jp-code-padding); + vertical-align: baseline; + flex: 0 0 auto; +} + +.jp-Stdin-input { + font-family: var(--jp-code-font-family); + font-size: inherit; + color: inherit; + background-color: inherit; + width: 42%; + min-width: 200px; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; + flex: 0 0 70%; +} + +.jp-Stdin-input:focus { + box-shadow: none; +} + +/*----------------------------------------------------------------------------- +| Output Area View +|----------------------------------------------------------------------------*/ + +.jp-LinkedOutputView .jp-OutputArea { + height: 100%; + display: block; +} + +.jp-LinkedOutputView .jp-OutputArea-output:only-child { + height: 100%; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-Collapser { + flex: 0 0 var(--jp-cell-collapser-width); + padding: 0px; + margin: 0px; + border: none; + outline: none; + background: transparent; + border-radius: var(--jp-border-radius); + opacity: 1; +} + +.jp-Collapser-child { + display: block; + width: 100%; + box-sizing: border-box; + /* height: 100% doesn't work because the height of its parent is computed from content */ + position: absolute; + top: 0px; + bottom: 0px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Header/Footer +|----------------------------------------------------------------------------*/ + +/* Hidden by zero height by default */ +.jp-CellHeader, +.jp-CellFooter { + height: 0px; + width: 100%; + padding: 0px; + margin: 0px; + border: none; + outline: none; + background: transparent; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Input +|----------------------------------------------------------------------------*/ + +/* All input areas */ +.jp-InputArea { + display: flex; + flex-direction: row; +} + +.jp-InputArea-editor { + flex: 1 1 auto; +} + +.jp-InputArea-editor { + /* This is the non-active, default styling */ + border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); + border-radius: 0px; + background: var(--jp-cell-editor-background); +} + +.jp-InputPrompt { + flex: 0 0 var(--jp-cell-prompt-width); + color: var(--jp-cell-inprompt-font-color); + font-family: var(--jp-cell-prompt-font-family); + padding: var(--jp-code-padding); + letter-spacing: var(--jp-cell-prompt-letter-spacing); + opacity: var(--jp-cell-prompt-opacity); + line-height: var(--jp-code-line-height); + font-size: var(--jp-code-font-size); + border: var(--jp-border-width) solid transparent; + opacity: var(--jp-cell-prompt-opacity); + /* Right align prompt text, don't wrap to handle large prompt numbers */ + text-align: right; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + /* Disable text selection */ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Placeholder +|----------------------------------------------------------------------------*/ + +.jp-Placeholder { + display: flex; + flex-direction: row; + flex: 1 1 auto; +} + +.jp-Placeholder-prompt { + box-sizing: border-box; +} + +.jp-Placeholder-content { + flex: 1 1 auto; + border: none; + background: transparent; + height: 20px; + box-sizing: border-box; +} + +.jp-Placeholder-content .jp-MoreHorizIcon { + width: 32px; + height: 16px; + border: 1px solid transparent; + border-radius: var(--jp-border-radius); +} + +.jp-Placeholder-content .jp-MoreHorizIcon:hover { + border: 1px solid var(--jp-border-color1); + box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.25); + background-color: var(--jp-layout-color0); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Private CSS variables +|----------------------------------------------------------------------------*/ + +:root { + --jp-private-cell-scrolling-output-offset: 5px; +} + +/*----------------------------------------------------------------------------- +| Cell +|----------------------------------------------------------------------------*/ + +.jp-Cell { + padding: var(--jp-cell-padding); + margin: 0px; + border: none; + outline: none; + background: transparent; +} + +/*----------------------------------------------------------------------------- +| Common input/output +|----------------------------------------------------------------------------*/ + +.jp-Cell-inputWrapper, +.jp-Cell-outputWrapper { + display: flex; + flex-direction: row; + padding: 0px; + margin: 0px; + /* Added to reveal the box-shadow on the input and output collapsers. */ + overflow: visible; +} + +/* Only input/output areas inside cells */ +.jp-Cell-inputArea, +.jp-Cell-outputArea { + flex: 1 1 auto; +} + +/*----------------------------------------------------------------------------- +| Collapser +|----------------------------------------------------------------------------*/ + +/* Make the output collapser disappear when there is not output, but do so + * in a manner that leaves it in the layout and preserves its width. + */ +.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser { + border: none !important; + background: transparent !important; +} + +.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser { + min-height: var(--jp-cell-collapser-min-height); +} + +/*----------------------------------------------------------------------------- +| Output +|----------------------------------------------------------------------------*/ + +/* Put a space between input and output when there IS output */ +.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper { + margin-top: 5px; +} + +/* Text output with the Out[] prompt needs a top padding to match the + * alignment of the Out[] prompt itself. + */ +.jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output { + padding-top: var(--jp-code-padding); +} + +.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea { + overflow-y: auto; + max-height: 200px; + box-shadow: inset 0 0 6px 2px rgba(0, 0, 0, 0.3); + margin-left: var(--jp-private-cell-scrolling-output-offset); +} + +.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt { + flex: 0 0 + calc( + var(--jp-cell-prompt-width) - + var(--jp-private-cell-scrolling-output-offset) + ); +} + +/*----------------------------------------------------------------------------- +| CodeCell +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| MarkdownCell +|----------------------------------------------------------------------------*/ + +.jp-MarkdownOutput { + flex: 1 1 auto; + margin-top: 0; + margin-bottom: 0; + padding-left: var(--jp-code-padding); +} + +.jp-MarkdownOutput.jp-RenderedHTMLCommon { + overflow: auto; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Variables +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + +/*----------------------------------------------------------------------------- +| Styles +|----------------------------------------------------------------------------*/ + +.jp-NotebookPanel-toolbar { + padding: 2px; +} + +.jp-Toolbar-item.jp-Notebook-toolbarCellType .jp-select-wrapper.jp-mod-focused { + border: none; + box-shadow: none; +} + +.jp-Notebook-toolbarCellTypeDropdown select { + height: 24px; + font-size: var(--jp-ui-font-size1); + line-height: 14px; + border-radius: 0; + display: block; +} + +.jp-Notebook-toolbarCellTypeDropdown span { + top: 5px !important; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Private CSS variables +|----------------------------------------------------------------------------*/ + +:root { + --jp-private-notebook-dragImage-width: 304px; + --jp-private-notebook-dragImage-height: 36px; + --jp-private-notebook-selected-color: var(--md-blue-400); + --jp-private-notebook-active-color: var(--md-green-400); +} + +/*----------------------------------------------------------------------------- +| Imports +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Notebook +|----------------------------------------------------------------------------*/ + +.jp-NotebookPanel { + display: block; + height: 100%; +} + +.jp-NotebookPanel.jp-Document { + min-width: 240px; + min-height: 120px; +} + +.jp-Notebook { + padding: var(--jp-notebook-padding); + outline: none; + overflow: auto; + background: var(--jp-layout-color0); +} + +.jp-Notebook.jp-mod-scrollPastEnd::after { + display: block; + content: ''; + min-height: var(--jp-notebook-scroll-padding); +} + +.jp-Notebook .jp-Cell { + overflow: visible; +} + +.jp-Notebook .jp-Cell .jp-InputPrompt { + cursor: move; +} + +/*----------------------------------------------------------------------------- +| Notebook state related styling +| +| The notebook and cells each have states, here are the possibilities: +| +| - Notebook +| - Command +| - Edit +| - Cell +| - None +| - Active (only one can be active) +| - Selected (the cells actions are applied to) +| - Multiselected (when multiple selected, the cursor) +| - No outputs +|----------------------------------------------------------------------------*/ + +/* Command or edit modes */ + +.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt { + opacity: var(--jp-cell-prompt-not-active-opacity); + color: var(--jp-cell-prompt-not-active-font-color); +} + +.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt { + opacity: var(--jp-cell-prompt-not-active-opacity); + color: var(--jp-cell-prompt-not-active-font-color); +} + +/* cell is active */ +.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser { + background: var(--jp-brand-color1); +} + +/* collapser is hovered */ +.jp-Notebook .jp-Cell .jp-Collapser:hover { + box-shadow: var(--jp-elevation-z2); + background: var(--jp-brand-color1); + opacity: var(--jp-cell-collapser-not-active-hover-opacity); +} + +/* cell is active and collapser is hovered */ +.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover { + background: var(--jp-brand-color0); + opacity: 1; +} + +/* Command mode */ + +.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected { + background: var(--jp-notebook-multiselected-color); +} + +.jp-Notebook.jp-mod-commandMode + .jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) { + background: transparent; +} + +/* Edit mode */ + +.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor { + border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color); + box-shadow: var(--jp-input-box-shadow); + background-color: var(--jp-cell-editor-active-background); +} + +/*----------------------------------------------------------------------------- +| Notebook drag and drop +|----------------------------------------------------------------------------*/ + +.jp-Notebook-cell.jp-mod-dropSource { + opacity: 0.5; +} + +.jp-Notebook-cell.jp-mod-dropTarget, +.jp-Notebook.jp-mod-commandMode + .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget { + border-top-color: var(--jp-private-notebook-selected-color); + border-top-style: solid; + border-top-width: 2px; +} + +.jp-dragImage { + display: flex; + flex-direction: row; + width: var(--jp-private-notebook-dragImage-width); + height: var(--jp-private-notebook-dragImage-height); + border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); + background: var(--jp-cell-editor-background); + overflow: visible; +} + +.jp-dragImage-singlePrompt { + box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12); +} + +.jp-dragImage .jp-dragImage-content { + flex: 1 1 auto; + z-index: 2; + font-size: var(--jp-code-font-size); + font-family: var(--jp-code-font-family); + line-height: var(--jp-code-line-height); + padding: var(--jp-code-padding); + border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); + background: var(--jp-cell-editor-background-color); + color: var(--jp-content-font-color3); + text-align: left; + margin: 4px 4px 4px 0px; +} + +.jp-dragImage .jp-dragImage-prompt { + flex: 0 0 auto; + min-width: 36px; + color: var(--jp-cell-inprompt-font-color); + padding: var(--jp-code-padding); + padding-left: 12px; + font-family: var(--jp-cell-prompt-font-family); + letter-spacing: var(--jp-cell-prompt-letter-spacing); + line-height: 1.9; + font-size: var(--jp-code-font-size); + border: var(--jp-border-width) solid transparent; +} + +.jp-dragImage-multipleBack { + z-index: -1; + position: absolute; + height: 32px; + width: 300px; + top: 8px; + left: 8px; + background: var(--jp-layout-color2); + border: var(--jp-border-width) solid var(--jp-input-border-color); + box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12); +} + +/*----------------------------------------------------------------------------- +| Cell toolbar +|----------------------------------------------------------------------------*/ + +.jp-NotebookTools { + display: block; + min-width: var(--jp-sidebar-min-width); + color: var(--jp-ui-font-color1); + background: var(--jp-layout-color1); + /* This is needed so that all font sizing of children done in ems is + * relative to this base size */ + font-size: var(--jp-ui-font-size1); + overflow: auto; +} + +.jp-NotebookTools-tool { + padding: 0px 12px 0 12px; +} + +.jp-ActiveCellTool { + padding: 12px; + background-color: var(--jp-layout-color1); + border-top: none !important; +} + +.jp-ActiveCellTool .jp-InputArea-prompt { + flex: 0 0 auto; + padding-left: 0px; +} + +.jp-ActiveCellTool .jp-InputArea-editor { + flex: 1 1 auto; + background: var(--jp-cell-editor-background); + border-color: var(--jp-cell-editor-border-color); +} + +.jp-ActiveCellTool .jp-InputArea-editor .CodeMirror { + background: transparent; +} + +.jp-MetadataEditorTool { + flex-direction: column; + padding: 12px 0px 12px 0px; +} + +.jp-RankedPanel > :not(:first-child) { + margin-top: 12px; +} + +.jp-KeySelector select.jp-mod-styled { + font-size: var(--jp-ui-font-size1); + color: var(--jp-ui-font-color0); + border: var(--jp-border-width) solid var(--jp-border-color1); +} + +.jp-KeySelector label, +.jp-MetadataEditorTool label { + line-height: 1.4; +} + +/*----------------------------------------------------------------------------- +| Presentation Mode (.jp-mod-presentationMode) +|----------------------------------------------------------------------------*/ + +.jp-mod-presentationMode .jp-Notebook { + --jp-content-font-size1: var(--jp-content-presentation-font-size1); + --jp-code-font-size: var(--jp-code-presentation-font-size); +} + +.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt, +.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt { + flex: 0 0 110px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +</style> + + <style type="text/css"> +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* +The following CSS variables define the main, public API for styling JupyterLab. +These variables should be used by all plugins wherever possible. In other +words, plugins should not define custom colors, sizes, etc unless absolutely +necessary. This enables users to change the visual theme of JupyterLab +by changing these variables. + +Many variables appear in an ordered sequence (0,1,2,3). These sequences +are designed to work well together, so for example, `--jp-border-color1` should +be used with `--jp-layout-color1`. The numbers have the following meanings: + +* 0: super-primary, reserved for special emphasis +* 1: primary, most important under normal situations +* 2: secondary, next most important under normal situations +* 3: tertiary, next most important under normal situations + +Throughout JupyterLab, we are mostly following principles from Google's +Material Design when selecting colors. We are not, however, following +all of MD as it is not optimized for dense, information rich UIs. +*/ + +:root { + /* Elevation + * + * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here: + * + * https://github.com/material-components/material-components-web + * https://material-components-web.appspot.com/elevation.html + */ + + --jp-shadow-base-lightness: 0; + --jp-shadow-umbra-color: rgba( + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + 0.2 + ); + --jp-shadow-penumbra-color: rgba( + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + 0.14 + ); + --jp-shadow-ambient-color: rgba( + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + 0.12 + ); + --jp-elevation-z0: none; + --jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color), + 0px 1px 1px 0px var(--jp-shadow-penumbra-color), + 0px 1px 3px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color), + 0px 2px 2px 0px var(--jp-shadow-penumbra-color), + 0px 1px 5px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color), + 0px 4px 5px 0px var(--jp-shadow-penumbra-color), + 0px 1px 10px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color), + 0px 6px 10px 0px var(--jp-shadow-penumbra-color), + 0px 1px 18px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color), + 0px 8px 10px 1px var(--jp-shadow-penumbra-color), + 0px 3px 14px 2px var(--jp-shadow-ambient-color); + --jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color), + 0px 12px 17px 2px var(--jp-shadow-penumbra-color), + 0px 5px 22px 4px var(--jp-shadow-ambient-color); + --jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color), + 0px 16px 24px 2px var(--jp-shadow-penumbra-color), + 0px 6px 30px 5px var(--jp-shadow-ambient-color); + --jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color), + 0px 20px 31px 3px var(--jp-shadow-penumbra-color), + 0px 8px 38px 7px var(--jp-shadow-ambient-color); + --jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color), + 0px 24px 38px 3px var(--jp-shadow-penumbra-color), + 0px 9px 46px 8px var(--jp-shadow-ambient-color); + + /* Borders + * + * The following variables, specify the visual styling of borders in JupyterLab. + */ + + --jp-border-width: 1px; + --jp-border-color0: var(--md-grey-400); + --jp-border-color1: var(--md-grey-400); + --jp-border-color2: var(--md-grey-300); + --jp-border-color3: var(--md-grey-200); + --jp-border-radius: 2px; + + /* UI Fonts + * + * The UI font CSS variables are used for the typography all of the JupyterLab + * user interface elements that are not directly user generated content. + * + * The font sizing here is done assuming that the body font size of --jp-ui-font-size1 + * is applied to a parent element. When children elements, such as headings, are sized + * in em all things will be computed relative to that body size. + */ + + --jp-ui-font-scale-factor: 1.2; + --jp-ui-font-size0: 0.83333em; + --jp-ui-font-size1: 13px; /* Base font size */ + --jp-ui-font-size2: 1.2em; + --jp-ui-font-size3: 1.44em; + + --jp-ui-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, + Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + + /* + * Use these font colors against the corresponding main layout colors. + * In a light theme, these go from dark to light. + */ + + /* Defaults use Material Design specification */ + --jp-ui-font-color0: rgba(0, 0, 0, 1); + --jp-ui-font-color1: rgba(0, 0, 0, 0.87); + --jp-ui-font-color2: rgba(0, 0, 0, 0.54); + --jp-ui-font-color3: rgba(0, 0, 0, 0.38); + + /* + * Use these against the brand/accent/warn/error colors. + * These will typically go from light to darker, in both a dark and light theme. + */ + + --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1); + --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1); + --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7); + --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5); + + /* Content Fonts + * + * Content font variables are used for typography of user generated content. + * + * The font sizing here is done assuming that the body font size of --jp-content-font-size1 + * is applied to a parent element. When children elements, such as headings, are sized + * in em all things will be computed relative to that body size. + */ + + --jp-content-line-height: 1.6; + --jp-content-font-scale-factor: 1.2; + --jp-content-font-size0: 0.83333em; + --jp-content-font-size1: 14px; /* Base font size */ + --jp-content-font-size2: 1.2em; + --jp-content-font-size3: 1.44em; + --jp-content-font-size4: 1.728em; + --jp-content-font-size5: 2.0736em; + + /* This gives a magnification of about 125% in presentation mode over normal. */ + --jp-content-presentation-font-size1: 17px; + + --jp-content-heading-line-height: 1; + --jp-content-heading-margin-top: 1.2em; + --jp-content-heading-margin-bottom: 0.8em; + --jp-content-heading-font-weight: 500; + + /* Defaults use Material Design specification */ + --jp-content-font-color0: rgba(0, 0, 0, 1); + --jp-content-font-color1: rgba(0, 0, 0, 0.87); + --jp-content-font-color2: rgba(0, 0, 0, 0.54); + --jp-content-font-color3: rgba(0, 0, 0, 0.38); + + --jp-content-link-color: var(--md-blue-700); + + --jp-content-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', + Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', + 'Segoe UI Symbol'; + + /* + * Code Fonts + * + * Code font variables are used for typography of code and other monospaces content. + */ + + --jp-code-font-size: 13px; + --jp-code-line-height: 1.3077; /* 17px for 13px base */ + --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */ + --jp-code-font-family-default: Menlo, Consolas, 'DejaVu Sans Mono', monospace; + --jp-code-font-family: var(--jp-code-font-family-default); + + /* This gives a magnification of about 125% in presentation mode over normal. */ + --jp-code-presentation-font-size: 16px; + + /* may need to tweak cursor width if you change font size */ + --jp-code-cursor-width0: 1.4px; + --jp-code-cursor-width1: 2px; + --jp-code-cursor-width2: 4px; + + /* Layout + * + * The following are the main layout colors use in JupyterLab. In a light + * theme these would go from light to dark. + */ + + --jp-layout-color0: white; + --jp-layout-color1: white; + --jp-layout-color2: var(--md-grey-200); + --jp-layout-color3: var(--md-grey-400); + --jp-layout-color4: var(--md-grey-600); + + /* Inverse Layout + * + * The following are the inverse layout colors use in JupyterLab. In a light + * theme these would go from dark to light. + */ + + --jp-inverse-layout-color0: #111111; + --jp-inverse-layout-color1: var(--md-grey-900); + --jp-inverse-layout-color2: var(--md-grey-800); + --jp-inverse-layout-color3: var(--md-grey-700); + --jp-inverse-layout-color4: var(--md-grey-600); + + /* Brand/accent */ + + --jp-brand-color0: var(--md-blue-700); + --jp-brand-color1: var(--md-blue-500); + --jp-brand-color2: var(--md-blue-300); + --jp-brand-color3: var(--md-blue-100); + --jp-brand-color4: var(--md-blue-50); + + --jp-accent-color0: var(--md-green-700); + --jp-accent-color1: var(--md-green-500); + --jp-accent-color2: var(--md-green-300); + --jp-accent-color3: var(--md-green-100); + + /* State colors (warn, error, success, info) */ + + --jp-warn-color0: var(--md-orange-700); + --jp-warn-color1: var(--md-orange-500); + --jp-warn-color2: var(--md-orange-300); + --jp-warn-color3: var(--md-orange-100); + + --jp-error-color0: var(--md-red-700); + --jp-error-color1: var(--md-red-500); + --jp-error-color2: var(--md-red-300); + --jp-error-color3: var(--md-red-100); + + --jp-success-color0: var(--md-green-700); + --jp-success-color1: var(--md-green-500); + --jp-success-color2: var(--md-green-300); + --jp-success-color3: var(--md-green-100); + + --jp-info-color0: var(--md-cyan-700); + --jp-info-color1: var(--md-cyan-500); + --jp-info-color2: var(--md-cyan-300); + --jp-info-color3: var(--md-cyan-100); + + /* Cell specific styles */ + + --jp-cell-padding: 5px; + + --jp-cell-collapser-width: 8px; + --jp-cell-collapser-min-height: 20px; + --jp-cell-collapser-not-active-hover-opacity: 0.6; + + --jp-cell-editor-background: var(--md-grey-100); + --jp-cell-editor-border-color: var(--md-grey-300); + --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300); + --jp-cell-editor-active-background: var(--jp-layout-color0); + --jp-cell-editor-active-border-color: var(--jp-brand-color1); + + --jp-cell-prompt-width: 64px; + --jp-cell-prompt-font-family: 'Source Code Pro', monospace; + --jp-cell-prompt-letter-spacing: 0px; + --jp-cell-prompt-opacity: 1; + --jp-cell-prompt-not-active-opacity: 0.5; + --jp-cell-prompt-not-active-font-color: var(--md-grey-700); + /* A custom blend of MD grey and blue 600 + * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */ + --jp-cell-inprompt-font-color: #307fc1; + /* A custom blend of MD grey and orange 600 + * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */ + --jp-cell-outprompt-font-color: #bf5b3d; + + /* Notebook specific styles */ + + --jp-notebook-padding: 10px; + --jp-notebook-select-background: var(--jp-layout-color1); + --jp-notebook-multiselected-color: var(--md-blue-50); + + /* The scroll padding is calculated to fill enough space at the bottom of the + notebook to show one single-line cell (with appropriate padding) at the top + when the notebook is scrolled all the way to the bottom. We also subtract one + pixel so that no scrollbar appears if we have just one single-line cell in the + notebook. This padding is to enable a 'scroll past end' feature in a notebook. + */ + --jp-notebook-scroll-padding: calc( + 100% - var(--jp-code-font-size) * var(--jp-code-line-height) - + var(--jp-code-padding) - var(--jp-cell-padding) - 1px + ); + + /* Rendermime styles */ + + --jp-rendermime-error-background: #fdd; + --jp-rendermime-table-row-background: var(--md-grey-100); + --jp-rendermime-table-row-hover-background: var(--md-light-blue-50); + + /* Dialog specific styles */ + + --jp-dialog-background: rgba(0, 0, 0, 0.25); + + /* Console specific styles */ + + --jp-console-padding: 10px; + + /* Toolbar specific styles */ + + --jp-toolbar-border-color: var(--jp-border-color1); + --jp-toolbar-micro-height: 8px; + --jp-toolbar-background: var(--jp-layout-color1); + --jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.24); + --jp-toolbar-header-margin: 4px 4px 0px 4px; + --jp-toolbar-active-background: var(--md-grey-300); + + /* Input field styles */ + + --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300); + --jp-input-active-background: var(--jp-layout-color1); + --jp-input-hover-background: var(--jp-layout-color1); + --jp-input-background: var(--md-grey-100); + --jp-input-border-color: var(--jp-border-color1); + --jp-input-active-border-color: var(--jp-brand-color1); + --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3); + + /* General editor styles */ + + --jp-editor-selected-background: #d9d9d9; + --jp-editor-selected-focused-background: #d7d4f0; + --jp-editor-cursor-color: var(--jp-ui-font-color0); + + /* Code mirror specific styles */ + + --jp-mirror-editor-keyword-color: #008000; + --jp-mirror-editor-atom-color: #88f; + --jp-mirror-editor-number-color: #080; + --jp-mirror-editor-def-color: #00f; + --jp-mirror-editor-variable-color: var(--md-grey-900); + --jp-mirror-editor-variable-2-color: #05a; + --jp-mirror-editor-variable-3-color: #085; + --jp-mirror-editor-punctuation-color: #05a; + --jp-mirror-editor-property-color: #05a; + --jp-mirror-editor-operator-color: #aa22ff; + --jp-mirror-editor-comment-color: #408080; + --jp-mirror-editor-string-color: #ba2121; + --jp-mirror-editor-string-2-color: #708; + --jp-mirror-editor-meta-color: #aa22ff; + --jp-mirror-editor-qualifier-color: #555; + --jp-mirror-editor-builtin-color: #008000; + --jp-mirror-editor-bracket-color: #997; + --jp-mirror-editor-tag-color: #170; + --jp-mirror-editor-attribute-color: #00c; + --jp-mirror-editor-header-color: blue; + --jp-mirror-editor-quote-color: #090; + --jp-mirror-editor-link-color: #00c; + --jp-mirror-editor-error-color: #f00; + --jp-mirror-editor-hr-color: #999; + + /* Vega extension styles */ + + --jp-vega-background: white; + + /* Sidebar-related styles */ + + --jp-sidebar-min-width: 180px; + + /* Search-related styles */ + + --jp-search-toggle-off-opacity: 0.5; + --jp-search-toggle-hover-opacity: 0.8; + --jp-search-toggle-on-opacity: 1; + --jp-search-selected-match-background-color: rgb(245, 200, 0); + --jp-search-selected-match-color: black; + --jp-search-unselected-match-background-color: var( + --jp-inverse-layout-color0 + ); + --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0); + + /* Icon colors that work well with light or dark backgrounds */ + --jp-icon-contrast-color0: var(--md-purple-600); + --jp-icon-contrast-color1: var(--md-green-600); + --jp-icon-contrast-color2: var(--md-pink-600); + --jp-icon-contrast-color3: var(--md-blue-600); +} +</style> + +<style type="text/css"> +a.anchor-link { + display: none; +} +.highlight { + margin: 0.4em; +} + +/* Input area styling */ +.jp-InputArea { + overflow: hidden; +} + +.jp-InputArea-editor { + overflow: hidden; +} + +@media print { + body { + margin: 0; + } +} +</style> + + + +<!-- Load mathjax --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-MML-AM_CHTML-full,Safe"> </script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + init_mathjax = function() { + if (window.MathJax) { + // MathJax loaded + MathJax.Hub.Config({ + TeX: { + equationNumbers: { + autoNumber: "AMS", + useLabelIds: true + } + }, + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + displayAlign: 'center', + CommonHTML: { + linebreaks: { + automatic: true + } + }, + "HTML-CSS": { + linebreaks: { + automatic: true + } + } + }); + + MathJax.Hub.Queue(["Typeset", MathJax.Hub]); + } + } + init_mathjax(); + </script> + <!-- End of mathjax configuration --></head> +<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light"> +<div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [1]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="ch">#!/usr/bin/env python3</span> +<span class="c1"># -*- coding: utf-8 -*-</span> +<span class="sd">"""</span> +<span class="sd">@author: jennifer</span> +<span class="sd">Tarea clase 3</span> +<span class="sd">"""</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[1]:</div> + + + + +<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain"> +<pre>'\n@author: jennifer\nTarea clase 3\n'</pre> +</div> + +</div> + +</div> + +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h1 id="Diagrama-H-R">Diagrama H-R<a class="anchor-link" href="#Diagrama-H-R">¶</a></h1><h2 id="Ejercicios-de-lectura-de-archivos-y-la-creación-de-imágenes">Ejercicios de lectura de archivos y la creación de imágenes<a class="anchor-link" href="#Ejercicios-de-lectura-de-archivos-y-la-creación-de-imágenes">¶</a></h2> +</div> +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h2 id="Ejercicio-No.-1">Ejercicio No. 1<a class="anchor-link" href="#Ejercicio-No.-1">¶</a></h2><ul> +<li>Investigue sobre el diagrama de Hertzprung-Russell, una herramienta muy +potente en astronomia, y describa un poco al respecto para darle contexto al +resto de la tarea</li> +<li>El objetivo es generar un diagrama HR lo más parecido al de <a href="https://socratic.org/questions/what-is-the-hertzsprung-russell-diagram-and-why-is-it-so-important-to-astronomy-#277707">esta referencia</a>. No lucirá idéntico por que no se usarán exactamente los mismos datos, +y las unidades pueden ser ligeramente distinta. La idea sà es dejar su figura +lo más parecida a la de referencia en el estilo: colores, escalas en los ejes, +tamaño de los marcadores, leyendas, textos en el gráfico, etc.</li> +<li>Los datos para crear la figura están en la carpeta <code>Data</code>. Cada tabla contiene +las informaciones sobre un tipo de estrellas según indican los nombres de +archivo. La información viene en 3 columnas: luminosidad en luminosidades +solares, Temperatura en Kelvin y Radio de la estrella en unidades arbitrarias</li> +<li>La idea es que cada estrella en el gráfico tenga un color representativo +de su temperatura (que estrellas frÃas son rojas y estrellas calientes +son azules) y que el tamaño del sÃmbolo sea representativo del tamaño de +cada estrella para diferenciar entre enanas, gigantes y estrellas de +secuencia principal</li> +<li>Busque que su código sea semi automático; es indispensable leer +los datos desde el propio programa, no copiarlos a mano, y hallar una forma +de obtener los tamaños y colores sin declararlos uno a uno</li> +</ul> + +</div> +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h2 id="Ejercicio-No.-2">Ejercicio No. 2<a class="anchor-link" href="#Ejercicio-No.-2">¶</a></h2><ul> +<li>Después de tener un diseño de base para el ejercicio No. 1, en este ejercicio +se pide generar una animación, en la cual se reproduzca el miso gráfico de +antes pero las estrellas vayan apareciendo progresivamente</li> +</ul> +<p><strong>NOTA: Variantes a estas propuestas serán bien recibidas</strong></p> + +</div> +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h2 id="Diagrama-de-Hertzsprung-Russell">Diagrama de Hertzsprung-Russell<a class="anchor-link" href="#Diagrama-de-Hertzsprung-Russell">¶</a></h2><p>Es un diagrama de la luminosidad de una estrella en función de la temperatura superficial. La luminosidad corresponde a la cantidad de energÃa por unidad de tiempo emitida en todas direcciones.</p> +<p>El quÃmico Ejnar Hertzsprung estudió la luminosidad de las estrellas y con estos estudios, para 1909 comenzó con la clasificación de las estrellas según sus propiedades a través de un diagrama. Estos intentos los realizó casi en paralelo Henry Norris Russell quien creó un sistema de clasificación estelar muy similar para 1910.</p> +<h4 id="¿En-qué-consiste?">¿En qué consiste?<a class="anchor-link" href="#¿En-qué-consiste?">¶</a></h4><p><img src="H-RD.gif" alt=""> +(Tomado de naukas.com/2011/09/08/cien-anos-del-diagrama-de-hertzsprung-russell-el-grafico-que-organizo-las-estrellas/)</p> +<p>El eje x corresponde con la temperatura superficial en grados kelvin que coincide también con la escala del <em>tipo espectral</em>. Esta clasificación se basa en el color de la estrella que está relacionado con su temperatura superficial como se observa en la imagen<sup class="footnote-ref" id="fnref-1"><a href="#fn-1">1</a></sup>.</p> +<p><img src="DIAG1.jpg" alt="Tomado de planetario.malargue.gov.ar/2016/11/24/1604/"></p> +<p>El eje y como se mencionó anteriormente, mide la luminosidad tomando al Sol como referencia (Luminosidad del Sol = 1).</p> +<div class="footnotes"> +<hr> +<ol><li id="fn-1"><p>Tomado de planetario.malargue.gov.ar/2016/11/24/1604/<a href="#fnref-1" class="footnote">↩</a></p></li> +</ol> +</div> + +</div> +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h1 id="Parte-1:-Lectura-de-archivos">Parte 1: Lectura de archivos<a class="anchor-link" href="#Parte-1:-Lectura-de-archivos">¶</a></h1> +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [2]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span> +<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span> +<span class="kn">import</span> <span class="nn">csv</span> +<span class="kn">import</span> <span class="nn">os</span> +<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> +<span class="o">%</span><span class="k">matplotlib</span> notebook +</pre></div> + + </div> +</div> +</div> +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [3]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">data1</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">'data/dwarfs.csv'</span><span class="p">,</span> <span class="n">skiprows</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> +<span class="n">data1</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[3]:</div> + + + +<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>lum</th> + <th>temp</th> + <th>radius</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>0.000109</td> + <td>5050.644696</td> + <td>7.096930</td> + </tr> + <tr> + <th>1</th> + <td>0.000128</td> + <td>5967.543450</td> + <td>4.583996</td> + </tr> + <tr> + <th>2</th> + <td>0.000230</td> + <td>6674.161524</td> + <td>4.151078</td> + </tr> + <tr> + <th>3</th> + <td>0.000269</td> + <td>7216.762974</td> + <td>3.491754</td> + </tr> + <tr> + <th>4</th> + <td>0.000472</td> + <td>7795.184395</td> + <td>3.472736</td> + </tr> + <tr> + <th>5</th> + <td>0.000613</td> + <td>8402.695283</td> + <td>3.077338</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> + +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [4]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">lum1</span> <span class="o">=</span> <span class="n">data1</span><span class="p">[</span><span class="s1">'lum'</span><span class="p">]</span> +<span class="n">temp1</span> <span class="o">=</span> <span class="n">data1</span><span class="p">[</span><span class="s1">'temp'</span><span class="p">]</span> +<span class="n">radio1</span> <span class="o">=</span> <span class="n">data1</span><span class="p">[</span><span class="s1">'radius'</span><span class="p">]</span> +<span class="c1">#</span> +<span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">gca</span><span class="p">()</span> +<span class="n">ax</span><span class="o">.</span><span class="n">invert_xaxis</span><span class="p">()</span> +<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span> <span class="n">temp1</span><span class="p">,</span><span class="n">lum1</span><span class="p">,</span> <span class="n">s</span><span class="o">=</span><span class="n">radio1</span><span class="p">)</span> +<span class="c1">#plt.colorbar(); # show color scale</span> + +<span class="c1">#plt.scatter(lum1, temp1)</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div id="6c3462dc-0549-41e3-b686-deb62d6d3ba4" class="jp-RenderedJavaScript jp-OutputArea-output " data-mime-type="application/javascript"> +<script type="text/javascript"> +var element = document.getElementById('6c3462dc-0549-41e3-b686-deb62d6d3ba4'); +/* Put everything inside the global mpl namespace */ +/* global mpl */ +window.mpl = {}; + +mpl.get_websocket_type = function () { + if (typeof WebSocket !== 'undefined') { + return WebSocket; + } else if (typeof MozWebSocket !== 'undefined') { + return MozWebSocket; + } else { + alert( + 'Your browser does not have WebSocket support. ' + + 'Please try Chrome, Safari or Firefox ≥ 6. ' + + 'Firefox 4 and 5 are also supported but you ' + + 'have to enable WebSockets in about:config.' + ); + } +}; + +mpl.figure = function (figure_id, websocket, ondownload, parent_element) { + this.id = figure_id; + + this.ws = websocket; + + this.supports_binary = this.ws.binaryType !== undefined; + + if (!this.supports_binary) { + var warnings = document.getElementById('mpl-warnings'); + if (warnings) { + warnings.style.display = 'block'; + warnings.textContent = + 'This browser does not support binary websocket messages. ' + + 'Performance may be slow.'; + } + } + + this.imageObj = new Image(); + + this.context = undefined; + this.message = undefined; + this.canvas = undefined; + this.rubberband_canvas = undefined; + this.rubberband_context = undefined; + this.format_dropdown = undefined; + + this.image_mode = 'full'; + + this.root = document.createElement('div'); + this.root.setAttribute('style', 'display: inline-block'); + this._root_extra_style(this.root); + + parent_element.appendChild(this.root); + + this._init_header(this); + this._init_canvas(this); + this._init_toolbar(this); + + var fig = this; + + this.waiting = false; + + this.ws.onopen = function () { + fig.send_message('supports_binary', { value: fig.supports_binary }); + fig.send_message('send_image_mode', {}); + if (fig.ratio !== 1) { + fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio }); + } + fig.send_message('refresh', {}); + }; + + this.imageObj.onload = function () { + if (fig.image_mode === 'full') { + // Full images could contain transparency (where diff images + // almost always do), so we need to clear the canvas so that + // there is no ghosting. + fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height); + } + fig.context.drawImage(fig.imageObj, 0, 0); + }; + + this.imageObj.onunload = function () { + fig.ws.close(); + }; + + this.ws.onmessage = this._make_on_message_function(this); + + this.ondownload = ondownload; +}; + +mpl.figure.prototype._init_header = function () { + var titlebar = document.createElement('div'); + titlebar.classList = + 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix'; + var titletext = document.createElement('div'); + titletext.classList = 'ui-dialog-title'; + titletext.setAttribute( + 'style', + 'width: 100%; text-align: center; padding: 3px;' + ); + titlebar.appendChild(titletext); + this.root.appendChild(titlebar); + this.header = titletext; +}; + +mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {}; + +mpl.figure.prototype._root_extra_style = function (_canvas_div) {}; + +mpl.figure.prototype._init_canvas = function () { + var fig = this; + + var canvas_div = (this.canvas_div = document.createElement('div')); + canvas_div.setAttribute( + 'style', + 'border: 1px solid #ddd;' + + 'box-sizing: content-box;' + + 'clear: both;' + + 'min-height: 1px;' + + 'min-width: 1px;' + + 'outline: 0;' + + 'overflow: hidden;' + + 'position: relative;' + + 'resize: both;' + ); + + function on_keyboard_event_closure(name) { + return function (event) { + return fig.key_event(event, name); + }; + } + + canvas_div.addEventListener( + 'keydown', + on_keyboard_event_closure('key_press') + ); + canvas_div.addEventListener( + 'keyup', + on_keyboard_event_closure('key_release') + ); + + this._canvas_extra_style(canvas_div); + this.root.appendChild(canvas_div); + + var canvas = (this.canvas = document.createElement('canvas')); + canvas.classList.add('mpl-canvas'); + canvas.setAttribute('style', 'box-sizing: content-box;'); + + this.context = canvas.getContext('2d'); + + var backingStore = + this.context.backingStorePixelRatio || + this.context.webkitBackingStorePixelRatio || + this.context.mozBackingStorePixelRatio || + this.context.msBackingStorePixelRatio || + this.context.oBackingStorePixelRatio || + this.context.backingStorePixelRatio || + 1; + + this.ratio = (window.devicePixelRatio || 1) / backingStore; + + var rubberband_canvas = (this.rubberband_canvas = document.createElement( + 'canvas' + )); + rubberband_canvas.setAttribute( + 'style', + 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;' + ); + + // Apply a ponyfill if ResizeObserver is not implemented by browser. + if (this.ResizeObserver === undefined) { + if (window.ResizeObserver !== undefined) { + this.ResizeObserver = window.ResizeObserver; + } else { + var obs = _JSXTOOLS_RESIZE_OBSERVER({}); + this.ResizeObserver = obs.ResizeObserver; + } + } + + this.resizeObserverInstance = new this.ResizeObserver(function (entries) { + var nentries = entries.length; + for (var i = 0; i < nentries; i++) { + var entry = entries[i]; + var width, height; + if (entry.contentBoxSize) { + if (entry.contentBoxSize instanceof Array) { + // Chrome 84 implements new version of spec. + width = entry.contentBoxSize[0].inlineSize; + height = entry.contentBoxSize[0].blockSize; + } else { + // Firefox implements old version of spec. + width = entry.contentBoxSize.inlineSize; + height = entry.contentBoxSize.blockSize; + } + } else { + // Chrome <84 implements even older version of spec. + width = entry.contentRect.width; + height = entry.contentRect.height; + } + + // Keep the size of the canvas and rubber band canvas in sync with + // the canvas container. + if (entry.devicePixelContentBoxSize) { + // Chrome 84 implements new version of spec. + canvas.setAttribute( + 'width', + entry.devicePixelContentBoxSize[0].inlineSize + ); + canvas.setAttribute( + 'height', + entry.devicePixelContentBoxSize[0].blockSize + ); + } else { + canvas.setAttribute('width', width * fig.ratio); + canvas.setAttribute('height', height * fig.ratio); + } + canvas.setAttribute( + 'style', + 'width: ' + width + 'px; height: ' + height + 'px;' + ); + + rubberband_canvas.setAttribute('width', width); + rubberband_canvas.setAttribute('height', height); + + // And update the size in Python. We ignore the initial 0/0 size + // that occurs as the element is placed into the DOM, which should + // otherwise not happen due to the minimum size styling. + if (fig.ws.readyState == 1 && width != 0 && height != 0) { + fig.request_resize(width, height); + } + } + }); + this.resizeObserverInstance.observe(canvas_div); + + function on_mouse_event_closure(name) { + return function (event) { + return fig.mouse_event(event, name); + }; + } + + rubberband_canvas.addEventListener( + 'mousedown', + on_mouse_event_closure('button_press') + ); + rubberband_canvas.addEventListener( + 'mouseup', + on_mouse_event_closure('button_release') + ); + // Throttle sequential mouse events to 1 every 20ms. + rubberband_canvas.addEventListener( + 'mousemove', + on_mouse_event_closure('motion_notify') + ); + + rubberband_canvas.addEventListener( + 'mouseenter', + on_mouse_event_closure('figure_enter') + ); + rubberband_canvas.addEventListener( + 'mouseleave', + on_mouse_event_closure('figure_leave') + ); + + canvas_div.addEventListener('wheel', function (event) { + if (event.deltaY < 0) { + event.step = 1; + } else { + event.step = -1; + } + on_mouse_event_closure('scroll')(event); + }); + + canvas_div.appendChild(canvas); + canvas_div.appendChild(rubberband_canvas); + + this.rubberband_context = rubberband_canvas.getContext('2d'); + this.rubberband_context.strokeStyle = '#000000'; + + this._resize_canvas = function (width, height, forward) { + if (forward) { + canvas_div.style.width = width + 'px'; + canvas_div.style.height = height + 'px'; + } + }; + + // Disable right mouse context menu. + this.rubberband_canvas.addEventListener('contextmenu', function (_e) { + event.preventDefault(); + return false; + }); + + function set_focus() { + canvas.focus(); + canvas_div.focus(); + } + + window.setTimeout(set_focus, 100); +}; + +mpl.figure.prototype._init_toolbar = function () { + var fig = this; + + var toolbar = document.createElement('div'); + toolbar.classList = 'mpl-toolbar'; + this.root.appendChild(toolbar); + + function on_click_closure(name) { + return function (_event) { + return fig.toolbar_button_onclick(name); + }; + } + + function on_mouseover_closure(tooltip) { + return function (event) { + if (!event.currentTarget.disabled) { + return fig.toolbar_button_onmouseover(tooltip); + } + }; + } + + fig.buttons = {}; + var buttonGroup = document.createElement('div'); + buttonGroup.classList = 'mpl-button-group'; + for (var toolbar_ind in mpl.toolbar_items) { + var name = mpl.toolbar_items[toolbar_ind][0]; + var tooltip = mpl.toolbar_items[toolbar_ind][1]; + var image = mpl.toolbar_items[toolbar_ind][2]; + var method_name = mpl.toolbar_items[toolbar_ind][3]; + + if (!name) { + /* Instead of a spacer, we start a new button group. */ + if (buttonGroup.hasChildNodes()) { + toolbar.appendChild(buttonGroup); + } + buttonGroup = document.createElement('div'); + buttonGroup.classList = 'mpl-button-group'; + continue; + } + + var button = (fig.buttons[name] = document.createElement('button')); + button.classList = 'mpl-widget'; + button.setAttribute('role', 'button'); + button.setAttribute('aria-disabled', 'false'); + button.addEventListener('click', on_click_closure(method_name)); + button.addEventListener('mouseover', on_mouseover_closure(tooltip)); + + var icon_img = document.createElement('img'); + icon_img.src = '_images/' + image + '.png'; + icon_img.srcset = '_images/' + image + '_large.png 2x'; + icon_img.alt = tooltip; + button.appendChild(icon_img); + + buttonGroup.appendChild(button); + } + + if (buttonGroup.hasChildNodes()) { + toolbar.appendChild(buttonGroup); + } + + var fmt_picker = document.createElement('select'); + fmt_picker.classList = 'mpl-widget'; + toolbar.appendChild(fmt_picker); + this.format_dropdown = fmt_picker; + + for (var ind in mpl.extensions) { + var fmt = mpl.extensions[ind]; + var option = document.createElement('option'); + option.selected = fmt === mpl.default_extension; + option.innerHTML = fmt; + fmt_picker.appendChild(option); + } + + var status_bar = document.createElement('span'); + status_bar.classList = 'mpl-message'; + toolbar.appendChild(status_bar); + this.message = status_bar; +}; + +mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) { + // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client, + // which will in turn request a refresh of the image. + this.send_message('resize', { width: x_pixels, height: y_pixels }); +}; + +mpl.figure.prototype.send_message = function (type, properties) { + properties['type'] = type; + properties['figure_id'] = this.id; + this.ws.send(JSON.stringify(properties)); +}; + +mpl.figure.prototype.send_draw_message = function () { + if (!this.waiting) { + this.waiting = true; + this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id })); + } +}; + +mpl.figure.prototype.handle_save = function (fig, _msg) { + var format_dropdown = fig.format_dropdown; + var format = format_dropdown.options[format_dropdown.selectedIndex].value; + fig.ondownload(fig, format); +}; + +mpl.figure.prototype.handle_resize = function (fig, msg) { + var size = msg['size']; + if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) { + fig._resize_canvas(size[0], size[1], msg['forward']); + fig.send_message('refresh', {}); + } +}; + +mpl.figure.prototype.handle_rubberband = function (fig, msg) { + var x0 = msg['x0'] / fig.ratio; + var y0 = (fig.canvas.height - msg['y0']) / fig.ratio; + var x1 = msg['x1'] / fig.ratio; + var y1 = (fig.canvas.height - msg['y1']) / fig.ratio; + x0 = Math.floor(x0) + 0.5; + y0 = Math.floor(y0) + 0.5; + x1 = Math.floor(x1) + 0.5; + y1 = Math.floor(y1) + 0.5; + var min_x = Math.min(x0, x1); + var min_y = Math.min(y0, y1); + var width = Math.abs(x1 - x0); + var height = Math.abs(y1 - y0); + + fig.rubberband_context.clearRect( + 0, + 0, + fig.canvas.width / fig.ratio, + fig.canvas.height / fig.ratio + ); + + fig.rubberband_context.strokeRect(min_x, min_y, width, height); +}; + +mpl.figure.prototype.handle_figure_label = function (fig, msg) { + // Updates the figure title. + fig.header.textContent = msg['label']; +}; + +mpl.figure.prototype.handle_cursor = function (fig, msg) { + var cursor = msg['cursor']; + switch (cursor) { + case 0: + cursor = 'pointer'; + break; + case 1: + cursor = 'default'; + break; + case 2: + cursor = 'crosshair'; + break; + case 3: + cursor = 'move'; + break; + } + fig.rubberband_canvas.style.cursor = cursor; +}; + +mpl.figure.prototype.handle_message = function (fig, msg) { + fig.message.textContent = msg['message']; +}; + +mpl.figure.prototype.handle_draw = function (fig, _msg) { + // Request the server to send over a new figure. + fig.send_draw_message(); +}; + +mpl.figure.prototype.handle_image_mode = function (fig, msg) { + fig.image_mode = msg['mode']; +}; + +mpl.figure.prototype.handle_history_buttons = function (fig, msg) { + for (var key in msg) { + if (!(key in fig.buttons)) { + continue; + } + fig.buttons[key].disabled = !msg[key]; + fig.buttons[key].setAttribute('aria-disabled', !msg[key]); + } +}; + +mpl.figure.prototype.handle_navigate_mode = function (fig, msg) { + if (msg['mode'] === 'PAN') { + fig.buttons['Pan'].classList.add('active'); + fig.buttons['Zoom'].classList.remove('active'); + } else if (msg['mode'] === 'ZOOM') { + fig.buttons['Pan'].classList.remove('active'); + fig.buttons['Zoom'].classList.add('active'); + } else { + fig.buttons['Pan'].classList.remove('active'); + fig.buttons['Zoom'].classList.remove('active'); + } +}; + +mpl.figure.prototype.updated_canvas_event = function () { + // Called whenever the canvas gets updated. + this.send_message('ack', {}); +}; + +// A function to construct a web socket function for onmessage handling. +// Called in the figure constructor. +mpl.figure.prototype._make_on_message_function = function (fig) { + return function socket_on_message(evt) { + if (evt.data instanceof Blob) { + /* FIXME: We get "Resource interpreted as Image but + * transferred with MIME type text/plain:" errors on + * Chrome. But how to set the MIME type? It doesn't seem + * to be part of the websocket stream */ + evt.data.type = 'image/png'; + + /* Free the memory for the previous frames */ + if (fig.imageObj.src) { + (window.URL || window.webkitURL).revokeObjectURL( + fig.imageObj.src + ); + } + + fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL( + evt.data + ); + fig.updated_canvas_event(); + fig.waiting = false; + return; + } else if ( + typeof evt.data === 'string' && + evt.data.slice(0, 21) === 'data:image/png;base64' + ) { + fig.imageObj.src = evt.data; + fig.updated_canvas_event(); + fig.waiting = false; + return; + } + + var msg = JSON.parse(evt.data); + var msg_type = msg['type']; + + // Call the "handle_{type}" callback, which takes + // the figure and JSON message as its only arguments. + try { + var callback = fig['handle_' + msg_type]; + } catch (e) { + console.log( + "No handler for the '" + msg_type + "' message type: ", + msg + ); + return; + } + + if (callback) { + try { + // console.log("Handling '" + msg_type + "' message: ", msg); + callback(fig, msg); + } catch (e) { + console.log( + "Exception inside the 'handler_" + msg_type + "' callback:", + e, + e.stack, + msg + ); + } + } + }; +}; + +// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas +mpl.findpos = function (e) { + //this section is from http://www.quirksmode.org/js/events_properties.html + var targ; + if (!e) { + e = window.event; + } + if (e.target) { + targ = e.target; + } else if (e.srcElement) { + targ = e.srcElement; + } + if (targ.nodeType === 3) { + // defeat Safari bug + targ = targ.parentNode; + } + + // pageX,Y are the mouse positions relative to the document + var boundingRect = targ.getBoundingClientRect(); + var x = e.pageX - (boundingRect.left + document.body.scrollLeft); + var y = e.pageY - (boundingRect.top + document.body.scrollTop); + + return { x: x, y: y }; +}; + +/* + * return a copy of an object with only non-object keys + * we need this to avoid circular references + * http://stackoverflow.com/a/24161582/3208463 + */ +function simpleKeys(original) { + return Object.keys(original).reduce(function (obj, key) { + if (typeof original[key] !== 'object') { + obj[key] = original[key]; + } + return obj; + }, {}); +} + +mpl.figure.prototype.mouse_event = function (event, name) { + var canvas_pos = mpl.findpos(event); + + if (name === 'button_press') { + this.canvas.focus(); + this.canvas_div.focus(); + } + + var x = canvas_pos.x * this.ratio; + var y = canvas_pos.y * this.ratio; + + this.send_message(name, { + x: x, + y: y, + button: event.button, + step: event.step, + guiEvent: simpleKeys(event), + }); + + /* This prevents the web browser from automatically changing to + * the text insertion cursor when the button is pressed. We want + * to control all of the cursor setting manually through the + * 'cursor' event from matplotlib */ + event.preventDefault(); + return false; +}; + +mpl.figure.prototype._key_event_extra = function (_event, _name) { + // Handle any extra behaviour associated with a key event +}; + +mpl.figure.prototype.key_event = function (event, name) { + // Prevent repeat events + if (name === 'key_press') { + if (event.which === this._key) { + return; + } else { + this._key = event.which; + } + } + if (name === 'key_release') { + this._key = null; + } + + var value = ''; + if (event.ctrlKey && event.which !== 17) { + value += 'ctrl+'; + } + if (event.altKey && event.which !== 18) { + value += 'alt+'; + } + if (event.shiftKey && event.which !== 16) { + value += 'shift+'; + } + + value += 'k'; + value += event.which.toString(); + + this._key_event_extra(event, name); + + this.send_message(name, { key: value, guiEvent: simpleKeys(event) }); + return false; +}; + +mpl.figure.prototype.toolbar_button_onclick = function (name) { + if (name === 'download') { + this.handle_save(this, null); + } else { + this.send_message('toolbar_button', { name: name }); + } +}; + +mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) { + this.message.textContent = tooltip; +}; + +///////////////// REMAINING CONTENT GENERATED BY embed_js.py ///////////////// +// prettier-ignore +var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError("Constructor requires 'new' operator");i.set(this,e)}function h(){throw new TypeError("Function is not a constructor")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line +mpl.toolbar_items = [["Home", "Reset original view", "fa fa-home icon-home", "home"], ["Back", "Back to previous view", "fa fa-arrow-left icon-arrow-left", "back"], ["Forward", "Forward to next view", "fa fa-arrow-right icon-arrow-right", "forward"], ["", "", "", ""], ["Pan", "Left button pans, Right button zooms\nx/y fixes axis, CTRL fixes aspect", "fa fa-arrows icon-move", "pan"], ["Zoom", "Zoom to rectangle\nx/y fixes axis, CTRL fixes aspect", "fa fa-square-o icon-check-empty", "zoom"], ["", "", "", ""], ["Download", "Download plot", "fa fa-floppy-o icon-save", "download"]]; + +mpl.extensions = ["eps", "jpeg", "pdf", "png", "ps", "raw", "svg", "tif"]; + +mpl.default_extension = "png";/* global mpl */ + +var comm_websocket_adapter = function (comm) { + // Create a "websocket"-like object which calls the given IPython comm + // object with the appropriate methods. Currently this is a non binary + // socket, so there is still some room for performance tuning. + var ws = {}; + + ws.close = function () { + comm.close(); + }; + ws.send = function (m) { + //console.log('sending', m); + comm.send(m); + }; + // Register the callback with on_msg. + comm.on_msg(function (msg) { + //console.log('receiving', msg['content']['data'], msg); + // Pass the mpl event to the overridden (by mpl) onmessage function. + ws.onmessage(msg['content']['data']); + }); + return ws; +}; + +mpl.mpl_figure_comm = function (comm, msg) { + // This is the function which gets called when the mpl process + // starts-up an IPython Comm through the "matplotlib" channel. + + var id = msg.content.data.id; + // Get hold of the div created by the display call when the Comm + // socket was opened in Python. + var element = document.getElementById(id); + var ws_proxy = comm_websocket_adapter(comm); + + function ondownload(figure, _format) { + window.open(figure.canvas.toDataURL()); + } + + var fig = new mpl.figure(id, ws_proxy, ondownload, element); + + // Call onopen now - mpl needs it, as it is assuming we've passed it a real + // web socket which is closed, not our websocket->open comm proxy. + ws_proxy.onopen(); + + fig.parent_element = element; + fig.cell_info = mpl.find_output_cell("<div id='" + id + "'></div>"); + if (!fig.cell_info) { + console.error('Failed to find cell for figure', id, fig); + return; + } + fig.cell_info[0].output_area.element.on( + 'cleared', + { fig: fig }, + fig._remove_fig_handler + ); +}; + +mpl.figure.prototype.handle_close = function (fig, msg) { + var width = fig.canvas.width / fig.ratio; + fig.cell_info[0].output_area.element.off( + 'cleared', + fig._remove_fig_handler + ); + fig.resizeObserverInstance.unobserve(fig.canvas_div); + + // Update the output cell to use the data from the current canvas. + fig.push_to_output(); + var dataURL = fig.canvas.toDataURL(); + // Re-enable the keyboard manager in IPython - without this line, in FF, + // the notebook keyboard shortcuts fail. + IPython.keyboard_manager.enable(); + fig.parent_element.innerHTML = + '<img src="' + dataURL + '" width="' + width + '">'; + fig.close_ws(fig, msg); +}; + +mpl.figure.prototype.close_ws = function (fig, msg) { + fig.send_message('closing', msg); + // fig.ws.close() +}; + +mpl.figure.prototype.push_to_output = function (_remove_interactive) { + // Turn the data on the canvas into data in the output cell. + var width = this.canvas.width / this.ratio; + var dataURL = this.canvas.toDataURL(); + this.cell_info[1]['text/html'] = + '<img src="' + dataURL + '" width="' + width + '">'; +}; + +mpl.figure.prototype.updated_canvas_event = function () { + // Tell IPython that the notebook contents must change. + IPython.notebook.set_dirty(true); + this.send_message('ack', {}); + var fig = this; + // Wait a second, then push the new image to the DOM so + // that it is saved nicely (might be nice to debounce this). + setTimeout(function () { + fig.push_to_output(); + }, 1000); +}; + +mpl.figure.prototype._init_toolbar = function () { + var fig = this; + + var toolbar = document.createElement('div'); + toolbar.classList = 'btn-toolbar'; + this.root.appendChild(toolbar); + + function on_click_closure(name) { + return function (_event) { + return fig.toolbar_button_onclick(name); + }; + } + + function on_mouseover_closure(tooltip) { + return function (event) { + if (!event.currentTarget.disabled) { + return fig.toolbar_button_onmouseover(tooltip); + } + }; + } + + fig.buttons = {}; + var buttonGroup = document.createElement('div'); + buttonGroup.classList = 'btn-group'; + var button; + for (var toolbar_ind in mpl.toolbar_items) { + var name = mpl.toolbar_items[toolbar_ind][0]; + var tooltip = mpl.toolbar_items[toolbar_ind][1]; + var image = mpl.toolbar_items[toolbar_ind][2]; + var method_name = mpl.toolbar_items[toolbar_ind][3]; + + if (!name) { + /* Instead of a spacer, we start a new button group. */ + if (buttonGroup.hasChildNodes()) { + toolbar.appendChild(buttonGroup); + } + buttonGroup = document.createElement('div'); + buttonGroup.classList = 'btn-group'; + continue; + } + + button = fig.buttons[name] = document.createElement('button'); + button.classList = 'btn btn-default'; + button.href = '#'; + button.title = name; + button.innerHTML = '<i class="fa ' + image + ' fa-lg"></i>'; + button.addEventListener('click', on_click_closure(method_name)); + button.addEventListener('mouseover', on_mouseover_closure(tooltip)); + buttonGroup.appendChild(button); + } + + if (buttonGroup.hasChildNodes()) { + toolbar.appendChild(buttonGroup); + } + + // Add the status bar. + var status_bar = document.createElement('span'); + status_bar.classList = 'mpl-message pull-right'; + toolbar.appendChild(status_bar); + this.message = status_bar; + + // Add the close button to the window. + var buttongrp = document.createElement('div'); + buttongrp.classList = 'btn-group inline pull-right'; + button = document.createElement('button'); + button.classList = 'btn btn-mini btn-primary'; + button.href = '#'; + button.title = 'Stop Interaction'; + button.innerHTML = '<i class="fa fa-power-off icon-remove icon-large"></i>'; + button.addEventListener('click', function (_evt) { + fig.handle_close(fig, {}); + }); + button.addEventListener( + 'mouseover', + on_mouseover_closure('Stop Interaction') + ); + buttongrp.appendChild(button); + var titlebar = this.root.querySelector('.ui-dialog-titlebar'); + titlebar.insertBefore(buttongrp, titlebar.firstChild); +}; + +mpl.figure.prototype._remove_fig_handler = function (event) { + var fig = event.data.fig; + if (event.target !== this) { + // Ignore bubbled events from children. + return; + } + fig.close_ws(fig, {}); +}; + +mpl.figure.prototype._root_extra_style = function (el) { + el.style.boxSizing = 'content-box'; // override notebook setting of border-box. +}; + +mpl.figure.prototype._canvas_extra_style = function (el) { + // this is important to make the div 'focusable + el.setAttribute('tabindex', 0); + // reach out to IPython and tell the keyboard manager to turn it's self + // off when our div gets focus + + // location in version 3 + if (IPython.notebook.keyboard_manager) { + IPython.notebook.keyboard_manager.register_events(el); + } else { + // location in version 2 + IPython.keyboard_manager.register_events(el); + } +}; + +mpl.figure.prototype._key_event_extra = function (event, _name) { + var manager = IPython.notebook.keyboard_manager; + if (!manager) { + manager = IPython.keyboard_manager; + } + + // Check for shift+enter + if (event.shiftKey && event.which === 13) { + this.canvas_div.blur(); + // select the cell after this one + var index = IPython.notebook.find_cell_index(this.cell_info[0]); + IPython.notebook.select(index + 1); + } +}; + +mpl.figure.prototype.handle_save = function (fig, _msg) { + fig.ondownload(fig, null); +}; + +mpl.find_output_cell = function (html_output) { + // Return the cell and output element which can be found *uniquely* in the notebook. + // Note - this is a bit hacky, but it is done because the "notebook_saving.Notebook" + // IPython event is triggered only after the cells have been serialised, which for + // our purposes (turning an active figure into a static one), is too late. + var cells = IPython.notebook.get_cells(); + var ncells = cells.length; + for (var i = 0; i < ncells; i++) { + var cell = cells[i]; + if (cell.cell_type === 'code') { + for (var j = 0; j < cell.output_area.outputs.length; j++) { + var data = cell.output_area.outputs[j]; + if (data.data) { + // IPython >= 3 moved mimebundle to data attribute of output + data = data.data; + } + if (data['text/html'] === html_output) { + return [cell, data, j]; + } + } + } + } +}; + +// Register the function which deals with the matplotlib target/channel. +// The kernel may be null if the page has been refreshed. +if (IPython.notebook.kernel !== null) { + IPython.notebook.kernel.comm_manager.register_target( + 'matplotlib', + mpl.mpl_figure_comm + ); +} + +</script> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + +<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output " data-mime-type="text/html"> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4nOzdd1gU1xoG8AGVBUFAsIti1FAFxUJib9GoscSYGPVeQWNssWLUxGjUGEuMib1gx9j7tREr2LuiSFNQVFRQFFA67O57/yBsXHYRlpmV9v6eZ55kC/OdXT85rzM7ZwUQERERUakiFPYAiIiIiOj9YgAkIiIiKmUYAImIiIhKGQZAIiIiolKGAZCIiIiolGEAJCIiIiplGACJiIiIShkGQCIiIqJShgGQiIiIqJRhACQiIiIqZRgAiYiIiEoZBkAiIiKiUoYBkIiIiKiUYQAkIiIiKmUYAImIiIhKGQZAIiIiolKGAZCIiIiolGEAJCIiIiplGACJiIiIShkGQCIiIqJShgGQiIiIqJRhACQiIiIqZRgAiYiIiEoZBkAiIiKiUoYBkIiIiKiUYQAkIiIiKmUYAImIiIhKGQZAIiIiolKGAZCIiIiolGEAJCIiIiplGACJiIiIShkGQCIiIqJShgGQiIiIqJRhACQiIiIqZRgAifJhxowZEAT+dSmotm3bom3btoU9DKICi4yMhCAI2Lhxo+o+/l6g4oydS6XOxo0bIQiCapPJZKhevTo6d+6MJUuW4M2bNxo/w1/04kgdAD09PWFqaprr44IgYNSoUZLVA4Dk5GTMmDED/v7+ku63NPD391f7O2doaIjKlSujT58+CAkJKezh5QsDIJU07FwqdbID4KxZs7B582Zs2LABc+fORefOnWFgYABbW1vcvn1b7WcyMzORmppaSCMu/kpCAIyNjYUgCJgxY4ak+y0NsgPg2LFjVX/nxo8fD2NjY1hbWyM6Orqwh5gnBkAqadi5VOpkB8Br165pPHbq1CmYmJjA1tYWKSkphTA6dUlJSYU9BEkU5wCoUCiQmppa5ANgUe6V7AC4e/dutftXrVoFQRAwf/78QhpZ/jEAUknDzqVS510BEADmzp0LQRCwZs0a1X3aftFv2LAB7du3R+XKlWFkZARHR0esXLlSY38KhQIzZsxA9erVYWJignbt2iE4OBi2trbw9PTUGNfp06cxcuRIVK5cGZaWlgCAhw8fYuTIkbCzs4OxsTGsrKzw5ZdfIjIyUutrO3fuHMaMGYNKlSrBwsICw4YNQ3p6OuLj4zFw4EBYWlrC0tISkyZNglKpVNvHggUL0Lx5c1hZWcHY2BiNGzfWmLjfZfXq1ahbty6MjY3RrFkznD17VmsATEtLw/Tp01GvXj0YGRnBxsYGkyZNQlpaWp41ChIA81sv+2e3bNkCJycnlC1bFosWLVI7hZm9ZZ8S1vaYIAiwtbVV7ffatWvo3LkzrK2tYWxsjDp16mDw4MGqx7MDxoIFC7Bw4ULUrl0bxsbGaNOmDe7cuaP19UdERKBr164wMzNDr169AECjr7Ll/DPIHvfOnTsxe/Zs1KxZEzKZDB06dEB4eLjGzy9fvhwffPBBnn+u2uQWAIOCgiAIAoYNG6b22t5+37Jp+zt4/PhxtGzZEhYWFjA1NYWdnR2mTJmi9pylS5fCyckJJiYmsLS0RJMmTbB161a15zx58gSDBw9GlSpVYGRkBCcnJ6xfv17tOQyAVNKwc6nUySsARkVFQRAEfPnll6r7tP2ib9asGQYNGoRFixZh2bJl6Ny5MwRBwPLly9WeN3nyZAiCgB49emD58uUYOnQobGxsUKlSJa0B0MnJCW3btsWyZcvw22+/AQB2796Nhg0bYvr06VizZg1++uknVKxYEba2tkhOTtbYR6NGjdClSxesWLECAwcOhCAImDx5Mlq1aoUBAwZg5cqV6N69OwRBwKZNm9TGa2Njg++++w7Lly/HwoUL4e7uDkEQcPjw4Tzf23Xr1kEQBLRo0QJLly7F+PHjYWlpibp166oFBYVCgc6dO6N8+fIYP348Vq9ejdGjR6Ns2bKqIPMu2QEoNjZW65YzAOpSTxAEODo6onLlyvjll1+wYsUKnD9/XnW0qnfv3ti8eTM2b96M27dvIyYmRnU7e1u2bBnKlSuHZs2aAQCeP3+OihUrws7ODgsWLMDatWsxdepUODo6qupmBwwXFxfUqVMH8+fPxy+//AIrKytUrlwZMTExaq9fJpOhXr168PT0hLe3N/766y8AugdANzc3NGnSBIsWLcLMmTNRvnx5uLu7q/3sypUrIQgCWrdujaVLl2LChAmwsrJCvXr1RAXAw4cPQxAE/PDDD2qvLT8BMCgoCEZGRmjatCmWLFkCb29vTJw4EW3atFE9Z82aNaq/y6tXr8aSJUswZMgQjB07VvWcmJgY2NjYoFatWpg1axZWrVqFnj17QhAELFq0SPU8BkAqadi5VOrkFQABwMLCAm5ubqrb2n7RaztF/Omnn6Ju3bqq2zExMShbtiw+//xztefNnDkTgiBoDYCtWrWCXC7Ps9alS5cgCIJq4n97H59++qnakb3mzZvDwMAAI0aMUN0nl8thY2OjMYHnrJWRkYEGDRqgQ4cOGmPI+bwqVaqgUaNGSE9PV92fPQm/XWfz5s0wNDTEuXPn1Pbh7e0NQRBw4cKFd9by9PTM9ahb9vZ2ANSlXvZFCsHBwWrPze8pYKVSie7du8PMzEy1j/379+fZc9kBw8TEBE+ePFHdf+XKFQiCAC8vL43X/+OPP2rsR9cA6OjoqPbntWTJEgiCoDrqmJ6eDmtrazRr1gyZmZmq5/n4+Gj8ueYmu9aGDRsQGxuLZ8+e4ejRo6hfvz4MDAxw9epVtdeWnwCYfVQ2NjY217q9evWCs7PzO8c2ZMgQVK9eHS9fvlS7v1+/frCwsFD9fWAApJKGnUulTn4CYM2aNVG/fn3V7bx+0SckJCA2NlZ1+jghIQEAsHXrVgiCgOPHj6s9/9WrV7kGwJxH5HLKyMjAy5cvERsbC0tLS4wfP15jH7t27VL7mfHjx2t9zZ9//jlq1aqVa624uDjExsZi5MiRqtPRubl48SIEQYC3t7fGeC0sLNSCQs+ePeHs7Kxx5O7evXsQBAGzZ89+Zy1PT08YGxvjxIkTWrecAVCXeoIgoH379ho18xsAf/nlFwiCgD179qjuyw5AM2bMQEZGhtafyw4Y/fv313jso48+gr29vdrrFwQBjx490niurgHw999/V3vezZs3IQgCDhw4AAC4cOGCxkcigKwLoypWrKhTAMy5Va5cGVu2bFF7bn4DYHavr1u3DgqFQmtdT09PWFhYqAXMtymVSlhaWmLYsGEavZG9//PnzwNgAKSSh51LpY5URwDPnz+Pjh07onz58hoTW/bEnB0IHzx4oFGjYsWKWgPg2bNnNZ6bkpKCn3/+GTY2NjAwMFCr9fbnyLL3cfnyZbWfzx7/26cRgawJ0szMTO2+Q4cO4aOPPoJMJlOrY2BgkOv7BQDbt2+HIAg4deqUxmNubm5qQcHR0fGdR+/ePkWnja6fAdSlniAI+OabbzT2mZ8A+Pfff8PQ0FDjc2hKpRJ9+vSBIAgwNzdHz549sWHDBrXPH2YHjOnTp2vsd+DAgZDJZGqvv2zZslqDj64BcMeOHWrPyx6Hj48PAGDbtm0QBAF+fn4a+8z55xodHa22ZR89y641ffp0nDhxAvv374eHhweMjIywbds2tX3mNwCmpKSgZcuWEAQBlSpVwtdff42dO3eqvSchISGoWbMmBEFA/fr18d1336kCHZB1aj6vI8n79u1Te18YAKmkYOdSqZPfzwB+9dVXqvty/qKPiIiATCZDw4YN4e3tjSNHjuDEiRPw8vKCIAiqizMKEgC1jWvIkCEwNDTEhAkTsHv3bhw/fhwnTpyAtbV1vvaRPf6cp8tyBqmzZ8/CwMAAbdu2xfr16+Hr64sTJ05gwIABeU50ugRAe3t7uLi45HoELyws7J21dA2AutTL+bPZ8gqADx48gJWVFT799NNcj0hdunQJP/30E5o0aQJBEODs7IzExEQAugfA3F5/nTp1tAbAVq1aaQ2AOT+XlzPo6BIAc4an7H3kVuvLL7+EqakpHj9+rLpv0KBBWgPgtGnTNHpQoVDg5MmT8PLyUoX8Dh06qH2EIikpCTt27MCgQYNQtWpVtfc4OjoagiDgv//9b6698fz5c63vC8AASMUbO5dKnfxeBbxu3TrVfbl9/ijnKbiffvpJLQDmdgr45cuXuZ4C1jYuCwsLtSN9AJCamooyZcpIGgDHjRsHExMTjStj8xMA33UK2NLSUi0odOvWDTVr1tS4Ajm/dA2AutTLLQBm/5lpC4ApKSlo1KgR6tati7i4uHy9huzeWLt2LQDdTwHn9vrd3Ny0XkhTq1atAgVAXU4B5wxPz549e2etiIgIlClTBsOHD1fd5+XlBQsLC43xZ1/M9C5z5syBIAg4ceKE1sfT09Px2WefoUyZMkhNTYVcLkeFChW0vuc5MQBSScPOpVInP+sAfvDBB2oLP+f8Rb906VIIgoCHDx+q7ktISED16tXVAmD2RSC9e/dWq/Oui0C0jcvKygqDBg1Su+/333/P9z7yGwAnTJiA8uXLq11ZHBkZqTrN/S4ZGRmoXLlyvi4Cyb6AYPXq1Rr7SUlJyXNNO10DoC71cguAKSkpEAQB48aN03jMw8MD5cuX11hAPFtcXJxG+AwODoYg/HvVeF4Xgbz9Wc93vf4vv/wSVatWVfszOHTokMafQX4DoJQXgWhbTqhv376QyWSqxaCXL18OQRDU3stnz57BzMxMrQdfvXqlsa8jR45AEP69Yj3nhR0AMGnSJBgaGqq+8WfQoEEwMjLSWGoHAF68eKH6fwZAKmnYuVTq5PwmkI0bN+K3335TfRNInTp1NCaDnL/ow8LCYGRkBBcXFyxfvhy//fYb6tWrh4YNG6oFQAD4/vvvIQhZy8CsWLECw4YNQ61atVCpUiW1UPeuAOjh4YEyZcpg3LhxWL16NQYNGgQbGxvJTwGfOnUKgpC13MeqVavwyy+/oEqVKnB1dc3XRLd69WoIgoCWLVti6dKl8PLyynUZmG7dusHAwAD9+vXDsmXLsHjxYowYMQJWVlbv/HymtnHnlDPE6VIvtwAIAE5OTqhWrRpWrFiB7du3486dO6qlTPr06aOxHMz+/fsBZB0x/vDDDzF58mSsXr0af/zxB+zt7WFubq76eIC2ZWBmzZoFKysrWFtbq46m5fX6jx49CkHIupBl1apVmDhxIqpVq6axZEt+AyAALFu2TNUXy5Ytw/fffw9ra2vUq1cP7dq1y/XPIa9aQNb6iILw71IwL1++hKmpKerWrYvFixdj7ty5qFWrFho3bqzWg+PGjYObmxumTZuGtWvXYs6cOahZsyZsbGxUF2E1btwY3bp1w5w5c7Bu3Tp8//33kMlk6NGjh2o/MTExsLW1Rfny5VV/v+bNm4evvvoKFStWfOf7wgBIxRk7l0qdnN8FbGRkhGrVqqFTp046fRfwwYMH4erqqlrUd/78+diwYYNGAJTL5fj5559RrVo1mJiYoEOHDggNDYW1tbXasizvCoDx8fEYPHgwKlWqBDMzM3z66acICwvLdTHpggZAAFi/fj0+/PBDyGQyODg4YOPGjTpNdCtXrsQHH3wAmUyGpk2b5rpgcEZGBubPnw9nZ2fIZDJUrFgRTZo0wS+//ILXr1+/s0ZBFoLOb713BcCLFy+iSZMmMDIyUp0OztlPb2/Zn2W7efMm+vfvj9q1a0Mmk6FKlSro3r07rl+/rtr32wtB//nnn6hVqxZkMhlat26tcWQxr9f/559/qhZ2btmyJa5fv57rRSD5CYBA1lFvW1tbyGQyuLu748KFC2jSpAm6dOmS6zjyqpWtXbt2MDc3VwW348ePo0GDBjAyMoK9vT22bNmi0YOnTp1Cr169UKNGDRgZGaFGjRro378/7t27p3rO6tWr0aZNG1hbW6vWTZw0aZJGfz1//hyjRo1CrVq1UK5cOVSrVg0dO3ZUO+3NAEglDTuXqBDEx8dDEPJe7oRKj7cDYHGgUChgZWWFb7/9trCHQkQFwABIpGfaFnHOPnLw9pIUVLoV5QCYmpqq8RnG7COfOdfxI6LigQGQSM82btyItm3bYv78+VixYgX69+8PQRDQuXPnwh4aFSFFOQD6+/ujUaNGmDNnDry9vTFs2DCUKVMGDRo0ULvYhIiKDwZAIj27ceMGOnbsCGtra5QrVw42NjYYN26cav03IqBoB8DIyEj06NEDVatWRbly5VC1alUMHjxYtUYeERU/DIBEREREpQwDIBEREVEpwwBIREREVMowABIRERGVMgyAIigUCkRFRSEhIQGvX7/mxo0bN27cuBWDLSEhAVFRUVAoFIUdJQoNA6AIUVFRuX4DADdu3Lhx48ataG9RUVGFHSUKDQOgCAkJCaoGKux/zXDjxo0bN27c8rdlH8DJ/vrB0ogBUITXr19DEAS8fv3u7y0lIiKiooPzNwOgKGwgIiKi4ofzNwOgKGwgIiKi4ofzNwOgKGwgIiKi4ofzNwOgKGwgIiKi4ofzNwOgKGwgIiIiaShePEXG6X1IP7wR6Yc3IuP0Pihin+qlFudvBkBR2EBEREQFp1QqkRl4ESkrJiNpTEckjf0ESeM/RdL4zln/P6YjUlb+iMygS1AqlZLV5fzNACgKG4iIiKhglBnpSPWZkxX8xnXK+q+27Z/HUv+aB2VmhiS1OX8zAIrCBiIiItKdUiFH6uppqqN8+drGfoLUtTOglODr2zh/MwCKwgYiIiLSXbrvX/kPfjm29KNbRNfn/M0AKAobiIiISDfKjHQkTe6pFupS5nyFjGM/Qx60BPLARUg/+AOSf+6lPQT+8DmUGemixsD5mwFQFDYQERGRbjKuHH/rtG5HZPw9FUjYBuWrLUDCtqz/j9sCZdxWpG0dqzUEZl47KWoMnL8ZAEVhAxEREekmZdE4JI3NurAjfd9EKOO3qoKfti11zdAcnwXshJQlXqLGwPmbAVAUNhAREZFukn76MivIfd8Fyhd/vTP8KeO3QnHfW+MIYPK0vqLGwPmbAVAUNhAREZFukib1QNKYjkhbPxzK+K3IiPsLoU8XwP/BVJyL/BmPY5ZqHBVMmd9PPQRO7iVqDJy/GQBFYQMRERHpJnla36zTv7snIDV2Iw6Gf4+tYd9ha9h32PbPfy8+nKkWAlNXDVE/Aji9v6gxcP5mABSFDURERKSb1NXTkDSuM9I2j8aNx7NVoS/nFv185b9HABcNfGth6M5IXTtd1Bg4fzMAisIGIiIi0k1m8JWso3hTe2D/vfFaw9+2sFG4+vjXrM8BPtuIpPHq3xQiD70uagycvxkARWEDERER6UapUCB5en8kjemIvcGjcw2AVx7NgjJ+K9L3fq8KfoljOiJ5xgDR3wbC+ZsBUBQ2EBERke7SL/6NpDEdcXHvf7AtVPsp4CfPlyPz3GyNr4sL6tQeCYGhoupz/mYAFIUNREREpBt5WjqudO6DR581Q+wPnbH3+jCNEOgfPAkpq79F0lj15V8edWuKAAd7HK/mjBd+Fws8Bs7fDICisIGIiIjyT6lU4mqfb3DT3h4BDnaI/LQJXk7qhKub++Lw2W/wt98gBHl/gTfj/g19iaM7IHF0B0R2boJbjlk/d9PeHr6VnBF/I7BA4+D8zQAoChuIiIgo/x5t2o2zNe0Q4GCHW472uOVoj6BGTnj8WTO8Ht5OY8HnhOHt8PizZrjTyFH1/OwQeKamPU66fAJ5aprO4+D8zQAoChuIiIgof1JjYnGkiitu2tuphTnV5mSPsI9dcK91Q9xr3RBhH7vglpOW5/2z3bCzwwEze4TMXKjzWDh/MwCKwgYiIiLKn7u/rcCpqvZqR//Ebicq2+FwVTdkJqfoNBbO3wyAorCBiIiI8qZUKHC0bgtctLWTLAAGONjhfC07HDC1w6NNu3UaD+dvBkBR2EBERER5exMagQOmdrj8gXRH/wIc7HCxjh0OmjviuqeXTuPh/M0AKAobiIiIKG+Pt+3HAVM7XKkrXQC85WiPS3WyjgAed2qv03g4fzMAisIGIiIiylvor0tw0MIJl+pIewTwQu2sAHiggj2USmW+x8P5mwFQFDYQERFR3kJm/ImDlk4aS8CIDYCna/wTAE3toJTL8z0ezt8MgKKwgYiIiPJ2d/5KHLRwxBELaY8AHjbPCn8HLZ10Gg/nbwZAUdhAREREeXt28ITqSN3lD8QfBQxwsMNF23+P/vl/1EOn8XD+ZgAUhQ1ERESUt5Qn0aqwdqKSNEcBj1n/c/TPwgm3Rk3TaTycvxkARWEDERER5Y9/8144UMEBB0yzLt4o6FHAAAc7nLP59+jfAVM7xBw7rdNYOH8zAIrCBiIiIsqfR3/tUQttl+roHgIDHOxwwVY9/B13aAelQqHTWDh/MwCKwgYiIiLKH3lqGk406IiD5o6q8HbOxk4V7PIKfgEOdjhbUz38HTC1w+Nt+3UeC+dvBkBR2EBERET59+rSDRwws1cLcEcssoLdTXs7tbCXHQpv2tvhTA07HDFXD34HzR1x6YuhOq3/l43zNwOgKGwgIiIi3YQvXqdxFO+AqR0OmmVdIOJX1Q7+1bP+e7yS5vOyw99xp/ZIjYkt0Bg4fzMAisIGIiIi0t29hWv++QYPB60B751bBQecdO2ElCfRBa7P+ZsBUBQ2EBERUcG88L+IYx+2zjolnOO0sNajfhZZnx28PeEXZCYmiarN+ZsBUBQ2EBERUcFlJiYhYukGHHdsnxX0zOxx0NIJB8wdcNDCURX6Dpo74rqnF+Ku3pKkLudvBkBR2EBERETiKRUKxN8IROTabbg9bgauf/M9bg77AaG/LkH04ZNIi30laT3O3wyAsLW1hYuLCxo2bIh27drp9LNsICIiouKH8zcDIGxtbZGYmFign2UDERERFT+cvxkAGQCJiIhKGc7fxTwAnjlzBt27d0f16tUhCAL279dcDXz58uWwtbWFTCaDu7s7rly5ovZ4nTp10LhxYzRt2hRbtmzRqT4biIiIqPjh/F3MA6Cvry+mTp2Kffv2aQ2AO3bsgJGRETZs2IDg4GAMHToUlpaWeP78ueo5T548AQA8e/YMTk5OuH37dr7rs4GIiIiKH87fxTwAvk1bAHR3d8eoUaNUtxUKBWrUqIF58+Zp3cfEiROxcePGXGukpaXh9evXqi0qKqrUNxAREVFxwwBYggNgeno6ypQpoxEKPTw80LNnTwBAUlIS3rx5AwBITExE48aNcfXq1VxrzJgxA4IgaGyluYGIiIiKGwbAEhwAnz59CkEQcPHiRbXnTZo0Ce7u7gCA+/fvw9XVFa6urnB2dsbixYvfWYNHAImIiIo/BsBSHgDFYgMREREVP5y/S3AAzM8pYLHYQERERMVPUZy/e/XqBU9Pz/dWr8QGQCDrIpDRo0erbisUCtSsWTPXi0B0VRQbiIiIqLhLTk7GxIkTUbt2bRgbG6NevXrw8vKSbP9Fcf6Oj49HQkLCe6tXrANgYmIiAgICEBAQAEEQsHDhQgQEBODRo0cAspaBkclk8PHxQUhICIYNGwZLS0vExMRIUr8oNhAREVFxN2TIEDg6OsLPzw/379+Hr68vRowYIdn+OX8X8wDo7++v9arctw+hLlu2DLVr14aRkRHc3d1x+fJlyeqzgYiIiKRnZWWF9evX5/p49vwfGxuruq9t27ZqS78JgoDp06fDxcUFxsbG6Nq1q2od4Oz528fHB87OzjA2NoaTkxN27typUUsQBKxfvx5ff/01TE1NYW1tjT179uT7tcydOxfW1tawsrLCkiVLYGFhobbk3JAhQ7Tml2wpKSn4z3/+AxMTE9SrVw+LFy+GIAiIjIwEALx8+RL9+vVDjRo1YGRkBDs7O6xbt05tH7a2tpgyZQo+++wzmJiYoEmTJsU7ABY2BkAiIiLp2draon///khLS9P6eH4DoJWVFQ4fPoxbt26hSZMm6Nu3L4B/529TU1P89ddfuH//PrZt2wZjY2ONA0WCIKBOnTr4/fffcffuXZw6dQqnTp3K1+s4evQoypUrBx8fHwQHB+Ozzz5DmTJl1ALg69evER0djS5dumgNgD/++CNq1qyJ06dP49KlS/jwww/VAuDDhw8xceJEXLx4EQ8ePMD69ethaGiIM2fOqL2flStXxv/+9z8EBQXB1dWVAVAMBkAiIiLpHTx4EBYWFjA3N0ePHj3g7e2N5ORk1eP5DYATJ05U3T527BjKlCmD+Ph41fyd83OF/fr1w/Dhw9XuEwQBHh4eBXodffr0wRdffKG6HRYWBkEQtH7pRG4XgVhbW2Pp0qWq297e3moBUJvGjRtjypQpqtu2trYYMmSI6vbChQsZAMVgACQiItKPN2/eYNeuXfjuu+9QpUoVODg4IDExEUD+A6CPj4/q9pMnTyAIAgICAlTzt0wmg6mpqWorV64cOnXqpDYOQRCwdu3aAr0GV1dXzJgxQ3VbqVSiXLly+Q6AcXFxEAQB/v7+qvvOnTunFgDlcjlmz56NBg0awNLSEqampjA0NMSYMWNUP2Nra6t2AezGjRsZAMVgACQiItK/Fy9eoEKFCqrPBZ4+fVojALZu3TpfAfDmzZuq+XvGjBkIDw9X2548eaJWWxAE7N69u0Djfh8B8LfffoOlpSW2bt2K4OBghIeHo1GjRmrvha2tLRYsWKC6zQAoEgMgERHR+2Fra6v6xq5bt25pnAatU6eORgCcNGmS6vaxY8dgaGiIuLg41fydn3X3xATAnKeAQ0NDRZ8CXrVqldpr7969u9rPpaamwsrKigFQnxgAiYiIpNejRw9s2LABQUFBCAsLw+TJk1GuXDncuXMHQNY6gebm5vj9998BANu2bYOhoaFGALS2toavry9u3bqFpk2b4ssvvwTw7/xdrlw5LFiwAHfv3sXVq1cxa9YsbN68WW0sYgJg9kUgGzduREhICHr06IGyZcuqAqBcLkd0dLTqIpC+ffuqbsvlcgDqF4FcvnwZDg4OagFwwoQJsLW1xZUrVxAUFIR+/frBzD9Q0EIAACAASURBVMyMAVCfGACJiIikN3fuXLi6usLMzAzm5ub4+OOPceTIEbXnbNmyBTVq1ED16tUxZswYraeAp06dCicnJ8hkMnTp0kW1DnD2/L1p0yY0atQIRkZGqFy5Mrp3746rV6+q1RETALNfi5WVFaytrbFixQpUqFAB27ZtAwBERkZqXc7u7YCXnJyMAQMGqJaBWbJkCQRBwLNnzwBknSbu3bs3zMzMUK1aNfz+++/o2LEjA6A+MQASEREVTe8KboU1f2d/pu/ChQsF3se+ffsgk8mgVCpFjYUBUAQGQCIioqKpKATAjIwMzJw5Ezdu3EBYWBj+85//4MMPP0RmZma+93H79m14e3sjNDQU165dQ6NGjTBo0CDRY2MAFIEBkIiIqGgqCgEwMzMT7du3V61p+MknnyA0NFSnfQQGBsLNzQ0mJiaoWrUqBg8eLMl3BjMAisAASEREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNVPIp09ORGhyM9IcPC3soREQkEc7fDICisIFKtridOxHm/hFC7B0QYu+AB72/QFp4eGEPi4iIROL8zQAoChuo5Hp9/Lgq+Kk2J2fc/bg55G/eFPbwiIhIBM7fDICilPQGSouIwLOZMxHWtBlCHJ1wt2UrPF+0CBkxzwt7aHr34Ku+CHF00gyBDo54tXVrYQ+PiIhEKOnzd34wAIqgjwaSJyYh9e5dJN+8idSwMMgLqTlfHz2GEOcGCHFyVg9Ajk4Ia9oMKYF3CmVc70uYW2PN8GfvgBDnBoj+ZVZhD4+IiERgAGQAFEXKBkoNCcGzaT8j1MVVI3A8+X4ikm/ehFKplGDUeUsLD88Kfw6O2kOQoxPufvQx5ImJ72U8heF+j57aX7+DI16uW1/YwyMiIhEYABkARZGigeSJiXg0bJjqM2ZaA9c/90f274/MV68kfAXaPZsxI/exvH0qdMsWvY+lsMTv2as1+IY2ckPmy5eFPTwqZZRyOZKvX8drX1/E79mD176+SL5xA0qFQto6SiUynj5F8vXrSLp8BSlBQVCkpkpag6goYABkABRFbAPJX7/OOtKk7bNmuQTB8PYdkPFcv5/BC2vaLO+xODgisv8AvY6jMCmVSrxYsjTrSOg/r/leq9ZIvnatsIdGpUjmq1eIXbMG99q21fr38F77Dni5bj0y4+IKXEOpUCDx/HlEjR6j/e++oxMiPuuO2NVr+I8fKjEYABkARRHTQEqFAg8HeuQ//L0VAu/37AVFeroeXlGW/I4poms3vY2hqMh89QpvTp1C0qXLUGZmFvZwqJRQKpV4sWz5uz+K8dY/xkKcGyB2lbfOHxNJuXULEV27vfsMxFtBMMS5AZ7/uVCvv3+I3gcGQAZAUcQ0UOK587oFvxxbwv/+p4dXlOVuy1Z5j8HRCY+++UZvYyAqrZRyOZ5M/qFAvxeeTpuWr9PCqiPcDo55Bz8tgTOiS1ekPXjwHt4NIv1gAGQAFEVMAz0eMVL3X7xvha8Hfb7UwyvK8nzhonwdBUw4dFhvYyAqrWLmzhX1j8Pnf/z5zv0rlUo8mzFTVI0QJ2eEuX+EtIiI9/SuUGmSJk/DyYcnsSVkC9YFrsPOsJ24E3tH0gshGQAZAEUpaANlPHuW92mdfGypwcF6eV0ZMTGqtf9y++Uf8WkXngYikljieXFnBrK35KtXc63xcv0GSWqEODnjXus2XBidJPMk8QkWXl+I5tuao4FPA7j4uKDhpoZo4NMADXwaoM+BPth3bx9SM8VfmMQAyAAoSkEbSOu3TBRgi9u+Q0+vDEgJDMTdjz7KCqrZYfWfQBjxaRdkPH2qt9pEpdXj4SMKfmbgrWAWNXac1v2nRUSoXdgkenN0wtOfpr7nd4lKosP3D6PRpkZw3eSqCny5bd32dkPUmyhR9RgAGQBFKWgDxe/dJ8m/vmPXrNHTK8siT0zEqy1bENl/ACK6dsOjb75BwqHDPPJHpAcZT55IcmYgO5hpWy3g0TffiA+YWraSvjA86de+e/vyDH1vbw03NUSbHW3wNLHgByIYABkARSnwEcAjR8T/0nVwxKtNf+nplRHR+/Z88WLdVwV4RwCMXblSbf/pkZGSB7/sf4w+nTKlkN41Ku4CngfA1Sfvo37aQmD3fd2RocgoUF0GQAZAUQraQMk3bkryi/f18eN6emVE9L49Gj5culDm4KhxGvj5okV6OfoXYu+A0AYuXDCaCmT0ydFqn/PTdTsWeaxAdRkAGQBFKWgDKRUKhH/yiajTPWHN3HkqlqgEefBVX0lD2cOBHmr7fzhwoH6OAP6zpQQEFNI7R8XVs8RncPFxKXD4c93kCs+/PQtUmwGQAVAUMQ30ysen4AHQ0SnPpR6IqHiJ7D9A0kCWc53OsMaN9RcAS/hXQ5J+LLu5LF8XfeS1PUjQfU1KBkAGQFHENJA8IQFhjZvo/pkfB0eENnBBetQTPbwiIiosUaNHS3oRyBOvCap9KzMz9Xr0L8S5AV4sXVaI7x4VR+P8xok6Api9nXh4QufaDIAMgKKIbaCkS5ezPpOT31/6/yzJ8vpowT7zQERF16stW6QLgPYOiNu1S7VvZUaG/gPgkqWF+O5RcTT46GDR4a+BTwPsu7dP59oMgAyAokjRQIlnzyG0YaO8P5zt5IwQ5wZ4feSIhK+AiIoKeWIiQl0bShLIQt0aQ5GSorb/UDc9nwLezFPApJvRJ0dLEgCPRh7VuTYDIAOgKFI1UPrDh4j+ZVZWEPznX9PZgS/7lO/TKT8hNeyuRCMnoqLo2YwZkiwEHTN3rsa+H/7nv3o9Cph882YhvGNUnP125TdRVwBnb3didV+HkgGQAVAUqRtInpiEuB07ET1nDp5O+QnRv87Gq782Qx4fL8n+iahoU31TR0FPBWd/RjgyUmPfz/9cqLdlYEKcG2gccSTKS9irMFHBz8XHBT339yzQdwQzADIAisIGIiKpJRw6LOpU7Otj2j8jnHb/gX7Cn5Mznkye/J7fJSopBhweIOpK4J1hOwtUl/M3A6AobCAi0of43buzVgjI75FARyeEODoh4X//e+d+H3oO0s9Xwd269Z7eGSppTjw8UeA1AFtsa4HkjOQC1eX8zQAoChuIiPQl6cIF3O/ZS3WULbejbyH2DnjQ+wskXb6S5z5T797NOsUsVfhzdOLRPxLtz2t/6hz+3P5yw60XBf+HB+dvBkBR2EBEpE9KpRIpt2/jyQ8/aAS3UBdXPJ3yE1LuBOm0z1jv1ZKd+r3bsiXkCQl6evVUWiiUCiy+sRgNfBrkeVFIw00N8dHWj3At+pqompy/GQBFYQMR0fuizMhA5suXSH/0CJkvX0KZkVGw/SgUeDrlJ9HhL6xJU65MQJI6/+Q8hh0fBhcfFzTc1BANNzWE6yZXNNrUCA18GsB9izt+u/IbniSK/yIEzt8MgKKwgYioOFIqFHi+YEHWZwwL8G1E4R0/Qdq9e4X9MqiEevz6MVYGrMT0C9Mx+cxk/HrpV+y5u+edn/ezsLDAxo0b812D8zcDoChsICIqzpKvXUP4J53e/TnDHBeaxMz7DYrU1MIeOpUix48fR/PmzWFiYoKqVati0KBBePXqldpznj9/jhQdliKSev729/eHIAiIjY2VZH/vAwOgCAyARFTcKeVyvPHzw6OhwxDayE37Eb9OnfFi2XJkxMQU9nCplDl69CjKli2Ln3/+GUFBQbhx4wZmzZqFO3d0X/z5bQyADICiMAASUUmiVCiQHhmJpAsXkHj2HJJv3IQ8Mamwh0WlmIuLCwYNGpTr4/Xq1YMgCBAEQesp4PDwcLRo0QIymQwtW7bExIkTYWtrq5q//fz88Mknn8Da2hrGxsZo3rw5Lly4oPr5yMhICIKANWvWwNXVFaampujTpw+Sk7NOR2cHv5ybra2t2jj8/Pzg7u4OmUyG+vXrY+lS9e/OjoyMRLdu3WBhYYEKFSqgRYsWCArS7QIvXZXqABgfH48mTZqgYcOGcHZ2xpo1a3T6eQZAIiIi/Xj69CkEQYCvr2+uz4mNjUV0dDTMzc21BsCPP/4Y7du3x507d7B9+3aYmpqqBcCdO3di8eLFCAgIQHh4OEaNGgULCwu8efMGwL8BsHHjxrh27RpOnToFU1NTLFu2DACQnp6O6Oho7N27F4IgIDg4GNHR0Xjx4oVqDHfv3oWxsTEWL16MiIgIHDlyBNbW1ti5899FrLt3747WrVsjMDAQd+/excaNGxEQECDRO6ldqQ6AcrlcleKTkpJQp04dvHz5Mt8/zwBIRESkH5cuXYIgCKrTvWfPnoWpqSlMTU0xYcIEtedquwjkzp07EAQBgYGBqvv69eunFgBzzt9v3ryBIAg49s836mQHwM2bN6ue07NnT3h4eKj93LtOAQ8aNAj9+vVTu+/HH3/Ep59+qrrdoEEDTJo0Ka+3RFKlOgC+7dWrV7C1tdXp/D0DIBERkX5kB8B7/1xxnpKSgvDwcLi7u2PUqFFqz9UWAPft2wdDQ0PI5XLVfb/++qtaAIyIiMDQoUNRv359VKhQAaamphAEAXv37gXwbwC8dOmSah+enp7o3r27Wq13BcDGjRujXLlyqvBqamoKIyMjfPjhh6rnLFu2DGXLlkXbtm0xZcoUXLmS98LuYhXrAHjmzBl0794d1atXhyAI2L9/v8Zzli9fDltbW8hkMri7u2u8qfHx8XB1dYWJiQmWL1+uU30GQCIiIv3IPgXs5+endn/btm0lC4CffPIJGjZsiGPHjuHu3bsIDg6GIAjYvXs3gH8D4LVr/y487enpic8++0ytVl4BcPTo0QgPD1fbHj58qPa8hw8fYu3atejVqxcMDAywffv2/L9ZBVCsA6Cvry+mTp2Kffv2aQ2AO3bsgJGRETZs2IDg4GAMHToUlpaWeP78uca+YmJi0KJFC8TocJUbAyAREZH+uLi4YPz48Wr35TcAajsF/PXXX6sFQDMzM7Wfu3LlSoEC4IULFyAIAqKjozVeg6enJzp16qTT6+7atavGaWOpFesA+DZtATDnYWKFQoEaNWpg3rx5WvcxcuRI1R96fjAAEhER6Y+vry/KlSuHOXPmICQkBOfOnUOtWrUwevRopKSkIDo6WnURyOLFizUuwHj7IpAdO3bAwsJCLQA2bNgQXbp0wd27d3H+/Hm0aNECBgYGOgfAZ8+ewdDQEMuWLUNSUhLS0tJUj4WFhcHIyAg//PADgoODcevWLSxatAgLFy5UPcfLywtHjx7FgwcP4OfnhypVqmDOnDn6elsBlOAAmJ6ejjJlymiEQg8PD/Ts2RNA1lG/7Ct9EhIS4OzsrPYvhZzS0tLw+vVr1RYVFcUASEREpEe+vr5wd3eHsbExKlasCE9PT8TExGDjxo15LsESHh6O5s2bw8jICK1bt8akSZNgZ2enCoDnz59X7dvBwQFHjx5FmTJldA6AALBgwQLUqFEDBgYGWpeBadGiheo1dOjQAUePHlU9PnbsWNSrVw8ymQw1atTA+PHjkVHAr3vMrxIbALM/O3Dx4kW1502aNAnu7u4Asg71NmzYEK6urnBxcYG3t/c7a8yYMUNrszEAEhERFX1jx45Fp06deAYPpTwA6opHAImIiIqPffv2Ye/evbh//z4OHToES0tL+Pj4MACiBAfA/JwCFosNREREVHRt3bpVdWq1bt26mDdvHhQKBedviAyABw4c0HnT5cuadZHbRSCjR49W3VYoFKhZs2auF4Hoig1ERERU/HD+FhkADQwMdNoMDQ1x//59qcaOxMREBAQEICAgAIIgYOHChQgICMCjR48AZC0DI5PJ4OPjg5CQEAwbNgyWlpY6LfXyLmwgIiKi4ofztwQBUNuaerkxMzOTNADm9iXMnp6equcsW7YMtWvXhpGREdzd3XH58mXJ6rOBiIiIih/O3yID4KBBg1TLqOTHiBEjdPqqtaKODURERFT8cP4uQReBFAY2EBERkbSUSiUy3iRCnpautxqcv/UYAIODgzF37lysXLkSZ86cQVxcnL5KFRo2EBERkXiKjAw83u2LU+0GYJfMATvL2mFnWTvsreiG699NR3xgmKT1OH/rMQDWq1cPixcvxoIFC+Dh4QE3NzfUrVtXX+UKBRuIiIhInMhN+7C/2kdZoe+t8Je97TJ2xM6ydjjZph8SIx5JUpPztx4DYMuWLTXuk8vl+ipXKNhAREREBRc0e7lG4Mtt2yVzxL7KzRB3M1h0Xc7fegyA06dPx4YNG/S1+yKBDURERFQw4d7b8h3+/g2BDthf1R1JD5+Iqs35W48BsFu3bqhduzbq1KmDr776CrNnz8bBgwf1Va5QsIGIiIh0lx6XgN2mDXQOgNmnhC/2Hy+qPufv93AV8Js3b3Dx4kWsWbMGY8eO1Xe594oNREREpLuwhRuws5x9gQJgdghMjSn4snKcv/UYAPv164c5c+bgwIEDePDggb7KFCo2EBERkW6UCgUO1WsvKgDuNHJA8LxVBR4D5289BsCLFy9i9erVGDNmDJo3bw4LCws0b95cX+UKBRuIiIhIN69DIwoe/N7ajn/cp+Bj4Pz9/haCPn/+PH7++ef3Ve69YAMRERHpJvb8dUkC4KH67Qs8Bs7fegyACQkJGve9/R29JQEbiIiISDcMgEWD3gJg48aNUb9+fXTt2hWTJk3C7Nmz0ahRI32VKxRsICIiIt1Idgr4oy8KPgbO3/o9BSyXyxESEoJdu3bB29sbjx5Js4J3UcEGIiIi0g0vAika3ttnAEsiNhAREZHuuAxM4ZM8AA4ZMgShoaGq27du3cK2bdtK3NE/gA1ERERUEGmv4rkQdCGTPAB++OGHqv+/desWTE1N0bVrV9StWxd+fn5SlytUbCAiIqKC4VfBFS7JA2DTpk1V/z927FiMHj0aAPDgwQO0atVK6nKFig1ERERUcEGzl2NnWTvsyFf4c8S+ys0QdyNIdF3O33oIgL1798aJEyeQnJwMGxsbnD59WvWYm5ub1OUKFRuIiIhInENTvsKWSs5ZQdBI+ynfnWXtcLJNPyRGSPNxMs7fegiAUVFRaNmyJYyMjNC+/b9r9GRmZqJ+/fpSlytUbCAiIiJxzp2ejMn+QzB39udY59YUO98KgXsrOOLayKmIvx2a9450wPlbj1cBp6Wlqd0+duwYvv32W32VKxRsICIiInFSE1/gh8Me6Hd4IJb4D0PSmXFIOzQSGb7fQXFkiF5qcv5+D8vA3Lt3D23atNF3mULBBiIiIhJn/SEvuG/ti4+3fY0vdvaH/ORoKE6MguLkKCjvbNdLTc7f7yEABgUFwdDQUN9lCgUbiIiISJwftvXDR1v7wn3b13Df9jWSfb+F4shQKMMO6a0m528GQFHYQEREROJcvLYBzbd+BfdtX+OXHf99LzU5f0sQAIcPH441a9bg2rVrSE9P13icAZCIiIhy8yL6JoYeHIC+Rzwx9UA/pKcm6L0m528JAmCLFi1gZmYGAwMDGBkZoVGjRvjmm2+wYsUKXLp0CVeuXGEAJCIiIq0OnJoMj6ODMPDYYAw8Nhh3ArfqvSbnb4lOASuVSoSGhmLr1q34/vvv0b59e1SsWBEGBgYwMDBgACQiIiKtrl9fjYHHBsPjny3g6iS91+T8refPAN6/fx+7du3ClClT9Fmm0LCBiIiIxFFmpmFD4FjMvToKO+5NxJmnU5H8/Kpea3L+fg8XgZRkbCAiIiJxFBlJOP34R5yK+hEnH/+AU8dG4sGWRXjhdwHpcfr5PCDnb5EB8Pbt21AoFPl+flBQEDIzM8WULFLYQEREROKdujceh+d/iYOOjfB3RTscs7bDUSs7HLJyws3hPyIxPFLSepy/RQZAQ0NDvHjxIt/Pr1ChAu7fvy+mZJHCBiIiIhInIzkOB3u1xfFKdjhTU3M7WdUeh6s0xKvLNyWryflbZAA0MDDA8OHD4eXlla9NJpMxABIREZHKnSnzcLJqVtg7a2OvsZ2paQf/6vY4Ut0NqTH5P+j0Lpy/RQbAtm3bol27djptz549k2rshY4NREREVHAZ8a9xtLKT1uCXMwQeq2SPsLnLJKnL+ZsXgYjCBiIiIiq4B95b4FfNPtejf29vp2vY4Widj6HU4dqD3HD+ZgAUhQ1ERERUcAGjpuYZ/N7eDpvbSXJlMOdvBkBR2EBEREQFFzBiiu4B8GWc6LqcvxkARWEDERERFdy9RWtxukb+wt+ZmnY4UqMxlHK56LqcvxkARWEDERERFVza85c4Vskhz88AZi8HEzztd0nqcv5mABSFDURERCTOlYFDcbrGu5eBOVPTHkesnZH8MEqSmpy/RQbA/K7/5+XlJdV4ixQ2EBERkTgZbxKwr4kb/Kvb4aKtPa7Vt8MNu6z/nq9th9M17XHEyhHRvn6S1eT8LTIA5lzjz9zcHOXLl4ebmxvc3NxgamoKc3NztG/fXqrxFilsICIiIvESA3bheqtGCHS2x20nO7X/XndvJem3gACcvwEJTwH/+eef6NGjB+Li/r06Jy4uDr169cIff/whVZkihQ1EREQkXvTkAQhsYI9AZ+1b7KaNktbj/C1hAKxRowaCgoI07r9z5w6qV68uVZkihQ1EREQkjiI1FUFNXXINf4HO9ghp11qSq3+zcf6WMACamZnB399f434/Pz+YmZlJVaZIYQMRERGJkxx4+53hL3tLe/RIspqcvyUMgAMHDkSdOnWwd+9eREVFISoqCnv27MEHH3wADw8PqcoUKWwgIiIicZLvBOYrAKZHSXMFMMD5G5AwACYnJ2PkyJGQyWQwNDSEgYEBjIyMMHLkSCQlJUlVpkhhAxEREYmjSE9HUPNm7wx/oZ3aS/IdwNk4f+thHcCkpCTcvn0bt2/fLrHBLxsbiIiISLyYBT+9MwC+3LFd0nqcv/UQAIODg/H333/jwIEDaltJxAYiIiISLzNwPu7++GVW4HN1RKCLQ9bmbI9nf/wOpVIpaT3O3xIGwPv378PV1RUGBgaqU8DZ/29oaChVmSKFDURERCTelUAvrAwcgR2HPBA44ws8GPcFnn3/GVIjwvVSj/O3hAGwe/fu6NWrF2JjY2FmZobg4GCcO3cO7u7uOHv2rFRlihQ2EBERkXjrA0dg5T/bsUc/IfnhQihPj9FbPc7fEgZAa2tr3L59GwBgbm6OsLAwAMCpU6fQqFEjqcoUKWwgIiIi8Q7d/g4rA0dgVeAIXHr2C5IjF0J5Y5Xe6nH+ljAAWlpa4sGDBwCAunXrws8v6zv7IiIiYGJiIlWZIoUNREREJF5y2HpcjfkNAS/m42nSBqTF/yXpVb85cf6WMAC2atUK+/fvBwD0798fXbp0wfnz5+Hh4QFnZ2epyhQpbCAiIiLxFI/+RnLyLiSkbEdy8i4oknZD+eS03upx/pYwAB49ehR79+4FAISHh8Pe3h4GBgaoVKkSTp06JVWZIoUNREREJJ4y/i6Ur3cAyfuA5H1QvtoEZchfeqvH+VsPy8C87dWrV5Jful2UsIGIiIjEUyoUUITOhvLFWiifr4Ei4nfIj3yrt3qcv/UcAIuDzz//HJaWlujTp4/OP8sGIiIiEk8pz4T84iQobkyD4uY0yC9OgvzUWMgvbtBLPc7fIgOgl5dXvreiyt/fHwcPHmQAJCIiKkTyY6MhvzkN8ls/Q3HlB8j/NxTyTYP0Uovzt8gA2K5dO7XN3Nwc5cuXh5ubG9zc3GBqagpzc3O0b99eqvHqhb+/PwMgERFRIZJfmQLlg/nICPoVb05MRrJ3P8j3TNRLLc7fEp4C/vPPP9GjRw/ExcWp7ouLi0OvXr3wxx9/SFVGzZkzZ9C9e3dUr14dgiCorkJ+2/Lly2FrawuZTAZ3d3dcuXJF4zkMgERERIUrI+hXhH73OU7ZOOJEZTucqGyH6736IzH0nuS1OH9LGABr1KiBoKAgjfvv3LmD6tWrS1VGja+vL6ZOnYp9+/ZpDYA7duyAkZERNmzYgODgYAwdOhSWlpZ4/vy52vMYAImIiAqPUi7Htc5tcKKqvSr8nahshxPVHOFXtzGS70dKWo/zt4QB0MzMDP7+/hr3+/n5wczMTKoyudIWAN3d3TFq1CjVbYVCgRo1amDevHlqz8tvAExLS8Pr169VW1RUVKlvICIiIrFe/H1SPfi9tZ2s5oigMT9KWo8BUMIAOHDgQNSpUwd79+5FVFQUoqKisGfPHnzwwQfw8PCQqkyucgbA9PR0lClTRiMUenh4oGfPnmr35TcAzpgxA4IgaGyluYGIiIjEChr9A05Us881BJ6q3VDSegyAEgbA5ORkjBw5EjKZDIaGhjA0NISRkRFGjhyJpKQkqcrkKmcAfPr0KQRBwMWLF9WeN2nSJLi7u6tud+zYEZUqVYKJiQlq1qyp8fy38QggERGR9G55fqt5+jfHqWApMQDqYR3ApKQk3L59G7dv334vwS9bQQOgGGwgIiIi8e7OHoUTVXIJf1UdcLXb15LW4/xdghaCFnMKuKDYQEREROKlPA7EqboNcj0K+OKotF8py/lbgoWgs4/yFfZC0LldBDJ69GjVbYVCgZo1a2pcBFJQbCAiIiJpvJrbA6frO2dd+FHVHieq2OFkdSc8Wu0jeS3O3xIsBB0fH6/6/9w2fS0EnZiYiICAAAQEBEAQBCxcuBABAQF49OgRgKxlYGQyGXx8fBASEoJhw4bB0tISMTExktRnAxEREUkjc/t/kHlgKJ7N+BwRwzrj4ahPkRZ5Vy+1OH8X81PA/v7+Wq/K9fT0VD1n2bJlqF27NoyMjODu7o7Lly9LVp8NREREJA35bg/IDw+D4u+RkB8eBvm+IZCHndVLYr/eXgAAIABJREFULc7fEgbAlJQUJCcnq24/fPgQixYtwrFjx6QqUeSwgYiIiKSRuXswFNd/gvLmNCguTkLmDk9kbJmgl1qcvyUMgJ06dcKqVasAAPHx8ahSpQpsbGxgbGyMlStXSlWmSGEDERERSUN+YiwUN6ZCeXMalDenIWPHYGQe/l0vtTh/SxgAra2tVV8Ft3btWri6ukKhUGDXrl1wcHCQqkyRwgYiIiKShvzEaPUAuHsw5Clv9FKL87eEAdDExER18cVXX32FmTNnAgAeP34MExMTqcoUKWwgIiIiaWTuHwzF1R+huP4TFBcmInPPYCjSU/VSi/O3hAHQxcUFS5YswePHj2Fubq5agPn69euoWrWqVGWKFDYQERGRNDKPDIPi3AQozk2A/KwXMg8MhfzmAb3U4vwtYQDcvXs3ypUrB0NDQ3Tq1El1/9y5c9GlSxepyhQpbCAiIiJpyI+PguKslyoEZh4ZgYzD0qzbmxPnb4mXgYmOjsbNmzehUChU9125cgWhoaFSliky2EBERETSkF+aBkX8TigeeUN+1gvyQ0MhD/HTSy3O38V8HcDCxgYiIiKShjzpf1AoTkChPAnFjV+QueO/eqvF+VviABgfH48//vgDQ4YMwZAhQ7Bw4UIkJCRIWaJIYQMRERFJQ/FiM+T/BED56YlQHBynt1qcvyUMgNeuXYOVlRVq1qyJ3r17o3fv3rCxsYG1tTVu3LghVZkihQ1EREQkDYXfNMjvLobi5q+Q/z0SaUt7QZmZrpdanL8lDICtWrXCoEGDkJmZqbovMzMTnp6eaN26tVRlihQ2EBERkTQy93hAfno8FGe8oDg9Hqkb/ouUNeP1Uovzt4QB0NjYWOvFHsHBwVwHkIiIiN4p48hIKJ94Q/loBRQXJiHZuz9ej2mrl1qcvyUMgFWqVNH6vb9Hjx5FlSpVpCpTpLCBiIiIpCG/NQ/K+K1Qxm+FIuwPJM3qgTffd9RLLc7fEgbAMWPGwMbGBjt27MDjx4/x+PFjbN++HTY2Nhg3Tn8f5CxMbCAiIiJpyC9NhzJ+K5CwDZnHfkDqb72QcXa7Xmpx/pYwAKanp2Ps2LEwMjKCoaEhDA0NIZPJMH78eKSlpUlVpkhhAxEREUlDEXQEmb6TkHHAC6kLeiNtXle91eL8rYd1AJOTkxEYGIjAwEAkJydLvfsihQ1EREQkDcWDS0hb0gcZGwYgbdmXSF/cU2+1OH9zIWhR2EBERETSyDw0FfKD30JxaCjkB79F2sov9FarqM3fvXr1gqen53utKWkAPHnyJKZMmYIhQ4Zg8ODBaltJVNQaiIiIqLiS7xkGxaGhSNw9GN/3dkVt6/IwNjZGvXr14OXlJWmtojZ/x8fHv/cvzpAsAM6cOROGhoZwd3dHr1698Pnnn6ttJVFRayAiIqLiSv73TMgPfItvOtnDsZYljk1ojfv378PX1xcjRoyQtBbnbwkDYLVq1fDXX39JtbtigQ1EREQkDfn1XUhf/TWszIyw2tMdyb/2gDzimtbn3rp1Cx06dICJiQlq166Nn3/+We2LKICss5LNmzeHsbExqlatiqFDh6oe+/HHHzXmb0EQsHv3btXtyMhI9OrVC2ZmZqhWrRq+++47tWsb2rZti2+//RYeHh4oX7487O3tcfnyZbUxJCUlYezYsahevTqMjY3RrFkznD59WvX4kCFDIAgCBEHQegr477//RsuWLWFhYYHy5cujc+fOCAkJyd8b+tbrmj59OlxcXGBsbIyuXbvi+fPn0gVAKysrRERESLW7YoEBkIiISBoZ1w8jeWZ31LYqj76Na+HFd+2RvmeexvNevnwJKysrTJkyBffu3cOZM2dQr149zJ8/X/Wc4OBglC1bFhMmTEBwcDCuXr2KUaNGqR7PKwCmp6fDzs4OgwcPRkhICK5du4ZmzZph5MiRque3bdsWpqam2LBhA+7evYtPPvkETZo0URvrgAED8MEHH8DX1xfh4eHYuXMnNm3apHr89evXiI6ORpcuXbQGwI0bN2LdunUICgpCSEgI+vTpg/r160OhUOT7fRUEAVZWVjh8+DBu3bqFJk2aoG/fvtIFwMmTJ2PWrFlS7a5YYAAkIiKShvzOCSRP6YLdXzWGhawszGVl0b3tx/D29lY78jZz5kx8/PHHaj/r7e0Ne3t71W0PDw+0adMm11p5BUAfHx/UrFlTLWgdPXoUxsbGUCqVALICYMeO/y5UvW/fPhgaGqqORN6/fx+CIMDPzy/P157fi0ACAwMhCALu3r2b53Pffl0TJ05U3T527BjKlCkjXQAcO3YsLC0t0aZNG4wePRpeXl5qW0nEAEhERCQNuf86pPzUFSk/dcXz7zth8+eNMHLoN6hSpQocHByQmJgIAPjiiy9QtmxZmJqaqjZjY2OUK1dOta/GjRtj6tSpudbKKwBOmDABhoaGajVMTEwgCAKePn0KICsADh8+XPXz/v7+EAQBL1++BAAcPHgQhoaGSE9Pz/O15xYAIyIi0K9fP9SpUwdmZmYoX748BEHAjRs38tzn26/Lx8dHdfvJkydZp53zvYc8tGvX7p1bScQASEREJA1FYjxS5nRH+qq+SPujN1J+/ARKhQIvXrxAhQoVsH79egBZAfDzzz9HeHi4xpYtrwA4ZcoUtflboVBoBMBmzZpprZF9hK9t27Zqp5WzA2BsbCwAaQKgo6MjOnTogNOnT+PevXs4duwYBEHAtWvaPxupjd4DYGnEAEhERCQN5fMQyLf/F5nbB0K+wwMK/4Wqx2xtbbF48WIA+H979x4WZZ3/f/xWdAYEBTUPaAZ5QFdcJDU8fD1kdtjSLN1dS3cVszyU+K0s21z7SWualmaa2rZp6moeylIrZbMyPB/SgjygKIInFjyi4gGU4fX7w68jIx7Aewa45fm4rs91NTP3zOeez76X98u5575H0dHRatSo0U2/B9enTx916NDhho+PGzfOpX/v37/fJQDOmjVLVapUcX7qeD23CoBXDgHHxsbe6q1fNwAeP3483/M///zz2wqAw4YNc95esWKFypYtay4AvvLKKzp79qzzv280hg4damaaEosACACAe+QmxSpnYR91aX63Zgxqo22fvqzdu3fr9ddfV/ny5bV9+3ZJ0rFjx1SlShX17dtX8fHx2rlzp6ZPn66///3vzte6chLIa6+9poSEBP36668uYe27775zfj/P4XAoKirKJQBmZWWpfv36evzxx/Xzzz8rMTFR8+bNc7kcza0CoHT5JJB69eopJiZGSUlJ+uqrr5yfxuXk5CgtLc15EkiPHj2ct3NycuRwOHTXXXepb9++2rdvn1asWKHQ0NDbCoBVq1ZVTEyM4uPj1aJFC/3pT38yFwAfeOABZWRkOP/7RqNjx45mpimxCIAAALhHrsOhnC/7a/TT4Qq7J0B+fr6qVKmSWrVqpeXLl7tsGxcXp0ceeUS+vpe3adOmjT777DOXbX788Ue1atVK3t7eql69up577jnnY1f6t7+/v+rXr69PP/0032VgkpOT1b17d/n7+8vX11f33Xef81NIqWAB8OzZsxoyZIhq1qwpb29vNW/e3PmJXkpKivMSMNeOlJQUSdLKlSsVGhoqu92uZs2aaenSpbcVAEeMGKHGjRvLbrfrD3/4g9LT0zkEbAYBEAAA6ylN/fvaYOu8vxj25Y5RmgoIAABPyz28XRdn9telz4cpN/u8x+YpTf27SALghQsXtHnzZn377bf6+uuvXcadqDQVEAAAnpTrcOjCmMd04e0ndOHtJ3Rxej+PzVWa+rfHA+B//vMfVatWTWXKlMk3ypYt665pSpTSVEAAAHhS7vnTujC6qy6M7qrzbz+h89GPemwu+rcbA2D9+vX14osvKj093V0vWeJRQAAAuM+54X9wBsDMVx5WbnaWR+ahf7sxAFasWJHfAgYAALft7CsP6MyQB3VmcEdlvnTjn3Izi/7txgD47LPPasaMGe56OUuggAAAcJ9zHw7Uyb7tdLJvO516qaNyb3KxZzPo324MgOfOndPjjz+uyMhITZgwQZMnT3YZdyIKCAAA9zn+15Y6+nRr58hJWO+ReejfbgyAM2bMULly5eTn56egoCAFBwc7x7333uuuaUoUCggAAPc50a+1jj7dyjkcR1I8Mg/9240BsEaNGhozZsxNf5vvTkMBAQDgPicHttWRHq10pEcrHX06Qo4Mz5xYSv92YwCsXLkyJ4EAAIDbduTpVjrRt51O9G2rI39upew1n3tkHvq3GwPgyy+/rDFjxrjr5SyBAgIAwH1ODXpAmS91UuZLnZTRv4POfz3FI/PQv90YAIcMGSJ/f3+1b99eUVFReuWVV1zGnYgCAgDAfc4MeUBnX35ImS910unBHXVpX5xH5qF/uzEAPvDAAzccHTt2dNc0JQoFBACA+2R/+r/OAHh+wl89Ng/9282/BVzaUEAAALiXY3+cHAe2eXQO+jcB0BQKCAAA66F/uzEA/uMf/7jpuBNRQAAAWA/9240BMDw83GWEhoaqQoUKqlSpku677z53TVOiUEAAAFgP/dvDh4BPnz6tbt26ac6cOZ6cpthQQAAAWA/9uwi+A7ht2zYFBQV5eppiQQEBAOA+jqMHdeSvEfpv92Y6M+lFj81D/y6CALh27VoFBAR4eppiQQEBAOA+R/q0VOqT918eXe/XxYRNHpmH/u3GADh58mSXMWnSJP3tb39TrVq11LNnT3dNU6JQQAAAuE/an5sr9cn79d+nIpT65P06v3yGR+ahf7sxAAYHB7uMunXrqmXLlho+fLgyMzPdNU2JQgEBAOA+Z+e8pdSuLS5/AtjtPuVmnffIPPTvIjgEfOjQIfXv39/T0xQLCggAAPe69N99ytrwtXIvZntsDvp3EQTA+Ph4lS1b1tPTFAsKCAAA66F/EwBNoYAAAHCvnEO7lb1uMZ8AehgB0AQKCAAA98la/aUOPNRUBx4K1+Enwz02D/2bAKinnnpKAQEB+uMf/1jo51JAAAC4T9pfW2l/p8sB8MBD4Tozf7xH5qF/uyEAduvW7aajY8eOJToAxsbG6ptvviEAAgBQzFJ7tnKGv+QOYTrxwVCPzEP/dkMA7Nu3b4FGSRYbG0sABACgmB19pasSmv1Ou+9vrJ3hDXX+xwUemYf+XQSHgM1YvXq1unTposDAQBmGoSVLluTbZurUqQoKCpLdbldERIQ2b95c6HkIgAAAFL9j0X21t02oEls2VmKrxjo1d4JH5qF/l/AAGBMToxEjRmjx4sXXDYALFy6UzWbTzJkztXPnTvXv318BAQE6cuSIc5umTZsqNDQ030hNTXVuQwAEAKD4pUc/r/jQhtre9Hf6tVGI0qOf98g89O8SHgDzul4AjIiI0ODBg523HQ6HatWqpbFjxxbqtQsaALOysnT69GnnOHToUKkvIAAA3CXz60+0tWFDbQ1pqF8ahuj8lh88Mg8B0MIBMDs7W15eXvlCYZ8+fdS1a9dCvXZBA2B0dLQMw8g3SnMBAQDgLhnvvahdzRppZ3gj7WrWSBdWLfLIPARACwfA1NRUGYahDRs2uGw3bNgwRUREFPh1O3XqpLvuuks+Pj6qXbt2vtfLi08AAQDwnKxN/1FiRCMltvid9rVrJMfJI7d+0m0gABIATaGAAABwr+zf1uj09JHKOZzksTno3xYOgO48BHy7KCAAAKyH/m3hAChdPgkkKirKedvhcKh27dqFPgnkdlFAAABYD/27hAfAzMxMxcXFKS4uToZhaOLEiYqLi9OBAwckXb4MjN1u1+zZs5WQkKABAwYoICBA6enpRbJ/FBAAANZD/y7hATA2Nva6Z91GRkY6t5kyZYruuece2Ww2RUREaNOmTUW2fxQQAADWQ/8u4QGwpKOAAACwHvo3AdAUCggAAOuhfxMATaGAAACwHvo3AdAUCggAAPc68+Ni7e3XVUc/Hu2xOejfBEBTKCAAANwn+8Aerbo7RD/VDNFPNRvq+GeTPTIP/ZsAaAoFBACA+5z+fpF+qtnw/0aIkgZ088w89G8CoBkUEAAA7nM69hv9WP3yp38ra4Rod6/HPDMP/ZsAaAYFBACA+2QfTtYPNRpoxV0NtKJqiFLHv+GReejfBEBTKCAAANzrVMxC7fzTQzr41hDlOhwemYP+TQA0hQICAMB66N8EQFMoIAAArIf+TQA0hQICAMB66N8EQFMoIAAArIf+TQA0hQICAMB66N8EQFMoIAAArIf+TQA0hQICAMC9zif8oj0v9FTax+M8Ngf9mwBoCgUEAID75Doc+vGeEH1bsYG+rRii9E8nemQe+jcB0BQKCAAA93FcOKdvK10Of99WbKB9r/f3yDz0bwKgKRQQAADulfRypJYHNNDqRo2VfSDJI3PQvwmAplBAAABYD/2bAGgKBQQAgPXQvwmAplBAAABYD/2bAGgKBQQAgPXQvwmAplBAAABYD/2bAGgKBQQAgPXQvwmAplBAAABYD/2bAGgKBQQAgPXQvwmAplBAAABYD/2bAGgKBQQAgPXQvwmAplBAAABYD/2bAGgKBQQAgPXQvwmAplBAAAC414lv5mvN78P0258eU+7FbI/MQf8mAJpCAQEA4F6xIaFa4tNAS3xCdOTfH3pkDvo3AdAUCggAAPfa+nA7LfEJ0VLfBjqz6SePzEH/JgCaQgEBAOBeOWfP6PCHb+v02u88Ngf9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAIB7ZW5Zo3Ut79f23t2V63B4ZA76NwHQFAoIAAD32vJIBy2yhWiRLUQnln/ukTno3wRAUyggAADcK/mtoVpkC9E3lRso61CyR+agfxMATaGAAABwv3M7f9Gl40c89vr0bwKgKRQQAADWQ/8mAJpCAQEAYD0lpX+npKTIMAxt2bLlhtsEBQXJMAwZhqHx48e7bW4CoAklpYAAALiTREZGOkNP3rFo0SK3vH5J6d8FCYBHjx5VWlqa7r77bgJgSVFSCggAgDtJZGSkHnroIaWlpbmMrKwst7x+SenfBQmAVwQFBREAS4qSUkAAANxJIiMj1blz5xs+HhsbK8MwNH/+fNWvX18VK1bUgAED5Mhz3cD3339fTZo0kY+Pj6pWrapnn33W2a+v9O/f/e53Gj9+vO666y7VqFFDn3zyifP5OTk56tevn4KDg2Wz2RQUFKR33nnHZT+ysrI0aNAg1ahRQ97e3mrcuLG++OKLAr/PKwFw3Lhxqlu3rnx8fPTMM8/o7Nmz+ba9UQA8fvy4nnnmGdWqVUs2m00hISGaMWNGvucOHz5cnTt3lo+Pj5o3b04ANIMACACA+xU0AD7yyCPasWOHFi1apDJlyujbb791bvPmm29q6dKlSkpK0saNG9W4cWP169dP0tX+7ePjo6ioKO3Zs0d/+9vfZLfbdezYMUlSdna2BgwYoFWrViklJUVLly5VhQoVNGfOHOccEyZMULVq1bR69WolJydr2bJl+uqrrwr8Pq8EwODgYK1du1YbNmzQvffeq9deey3ftjcKgPv379drr72mDRs2KDk5WZ9++qnKli2r1atXuzy3WrVqWrp0qXbs2KGwsLDSHQAzMjLUvHlzNW3aVKGhoS7JvyAIgAAAuF9kZKS8vLzk6+vrMg4cOCDpagBcu3at8zlhYWEaOXLkDV/zww8/VGBgoKSr/dvX19d5WPnkyZMyDEM//fTTDV+je/fu6tmzp/N2VFSU7r///tt+n1cC4NSpU533/etf/1LlypXzbVuYQ8DNmjXT8OHDXZ773HPPOW9PnDixdAfAnJwcnTt3TpJ09uxZBQcH6/jx4wV+PgEQAAD3i4yMVMeOHbV3716XcenSJUlXA2BaWprzOR06dFBUVJTz9sqVK/Xggw8qMDBQvr6+stvtqlixoqSr/btBgwYu8xqGoS+//NJ5+6OPPlKzZs1UtWpV+fr6qly5cnriiSecj2/cuFGVKlVSaGioBg8erMWLFys3N7fA7/NKAFy1apXzvnXr1skwDJ08edJl2xsFwJycHI0ePVpNmjRRQECAfH19VbZsWQ0ZMsTluWPHjnXenjVrVukOgHmdOHFCQUFBzo9+C4IACACA+xX0EHDent2hQwcNHjxY0uXDot7e3oqKitLWrVu1d+9ejRo1Sr6+vpJcvwOYV94zjRcuXCibzaaPPvpI27dv1969e9W5c+d8+5WRkaEvvvhCAwcOlI+PjwYNGlTg93mzAJiRkeGy7Y0C4Lhx4xQQEKB58+Zp586d2rt3r8LDw51rcb3nlvgAuHr1anXp0kWBgYEyDENLlizJt83UqVMVFBQku92uiIgIbd68uVBzZGRkKCwsTD4+Pi4fwRYEARAAAPczGwC//PJLlS1bVjk5Oc7HX3jhhUIFwKioKHXo0MH5WG5urho3bnzT/Xr33XdVs2bNAr/PKwFw2rRpzvv+9a9/qWrVqvm2DQ0N1ahRo/Ld36VLF0VGRjpvX7hwQVWqVLF2AIyJidGIESO0ePHi6wbAK+l85syZ2rlzp/r376+AgAAdOXL152OufL/v2pGamuryWunp6WrTpo3S09MLvH8EQAAA3O9Gl4G58rWtWwXA3377zfndun379mnGjBnOw7hSwQLghx9+qEqVKmnlypVKTEzUyy+/LD8/P5cAOGnSJC1YsECJiYmKj49X27Zt9fDDDxf4fV4JgHXr1tX69eu1ceNG3XvvvXr99dfzbdunTx+Fh4dr7969SktLcx5qHjp0qIKCgrR582bt2LFDzzzzjPz8/KwdAPO6XgCMiIhweYMOh0O1atVyOc5dGC+88MJNLzKZlZWl06dPO8ehQ4cIgAAAuNmNLgR9JcTcKgBK0uTJk1WrVi35+Pioa9eumjhxYqECYHZ2tvr16yd/f39VqVJFr776qp599lmXADhjxgyFh4erQoUKqlKlirp166aDBw8W+H3mvQxMcHCwfHx81KtXL2fQzevgwYNq3769ypcv73KI+OTJk+rWrZv8/PxUs2ZNvffee+rUqdOdGwCzs7Pl5eWVLxT26dNHXbt2LdBrpqen68yZM5KkU6dOKTQ0VNu2bbvh9tHR0dctSAIgAADWwRE8C10I+toAmJqaKsMwtGHDBpfthg0bpoiIiAK95ubNm9W0aVOFhYXp97//vT7++OObbs8ngAAAWB8BsJQHQLMoIAAA3Cs7db82P/qgEl7s67E56N8WDoDuOARsFgUEAIB77Xq5v+YZIZpnhCgzfpNH5qB/WzgASpdPAsl70UeHw6HatWvf9kkghUUBAQDgXhmrv9PiSiH6oWFTOS7kPxnCHejfJTwAZmZmKi4uTnFxcTIMQxMnTlRcXJzzp2AWLlwou92u2bNnKyEhQQMGDFBAQEChLuViBgUEAIB7bNz3m/ak/6CN+1brfHa2R+eif5fwAHjlNO9rR94LHk6ZMkX33HOPbDabIiIitGmTZz4uvh4KCAAA8w6dPK5Lju91yfG9si+t0Lq9Wzw6H/27hAfAko4CAgDAvH1H05wBMOvSCq3b69kPc+jfBEBTKCAAAMxzOBxat3e9zmav0K60H3Q884xH56N/EwBNoYAAAHCPjQnrdOnEXF04Nldb98R5dC76NwHQFAoIAADzLl26pOzjc5WbMVeOk3OVfmieR+ejfxMATaGAAAAwz5Hj0On0z5Rzcq4unZirlOQFHp2P/k0ANIUCAgDAPbal7FJK8gLtSVqovf/d79G56N8EQFMoIAAArIf+TQA0hQICAMB66N8EQFMoIAAArIf+TQA0hQICAMB66N8EQFMoIAAA3ONoxnH9suET7dk8Sb/s2ODRuejfBEBTKCAAANxjy4YZupgwWjm7RutiwmgdP3XCY3PRvwmAplBAAAC4x46NU5Wza7Ryd18eB9IOemwu+jcB0BQKCAAA99iwcoYcu95W7u7Rcvw6Qlt//tFjc9G/CYCmUEAAALjH5uWTdHHl/8qx6iVl/zhE67+f6bG56N8EQFMoIAAA3GPLzz/KsXKILv44RJd+HKIdO3/x2Fz0bwKgKRQQAADuEx+/Qet/mKOdu3716Dz0bwKgKRQQAADWQ/8mAJpCAQEAYD30bwKgKRQQAADWQ/8mAJpCAQEA4F6nMjKUnZXl0Tno3wRAUyggAADc4+LFi9o0bYSyJ3bXyfefVvz6VR6bi/5NADSFAgIAwD22/hij7IndlT2xuy683137J0R6bC76NwHQFAoIAAD32PyfJc4AmPV+N2W+212nTpz0yFz0bwKgKRQQAADu8VvsWp0b1cUZAI8N7KgVb/4/j8xF/yYAmkIBAQDgHuvmfaH/dovQ0d5tlf5Ma6U+FaGVg/p5ZC76NwHQFAoIAAD32J+QqANPtdLhpyL036cilPpUhH4YP9Ejc9G/CYCmUEAAALjP5iXL9eszj2nXHx/QihEjdDE72yPz0L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoyqlTp2QYhg4dOqTTp08zGAwGg8GwwDh06JAMw9CpU6eKO0oUGwKgCVcKiMFgMBgMhvXGoUOHijtKFBsCoAkOh0OHDh3SqVOnPPavEz5dLJp/BbLOrPOdMFhn1vlOGp5c51OnTunQoUNyOBzFHSWKDQGwhDp9mu8nFAXWuWiwzkWDdS4arHPRYJ09iwBYQlH4RYN1Lhqsc9FgnYsG61w0WGfPIgCWUBR+0WCdiwbrXDRY56LBOhf9XBvYAAAP1ElEQVQN1tmzCIAlVFZWlqKjo5WVlVXcu3JHY52LButcNFjnosE6Fw3W2bMIgAAAAKUMARAAAKCUIQACAACUMgRAAACAUoYACAAAUMoQAIvB6tWr1aVLFwUGBsowDC1ZsuSWz4mNjdV9990nm82mevXqadasWZ7f0TvE1KlTFRQUJLvdroiICG3evPmm23/wwQcKCQmRt7e37r77br388su6cOFCEe2tdRV2nTMyMvTiiy+qZs2astlsatCggZYvX15Ee2tdhV3nKxYsWCDDMPTkk096eA/vDIVZ508++URt27ZVQECAAgIC1KlTpwL/71LaFbaev/jiCzVs2FB2u11NmjThb4YJBMBiEBMToxEjRmjx4sUFCoDJycmqUKGChg4dqoSEBE2ZMkVeXl767rvvimiPrWvhwoWy2WyaOXOmdu7cqf79+ysgIEBHjhy57vbz5s2T3W7XvHnzlJKSohUrVigwMFCvvPJKEe+5tRR2nbOzs9WiRQs9/vjjWrdunVJSUrRq1SrFx8cX8Z5bS2HX+YqUlBTVrl1b7dq1IwAWQGHXuVevXpo2bZri4uK0a9cu9e3bV/7+/jp8+HAR77m1FHad169fLy8vL7333ntKSEjQm2++qfLly2v79u1FvOd3BgJgMStIAHz99dcVGhrqct/TTz+tRx991JO7dkeIiIjQ4MGDnbcdDodq1aqlsWPHXnf7wYMH68EHH3S5b+jQofqf//kfj+6n1RV2nf/5z3+qbt26unjxYlHt4h2hsOssSTk5OWrTpo1mzJihyMhIAmAB3M4655WTk6OKFSvq3//+t6d28Y5Q2HXu0aOHOnfu7HJfy5YtNXDgQI/u552KAFjMChIA27Vrp5deesnlvpkzZ6pSpUqe3DXLy87OlpeXV7717dOnj7p27Xrd58ybN0/+/v7OwxD79u1To0aNNGbMGI/vr1Xdzjo/9thj+stf/qL+/furevXqCg0N1ZgxY5STk1MUu2xJt7POkjRy5Eg99dRTkkQALIDbXee8zpw5I29vb3377bee2MU7wu2sc506dfTBBx+43Ddy5EiFhYV5bD/vZATAYlaQANigQQO98847LvctX75chmHo/Pnzntw9S0tNTZVhGNqwYYPL/cOGDVNERMQNnzd58mSVL19e5cqVk2EYGjRokKd31dJuZ52vfIenX79+2rp1qxYuXKgqVarorbfeKopdtqTbWee1a9eqdu3aOnbsmCQCYEHc7t+NvF544QXVrVuX7w7fxO2sc/ny5TV//nyX+6ZNm6bq1at7bD/vZATAYkYA9Jzb+QMTGxurGjVqaPr06dq2bZsWL16sOnXqaNSoUUWxy5Z0O+vcoEED1alTx+UTv/fff181a9b06L5aWWHX+cyZMwoODlZMTIzzPgLgrZkNgGPHjlXlypX122+/eWoX7wgEwOJHACxmHAL2nNs5xNC2bVu99tprLvfNnTtXPj4+cjgcHttXK7uddW7fvr06derkcl9MTIwMw1B2drbH9tXKCrvOcXFxMgxDXl5ezlGmTBmVKVNGXl5eSkpKKqpdtxQzh4DHjx8vf39/bdmyxZO7eEfgEHDxIwAWs4KeBNKkSROX+3r27MlJIAUQERGhqKgo522Hw6HatWvf8EvGzZo10+uvv+5y3/z58+Xj48P3026isOs8fPhwBQUFuYTqSZMmKTAw0OP7amWFWecLFy5o+/btLuPJJ5/Ugw8+qO3btxO0b6Kw9SxJ7777ripVqqSNGzcWxS7eEQq7zj169FCXLl1c7mvdujUngdwmAmAxyMzMVFxcnPNf6BMnTlRcXJwOHDggSXrjjTfUu3dv5/ZXLgMzbNgw7dq1S9OmTeMyMAW0cOFC2e12zZ49WwkJCRowYIACAgKUnp4uSerdu7feeOMN5/bR0dGqWLGiFixYoOTkZH3//feqV6+eevToUVxvwRIKu84HDx5UxYoVFRUVpcTERC1btkzVq1fX6NGji+stWEJh1/laHAIumMKu87hx42Sz2fTll18qLS3NOTIzM4vrLVhCYdd5/fr1KleunCZMmKBdu3YpOjqay8CYQAAsBrGxsTIMI9+IjIyUdPmPdIcOHfI9Jzw8XDabTXXr1uVC0IUwZcoU3XPPPbLZbIqIiNCmTZucj3Xo0MG57pJ06dIlvfXWW6pXr568vb1Vp04dvfjii8rIyCiGPbeWwqyzJG3YsEEtW7aU3W5X3bp1OQu4gAq7znkRAAuuMOscFBR03b/p0dHRRb/jFlPYev7iiy8UEhIim82m0NBQLgRtAgEQAACglCEAAgAAlDIEQAAAgFKGAAgAAFDKEAABAABKGQIgAABAKUMABAAAKGUIgAAAAKUMARAALCbvhYcLc5HyvBeh54LQKMlWr16tLl26KDAwsEA/mXo9ubm5Gj9+vBo0aCCbzaZatWrxa0N5EAAB3Lbr/frBnf5LCEFBQfl+kL449mHUqFFKS0tTbm6upKvhLm8gTE1NVZMmTdSuXTudOnVK2dnZSktLU48ePQiAKNFiYmI0YsQILV68+LYD4JAhQ9SwYUN9/fXXSk5O1tatW/X99997YG+tiQAI4Lbl/d3TSZMmqVKlSpb8LdTc3FxdunSpQNu6KwBmZ2ff9nOvtw/XBsCkpCTde++96ty5s86fP++yLT8JByu5XgDMysrSq6++qlq1aqlChQqKiIhQbGys8/GEhASVK1dOu3fvLuK9tQ4CIAC3mDVrlvz9/V3umz59uho1aiS73a6GDRtq2rRpzsdSUlJkGIY+//xztW3bVt7e3mrRooUSExP1888/q3nz5vL19dUf/vAHHT161Pm8K+Hlrbfe0l133aWKFStq4MCBLoHK4XDonXfeUXBwsLy9vRUWFqZFixY5H78SlmJiYtSsWTOVL19esbGxSkpKUteuXVW9enX5+vqqRYsW+uGHH5zP69ChQ75POSUpOjpaTZs2dXnvH3zwgYKCgvLt9+jRoxUYGKjg4GBJ0pw5c9S8eXP5+fmpRo0a6tmzp44cOXLTtb5VAPztt99Us2ZN9erV67rBlgAIK7leAHz++efVpk0brVmzRklJSRo/frzsdrv27NkjSXr33XcVEhKiCRMmKDg4WEFBQXruued04sSJ4ngLJRIBEIBbXBsAP/vsMwUGBuqrr75ScnKyvvrqK1WpUkWzZ8+WdDUANmrUSN99950SEhLUqlUrNW/eXA888IDWrVunX3/9VfXr19egQYOcrxsZGSk/Pz89/fTT2rFjh5YtW6Zq1arp73//u3Ob0aNHO1933759mjVrlux2u1atWiXpalgKCwvT999/r6SkJJ04cULx8fH6+OOPtX37du3Zs0dvvvmmvL29deDAAUnSiRMndPfddzsPv6alpUkqeAD08/NT7969tWPHDu3YsUOS9OmnnyomJkb79u3Txo0b1bp1az322GM3XeubBcDly5crICBAgwcPdh4evhYBEFZybQA8cOCAvLy8lJqa6rJdp06dNHz4cEnSwIEDZbfb1bJlS61Zs0axsbEKDw9Xx44di3TfSzICIAC3uDYA1qtXT/Pnz3fZ5u2331br1q0lXQ2AM2bMcD6+YMECGYahlStXOu8bO3asGjZs6LwdGRmpKlWq6Ny5c877/vnPf8rPz08Oh0NZWVmqUKGCNmzY4DL3c889p549e0q6GpaWLl16y/cVGhqqKVOmOG9fL3wVNADWqFHjlod+t2zZIsMwbnr4/GYB0GazqXfv3jedgwAIK7k2AC5btkyGYcjX19dllCtXTj169JAk9e/fX4ZhKDEx0fm8X375RYZhcFj4/xAAAbhF3gB49uxZGYYhHx8flz/Qdrtd1atXl3Q1AP7888/O1/jpp59kGIbLId+ZM2eqcuXKztuRkZH5/hUfHx8vwzC0f/9+7dix47rNoXz58oqIiJB0NSwdPnzY5XUyMzP16quvqlGjRvL395evr6/Kli2rYcOGObcxEwAfeuihfOu2detWdenSRXXq1JGfn58qVKggwzC0c+fOG671zQLgn//8Z/n5+WnNmjU3fD4BEFZybQBcuHChvLy8tHv3bu3du9dlXPlUfuTIkSpXrpzL65w/f16GYXAiyP8hAAJwi7wBMD09XYZh6LPPPsv3Bzo5OVnS1QAYFxfnfI3rncl67SeLtwqAmzZtkmEYWrVqVb65Dx48eMN5pMuHjerWravFixdr27Zt2rt3r5o2baqXXnrJuc31wtc//vEPhYWFudz33nvvXfc7gHmdPXtWVatWVa9evbRmzRrt2rVLK1asyLcu17pZADx58qSef/55+fr6avXq1dd9PgEQVnJtAExMTJRhGDf9R86V/x8lJSU577vydyLvp4KlGQEQgFtcG9Rq1aqlUaNG3XB7MwGwSpUqLme2fvzxx85DwGfOnJHdbtecOXNuOPeNAmCTJk1c9jkzM1P+/v4uAbBBgwaaMGGCy/M++ugjVa9e3eU7d7169bplANy6dasMw3AGU0maO3euqQCYkZGh3NxcDRgwQL6+vs7vPeZFAERJl5mZqbi4OMXFxckwDE2cOFFxcXHO7+P+5S9/UXBwsPM7xps3b9Y777yjZcuWSbp8IlizZs3Uvn17/frrr9q6datatmyphx9+uDjfVolCAATgFtcGtenTp8vHx0eTJ09WYmKitm3bppkzZ+r999+XZC4A+vn5qWfPntq5c6eWL1+uGjVq6I033nBuM2LECFWtWlWzZ89WUlKSfvnlF3344YfOE1BuFAC7deum8PBwxcXFKT4+Xk888YQqVqzoEgAffvhhde3aVYcPH9axY8ckXb7kRJkyZTRu3DglJSVp6tSpqly58i0D4NGjR2Wz2TRs2DDt27dPX3/9tUJCQkwHQOnypW1eeOEFVahQweXyGDfaF6AkyXvR8rwjMjJSknTx4kWNHDlSwcHBKl++vAIDA9WtWzdt27bN+Rqpqanq3r278wz7vn37chZwHgRAAG5xvcvAzJs3T+Hh4bLZbKpcubLat2+vxYsXSzIXAJ988kmNHDlSVatWlZ+fn/r376+srCznNrm5uZo0aZIaNmyo8uXLq1q1anr00Uedh0RvFABTUlLUsWNH+fj4qE6dOpo6dao6dOjgEgA3btyosLAw2e1252VgpMsnotSpU0e+vr7q06ePxowZc8sAKEnz589XcHCw7Ha7WrdurW+++cYtAfDKOgwePFgVKlTQTz/9dMt9AVB6EAABWArhxfzFqFlDAARAAJZCeLkcAG02m3x9fXXq1KkCP2/NmjXOy2WU9jUESjsCIABLIQBK+/fvd57Z7HA4Cvy88+fP57tcBoDSiQAIAABQyhAAAQAAShkCIAAAQClDAAQAAChlCIAAAAClDAEQAACglCEAAgAAlDIEQAAAgFKGAAgAAFDKEAABAABKmf8P43vZTc4Ex4oAAAAASUVORK5CYII=" width="640"> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[4]:</div> + + + + +<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain"> +<pre><matplotlib.collections.PathCollection at 0x7fd0f9597b38></pre> +</div> + +</div> + +</div> + +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [5]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">data2</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">'data/ms.csv'</span><span class="p">,</span> <span class="n">skiprows</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> +<span class="n">data2</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[5]:</div> + + + +<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>lum</th> + <th>temp</th> + <th>radius</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>0.000776</td> + <td>3577.003926</td> + <td>0.814703</td> + </tr> + <tr> + <th>1</th> + <td>0.002638</td> + <td>3691.168543</td> + <td>1.209778</td> + </tr> + <tr> + <th>2</th> + <td>0.006823</td> + <td>3793.506494</td> + <td>1.630027</td> + </tr> + <tr> + <th>3</th> + <td>0.019733</td> + <td>3862.471423</td> + <td>2.361574</td> + </tr> + <tr> + <th>4</th> + <td>0.040402</td> + <td>3963.530109</td> + <td>2.910924</td> + </tr> + <tr> + <th>...</th> + <td>...</td> + <td>...</td> + <td>...</td> + </tr> + <tr> + <th>85</th> + <td>46.302027</td> + <td>10625.406634</td> + <td>2.528836</td> + </tr> + <tr> + <th>86</th> + <td>177.827941</td> + <td>10896.877545</td> + <td>4.016161</td> + </tr> + <tr> + <th>87</th> + <td>111.480780</td> + <td>11231.323162</td> + <td>3.043018</td> + </tr> + <tr> + <th>88</th> + <td>140.345987</td> + <td>11709.130116</td> + <td>2.944580</td> + </tr> + <tr> + <th>89</th> + <td>303.389118</td> + <td>13010.740359</td> + <td>2.921536</td> + </tr> + </tbody> +</table> +<p>90 rows × 3 columns</p> +</div> +</div> + +</div> + +</div> + +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [6]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">lum2</span> <span class="o">=</span> <span class="n">data2</span><span class="p">[</span><span class="s1">'lum'</span><span class="p">]</span> +<span class="n">temp2</span> <span class="o">=</span> <span class="n">data2</span><span class="p">[</span><span class="s1">'temp'</span><span class="p">]</span> +<span class="n">radio2</span> <span class="o">=</span> <span class="n">data2</span><span class="p">[</span><span class="s1">'radius'</span><span class="p">]</span> +<span class="c1">#</span> +<span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">gca</span><span class="p">()</span> +<span class="n">ax</span><span class="o">.</span><span class="n">invert_xaxis</span><span class="p">()</span> +<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span> <span class="n">temp2</span><span class="p">,</span><span class="n">lum2</span><span class="p">,</span> <span class="n">s</span><span class="o">=</span><span class="n">radio2</span><span class="p">)</span> +<span class="c1">#plt.xscale("log")</span> +<span class="n">plt</span><span class="o">.</span><span class="n">yscale</span><span class="p">(</span><span class="s2">"log"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s2">"Temperatura [K]"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s2">"Luminosidad [$L_</span><span class="si">{Sun}</span><span class="s2">$]"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"Diagrama de Hertzsprung-Russell"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> +<span class="c1">#plt.colorbar(); # show color scale</span> + +<span class="c1">#plt.scatter(lum1, temp1)</span> +</pre></div> + + </div> +</div> +</div> +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [7]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">data3</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">'data/giants.txt'</span><span class="p">,</span><span class="n">delim_whitespace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> +<span class="n">data3</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[7]:</div> + + + +<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>lum</th> + <th>temp</th> + <th>radius</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>304.228573</td> + <td>3654.601099</td> + <td>145.483474</td> + </tr> + <tr> + <th>1</th> + <td>58.884366</td> + <td>3808.609875</td> + <td>66.642938</td> + </tr> + <tr> + <th>2</th> + <td>9.246982</td> + <td>3991.751692</td> + <td>27.603430</td> + </tr> + <tr> + <th>3</th> + <td>58.505945</td> + <td>4164.818180</td> + <td>50.832968</td> + </tr> + <tr> + <th>4</th> + <td>32.033176</td> + <td>4425.773883</td> + <td>33.290931</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> + +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [8]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">lum3</span> <span class="o">=</span> <span class="n">data3</span><span class="p">[</span><span class="s1">'lum'</span><span class="p">]</span> +<span class="n">temp3</span> <span class="o">=</span> <span class="n">data3</span><span class="p">[</span><span class="s1">'temp'</span><span class="p">]</span> +<span class="n">radio3</span> <span class="o">=</span> <span class="n">data3</span><span class="p">[</span><span class="s1">'radius'</span><span class="p">]</span> +<span class="c1">#</span> +<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">lum3</span><span class="p">,</span> <span class="n">temp3</span><span class="p">,</span> <span class="n">s</span><span class="o">=</span><span class="n">radio3</span><span class="p">)</span> + +<span class="c1">#plt.scatter(lum1, temp1)</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[8]:</div> + + + + +<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain"> +<pre><matplotlib.collections.PathCollection at 0x7fd0f754b0b8></pre> +</div> + +</div> + +</div> + +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [9]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">data4</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">'data/supergiants.txt'</span><span class="p">,</span><span class="n">delim_whitespace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> +<span class="n">data4</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[9]:</div> + + + +<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>lum</th> + <th>temp</th> + <th>radius</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>359749.335156</td> + <td>3801.042587</td> + <td>278.055832</td> + </tr> + <tr> + <th>1</th> + <td>416869.383470</td> + <td>4398.962354</td> + <td>190.278395</td> + </tr> + <tr> + <th>2</th> + <td>1000000.000000</td> + <td>5465.163392</td> + <td>140.809113</td> + </tr> + <tr> + <th>3</th> + <td>920449.571753</td> + <td>7837.395137</td> + <td>46.187556</td> + </tr> + <tr> + <th>4</th> + <td>779830.110523</td> + <td>10200.701561</td> + <td>19.604244</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> + +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [10]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">lum4</span> <span class="o">=</span> <span class="n">data4</span><span class="p">[</span><span class="s1">'lum'</span><span class="p">]</span> +<span class="n">temp4</span> <span class="o">=</span> <span class="n">data4</span><span class="p">[</span><span class="s1">'temp'</span><span class="p">]</span> +<span class="n">radio4</span> <span class="o">=</span> <span class="n">data4</span><span class="p">[</span><span class="s1">'radius'</span><span class="p">]</span> +<span class="c1">#</span> +<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">lum4</span><span class="p">,</span> <span class="n">temp4</span><span class="p">,</span> <span class="n">s</span><span class="o">=</span><span class="n">radio4</span><span class="p">)</span> +<span class="c1">#plt.scatter(lum1, temp1)</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[10]:</div> + + + + +<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain"> +<pre><matplotlib.collections.PathCollection at 0x7fd0f95eb390></pre> +</div> + +</div> + +</div> + +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h2 id="Parte-2:-Generando-un-solo-plot">Parte 2: Generando un solo plot<a class="anchor-link" href="#Parte-2:-Generando-un-solo-plot">¶</a></h2> +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [11]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">total_lum</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">concat</span><span class="p">([</span><span class="n">lum1</span><span class="p">,</span><span class="n">lum2</span><span class="p">,</span><span class="n">lum3</span><span class="p">,</span><span class="n">lum4</span><span class="p">])</span> +<span class="c1">#len(total_lum)</span> +<span class="n">total_temp</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">concat</span><span class="p">([</span><span class="n">temp1</span><span class="p">,</span><span class="n">temp2</span><span class="p">,</span><span class="n">temp3</span><span class="p">,</span><span class="n">temp4</span><span class="p">])</span> +<span class="n">total_radio</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">concat</span><span class="p">([</span><span class="n">radio1</span><span class="p">,</span><span class="n">radio2</span><span class="p">,</span><span class="n">radio3</span><span class="p">,</span><span class="n">radio4</span><span class="p">])</span> +</pre></div> + + </div> +</div> +</div> +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [12]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">colors</span> <span class="o">=</span> <span class="n">total_temp</span> +<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span> <span class="n">total_temp</span><span class="p">,</span><span class="n">total_lum</span><span class="p">,</span> <span class="n">s</span><span class="o">=</span><span class="n">total_radio</span><span class="p">,</span><span class="n">c</span><span class="o">=</span><span class="n">colors</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="n">plt</span><span class="o">.</span><span class="n">cm</span><span class="o">.</span><span class="n">RdYlGn</span><span class="p">)</span> +<span class="c1">#plt.scatter( temp1,lum1, s=radio1,color='white',edgecolors='black')</span> +<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="mi">10000</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">"Secuencia principal"</span><span class="p">,</span> <span class="n">family</span><span class="o">=</span><span class="s2">"monospace"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="mi">8000</span><span class="p">,</span> <span class="mi">40000</span><span class="p">,</span> <span class="s2">"Super gigantes"</span><span class="p">,</span> <span class="n">family</span><span class="o">=</span><span class="s2">"monospace"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="mi">5000</span><span class="p">,</span> <span class="mi">1000</span><span class="p">,</span> <span class="s2">"Gigantes"</span><span class="p">,</span> <span class="n">family</span><span class="o">=</span><span class="s2">"monospace"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="mi">7000</span><span class="p">,</span> <span class="mf">0.001</span><span class="p">,</span> <span class="s2">"Enanas blancas"</span><span class="p">,</span> <span class="n">family</span><span class="o">=</span><span class="s2">"monospace"</span><span class="p">)</span> + +<span class="c1">#plt.text(2.5, 2., "sans-serif", family="sans-serif")</span> +<span class="c1">#cbar = plt.colorbar()</span> +<span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">gca</span><span class="p">()</span> +<span class="n">ax</span><span class="o">.</span><span class="n">invert_xaxis</span><span class="p">()</span> +<span class="c1">#plt.xscale("log")</span> +<span class="n">plt</span><span class="o">.</span><span class="n">yscale</span><span class="p">(</span><span class="s2">"log"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s2">"Temperatura [K]"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s2">"Luminosidad [$L_</span><span class="si">{Sun}</span><span class="s2">$]"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"Diagrama de Hertzsprung-Russell"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> +<span class="c1">#plt.colorbar(); # show color scale</span> +</pre></div> + + </div> +</div> +</div> +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h2 id="Parte-3:-Animar">Parte 3: Animar<a class="anchor-link" href="#Parte-3:-Animar">¶</a></h2> +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [13]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">matplotlib.animation</span> <span class="kn">import</span> <span class="n">FuncAnimation</span> + + +<span class="n">N</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">total_temp</span><span class="p">)</span> + +<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span> +<span class="n">plt</span><span class="o">.</span><span class="n">xlim</span><span class="p">(</span><span class="mi">3000</span><span class="p">,</span> <span class="mi">15000</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">ylim</span><span class="p">(</span><span class="mf">1e-5</span><span class="p">,</span> <span class="mf">1e7</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">yscale</span><span class="p">(</span><span class="s1">'log'</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s2">"Temperatura [K]"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s2">"Luminosidad [$L_</span><span class="si">{Sun}</span><span class="s2">$]"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"Diagrama de Hertzsprung-Russell"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="mi">10000</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">"Secuencia principal"</span><span class="p">,</span> <span class="n">family</span><span class="o">=</span><span class="s2">"monospace"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="mi">8000</span><span class="p">,</span> <span class="mi">40000</span><span class="p">,</span> <span class="s2">"Super gigantes"</span><span class="p">,</span> <span class="n">family</span><span class="o">=</span><span class="s2">"monospace"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="mi">5000</span><span class="p">,</span> <span class="mi">1000</span><span class="p">,</span> <span class="s2">"Gigantes"</span><span class="p">,</span> <span class="n">family</span><span class="o">=</span><span class="s2">"monospace"</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="mi">7000</span><span class="p">,</span> <span class="mf">0.001</span><span class="p">,</span> <span class="s2">"Enanas blancas"</span><span class="p">,</span> <span class="n">family</span><span class="o">=</span><span class="s2">"monospace"</span><span class="p">)</span> + +<span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">gca</span><span class="p">()</span> +<span class="n">ax</span><span class="o">.</span><span class="n">invert_xaxis</span><span class="p">()</span> + +<span class="n">graph</span><span class="p">,</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">([],</span> <span class="p">[],</span> <span class="s1">'ob'</span><span class="p">)</span> + +<span class="k">def</span> <span class="nf">animate</span><span class="p">(</span><span class="n">i</span><span class="p">):</span> + <span class="n">graph</span><span class="o">.</span><span class="n">set_data</span><span class="p">(</span><span class="n">total_temp</span><span class="p">[:</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">],</span> <span class="n">total_lum</span><span class="p">[:</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">])</span> + <span class="k">return</span> <span class="n">graph</span> + +<span class="n">ani</span> <span class="o">=</span> <span class="n">FuncAnimation</span><span class="p">(</span><span class="n">fig</span><span class="p">,</span> <span class="n">animate</span><span class="p">,</span> <span class="n">frames</span><span class="o">=</span><span class="n">N</span><span class="p">,</span> <span class="n">interval</span><span class="o">=</span><span class="mi">200</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div id="6c3462dc-0549-41e3-b686-deb62d6d3ba4" class="jp-RenderedJavaScript jp-OutputArea-output " data-mime-type="application/javascript"> +<script type="text/javascript"> +var element = document.getElementById('6c3462dc-0549-41e3-b686-deb62d6d3ba4'); +/* Put everything inside the global mpl namespace */ +/* global mpl */ +window.mpl = {}; + +mpl.get_websocket_type = function () { + if (typeof WebSocket !== 'undefined') { + return WebSocket; + } else if (typeof MozWebSocket !== 'undefined') { + return MozWebSocket; + } else { + alert( + 'Your browser does not have WebSocket support. ' + + 'Please try Chrome, Safari or Firefox ≥ 6. ' + + 'Firefox 4 and 5 are also supported but you ' + + 'have to enable WebSockets in about:config.' + ); + } +}; + +mpl.figure = function (figure_id, websocket, ondownload, parent_element) { + this.id = figure_id; + + this.ws = websocket; + + this.supports_binary = this.ws.binaryType !== undefined; + + if (!this.supports_binary) { + var warnings = document.getElementById('mpl-warnings'); + if (warnings) { + warnings.style.display = 'block'; + warnings.textContent = + 'This browser does not support binary websocket messages. ' + + 'Performance may be slow.'; + } + } + + this.imageObj = new Image(); + + this.context = undefined; + this.message = undefined; + this.canvas = undefined; + this.rubberband_canvas = undefined; + this.rubberband_context = undefined; + this.format_dropdown = undefined; + + this.image_mode = 'full'; + + this.root = document.createElement('div'); + this.root.setAttribute('style', 'display: inline-block'); + this._root_extra_style(this.root); + + parent_element.appendChild(this.root); + + this._init_header(this); + this._init_canvas(this); + this._init_toolbar(this); + + var fig = this; + + this.waiting = false; + + this.ws.onopen = function () { + fig.send_message('supports_binary', { value: fig.supports_binary }); + fig.send_message('send_image_mode', {}); + if (fig.ratio !== 1) { + fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio }); + } + fig.send_message('refresh', {}); + }; + + this.imageObj.onload = function () { + if (fig.image_mode === 'full') { + // Full images could contain transparency (where diff images + // almost always do), so we need to clear the canvas so that + // there is no ghosting. + fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height); + } + fig.context.drawImage(fig.imageObj, 0, 0); + }; + + this.imageObj.onunload = function () { + fig.ws.close(); + }; + + this.ws.onmessage = this._make_on_message_function(this); + + this.ondownload = ondownload; +}; + +mpl.figure.prototype._init_header = function () { + var titlebar = document.createElement('div'); + titlebar.classList = + 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix'; + var titletext = document.createElement('div'); + titletext.classList = 'ui-dialog-title'; + titletext.setAttribute( + 'style', + 'width: 100%; text-align: center; padding: 3px;' + ); + titlebar.appendChild(titletext); + this.root.appendChild(titlebar); + this.header = titletext; +}; + +mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {}; + +mpl.figure.prototype._root_extra_style = function (_canvas_div) {}; + +mpl.figure.prototype._init_canvas = function () { + var fig = this; + + var canvas_div = (this.canvas_div = document.createElement('div')); + canvas_div.setAttribute( + 'style', + 'border: 1px solid #ddd;' + + 'box-sizing: content-box;' + + 'clear: both;' + + 'min-height: 1px;' + + 'min-width: 1px;' + + 'outline: 0;' + + 'overflow: hidden;' + + 'position: relative;' + + 'resize: both;' + ); + + function on_keyboard_event_closure(name) { + return function (event) { + return fig.key_event(event, name); + }; + } + + canvas_div.addEventListener( + 'keydown', + on_keyboard_event_closure('key_press') + ); + canvas_div.addEventListener( + 'keyup', + on_keyboard_event_closure('key_release') + ); + + this._canvas_extra_style(canvas_div); + this.root.appendChild(canvas_div); + + var canvas = (this.canvas = document.createElement('canvas')); + canvas.classList.add('mpl-canvas'); + canvas.setAttribute('style', 'box-sizing: content-box;'); + + this.context = canvas.getContext('2d'); + + var backingStore = + this.context.backingStorePixelRatio || + this.context.webkitBackingStorePixelRatio || + this.context.mozBackingStorePixelRatio || + this.context.msBackingStorePixelRatio || + this.context.oBackingStorePixelRatio || + this.context.backingStorePixelRatio || + 1; + + this.ratio = (window.devicePixelRatio || 1) / backingStore; + + var rubberband_canvas = (this.rubberband_canvas = document.createElement( + 'canvas' + )); + rubberband_canvas.setAttribute( + 'style', + 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;' + ); + + // Apply a ponyfill if ResizeObserver is not implemented by browser. + if (this.ResizeObserver === undefined) { + if (window.ResizeObserver !== undefined) { + this.ResizeObserver = window.ResizeObserver; + } else { + var obs = _JSXTOOLS_RESIZE_OBSERVER({}); + this.ResizeObserver = obs.ResizeObserver; + } + } + + this.resizeObserverInstance = new this.ResizeObserver(function (entries) { + var nentries = entries.length; + for (var i = 0; i < nentries; i++) { + var entry = entries[i]; + var width, height; + if (entry.contentBoxSize) { + if (entry.contentBoxSize instanceof Array) { + // Chrome 84 implements new version of spec. + width = entry.contentBoxSize[0].inlineSize; + height = entry.contentBoxSize[0].blockSize; + } else { + // Firefox implements old version of spec. + width = entry.contentBoxSize.inlineSize; + height = entry.contentBoxSize.blockSize; + } + } else { + // Chrome <84 implements even older version of spec. + width = entry.contentRect.width; + height = entry.contentRect.height; + } + + // Keep the size of the canvas and rubber band canvas in sync with + // the canvas container. + if (entry.devicePixelContentBoxSize) { + // Chrome 84 implements new version of spec. + canvas.setAttribute( + 'width', + entry.devicePixelContentBoxSize[0].inlineSize + ); + canvas.setAttribute( + 'height', + entry.devicePixelContentBoxSize[0].blockSize + ); + } else { + canvas.setAttribute('width', width * fig.ratio); + canvas.setAttribute('height', height * fig.ratio); + } + canvas.setAttribute( + 'style', + 'width: ' + width + 'px; height: ' + height + 'px;' + ); + + rubberband_canvas.setAttribute('width', width); + rubberband_canvas.setAttribute('height', height); + + // And update the size in Python. We ignore the initial 0/0 size + // that occurs as the element is placed into the DOM, which should + // otherwise not happen due to the minimum size styling. + if (fig.ws.readyState == 1 && width != 0 && height != 0) { + fig.request_resize(width, height); + } + } + }); + this.resizeObserverInstance.observe(canvas_div); + + function on_mouse_event_closure(name) { + return function (event) { + return fig.mouse_event(event, name); + }; + } + + rubberband_canvas.addEventListener( + 'mousedown', + on_mouse_event_closure('button_press') + ); + rubberband_canvas.addEventListener( + 'mouseup', + on_mouse_event_closure('button_release') + ); + // Throttle sequential mouse events to 1 every 20ms. + rubberband_canvas.addEventListener( + 'mousemove', + on_mouse_event_closure('motion_notify') + ); + + rubberband_canvas.addEventListener( + 'mouseenter', + on_mouse_event_closure('figure_enter') + ); + rubberband_canvas.addEventListener( + 'mouseleave', + on_mouse_event_closure('figure_leave') + ); + + canvas_div.addEventListener('wheel', function (event) { + if (event.deltaY < 0) { + event.step = 1; + } else { + event.step = -1; + } + on_mouse_event_closure('scroll')(event); + }); + + canvas_div.appendChild(canvas); + canvas_div.appendChild(rubberband_canvas); + + this.rubberband_context = rubberband_canvas.getContext('2d'); + this.rubberband_context.strokeStyle = '#000000'; + + this._resize_canvas = function (width, height, forward) { + if (forward) { + canvas_div.style.width = width + 'px'; + canvas_div.style.height = height + 'px'; + } + }; + + // Disable right mouse context menu. + this.rubberband_canvas.addEventListener('contextmenu', function (_e) { + event.preventDefault(); + return false; + }); + + function set_focus() { + canvas.focus(); + canvas_div.focus(); + } + + window.setTimeout(set_focus, 100); +}; + +mpl.figure.prototype._init_toolbar = function () { + var fig = this; + + var toolbar = document.createElement('div'); + toolbar.classList = 'mpl-toolbar'; + this.root.appendChild(toolbar); + + function on_click_closure(name) { + return function (_event) { + return fig.toolbar_button_onclick(name); + }; + } + + function on_mouseover_closure(tooltip) { + return function (event) { + if (!event.currentTarget.disabled) { + return fig.toolbar_button_onmouseover(tooltip); + } + }; + } + + fig.buttons = {}; + var buttonGroup = document.createElement('div'); + buttonGroup.classList = 'mpl-button-group'; + for (var toolbar_ind in mpl.toolbar_items) { + var name = mpl.toolbar_items[toolbar_ind][0]; + var tooltip = mpl.toolbar_items[toolbar_ind][1]; + var image = mpl.toolbar_items[toolbar_ind][2]; + var method_name = mpl.toolbar_items[toolbar_ind][3]; + + if (!name) { + /* Instead of a spacer, we start a new button group. */ + if (buttonGroup.hasChildNodes()) { + toolbar.appendChild(buttonGroup); + } + buttonGroup = document.createElement('div'); + buttonGroup.classList = 'mpl-button-group'; + continue; + } + + var button = (fig.buttons[name] = document.createElement('button')); + button.classList = 'mpl-widget'; + button.setAttribute('role', 'button'); + button.setAttribute('aria-disabled', 'false'); + button.addEventListener('click', on_click_closure(method_name)); + button.addEventListener('mouseover', on_mouseover_closure(tooltip)); + + var icon_img = document.createElement('img'); + icon_img.src = '_images/' + image + '.png'; + icon_img.srcset = '_images/' + image + '_large.png 2x'; + icon_img.alt = tooltip; + button.appendChild(icon_img); + + buttonGroup.appendChild(button); + } + + if (buttonGroup.hasChildNodes()) { + toolbar.appendChild(buttonGroup); + } + + var fmt_picker = document.createElement('select'); + fmt_picker.classList = 'mpl-widget'; + toolbar.appendChild(fmt_picker); + this.format_dropdown = fmt_picker; + + for (var ind in mpl.extensions) { + var fmt = mpl.extensions[ind]; + var option = document.createElement('option'); + option.selected = fmt === mpl.default_extension; + option.innerHTML = fmt; + fmt_picker.appendChild(option); + } + + var status_bar = document.createElement('span'); + status_bar.classList = 'mpl-message'; + toolbar.appendChild(status_bar); + this.message = status_bar; +}; + +mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) { + // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client, + // which will in turn request a refresh of the image. + this.send_message('resize', { width: x_pixels, height: y_pixels }); +}; + +mpl.figure.prototype.send_message = function (type, properties) { + properties['type'] = type; + properties['figure_id'] = this.id; + this.ws.send(JSON.stringify(properties)); +}; + +mpl.figure.prototype.send_draw_message = function () { + if (!this.waiting) { + this.waiting = true; + this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id })); + } +}; + +mpl.figure.prototype.handle_save = function (fig, _msg) { + var format_dropdown = fig.format_dropdown; + var format = format_dropdown.options[format_dropdown.selectedIndex].value; + fig.ondownload(fig, format); +}; + +mpl.figure.prototype.handle_resize = function (fig, msg) { + var size = msg['size']; + if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) { + fig._resize_canvas(size[0], size[1], msg['forward']); + fig.send_message('refresh', {}); + } +}; + +mpl.figure.prototype.handle_rubberband = function (fig, msg) { + var x0 = msg['x0'] / fig.ratio; + var y0 = (fig.canvas.height - msg['y0']) / fig.ratio; + var x1 = msg['x1'] / fig.ratio; + var y1 = (fig.canvas.height - msg['y1']) / fig.ratio; + x0 = Math.floor(x0) + 0.5; + y0 = Math.floor(y0) + 0.5; + x1 = Math.floor(x1) + 0.5; + y1 = Math.floor(y1) + 0.5; + var min_x = Math.min(x0, x1); + var min_y = Math.min(y0, y1); + var width = Math.abs(x1 - x0); + var height = Math.abs(y1 - y0); + + fig.rubberband_context.clearRect( + 0, + 0, + fig.canvas.width / fig.ratio, + fig.canvas.height / fig.ratio + ); + + fig.rubberband_context.strokeRect(min_x, min_y, width, height); +}; + +mpl.figure.prototype.handle_figure_label = function (fig, msg) { + // Updates the figure title. + fig.header.textContent = msg['label']; +}; + +mpl.figure.prototype.handle_cursor = function (fig, msg) { + var cursor = msg['cursor']; + switch (cursor) { + case 0: + cursor = 'pointer'; + break; + case 1: + cursor = 'default'; + break; + case 2: + cursor = 'crosshair'; + break; + case 3: + cursor = 'move'; + break; + } + fig.rubberband_canvas.style.cursor = cursor; +}; + +mpl.figure.prototype.handle_message = function (fig, msg) { + fig.message.textContent = msg['message']; +}; + +mpl.figure.prototype.handle_draw = function (fig, _msg) { + // Request the server to send over a new figure. + fig.send_draw_message(); +}; + +mpl.figure.prototype.handle_image_mode = function (fig, msg) { + fig.image_mode = msg['mode']; +}; + +mpl.figure.prototype.handle_history_buttons = function (fig, msg) { + for (var key in msg) { + if (!(key in fig.buttons)) { + continue; + } + fig.buttons[key].disabled = !msg[key]; + fig.buttons[key].setAttribute('aria-disabled', !msg[key]); + } +}; + +mpl.figure.prototype.handle_navigate_mode = function (fig, msg) { + if (msg['mode'] === 'PAN') { + fig.buttons['Pan'].classList.add('active'); + fig.buttons['Zoom'].classList.remove('active'); + } else if (msg['mode'] === 'ZOOM') { + fig.buttons['Pan'].classList.remove('active'); + fig.buttons['Zoom'].classList.add('active'); + } else { + fig.buttons['Pan'].classList.remove('active'); + fig.buttons['Zoom'].classList.remove('active'); + } +}; + +mpl.figure.prototype.updated_canvas_event = function () { + // Called whenever the canvas gets updated. + this.send_message('ack', {}); +}; + +// A function to construct a web socket function for onmessage handling. +// Called in the figure constructor. +mpl.figure.prototype._make_on_message_function = function (fig) { + return function socket_on_message(evt) { + if (evt.data instanceof Blob) { + /* FIXME: We get "Resource interpreted as Image but + * transferred with MIME type text/plain:" errors on + * Chrome. But how to set the MIME type? It doesn't seem + * to be part of the websocket stream */ + evt.data.type = 'image/png'; + + /* Free the memory for the previous frames */ + if (fig.imageObj.src) { + (window.URL || window.webkitURL).revokeObjectURL( + fig.imageObj.src + ); + } + + fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL( + evt.data + ); + fig.updated_canvas_event(); + fig.waiting = false; + return; + } else if ( + typeof evt.data === 'string' && + evt.data.slice(0, 21) === 'data:image/png;base64' + ) { + fig.imageObj.src = evt.data; + fig.updated_canvas_event(); + fig.waiting = false; + return; + } + + var msg = JSON.parse(evt.data); + var msg_type = msg['type']; + + // Call the "handle_{type}" callback, which takes + // the figure and JSON message as its only arguments. + try { + var callback = fig['handle_' + msg_type]; + } catch (e) { + console.log( + "No handler for the '" + msg_type + "' message type: ", + msg + ); + return; + } + + if (callback) { + try { + // console.log("Handling '" + msg_type + "' message: ", msg); + callback(fig, msg); + } catch (e) { + console.log( + "Exception inside the 'handler_" + msg_type + "' callback:", + e, + e.stack, + msg + ); + } + } + }; +}; + +// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas +mpl.findpos = function (e) { + //this section is from http://www.quirksmode.org/js/events_properties.html + var targ; + if (!e) { + e = window.event; + } + if (e.target) { + targ = e.target; + } else if (e.srcElement) { + targ = e.srcElement; + } + if (targ.nodeType === 3) { + // defeat Safari bug + targ = targ.parentNode; + } + + // pageX,Y are the mouse positions relative to the document + var boundingRect = targ.getBoundingClientRect(); + var x = e.pageX - (boundingRect.left + document.body.scrollLeft); + var y = e.pageY - (boundingRect.top + document.body.scrollTop); + + return { x: x, y: y }; +}; + +/* + * return a copy of an object with only non-object keys + * we need this to avoid circular references + * http://stackoverflow.com/a/24161582/3208463 + */ +function simpleKeys(original) { + return Object.keys(original).reduce(function (obj, key) { + if (typeof original[key] !== 'object') { + obj[key] = original[key]; + } + return obj; + }, {}); +} + +mpl.figure.prototype.mouse_event = function (event, name) { + var canvas_pos = mpl.findpos(event); + + if (name === 'button_press') { + this.canvas.focus(); + this.canvas_div.focus(); + } + + var x = canvas_pos.x * this.ratio; + var y = canvas_pos.y * this.ratio; + + this.send_message(name, { + x: x, + y: y, + button: event.button, + step: event.step, + guiEvent: simpleKeys(event), + }); + + /* This prevents the web browser from automatically changing to + * the text insertion cursor when the button is pressed. We want + * to control all of the cursor setting manually through the + * 'cursor' event from matplotlib */ + event.preventDefault(); + return false; +}; + +mpl.figure.prototype._key_event_extra = function (_event, _name) { + // Handle any extra behaviour associated with a key event +}; + +mpl.figure.prototype.key_event = function (event, name) { + // Prevent repeat events + if (name === 'key_press') { + if (event.which === this._key) { + return; + } else { + this._key = event.which; + } + } + if (name === 'key_release') { + this._key = null; + } + + var value = ''; + if (event.ctrlKey && event.which !== 17) { + value += 'ctrl+'; + } + if (event.altKey && event.which !== 18) { + value += 'alt+'; + } + if (event.shiftKey && event.which !== 16) { + value += 'shift+'; + } + + value += 'k'; + value += event.which.toString(); + + this._key_event_extra(event, name); + + this.send_message(name, { key: value, guiEvent: simpleKeys(event) }); + return false; +}; + +mpl.figure.prototype.toolbar_button_onclick = function (name) { + if (name === 'download') { + this.handle_save(this, null); + } else { + this.send_message('toolbar_button', { name: name }); + } +}; + +mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) { + this.message.textContent = tooltip; +}; + +///////////////// REMAINING CONTENT GENERATED BY embed_js.py ///////////////// +// prettier-ignore +var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError("Constructor requires 'new' operator");i.set(this,e)}function h(){throw new TypeError("Function is not a constructor")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line +mpl.toolbar_items = [["Home", "Reset original view", "fa fa-home icon-home", "home"], ["Back", "Back to previous view", "fa fa-arrow-left icon-arrow-left", "back"], ["Forward", "Forward to next view", "fa fa-arrow-right icon-arrow-right", "forward"], ["", "", "", ""], ["Pan", "Left button pans, Right button zooms\nx/y fixes axis, CTRL fixes aspect", "fa fa-arrows icon-move", "pan"], ["Zoom", "Zoom to rectangle\nx/y fixes axis, CTRL fixes aspect", "fa fa-square-o icon-check-empty", "zoom"], ["", "", "", ""], ["Download", "Download plot", "fa fa-floppy-o icon-save", "download"]]; + +mpl.extensions = ["eps", "jpeg", "pdf", "png", "ps", "raw", "svg", "tif"]; + +mpl.default_extension = "png";/* global mpl */ + +var comm_websocket_adapter = function (comm) { + // Create a "websocket"-like object which calls the given IPython comm + // object with the appropriate methods. Currently this is a non binary + // socket, so there is still some room for performance tuning. + var ws = {}; + + ws.close = function () { + comm.close(); + }; + ws.send = function (m) { + //console.log('sending', m); + comm.send(m); + }; + // Register the callback with on_msg. + comm.on_msg(function (msg) { + //console.log('receiving', msg['content']['data'], msg); + // Pass the mpl event to the overridden (by mpl) onmessage function. + ws.onmessage(msg['content']['data']); + }); + return ws; +}; + +mpl.mpl_figure_comm = function (comm, msg) { + // This is the function which gets called when the mpl process + // starts-up an IPython Comm through the "matplotlib" channel. + + var id = msg.content.data.id; + // Get hold of the div created by the display call when the Comm + // socket was opened in Python. + var element = document.getElementById(id); + var ws_proxy = comm_websocket_adapter(comm); + + function ondownload(figure, _format) { + window.open(figure.canvas.toDataURL()); + } + + var fig = new mpl.figure(id, ws_proxy, ondownload, element); + + // Call onopen now - mpl needs it, as it is assuming we've passed it a real + // web socket which is closed, not our websocket->open comm proxy. + ws_proxy.onopen(); + + fig.parent_element = element; + fig.cell_info = mpl.find_output_cell("<div id='" + id + "'></div>"); + if (!fig.cell_info) { + console.error('Failed to find cell for figure', id, fig); + return; + } + fig.cell_info[0].output_area.element.on( + 'cleared', + { fig: fig }, + fig._remove_fig_handler + ); +}; + +mpl.figure.prototype.handle_close = function (fig, msg) { + var width = fig.canvas.width / fig.ratio; + fig.cell_info[0].output_area.element.off( + 'cleared', + fig._remove_fig_handler + ); + fig.resizeObserverInstance.unobserve(fig.canvas_div); + + // Update the output cell to use the data from the current canvas. + fig.push_to_output(); + var dataURL = fig.canvas.toDataURL(); + // Re-enable the keyboard manager in IPython - without this line, in FF, + // the notebook keyboard shortcuts fail. + IPython.keyboard_manager.enable(); + fig.parent_element.innerHTML = + '<img src="' + dataURL + '" width="' + width + '">'; + fig.close_ws(fig, msg); +}; + +mpl.figure.prototype.close_ws = function (fig, msg) { + fig.send_message('closing', msg); + // fig.ws.close() +}; + +mpl.figure.prototype.push_to_output = function (_remove_interactive) { + // Turn the data on the canvas into data in the output cell. + var width = this.canvas.width / this.ratio; + var dataURL = this.canvas.toDataURL(); + this.cell_info[1]['text/html'] = + '<img src="' + dataURL + '" width="' + width + '">'; +}; + +mpl.figure.prototype.updated_canvas_event = function () { + // Tell IPython that the notebook contents must change. + IPython.notebook.set_dirty(true); + this.send_message('ack', {}); + var fig = this; + // Wait a second, then push the new image to the DOM so + // that it is saved nicely (might be nice to debounce this). + setTimeout(function () { + fig.push_to_output(); + }, 1000); +}; + +mpl.figure.prototype._init_toolbar = function () { + var fig = this; + + var toolbar = document.createElement('div'); + toolbar.classList = 'btn-toolbar'; + this.root.appendChild(toolbar); + + function on_click_closure(name) { + return function (_event) { + return fig.toolbar_button_onclick(name); + }; + } + + function on_mouseover_closure(tooltip) { + return function (event) { + if (!event.currentTarget.disabled) { + return fig.toolbar_button_onmouseover(tooltip); + } + }; + } + + fig.buttons = {}; + var buttonGroup = document.createElement('div'); + buttonGroup.classList = 'btn-group'; + var button; + for (var toolbar_ind in mpl.toolbar_items) { + var name = mpl.toolbar_items[toolbar_ind][0]; + var tooltip = mpl.toolbar_items[toolbar_ind][1]; + var image = mpl.toolbar_items[toolbar_ind][2]; + var method_name = mpl.toolbar_items[toolbar_ind][3]; + + if (!name) { + /* Instead of a spacer, we start a new button group. */ + if (buttonGroup.hasChildNodes()) { + toolbar.appendChild(buttonGroup); + } + buttonGroup = document.createElement('div'); + buttonGroup.classList = 'btn-group'; + continue; + } + + button = fig.buttons[name] = document.createElement('button'); + button.classList = 'btn btn-default'; + button.href = '#'; + button.title = name; + button.innerHTML = '<i class="fa ' + image + ' fa-lg"></i>'; + button.addEventListener('click', on_click_closure(method_name)); + button.addEventListener('mouseover', on_mouseover_closure(tooltip)); + buttonGroup.appendChild(button); + } + + if (buttonGroup.hasChildNodes()) { + toolbar.appendChild(buttonGroup); + } + + // Add the status bar. + var status_bar = document.createElement('span'); + status_bar.classList = 'mpl-message pull-right'; + toolbar.appendChild(status_bar); + this.message = status_bar; + + // Add the close button to the window. + var buttongrp = document.createElement('div'); + buttongrp.classList = 'btn-group inline pull-right'; + button = document.createElement('button'); + button.classList = 'btn btn-mini btn-primary'; + button.href = '#'; + button.title = 'Stop Interaction'; + button.innerHTML = '<i class="fa fa-power-off icon-remove icon-large"></i>'; + button.addEventListener('click', function (_evt) { + fig.handle_close(fig, {}); + }); + button.addEventListener( + 'mouseover', + on_mouseover_closure('Stop Interaction') + ); + buttongrp.appendChild(button); + var titlebar = this.root.querySelector('.ui-dialog-titlebar'); + titlebar.insertBefore(buttongrp, titlebar.firstChild); +}; + +mpl.figure.prototype._remove_fig_handler = function (event) { + var fig = event.data.fig; + if (event.target !== this) { + // Ignore bubbled events from children. + return; + } + fig.close_ws(fig, {}); +}; + +mpl.figure.prototype._root_extra_style = function (el) { + el.style.boxSizing = 'content-box'; // override notebook setting of border-box. +}; + +mpl.figure.prototype._canvas_extra_style = function (el) { + // this is important to make the div 'focusable + el.setAttribute('tabindex', 0); + // reach out to IPython and tell the keyboard manager to turn it's self + // off when our div gets focus + + // location in version 3 + if (IPython.notebook.keyboard_manager) { + IPython.notebook.keyboard_manager.register_events(el); + } else { + // location in version 2 + IPython.keyboard_manager.register_events(el); + } +}; + +mpl.figure.prototype._key_event_extra = function (event, _name) { + var manager = IPython.notebook.keyboard_manager; + if (!manager) { + manager = IPython.keyboard_manager; + } + + // Check for shift+enter + if (event.shiftKey && event.which === 13) { + this.canvas_div.blur(); + // select the cell after this one + var index = IPython.notebook.find_cell_index(this.cell_info[0]); + IPython.notebook.select(index + 1); + } +}; + +mpl.figure.prototype.handle_save = function (fig, _msg) { + fig.ondownload(fig, null); +}; + +mpl.find_output_cell = function (html_output) { + // Return the cell and output element which can be found *uniquely* in the notebook. + // Note - this is a bit hacky, but it is done because the "notebook_saving.Notebook" + // IPython event is triggered only after the cells have been serialised, which for + // our purposes (turning an active figure into a static one), is too late. + var cells = IPython.notebook.get_cells(); + var ncells = cells.length; + for (var i = 0; i < ncells; i++) { + var cell = cells[i]; + if (cell.cell_type === 'code') { + for (var j = 0; j < cell.output_area.outputs.length; j++) { + var data = cell.output_area.outputs[j]; + if (data.data) { + // IPython >= 3 moved mimebundle to data attribute of output + data = data.data; + } + if (data['text/html'] === html_output) { + return [cell, data, j]; + } + } + } + } +}; + +// Register the function which deals with the matplotlib target/channel. +// The kernel may be null if the page has been refreshed. +if (IPython.notebook.kernel !== null) { + IPython.notebook.kernel.comm_manager.register_target( + 'matplotlib', + mpl.mpl_figure_comm + ); +} + +</script> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + +<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output " data-mime-type="text/html"> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4nOzde1wU9f4/8M8usguCgCBeAF1U8kZe0OSklmiWmaFmVkfrG2CmZV4Sk05mpfRLrSwvaeUVPKVkmnayIi2VzPJ6Ck0hDW9FhqaB5g0UfP3+4OzEsLuwy8yyO+zr+XjM47TL7s6wvvX9Op+Zz2cEiIiIiMijCFcfABERERHVLgZAIiIiIg/DAEhERETkYRgAiYiIiDwMAyARERGRh2EAJCIiIvIwDIBEREREHoYBkIiIiMjDMAASEREReRgGQCIiIiIPwwBIRERE5GEYAImIiIg8DAMgERERkYdhACQiIiLyMAyARERERB6GAZCIiIjIwzAAEhEREXkYBkAiIiIiD8MASERERORhGACJiIiIPAwDIBEREZGHYQAkIiIi8jAMgEREREQehgGQiIiIyMMwABIRERF5GAZAIiIiIg/DAEhERETkYRgAiYiIiDwMAyARERGRh2EAJCIiIvIwDIBEREREHoYBkIiIiMjDMAASEREReRgGQCIiIiIPwwBIZIfp06dDCP51qam4uDjExcW5+jCIauzEiRMQQiA9PV16jv8ukJaxcsnjpKenQwghbUajEc2aNUP//v2xYMEC/PXXXxbv4T/0yqgdABMTE+Hn52fz50IIjBs3TrX9AcDly5cxffp0ZGVlqfq5niArK0v2d06v1yM0NBTDhg1Dbm6uqw/PLgyAVNewcsnjmAPgyy+/jPfffx9paWmYNWsW+vfvD51OB5PJhAMHDsjec/36dVy9etVFR6x9dSEAnj17FkIITJ8+XdXP9QTmADhx4kTp79ykSZPg4+ODkJAQFBQUuPoQq8UASHUNK5c8jjkA7tu3z+JnW7duha+vL0wmE65cueKCo5O7dOmSqw9BFVoOgGVlZbh69arbB0B3rhVzAFy3bp3s+XfffRdCCLz22msuOjL7MQBSXcPKJY9TVQAEgFmzZkEIgaVLl0rPWfuHPi0tDX379kVoaCgMBgPat2+Pd955x+LzysrKMH36dDRr1gy+vr7o06cPcnJyYDKZkJiYaHFcX3/9NcaOHYvQ0FAEBQUBAE6ePImxY8eiTZs28PHxQXBwMB544AGcOHHC6u+2Y8cOTJgwAY0aNUJgYCDGjBmDkpISFBUV4dFHH0VQUBCCgoKQkpKCGzduyD5jzpw56NGjB4KDg+Hj44OuXbtaNO6qLFmyBK1atYKPjw+6d++Ob775xmoALC4uxksvvYTWrVvDYDAgIiICKSkpKC4urnYfNQmA9u7P/N5Vq1ahQ4cOqFevHubNmyc7hWnezKeErf1MCAGTySR97r59+9C/f3+EhITAx8cHkZGRGDlypPRzc8CYM2cO5s6dixYtWsDHxwe9e/fGwYMHrf7+R48exT333AN/f38MGTIEACzqyqzyn4H5uD/88EO88sorCA8Ph9FoxB133IG8vDyL9y9atAgtW7as9s/VGlsB8NChQxBCYMyYMbLfreL3Zmbt7+CXX36JXr16ITAwEH5+fmjTpg2mTp0qe81bb72FDh06wNfXF0FBQejWrRtWr14te81vv/2GkSNHonHjxjAYDOjQoQNWrFghew0DINU1rFzyONUFwPz8fAgh8MADD0jPWfuHvnv37khKSsK8efOwcOFC9O/fH0IILFq0SPa6Z599FkIIDBo0CIsWLcLo0aMRERGBRo0aWQ2AHTp0QFxcHBYuXIhXX30VALBu3Tp07twZL730EpYuXYrnn38eDRs2hMlkwuXLly0+o0uXLhgwYADefvttPProoxBC4Nlnn8Vtt92Ghx9+GO+88w7i4+MhhMC///1v2fFGRETgqaeewqJFizB37lzExsZCCIHPPvus2u92+fLlEEKgZ8+eeOuttzBp0iQEBQWhVatWsqBQVlaG/v37o379+pg0aRKWLFmC8ePHo169elKQqYo5AJ09e9bqVjkAOrI/IQTat2+P0NBQpKam4u2338a3334rjVYNHToU77//Pt5//30cOHAAp0+flh6bt4ULF8Lb2xvdu3cHAJw5cwYNGzZEmzZtMGfOHCxbtgzTpk1D+/btpf2aA0bHjh0RGRmJ1157DampqQgODkZoaChOnz4t+/2NRiNat26NxMRELF68GO+99x4AxwNgTEwMunXrhnnz5mHGjBmoX78+YmNjZe995513IITA7bffjrfeeguTJ09GcHAwWrdurSgAfvbZZxBC4F//+pfsd7MnAB46dAgGgwG33HILFixYgMWLF2PKlCno3bu39JqlS5dKf5eXLFmCBQsWYNSoUZg4caL0mtOnTyMiIgLNmzfHyy+/jHfffReDBw+GEALz5s2TXscASHUNK5c8TnUBEAACAwMRExMjPbb2D721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EVFd4Q4B8Pr16+jbt6+0puGdd96Jn376yaHP+PHHHxETEwNfX180adIEI0eOdPk9g8n9sH8zACrCAiIiItIe9m8GQEVYQERERNrD/s0AqAgLiIiISHvYvxkAFWEBERERaQ/7NwOgIiwgIiIi7WH/ZgBUhAVERESkPezfDICKsICIiIi0hx4oG1EAACAASURBVP2bAVARFhAREZH2sH8zACrCAiIiItIe9m8GQEVYQERERNrD/s0AqAgLiIiISHvYvxkAFWEBERERaQ/7NwOgIiwgIiIi7WH/ZgBUhAVERESkPezfDICKsICIiIi0h/2bAVARFhAREZH2sH8zACrCAiIiItIe9m8GQEVYQERERNrD/s0AqAgLiIiISHvYvxkAFWEBERERaQ/7NwOgIiwgIiIi7WH/ZgBUhAVERESkPezfDICKsICIiIi0h/2bAVARFhAREZH2sH8zACrCAiIiItIe9m8GQEVYQERERNrD/s0AqAgLiIiISHvYvxkAFWEBERERaQ/7NwOgIiwgIiIi7WH/ZgBUhAVERESkPezfDICKsICIiIi0h/2bAVARFhAREZH2sH8zACrCAiIiItIe9m8GQEVYQERERNrD/s0AqAgLiIiISHvYvxkAFWEBERERaQ/7NwOgIiwgIiJyZ4GBgUhPT3f1Ybgd9m8GQEVYQERE5CpffvklevToAV9fXzRp0gRJSUn4888/Za85c+YMrly54qIjBLKysiCEwNmzZ112DNawfzMAKsICIiIiV9i0aRPq1auHF198EYcOHcL333+Pl19+GQcPHnT1ockwALovBkAFWEBEROQKHTt2RFJSks2ft27dGkIICCGsngLOy8tDz549YTQa0atXL0yZMgUmk0n6+d69e3HnnXciJCQEPj4+6NGjB7777jvp5ydOnIAQAkuXLkWnTp3g5+eHYcOG4fLlywD+Dn6Vt4r7AIBt27YhNjYWRqMRUVFReOutt2Q/P3HiBAYOHIjAwEA0aNAAPXv2xKFDhxz/wiph/2YAVIQFREREte3UqVMQQiAzM9Pma86ePYuCggIEBARYDYC33nor+vbti4MHD+KDDz6An5+fLJx9+umnmD9/PrKzs5GXl4dx48YhMDAQf/31F4C/A2DXrl2xb98+bN26FX5+fli4cCEAoKSkBAUFBVi/fj2EEMjJyUFBQQH++OMPaR9HjhyB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" width="640"> +</div> + +</div> + +</div> + +</div> + +</div> +</body> + + + + + + + +</html> diff --git a/entrega.ipynb b/entrega.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..1f5a637eca2e122f542de234456ba6fd484038c4 --- /dev/null +++ b/entrega.ipynb @@ -0,0 +1,2669 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\n@author: jennifer\\nTarea clase 3\\n'" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#!/usr/bin/env python3\n", + "# -*- coding: utf-8 -*-\n", + "\"\"\"\n", + "@author: jennifer\n", + "Tarea clase 3\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Diagrama H-R\n", + "## Ejercicios de lectura de archivos y la creación de imágenes" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ejercicio No. 1\n", + "\n", + "- Investigue sobre el diagrama de Hertzprung-Russell, una herramienta muy\n", + "potente en astronomia, y describa un poco al respecto para darle contexto al\n", + "resto de la tarea\n", + "- El objetivo es generar un diagrama HR lo más parecido al de [esta referencia](https://socratic.org/questions/what-is-the-hertzsprung-russell-diagram-and-why-is-it-so-important-to-astronomy-#277707). No lucirá idéntico por que no se usarán exactamente los mismos datos,\n", + "y las unidades pueden ser ligeramente distinta. La idea sà es dejar su figura\n", + "lo más parecida a la de referencia en el estilo: colores, escalas en los ejes,\n", + "tamaño de los marcadores, leyendas, textos en el gráfico, etc.\n", + "- Los datos para crear la figura están en la carpeta `Data`. Cada tabla contiene\n", + "las informaciones sobre un tipo de estrellas según indican los nombres de \n", + "archivo. La información viene en 3 columnas: luminosidad en luminosidades\n", + "solares, Temperatura en Kelvin y Radio de la estrella en unidades arbitrarias\n", + "- La idea es que cada estrella en el gráfico tenga un color representativo\n", + "de su temperatura (que estrellas frÃas son rojas y estrellas calientes\n", + "son azules) y que el tamaño del sÃmbolo sea representativo del tamaño de\n", + "cada estrella para diferenciar entre enanas, gigantes y estrellas de \n", + "secuencia principal\n", + "- Busque que su código sea semi automático; es indispensable leer\n", + "los datos desde el propio programa, no copiarlos a mano, y hallar una forma\n", + "de obtener los tamaños y colores sin declararlos uno a uno" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ejercicio No. 2\n", + "- Después de tener un diseño de base para el ejercicio No. 1, en este ejercicio\n", + "se pide generar una animación, en la cual se reproduzca el miso gráfico de\n", + "antes pero las estrellas vayan apareciendo progresivamente\n", + "\n", + "\n", + "**NOTA: Variantes a estas propuestas serán bien recibidas**\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Diagrama de Hertzsprung-Russell\n", + "\n", + "Es un diagrama de la luminosidad de una estrella en función de la temperatura superficial. La luminosidad corresponde a la cantidad de energÃa por unidad de tiempo emitida en todas direcciones.\n", + "\n", + "El quÃmico Ejnar Hertzsprung estudió la luminosidad de las estrellas y con estos estudios, para 1909 comenzó con la clasificación de las estrellas según sus propiedades a través de un diagrama. Estos intentos los realizó casi en paralelo Henry Norris Russell quien creó un sistema de clasificación estelar muy similar para 1910.\n", + "\n", + "#### ¿En qué consiste?\n", + "\n", + "\n", + "(Tomado de naukas.com/2011/09/08/cien-anos-del-diagrama-de-hertzsprung-russell-el-grafico-que-organizo-las-estrellas/)\n", + "\n", + "El eje x corresponde con la temperatura superficial en grados kelvin que coincide también con la escala del *tipo espectral*. Esta clasificación se basa en el color de la estrella que está relacionado con su temperatura superficial como se observa en la imagen[^1].\n", + "\n", + "[^1]: Tomado de planetario.malargue.gov.ar/2016/11/24/1604/\n", + "\n", + "\n", + "\n", + "El eje y como se mencionó anteriormente, mide la luminosidad tomando al Sol como referencia (Luminosidad del Sol = 1)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Parte 1: Lectura de archivos" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import csv\n", + "import os\n", + "import numpy as np\n", + "%matplotlib notebook" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>lum</th>\n", + " <th>temp</th>\n", + " <th>radius</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>0.000109</td>\n", + " <td>5050.644696</td>\n", + " <td>7.096930</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>0.000128</td>\n", + " <td>5967.543450</td>\n", + " <td>4.583996</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>0.000230</td>\n", + " <td>6674.161524</td>\n", + " <td>4.151078</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>0.000269</td>\n", + " <td>7216.762974</td>\n", + " <td>3.491754</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>0.000472</td>\n", + " <td>7795.184395</td>\n", + " <td>3.472736</td>\n", + " </tr>\n", + " <tr>\n", + " <th>5</th>\n", + " <td>0.000613</td>\n", + " <td>8402.695283</td>\n", + " <td>3.077338</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " lum temp radius\n", + "0 0.000109 5050.644696 7.096930\n", + "1 0.000128 5967.543450 4.583996\n", + "2 0.000230 6674.161524 4.151078\n", + "3 0.000269 7216.762974 3.491754\n", + "4 0.000472 7795.184395 3.472736\n", + "5 0.000613 8402.695283 3.077338" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data1 = pd.read_csv('data/dwarfs.csv', skiprows=0)\n", + "data1" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "/* global mpl */\n", + "window.mpl = {};\n", + "\n", + "mpl.get_websocket_type = function () {\n", + " if (typeof WebSocket !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof MozWebSocket !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert(\n", + " 'Your browser does not have WebSocket support. ' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.'\n", + " );\n", + " }\n", + "};\n", + "\n", + "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = this.ws.binaryType !== undefined;\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById('mpl-warnings');\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent =\n", + " 'This browser does not support binary websocket messages. ' +\n", + " 'Performance may be slow.';\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = document.createElement('div');\n", + " this.root.setAttribute('style', 'display: inline-block');\n", + " this._root_extra_style(this.root);\n", + "\n", + " parent_element.appendChild(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message('supports_binary', { value: fig.supports_binary });\n", + " fig.send_message('send_image_mode', {});\n", + " if (fig.ratio !== 1) {\n", + " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", + " }\n", + " fig.send_message('refresh', {});\n", + " };\n", + "\n", + " this.imageObj.onload = function () {\n", + " if (fig.image_mode === 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function () {\n", + " fig.ws.close();\n", + " };\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "};\n", + "\n", + "mpl.figure.prototype._init_header = function () {\n", + " var titlebar = document.createElement('div');\n", + " titlebar.classList =\n", + " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", + " var titletext = document.createElement('div');\n", + " titletext.classList = 'ui-dialog-title';\n", + " titletext.setAttribute(\n", + " 'style',\n", + " 'width: 100%; text-align: center; padding: 3px;'\n", + " );\n", + " titlebar.appendChild(titletext);\n", + " this.root.appendChild(titlebar);\n", + " this.header = titletext;\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._init_canvas = function () {\n", + " var fig = this;\n", + "\n", + " var canvas_div = (this.canvas_div = document.createElement('div'));\n", + " canvas_div.setAttribute(\n", + " 'style',\n", + " 'border: 1px solid #ddd;' +\n", + " 'box-sizing: content-box;' +\n", + " 'clear: both;' +\n", + " 'min-height: 1px;' +\n", + " 'min-width: 1px;' +\n", + " 'outline: 0;' +\n", + " 'overflow: hidden;' +\n", + " 'position: relative;' +\n", + " 'resize: both;'\n", + " );\n", + "\n", + " function on_keyboard_event_closure(name) {\n", + " return function (event) {\n", + " return fig.key_event(event, name);\n", + " };\n", + " }\n", + "\n", + " canvas_div.addEventListener(\n", + " 'keydown',\n", + " on_keyboard_event_closure('key_press')\n", + " );\n", + " canvas_div.addEventListener(\n", + " 'keyup',\n", + " on_keyboard_event_closure('key_release')\n", + " );\n", + "\n", + " this._canvas_extra_style(canvas_div);\n", + " this.root.appendChild(canvas_div);\n", + "\n", + " var canvas = (this.canvas = document.createElement('canvas'));\n", + " canvas.classList.add('mpl-canvas');\n", + " canvas.setAttribute('style', 'box-sizing: content-box;');\n", + "\n", + " this.context = canvas.getContext('2d');\n", + "\n", + " var backingStore =\n", + " this.context.backingStorePixelRatio ||\n", + " this.context.webkitBackingStorePixelRatio ||\n", + " this.context.mozBackingStorePixelRatio ||\n", + " this.context.msBackingStorePixelRatio ||\n", + " this.context.oBackingStorePixelRatio ||\n", + " this.context.backingStorePixelRatio ||\n", + " 1;\n", + "\n", + " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", + " 'canvas'\n", + " ));\n", + " rubberband_canvas.setAttribute(\n", + " 'style',\n", + " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", + " );\n", + "\n", + " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", + " if (this.ResizeObserver === undefined) {\n", + " if (window.ResizeObserver !== undefined) {\n", + " this.ResizeObserver = window.ResizeObserver;\n", + " } else {\n", + " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", + " this.ResizeObserver = obs.ResizeObserver;\n", + " }\n", + " }\n", + "\n", + " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", + " var nentries = entries.length;\n", + " for (var i = 0; i < nentries; i++) {\n", + " var entry = entries[i];\n", + " var width, height;\n", + " if (entry.contentBoxSize) {\n", + " if (entry.contentBoxSize instanceof Array) {\n", + " // Chrome 84 implements new version of spec.\n", + " width = entry.contentBoxSize[0].inlineSize;\n", + " height = entry.contentBoxSize[0].blockSize;\n", + " } else {\n", + " // Firefox implements old version of spec.\n", + " width = entry.contentBoxSize.inlineSize;\n", + " height = entry.contentBoxSize.blockSize;\n", + " }\n", + " } else {\n", + " // Chrome <84 implements even older version of spec.\n", + " width = entry.contentRect.width;\n", + " height = entry.contentRect.height;\n", + " }\n", + "\n", + " // Keep the size of the canvas and rubber band canvas in sync with\n", + " // the canvas container.\n", + " if (entry.devicePixelContentBoxSize) {\n", + " // Chrome 84 implements new version of spec.\n", + " canvas.setAttribute(\n", + " 'width',\n", + " entry.devicePixelContentBoxSize[0].inlineSize\n", + " );\n", + " canvas.setAttribute(\n", + " 'height',\n", + " entry.devicePixelContentBoxSize[0].blockSize\n", + " );\n", + " } else {\n", + " canvas.setAttribute('width', width * fig.ratio);\n", + " canvas.setAttribute('height', height * fig.ratio);\n", + " }\n", + " canvas.setAttribute(\n", + " 'style',\n", + " 'width: ' + width + 'px; height: ' + height + 'px;'\n", + " );\n", + "\n", + " rubberband_canvas.setAttribute('width', width);\n", + " rubberband_canvas.setAttribute('height', height);\n", + "\n", + " // And update the size in Python. We ignore the initial 0/0 size\n", + " // that occurs as the element is placed into the DOM, which should\n", + " // otherwise not happen due to the minimum size styling.\n", + " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", + " fig.request_resize(width, height);\n", + " }\n", + " }\n", + " });\n", + " this.resizeObserverInstance.observe(canvas_div);\n", + "\n", + " function on_mouse_event_closure(name) {\n", + " return function (event) {\n", + " return fig.mouse_event(event, name);\n", + " };\n", + " }\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mousedown',\n", + " on_mouse_event_closure('button_press')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseup',\n", + " on_mouse_event_closure('button_release')\n", + " );\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband_canvas.addEventListener(\n", + " 'mousemove',\n", + " on_mouse_event_closure('motion_notify')\n", + " );\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseenter',\n", + " on_mouse_event_closure('figure_enter')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseleave',\n", + " on_mouse_event_closure('figure_leave')\n", + " );\n", + "\n", + " canvas_div.addEventListener('wheel', function (event) {\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " on_mouse_event_closure('scroll')(event);\n", + " });\n", + "\n", + " canvas_div.appendChild(canvas);\n", + " canvas_div.appendChild(rubberband_canvas);\n", + "\n", + " this.rubberband_context = rubberband_canvas.getContext('2d');\n", + " this.rubberband_context.strokeStyle = '#000000';\n", + "\n", + " this._resize_canvas = function (width, height, forward) {\n", + " if (forward) {\n", + " canvas_div.style.width = width + 'px';\n", + " canvas_div.style.height = height + 'px';\n", + " }\n", + " };\n", + "\n", + " // Disable right mouse context menu.\n", + " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", + " event.preventDefault();\n", + " return false;\n", + " });\n", + "\n", + " function set_focus() {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'mpl-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " continue;\n", + " }\n", + "\n", + " var button = (fig.buttons[name] = document.createElement('button'));\n", + " button.classList = 'mpl-widget';\n", + " button.setAttribute('role', 'button');\n", + " button.setAttribute('aria-disabled', 'false');\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + "\n", + " var icon_img = document.createElement('img');\n", + " icon_img.src = '_images/' + image + '.png';\n", + " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", + " icon_img.alt = tooltip;\n", + " button.appendChild(icon_img);\n", + "\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " var fmt_picker = document.createElement('select');\n", + " fmt_picker.classList = 'mpl-widget';\n", + " toolbar.appendChild(fmt_picker);\n", + " this.format_dropdown = fmt_picker;\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = document.createElement('option');\n", + " option.selected = fmt === mpl.default_extension;\n", + " option.innerHTML = fmt;\n", + " fmt_picker.appendChild(option);\n", + " }\n", + "\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "};\n", + "\n", + "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", + "};\n", + "\n", + "mpl.figure.prototype.send_message = function (type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "};\n", + "\n", + "mpl.figure.prototype.send_draw_message = function () {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1], msg['forward']);\n", + " fig.send_message('refresh', {});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", + " var x0 = msg['x0'] / fig.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", + " var x1 = msg['x1'] / fig.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0,\n", + " 0,\n", + " fig.canvas.width / fig.ratio,\n", + " fig.canvas.height / fig.ratio\n", + " );\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", + " var cursor = msg['cursor'];\n", + " switch (cursor) {\n", + " case 0:\n", + " cursor = 'pointer';\n", + " break;\n", + " case 1:\n", + " cursor = 'default';\n", + " break;\n", + " case 2:\n", + " cursor = 'crosshair';\n", + " break;\n", + " case 3:\n", + " cursor = 'move';\n", + " break;\n", + " }\n", + " fig.rubberband_canvas.style.cursor = cursor;\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_message = function (fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n", + " for (var key in msg) {\n", + " if (!(key in fig.buttons)) {\n", + " continue;\n", + " }\n", + " fig.buttons[key].disabled = !msg[key];\n", + " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", + " if (msg['mode'] === 'PAN') {\n", + " fig.buttons['Pan'].classList.add('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " } else if (msg['mode'] === 'ZOOM') {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.add('active');\n", + " } else {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message('ack', {});\n", + "};\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function (fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " evt.data.type = 'image/png';\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src\n", + " );\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " evt.data\n", + " );\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " } else if (\n", + " typeof evt.data === 'string' &&\n", + " evt.data.slice(0, 21) === 'data:image/png;base64'\n", + " ) {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig['handle_' + msg_type];\n", + " } catch (e) {\n", + " console.log(\n", + " \"No handler for the '\" + msg_type + \"' message type: \",\n", + " msg\n", + " );\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\n", + " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", + " e,\n", + " e.stack,\n", + " msg\n", + " );\n", + " }\n", + " }\n", + " };\n", + "};\n", + "\n", + "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function (e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e) {\n", + " e = window.event;\n", + " }\n", + " if (e.target) {\n", + " targ = e.target;\n", + " } else if (e.srcElement) {\n", + " targ = e.srcElement;\n", + " }\n", + " if (targ.nodeType === 3) {\n", + " // defeat Safari bug\n", + " targ = targ.parentNode;\n", + " }\n", + "\n", + " // pageX,Y are the mouse positions relative to the document\n", + " var boundingRect = targ.getBoundingClientRect();\n", + " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", + " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", + "\n", + " return { x: x, y: y };\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * http://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys(original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object') {\n", + " obj[key] = original[key];\n", + " }\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function (event, name) {\n", + " var canvas_pos = mpl.findpos(event);\n", + "\n", + " if (name === 'button_press') {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * this.ratio;\n", + " var y = canvas_pos.y * this.ratio;\n", + "\n", + " this.send_message(name, {\n", + " x: x,\n", + " y: y,\n", + " button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event),\n", + " });\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "};\n", + "\n", + "mpl.figure.prototype.key_event = function (event, name) {\n", + " // Prevent repeat events\n", + " if (name === 'key_press') {\n", + " if (event.which === this._key) {\n", + " return;\n", + " } else {\n", + " this._key = event.which;\n", + " }\n", + " }\n", + " if (name === 'key_release') {\n", + " this._key = null;\n", + " }\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.which !== 17) {\n", + " value += 'ctrl+';\n", + " }\n", + " if (event.altKey && event.which !== 18) {\n", + " value += 'alt+';\n", + " }\n", + " if (event.shiftKey && event.which !== 16) {\n", + " value += 'shift+';\n", + " }\n", + "\n", + " value += 'k';\n", + " value += event.which.toString();\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", + " if (name === 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message('toolbar_button', { name: name });\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "\n", + "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", + "// prettier-ignore\n", + "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";/* global mpl */\n", + "\n", + "var comm_websocket_adapter = function (comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.close = function () {\n", + " comm.close();\n", + " };\n", + " ws.send = function (m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function (msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", + " ws.onmessage(msg['content']['data']);\n", + " });\n", + " return ws;\n", + "};\n", + "\n", + "mpl.mpl_figure_comm = function (comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = document.getElementById(id);\n", + " var ws_proxy = comm_websocket_adapter(comm);\n", + "\n", + " function ondownload(figure, _format) {\n", + " window.open(figure.canvas.toDataURL());\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element;\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error('Failed to find cell for figure', id, fig);\n", + " return;\n", + " }\n", + " fig.cell_info[0].output_area.element.on(\n", + " 'cleared',\n", + " { fig: fig },\n", + " fig._remove_fig_handler\n", + " );\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function (fig, msg) {\n", + " var width = fig.canvas.width / fig.ratio;\n", + " fig.cell_info[0].output_area.element.off(\n", + " 'cleared',\n", + " fig._remove_fig_handler\n", + " );\n", + " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable();\n", + " fig.parent_element.innerHTML =\n", + " '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + " fig.close_ws(fig, msg);\n", + "};\n", + "\n", + "mpl.figure.prototype.close_ws = function (fig, msg) {\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "};\n", + "\n", + "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width / this.ratio;\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] =\n", + " '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message('ack', {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () {\n", + " fig.push_to_output();\n", + " }, 1000);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'btn-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " var button;\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " continue;\n", + " }\n", + "\n", + " button = fig.buttons[name] = document.createElement('button');\n", + " button.classList = 'btn btn-default';\n", + " button.href = '#';\n", + " button.title = name;\n", + " button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message pull-right';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = document.createElement('div');\n", + " buttongrp.classList = 'btn-group inline pull-right';\n", + " button = document.createElement('button');\n", + " button.classList = 'btn btn-mini btn-primary';\n", + " button.href = '#';\n", + " button.title = 'Stop Interaction';\n", + " button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n", + " button.addEventListener('click', function (_evt) {\n", + " fig.handle_close(fig, {});\n", + " });\n", + " button.addEventListener(\n", + " 'mouseover',\n", + " on_mouseover_closure('Stop Interaction')\n", + " );\n", + " buttongrp.appendChild(button);\n", + " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", + " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", + "};\n", + "\n", + "mpl.figure.prototype._remove_fig_handler = function (event) {\n", + " var fig = event.data.fig;\n", + " if (event.target !== this) {\n", + " // Ignore bubbled events from children.\n", + " return;\n", + " }\n", + " fig.close_ws(fig, {});\n", + "};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (el) {\n", + " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (el) {\n", + " // this is important to make the div 'focusable\n", + " el.setAttribute('tabindex', 0);\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " } else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", + " var manager = IPython.notebook.keyboard_manager;\n", + " if (!manager) {\n", + " manager = IPython.keyboard_manager;\n", + " }\n", + "\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which === 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " fig.ondownload(fig, null);\n", + "};\n", + "\n", + "mpl.find_output_cell = function (html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i = 0; i < ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code') {\n", + " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] === html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "};\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel !== null) {\n", + " IPython.notebook.kernel.comm_manager.register_target(\n", + " 'matplotlib',\n", + " mpl.mpl_figure_comm\n", + " );\n", + "}\n" + ], + "text/plain": [ + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4nOzdd1gU1xoG8AGVBUFAsIti1FAFxUJib9GoscSYGPVeQWNssWLUxGjUGEuMib1gx9j7tREr2LuiSFNQVFRQFFA67O57/yBsXHYRlpmV9v6eZ55kC/OdXT85rzM7ZwUQERERUakiFPYAiIiIiOj9YgAkIiIiKmUYAImIiIhKGQZAIiIiolKGAZCIiIiolGEAJCIiIiplGACJiIiIShkGQCIiIqJShgGQiIiIqJRhACQiIiIqZRgAiYiIiEoZBkAiIiKiUoYBkIiIiKiUYQAkIiIiKmUYAImIiIhKGQZAIiIiolKGAZCIiIiolGEAJCIiIiplGACJiIiIShkGQCIiIqJShgGQiIiIqJRhACQiIiIqZRgAiYiIiEoZBkAiIiKiUoYBkIiIiKiUYQAkIiIiKmUYAImIiIhKGQZAIiIiolKGAZCIiIiolGEAJCIiIiplGACJiIiIShkGQCIiIqJShgGQiIiIqJRhACQiIiIqZRgAifJhxowZEAT+dSmotm3bom3btoU9DKICi4yMhCAI2Lhxo+o+/l6g4oydS6XOxo0bIQiCapPJZKhevTo6d+6MJUuW4M2bNxo/w1/04kgdAD09PWFqaprr44IgYNSoUZLVA4Dk5GTMmDED/v7+ku63NPD391f7O2doaIjKlSujT58+CAkJKezh5QsDIJU07FwqdbID4KxZs7B582Zs2LABc+fORefOnWFgYABbW1vcvn1b7WcyMzORmppaSCMu/kpCAIyNjYUgCJgxY4ak+y0NsgPg2LFjVX/nxo8fD2NjY1hbWyM6Orqwh5gnBkAqadi5VOpkB8Br165pPHbq1CmYmJjA1tYWKSkphTA6dUlJSYU9BEkU5wCoUCiQmppa5ANgUe6V7AC4e/dutftXrVoFQRAwf/78QhpZ/jEAUknDzqVS510BEADmzp0LQRCwZs0a1X3aftFv2LAB7du3R+XKlWFkZARHR0esXLlSY38KhQIzZsxA9erVYWJignbt2iE4OBi2trbw9PTUGNfp06cxcuRIVK5cGZaWlgCAhw8fYuTIkbCzs4OxsTGsrKzw5ZdfIjIyUutrO3fuHMaMGYNKlSrBwsICw4YNQ3p6OuLj4zFw4EBYWlrC0tISkyZNglKpVNvHggUL0Lx5c1hZWcHY2BiNGzfWmLjfZfXq1ahbty6MjY3RrFkznD17VmsATEtLw/Tp01GvXj0YGRnBxsYGkyZNQlpaWp41ChIA81sv+2e3bNkCJycnlC1bFosWLVI7hZm9ZZ8S1vaYIAiwtbVV7ffatWvo3LkzrK2tYWxsjDp16mDw4MGqx7MDxoIFC7Bw4ULUrl0bxsbGaNOmDe7cuaP19UdERKBr164wMzNDr169AECjr7Ll/DPIHvfOnTsxe/Zs1KxZEzKZDB06dEB4eLjGzy9fvhwffPBBnn+u2uQWAIOCgiAIAoYNG6b22t5+37Jp+zt4/PhxtGzZEhYWFjA1NYWdnR2mTJmi9pylS5fCyckJJiYmsLS0RJMmTbB161a15zx58gSDBw9GlSpVYGRkBCcnJ6xfv17tOQyAVNKwc6nUySsARkVFQRAEfPnll6r7tP2ib9asGQYNGoRFixZh2bJl6Ny5MwRBwPLly9WeN3nyZAiCgB49emD58uUYOnQobGxsUKlSJa0B0MnJCW3btsWyZcvw22+/AQB2796Nhg0bYvr06VizZg1++uknVKxYEba2tkhOTtbYR6NGjdClSxesWLECAwcOhCAImDx5Mlq1aoUBAwZg5cqV6N69OwRBwKZNm9TGa2Njg++++w7Lly/HwoUL4e7uDkEQcPjw4Tzf23Xr1kEQBLRo0QJLly7F+PHjYWlpibp166oFBYVCgc6dO6N8+fIYP348Vq9ejdGjR6Ns2bKqIPMu2QEoNjZW65YzAOpSTxAEODo6onLlyvjll1+wYsUKnD9/XnW0qnfv3ti8eTM2b96M27dvIyYmRnU7e1u2bBnKlSuHZs2aAQCeP3+OihUrws7ODgsWLMDatWsxdepUODo6qupmBwwXFxfUqVMH8+fPxy+//AIrKytUrlwZMTExaq9fJpOhXr168PT0hLe3N/766y8AugdANzc3NGnSBIsWLcLMmTNRvnx5uLu7q/3sypUrIQgCWrdujaVLl2LChAmwsrJCvXr1RAXAw4cPQxAE/PDDD2qvLT8BMCgoCEZGRmjatCmWLFkCb29vTJw4EW3atFE9Z82aNaq/y6tXr8aSJUswZMgQjB07VvWcmJgY2NjYoFatWpg1axZWrVqFnj17QhAELFq0SPU8BkAqadi5VOrkFQABwMLCAm5ubqrb2n7RaztF/Omnn6Ju3bqq2zExMShbtiw+//xztefNnDkTgiBoDYCtWrWCXC7Ps9alS5cgCIJq4n97H59++qnakb3mzZvDwMAAI0aMUN0nl8thY2OjMYHnrJWRkYEGDRqgQ4cOGmPI+bwqVaqgUaNGSE9PV92fPQm/XWfz5s0wNDTEuXPn1Pbh7e0NQRBw4cKFd9by9PTM9ahb9vZ2ANSlXvZFCsHBwWrPze8pYKVSie7du8PMzEy1j/379+fZc9kBw8TEBE+ePFHdf+XKFQiCAC8vL43X/+OPP2rsR9cA6OjoqPbntWTJEgiCoDrqmJ6eDmtrazRr1gyZmZmq5/n4+Gj8ueYmu9aGDRsQGxuLZ8+e4ejRo6hfvz4MDAxw9epVtdeWnwCYfVQ2NjY217q9evWCs7PzO8c2ZMgQVK9eHS9fvlS7v1+/frCwsFD9fWAApJKGnUulTn4CYM2aNVG/fn3V7bx+0SckJCA2NlZ1+jghIQEAsHXrVgiCgOPHj6s9/9WrV7kGwJxH5HLKyMjAy5cvERsbC0tLS4wfP15jH7t27VL7mfHjx2t9zZ9//jlq1aqVa624uDjExsZi5MiRqtPRubl48SIEQYC3t7fGeC0sLNSCQs+ePeHs7Kxx5O7evXsQBAGzZ89+Zy1PT08YGxvjxIkTWrecAVCXeoIgoH379ho18xsAf/nlFwiCgD179qjuyw5AM2bMQEZGhtafyw4Y/fv313jso48+gr29vdrrFwQBjx490niurgHw999/V3vezZs3IQgCDhw4AAC4cOGCxkcigKwLoypWrKhTAMy5Va5cGVu2bFF7bn4DYHavr1u3DgqFQmtdT09PWFhYqAXMtymVSlhaWmLYsGEavZG9//PnzwNgAKSSh51LpY5URwDPnz+Pjh07onz58hoTW/bEnB0IHzx4oFGjYsWKWgPg2bNnNZ6bkpKCn3/+GTY2NjAwMFCr9fbnyLL3cfnyZbWfzx7/26cRgawJ0szMTO2+Q4cO4aOPPoJMJlOrY2BgkOv7BQDbt2+HIAg4deqUxmNubm5qQcHR0fGdR+/ePkWnja6fAdSlniAI+OabbzT2mZ8A+Pfff8PQ0FDjc2hKpRJ9+vSBIAgwNzdHz549sWHDBrXPH2YHjOnTp2vsd+DAgZDJZGqvv2zZslqDj64BcMeOHWrPyx6Hj48PAGDbtm0QBAF+fn4a+8z55xodHa22ZR89y641ffp0nDhxAvv374eHhweMjIywbds2tX3mNwCmpKSgZcuWEAQBlSpVwtdff42dO3eqvSchISGoWbMmBEFA/fr18d1336kCHZB1aj6vI8n79u1Te18YAKmkYOdSqZPfzwB+9dVXqvty/qKPiIiATCZDw4YN4e3tjSNHjuDEiRPw8vKCIAiqizMKEgC1jWvIkCEwNDTEhAkTsHv3bhw/fhwnTpyAtbV1vvaRPf6cp8tyBqmzZ8/CwMAAbdu2xfr16+Hr64sTJ05gwIABeU50ugRAe3t7uLi45HoELyws7J21dA2AutTL+bPZ8gqADx48gJWVFT799NNcj0hdunQJP/30E5o0aQJBEODs7IzExEQAugfA3F5/nTp1tAbAVq1aaQ2AOT+XlzPo6BIAc4an7H3kVuvLL7+EqakpHj9+rLpv0KBBWgPgtGnTNHpQoVDg5MmT8PLyUoX8Dh06qH2EIikpCTt27MCgQYNQtWpVtfc4OjoagiDgv//9b6698fz5c63vC8AASMUbO5dKnfxeBbxu3TrVfbl9/ijnKbiffvpJLQDmdgr45cuXuZ4C1jYuCwsLtSN9AJCamooyZcpIGgDHjRsHExMTjStj8xMA33UK2NLSUi0odOvWDTVr1tS4Ajm/dA2AutTLLQBm/5lpC4ApKSlo1KgR6tati7i4uHy9huzeWLt2LQDdTwHn9vrd3Ny0XkhTq1atAgVAXU4B5wxPz549e2etiIgIlClTBsOHD1fd5+XlBQsLC43xZ1/M9C5z5syBIAg4ceKE1sfT09Px2WefoUyZMkhNTYVcLkeFChW0vuc5MQBSScPOpVInP+sAfvDBB2oLP+f8Rb906VIIgoCHDx+q7ktISED16tXVAmD2RSC9e/dWq/Oui0C0jcvKygqDBg1Su+/333/P9z7yGwAnTJiA8uXLq11ZHBkZqTrN/S4ZGRmoXLlyvi4Cyb6AYPXq1Rr7SUlJyXNNO10DoC71cguAKSkpEAQB48aN03jMw8MD5cuX11hAPFtcXJxG+AwODoYg/HvVeF4Xgbz9Wc93vf4vv/wSVatWVfszOHTokMafQX4DoJQXgWhbTqhv376QyWSqxaCXL18OQRDU3stnz57BzMxMrQdfvXqlsa8jR45AEP69Yj3nhR0AMGnSJBgaGqq+8WfQoEEwMjLSWGoHAF68eKH6fwZAKmnYuVTq5PwmkI0bN+K3335TfRNInTp1NCaDnL/ow8LCYGRkBBcXFyxfvhy//fYb6tWrh4YNG6oFQAD4/vvvIQhZy8CsWLECw4YNQ61atVCpUiW1UPeuAOjh4YEyZcpg3LhxWL16NQYNGgQbGxvJTwGfOnUKgpC13MeqVavwyy+/oEqVKnB1dc3XRLd69WoIgoCWLVti6dKl8PLyynUZmG7dusHAwAD9+vXDsmXLsHjxYowYMQJWVlbv/HymtnHnlDPE6VIvtwAIAE5OTqhWrRpWrFiB7du3486dO6qlTPr06aOxHMz+/fsBZB0x/vDDDzF58mSsXr0af/zxB+zt7WFubq76eIC2ZWBmzZoFKysrWFtbq46m5fX6jx49CkHIupBl1apVmDhxIqpVq6axZEt+AyAALFu2TNUXy5Ytw/fffw9ra2vUq1cP7dq1y/XPIa9aQNb6iILw71IwL1++hKmpKerWrYvFixdj7ty5qFWrFho3bqzWg+PGjYObmxumTZuGtWvXYs6cOahZsyZsbGxUF2E1btwY3bp1w5w5c7Bu3Tp8//33kMlk6NGjh2o/MTExsLW1Rfny5VV/v+bNm4evvvoKFStWfOf7wgBIxRk7l0qdnN8FbGRkhGrVqqFTp046fRfwwYMH4erqqlrUd/78+diwYYNGAJTL5fj5559RrVo1mJiYoEOHDggNDYW1tbXasizvCoDx8fEYPHgwKlWqBDMzM3z66acICwvLdTHpggZAAFi/fj0+/PBDyGQyODg4YOPGjTpNdCtXrsQHH3wAmUyGpk2b5rpgcEZGBubPnw9nZ2fIZDJUrFgRTZo0wS+//ILXr1+/s0ZBFoLOb713BcCLFy+iSZMmMDIyUp0OztlPb2/Zn2W7efMm+vfvj9q1a0Mmk6FKlSro3r07rl+/rtr32wtB//nnn6hVqxZkMhlat26tcWQxr9f/559/qhZ2btmyJa5fv57rRSD5CYBA1lFvW1tbyGQyuLu748KFC2jSpAm6dOmS6zjyqpWtXbt2MDc3VwW348ePo0GDBjAyMoK9vT22bNmi0YOnTp1Cr169UKNGDRgZGaFGjRro378/7t27p3rO6tWr0aZNG1hbW6vWTZw0aZJGfz1//hyjRo1CrVq1UK5cOVSrVg0dO3ZUO+3NAEglDTuXqBDEx8dDEPJe7oRKj7cDYHGgUChgZWWFb7/9trCHQkQFwABIpGfaFnHOPnLw9pIUVLoV5QCYmpqq8RnG7COfOdfxI6LigQGQSM82btyItm3bYv78+VixYgX69+8PQRDQuXPnwh4aFSFFOQD6+/ujUaNGmDNnDry9vTFs2DCUKVMGDRo0ULvYhIiKDwZAIj27ceMGOnbsCGtra5QrVw42NjYYN26cav03IqBoB8DIyEj06NEDVatWRbly5VC1alUMHjxYtUYeERU/DIBEREREpQwDIBEREVEpwwBIREREVMowABIRERGVMgyAIigUCkRFRSEhIQGvX7/mxo0bN27cuBWDLSEhAVFRUVAoFIUdJQoNA6AIUVFRuX4DADdu3Lhx48ataG9RUVGFHSUKDQOgCAkJCaoGKux/zXDjxo0bN27c8rdlH8DJ/vrB0ogBUITXr19DEAS8fv3u7y0lIiKiooPzNwOgKGwgIiKi4ofzNwOgKGwgIiKi4ofzNwOgKGwgIiKi4ofzNwOgKGwgIiKi4ofzNwOgKGwgIiIiaShePEXG6X1IP7wR6Yc3IuP0Pihin+qlFudvBkBR2EBEREQFp1QqkRl4ESkrJiNpTEckjf0ESeM/RdL4zln/P6YjUlb+iMygS1AqlZLV5fzNACgKG4iIiKhglBnpSPWZkxX8xnXK+q+27Z/HUv+aB2VmhiS1OX8zAIrCBiIiItKdUiFH6uppqqN8+drGfoLUtTOglODr2zh/MwCKwgYiIiLSXbrvX/kPfjm29KNbRNfn/M0AKAobiIiISDfKjHQkTe6pFupS5nyFjGM/Qx60BPLARUg/+AOSf+6lPQT+8DmUGemixsD5mwFQFDYQERGRbjKuHH/rtG5HZPw9FUjYBuWrLUDCtqz/j9sCZdxWpG0dqzUEZl47KWoMnL8ZAEVhAxEREekmZdE4JI3NurAjfd9EKOO3qoKfti11zdAcnwXshJQlXqLGwPmbAVAUNhAREZFukn76MivIfd8Fyhd/vTP8KeO3QnHfW+MIYPK0vqLGwPmbAVAUNhAREZFukib1QNKYjkhbPxzK+K3IiPsLoU8XwP/BVJyL/BmPY5ZqHBVMmd9PPQRO7iVqDJy/GQBFYQMRERHpJnla36zTv7snIDV2Iw6Gf4+tYd9ha9h32PbPfy8+nKkWAlNXDVE/Aji9v6gxcP5mABSFDURERKSb1NXTkDSuM9I2j8aNx7NVoS/nFv185b9HABcNfGth6M5IXTtd1Bg4fzMAisIGIiIi0k1m8JWso3hTe2D/vfFaw9+2sFG4+vjXrM8BPtuIpPHq3xQiD70uagycvxkARWEDERER6UapUCB5en8kjemIvcGjcw2AVx7NgjJ+K9L3fq8KfoljOiJ5xgDR3wbC+ZsBUBQ2EBERke7SL/6NpDEdcXHvf7AtVPsp4CfPlyPz3GyNr4sL6tQeCYGhoupz/mYAFIUNREREpBt5WjqudO6DR581Q+wPnbH3+jCNEOgfPAkpq79F0lj15V8edWuKAAd7HK/mjBd+Fws8Bs7fDICisIGIiIjyT6lU4mqfb3DT3h4BDnaI/LQJXk7qhKub++Lw2W/wt98gBHl/gTfj/g19iaM7IHF0B0R2boJbjlk/d9PeHr6VnBF/I7BA4+D8zQAoChuIiIgo/x5t2o2zNe0Q4GCHW472uOVoj6BGTnj8WTO8Ht5OY8HnhOHt8PizZrjTyFH1/OwQeKamPU66fAJ5aprO4+D8zQAoChuIiIgof1JjYnGkiitu2tuphTnV5mSPsI9dcK91Q9xr3RBhH7vglpOW5/2z3bCzwwEze4TMXKjzWDh/MwCKwgYiIiLKn7u/rcCpqvZqR//Ebicq2+FwVTdkJqfoNBbO3wyAorCBiIiI8qZUKHC0bgtctLWTLAAGONjhfC07HDC1w6NNu3UaD+dvBkBR2EBERER5exMagQOmdrj8gXRH/wIc7HCxjh0OmjviuqeXTuPh/M0AKAobiIiIKG+Pt+3HAVM7XKkrXQC85WiPS3WyjgAed2qv03g4fzMAisIGIiIiylvor0tw0MIJl+pIewTwQu2sAHiggj2USmW+x8P5mwFQFDYQERFR3kJm/ImDlk4aS8CIDYCna/wTAE3toJTL8z0ezt8MgKKwgYiIiPJ2d/5KHLRwxBELaY8AHjbPCn8HLZ10Gg/nbwZAUdhAREREeXt28ITqSN3lD8QfBQxwsMNF23+P/vl/1EOn8XD+ZgAUhQ1ERESUt5Qn0aqwdqKSNEcBj1n/c/TPwgm3Rk3TaTycvxkARWEDERER5Y9/8144UMEBB0yzLt4o6FHAAAc7nLP59+jfAVM7xBw7rdNYOH8zAIrCBiIiIsqfR3/tUQttl+roHgIDHOxwwVY9/B13aAelQqHTWDh/MwCKwgYiIiLKH3lqGk406IiD5o6q8HbOxk4V7PIKfgEOdjhbUz38HTC1w+Nt+3UeC+dvBkBR2EBERET59+rSDRwws1cLcEcssoLdTXs7tbCXHQpv2tvhTA07HDFXD34HzR1x6YuhOq3/l43zNwOgKGwgIiIi3YQvXqdxFO+AqR0OmmVdIOJX1Q7+1bP+e7yS5vOyw99xp/ZIjYkt0Bg4fzMAisIGIiIi0t29hWv++QYPB60B751bBQecdO2ElCfRBa7P+ZsBUBQ2EBERUcG88L+IYx+2zjolnOO0sNajfhZZnx28PeEXZCYmiarN+ZsBUBQ2EBERUcFlJiYhYukGHHdsnxX0zOxx0NIJB8wdcNDCURX6Dpo74rqnF+Ku3pKkLudvBkBR2EBERETiKRUKxN8IROTabbg9bgauf/M9bg77AaG/LkH04ZNIi30laT3O3wyAsLW1hYuLCxo2bIh27drp9LNsICIiouKH8zcDIGxtbZGYmFign2UDERERFT+cvxkAGQCJiIhKGc7fxTwAnjlzBt27d0f16tUhCAL279dcDXz58uWwtbWFTCaDu7s7rly5ovZ4nTp10LhxYzRt2hRbtmzRqT4biIiIqPjh/F3MA6Cvry+mTp2Kffv2aQ2AO3bsgJGRETZs2IDg4GAMHToUlpaWeP78ueo5T548AQA8e/YMTk5OuH37dr7rs4GIiIiKH87fxTwAvk1bAHR3d8eoUaNUtxUKBWrUqIF58+Zp3cfEiROxcePGXGukpaXh9evXqi0qKqrUNxAREVFxwwBYggNgeno6ypQpoxEKPTw80LNnTwBAUlIS3rx5AwBITExE48aNcfXq1VxrzJgxA4IgaGyluYGIiIiKGwbAEhwAnz59CkEQcPHiRbXnTZo0Ce7u7gCA+/fvw9XVFa6urnB2dsbixYvfWYNHAImIiIo/BsBSHgDFYgMREREVP5y/S3AAzM8pYLHYQERERMVPUZy/e/XqBU9Pz/dWr8QGQCDrIpDRo0erbisUCtSsWTPXi0B0VRQbiIiIqLhLTk7GxIkTUbt2bRgbG6NevXrw8vKSbP9Fcf6Oj49HQkLCe6tXrANgYmIiAgICEBAQAEEQsHDhQgQEBODRo0cAspaBkclk8PHxQUhICIYNGwZLS0vExMRIUr8oNhAREVFxN2TIEDg6OsLPzw/379+Hr68vRowYIdn+OX8X8wDo7++v9arctw+hLlu2DLVr14aRkRHc3d1x+fJlyeqzgYiIiKRnZWWF9evX5/p49vwfGxuruq9t27ZqS78JgoDp06fDxcUFxsbG6Nq1q2od4Oz528fHB87OzjA2NoaTkxN27typUUsQBKxfvx5ff/01TE1NYW1tjT179uT7tcydOxfW1tawsrLCkiVLYGFhobbk3JAhQ7Tml2wpKSn4z3/+AxMTE9SrVw+LFy+GIAiIjIwEALx8+RL9+vVDjRo1YGRkBDs7O6xbt05tH7a2tpgyZQo+++wzmJiYoEmTJsU7ABY2BkAiIiLp2draon///khLS9P6eH4DoJWVFQ4fPoxbt26hSZMm6Nu3L4B/529TU1P89ddfuH//PrZt2wZjY2ONA0WCIKBOnTr4/fffcffuXZw6dQqnTp3K1+s4evQoypUrBx8fHwQHB+Ozzz5DmTJl1ALg69evER0djS5dumgNgD/++CNq1qyJ06dP49KlS/jwww/VAuDDhw8xceJEXLx4EQ8ePMD69ethaGiIM2fOqL2flStXxv/+9z8EBQXB1dWVAVAMBkAiIiLpHTx4EBYWFjA3N0ePHj3g7e2N5ORk1eP5DYATJ05U3T527BjKlCmD+Ph41fyd83OF/fr1w/Dhw9XuEwQBHh4eBXodffr0wRdffKG6HRYWBkEQtH7pRG4XgVhbW2Pp0qWq297e3moBUJvGjRtjypQpqtu2trYYMmSI6vbChQsZAMVgACQiItKPN2/eYNeuXfjuu+9QpUoVODg4IDExEUD+A6CPj4/q9pMnTyAIAgICAlTzt0wmg6mpqWorV64cOnXqpDYOQRCwdu3aAr0GV1dXzJgxQ3VbqVSiXLly+Q6AcXFxEAQB/v7+qvvOnTunFgDlcjlmz56NBg0awNLSEqampjA0NMSYMWNUP2Nra6t2AezGjRsZAMVgACQiItK/Fy9eoEKFCqrPBZ4+fVojALZu3TpfAfDmzZuq+XvGjBkIDw9X2548eaJWWxAE7N69u0Djfh8B8LfffoOlpSW2bt2K4OBghIeHo1GjRmrvha2tLRYsWKC6zQAoEgMgERHR+2Fra6v6xq5bt25pnAatU6eORgCcNGmS6vaxY8dgaGiIuLg41fydn3X3xATAnKeAQ0NDRZ8CXrVqldpr7969u9rPpaamwsrKigFQnxgAiYiIpNejRw9s2LABQUFBCAsLw+TJk1GuXDncuXMHQNY6gebm5vj9998BANu2bYOhoaFGALS2toavry9u3bqFpk2b4ssvvwTw7/xdrlw5LFiwAHfv3sXVq1cxa9YsbN68WW0sYgJg9kUgGzduREhICHr06IGyZcuqAqBcLkd0dLTqIpC+ffuqbsvlcgDqF4FcvnwZDg4OagFwwoQJsLW1xZUrVxAUFIR+/frBzD9Q0EIAACAASURBVMyMAVCfGACJiIikN3fuXLi6usLMzAzm5ub4+OOPceTIEbXnbNmyBTVq1ED16tUxZswYraeAp06dCicnJ8hkMnTp0kW1DnD2/L1p0yY0atQIRkZGqFy5Mrp3746rV6+q1RETALNfi5WVFaytrbFixQpUqFAB27ZtAwBERkZqXc7u7YCXnJyMAQMGqJaBWbJkCQRBwLNnzwBknSbu3bs3zMzMUK1aNfz+++/o2LEjA6A+MQASEREVTe8KboU1f2d/pu/ChQsF3se+ffsgk8mgVCpFjYUBUAQGQCIioqKpKATAjIwMzJw5Ezdu3EBYWBj+85//4MMPP0RmZma+93H79m14e3sjNDQU165dQ6NGjTBo0CDRY2MAFIEBkIiIqGgqCgEwMzMT7du3V61p+MknnyA0NFSnfQQGBsLNzQ0mJiaoWrUqBg8eLMl3BjMAisAASEREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNREREVPxw/mYAFIUNVPIp09ORGhyM9IcPC3soREQkEc7fDICisIFKtridOxHm/hFC7B0QYu+AB72/QFp4eGEPi4iIROL8zQAoChuo5Hp9/Lgq+Kk2J2fc/bg55G/eFPbwiIhIBM7fDICilPQGSouIwLOZMxHWtBlCHJ1wt2UrPF+0CBkxzwt7aHr34Ku+CHF00gyBDo54tXVrYQ+PiIhEKOnzd34wAIqgjwaSJyYh9e5dJN+8idSwMMgLqTlfHz2GEOcGCHFyVg9Ajk4Ia9oMKYF3CmVc70uYW2PN8GfvgBDnBoj+ZVZhD4+IiERgAGQAFEXKBkoNCcGzaT8j1MVVI3A8+X4ikm/ehFKplGDUeUsLD88Kfw6O2kOQoxPufvQx5ImJ72U8heF+j57aX7+DI16uW1/YwyMiIhEYABkARZGigeSJiXg0bJjqM2ZaA9c/90f274/MV68kfAXaPZsxI/exvH0qdMsWvY+lsMTv2as1+IY2ckPmy5eFPTwqZZRyOZKvX8drX1/E79mD176+SL5xA0qFQto6SiUynj5F8vXrSLp8BSlBQVCkpkpag6goYABkABRFbAPJX7/OOtKk7bNmuQTB8PYdkPFcv5/BC2vaLO+xODgisv8AvY6jMCmVSrxYsjTrSOg/r/leq9ZIvnatsIdGpUjmq1eIXbMG99q21fr38F77Dni5bj0y4+IKXEOpUCDx/HlEjR6j/e++oxMiPuuO2NVr+I8fKjEYABkARRHTQEqFAg8HeuQ//L0VAu/37AVFeroeXlGW/I4poms3vY2hqMh89QpvTp1C0qXLUGZmFvZwqJRQKpV4sWz5uz+K8dY/xkKcGyB2lbfOHxNJuXULEV27vfsMxFtBMMS5AZ7/uVCvv3+I3gcGQAZAUcQ0UOK587oFvxxbwv/+p4dXlOVuy1Z5j8HRCY+++UZvYyAqrZRyOZ5M/qFAvxeeTpuWr9PCqiPcDo55Bz8tgTOiS1ekPXjwHt4NIv1gAGQAFEVMAz0eMVL3X7xvha8Hfb7UwyvK8nzhonwdBUw4dFhvYyAqrWLmzhX1j8Pnf/z5zv0rlUo8mzFTVI0QJ2eEuX+EtIiI9/SuUGmSJk/DyYcnsSVkC9YFrsPOsJ24E3tH0gshGQAZAEUpaANlPHuW92mdfGypwcF6eV0ZMTGqtf9y++Uf8WkXngYikljieXFnBrK35KtXc63xcv0GSWqEODnjXus2XBidJPMk8QkWXl+I5tuao4FPA7j4uKDhpoZo4NMADXwaoM+BPth3bx9SM8VfmMQAyAAoSkEbSOu3TBRgi9u+Q0+vDEgJDMTdjz7KCqrZYfWfQBjxaRdkPH2qt9pEpdXj4SMKfmbgrWAWNXac1v2nRUSoXdgkenN0wtOfpr7nd4lKosP3D6PRpkZw3eSqCny5bd32dkPUmyhR9RgAGQBFKWgDxe/dJ8m/vmPXrNHTK8siT0zEqy1bENl/ACK6dsOjb75BwqHDPPJHpAcZT55IcmYgO5hpWy3g0TffiA+YWraSvjA86de+e/vyDH1vbw03NUSbHW3wNLHgByIYABkARSnwEcAjR8T/0nVwxKtNf+nplRHR+/Z88WLdVwV4RwCMXblSbf/pkZGSB7/sf4w+nTKlkN41Ku4CngfA1Sfvo37aQmD3fd2RocgoUF0GQAZAUQraQMk3bkryi/f18eN6emVE9L49Gj5culDm4KhxGvj5okV6OfoXYu+A0AYuXDCaCmT0ydFqn/PTdTsWeaxAdRkAGQBFKWgDKRUKhH/yiajTPWHN3HkqlqgEefBVX0lD2cOBHmr7fzhwoH6OAP6zpQQEFNI7R8XVs8RncPFxKXD4c93kCs+/PQtUmwGQAVAUMQ30ysen4AHQ0SnPpR6IqHiJ7D9A0kCWc53OsMaN9RcAS/hXQ5J+LLu5LF8XfeS1PUjQfU1KBkAGQFHENJA8IQFhjZvo/pkfB0eENnBBetQTPbwiIiosUaNHS3oRyBOvCap9KzMz9Xr0L8S5AV4sXVaI7x4VR+P8xok6Api9nXh4QufaDIAMgKKIbaCkS5ezPpOT31/6/yzJ8vpowT7zQERF16stW6QLgPYOiNu1S7VvZUaG/gPgkqWF+O5RcTT46GDR4a+BTwPsu7dP59oMgAyAokjRQIlnzyG0YaO8P5zt5IwQ5wZ4feSIhK+AiIoKeWIiQl0bShLIQt0aQ5GSorb/UDc9nwLezFPApJvRJ0dLEgCPRh7VuTYDIAOgKFI1UPrDh4j+ZVZWEPznX9PZgS/7lO/TKT8hNeyuRCMnoqLo2YwZkiwEHTN3rsa+H/7nv3o9Cph882YhvGNUnP125TdRVwBnb3didV+HkgGQAVAUqRtInpiEuB07ET1nDp5O+QnRv87Gq782Qx4fL8n+iahoU31TR0FPBWd/RjgyUmPfz/9cqLdlYEKcG2gccSTKS9irMFHBz8XHBT339yzQdwQzADIAisIGIiKpJRw6LOpU7Otj2j8jnHb/gX7Cn5Mznkye/J7fJSopBhweIOpK4J1hOwtUl/M3A6AobCAi0of43buzVgjI75FARyeEODoh4X//e+d+H3oO0s9Xwd269Z7eGSppTjw8UeA1AFtsa4HkjOQC1eX8zQAoChuIiPQl6cIF3O/ZS3WULbejbyH2DnjQ+wskXb6S5z5T797NOsUsVfhzdOLRPxLtz2t/6hz+3P5yw60XBf+HB+dvBkBR2EBEpE9KpRIpt2/jyQ8/aAS3UBdXPJ3yE1LuBOm0z1jv1ZKd+r3bsiXkCQl6evVUWiiUCiy+sRgNfBrkeVFIw00N8dHWj3At+pqompy/GQBFYQMR0fuizMhA5suXSH/0CJkvX0KZkVGw/SgUeDrlJ9HhL6xJU65MQJI6/+Q8hh0fBhcfFzTc1BANNzWE6yZXNNrUCA18GsB9izt+u/IbniSK/yIEzt8MgKKwgYioOFIqFHi+YEHWZwwL8G1E4R0/Qdq9e4X9MqiEevz6MVYGrMT0C9Mx+cxk/HrpV+y5u+edn/ezsLDAxo0b812D8zcDoChsICIqzpKvXUP4J53e/TnDHBeaxMz7DYrU1MIeOpUix48fR/PmzWFiYoKqVati0KBBePXqldpznj9/jhQdliKSev729/eHIAiIjY2VZH/vAwOgCAyARFTcKeVyvPHzw6OhwxDayE37Eb9OnfFi2XJkxMQU9nCplDl69CjKli2Ln3/+GUFBQbhx4wZmzZqFO3d0X/z5bQyADICiMAASUUmiVCiQHhmJpAsXkHj2HJJv3IQ8Mamwh0WlmIuLCwYNGpTr4/Xq1YMgCBAEQesp4PDwcLRo0QIymQwtW7bExIkTYWtrq5q//fz88Mknn8Da2hrGxsZo3rw5Lly4oPr5yMhICIKANWvWwNXVFaampujTpw+Sk7NOR2cHv5ybra2t2jj8/Pzg7u4OmUyG+vXrY+lS9e/OjoyMRLdu3WBhYYEKFSqgRYsWCArS7QIvXZXqABgfH48mTZqgYcOGcHZ2xpo1a3T6eQZAIiIi/Xj69CkEQYCvr2+uz4mNjUV0dDTMzc21BsCPP/4Y7du3x507d7B9+3aYmpqqBcCdO3di8eLFCAgIQHh4OEaNGgULCwu8efMGwL8BsHHjxrh27RpOnToFU1NTLFu2DACQnp6O6Oho7N27F4IgIDg4GNHR0Xjx4oVqDHfv3oWxsTEWL16MiIgIHDlyBNbW1ti5899FrLt3747WrVsjMDAQd+/excaNGxEQECDRO6ldqQ6AcrlcleKTkpJQp04dvHz5Mt8/zwBIRESkH5cuXYIgCKrTvWfPnoWpqSlMTU0xYcIEtedquwjkzp07EAQBgYGBqvv69eunFgBzzt9v3ryBIAg49s836mQHwM2bN6ue07NnT3h4eKj93LtOAQ8aNAj9+vVTu+/HH3/Ep59+qrrdoEEDTJo0Ka+3RFKlOgC+7dWrV7C1tdXp/D0DIBERkX5kB8B7/1xxnpKSgvDwcLi7u2PUqFFqz9UWAPft2wdDQ0PI5XLVfb/++qtaAIyIiMDQoUNRv359VKhQAaamphAEAXv37gXwbwC8dOmSah+enp7o3r27Wq13BcDGjRujXLlyqvBqamoKIyMjfPjhh6rnLFu2DGXLlkXbtm0xZcoUXLmS98LuYhXrAHjmzBl0794d1atXhyAI2L9/v8Zzli9fDltbW8hkMri7u2u8qfHx8XB1dYWJiQmWL1+uU30GQCIiIv3IPgXs5+endn/btm0lC4CffPIJGjZsiGPHjuHu3bsIDg6GIAjYvXs3gH8D4LVr/y487enpic8++0ytVl4BcPTo0QgPD1fbHj58qPa8hw8fYu3atejVqxcMDAywffv2/L9ZBVCsA6Cvry+mTp2Kffv2aQ2AO3bsgJGRETZs2IDg4GAMHToUlpaWeP78uca+YmJi0KJFC8TocJUbAyAREZH+uLi4YPz48Wr35TcAajsF/PXXX6sFQDMzM7Wfu3LlSoEC4IULFyAIAqKjozVeg6enJzp16qTT6+7atavGaWOpFesA+DZtATDnYWKFQoEaNWpg3rx5WvcxcuRI1R96fjAAEhER6Y+vry/KlSuHOXPmICQkBOfOnUOtWrUwevRopKSkIDo6WnURyOLFizUuwHj7IpAdO3bAwsJCLQA2bNgQXbp0wd27d3H+/Hm0aNECBgYGOgfAZ8+ewdDQEMuWLUNSUhLS0tJUj4WFhcHIyAg//PADgoODcevWLSxatAgLFy5UPcfLywtHjx7FgwcP4OfnhypVqmDOnDn6elsBlOAAmJ6ejjJlymiEQg8PD/Ts2RNA1lG/7Ct9EhIS4OzsrPYvhZzS0tLw+vVr1RYVFcUASEREpEe+vr5wd3eHsbExKlasCE9PT8TExGDjxo15LsESHh6O5s2bw8jICK1bt8akSZNgZ2enCoDnz59X7dvBwQFHjx5FmTJldA6AALBgwQLUqFEDBgYGWpeBadGiheo1dOjQAUePHlU9PnbsWNSrVw8ymQw1atTA+PHjkVHAr3vMrxIbALM/O3Dx4kW1502aNAnu7u4Asg71NmzYEK6urnBxcYG3t/c7a8yYMUNrszEAEhERFX1jx45Fp06deAYPpTwA6opHAImIiIqPffv2Ye/evbh//z4OHToES0tL+Pj4MACiBAfA/JwCFosNREREVHRt3bpVdWq1bt26mDdvHhQKBedviAyABw4c0HnT5cuadZHbRSCjR49W3VYoFKhZs2auF4Hoig1ERERU/HD+FhkADQwMdNoMDQ1x//59qcaOxMREBAQEICAgAIIgYOHChQgICMCjR48AZC0DI5PJ4OPjg5CQEAwbNgyWlpY6LfXyLmwgIiKi4ofztwQBUNuaerkxMzOTNADm9iXMnp6equcsW7YMtWvXhpGREdzd3XH58mXJ6rOBiIiIih/O3yID4KBBg1TLqOTHiBEjdPqqtaKODURERFT8cP4uQReBFAY2EBERkbSUSiUy3iRCnpautxqcv/UYAIODgzF37lysXLkSZ86cQVxcnL5KFRo2EBERkXiKjAw83u2LU+0GYJfMATvL2mFnWTvsreiG699NR3xgmKT1OH/rMQDWq1cPixcvxoIFC+Dh4QE3NzfUrVtXX+UKBRuIiIhInMhN+7C/2kdZoe+t8Je97TJ2xM6ydjjZph8SIx5JUpPztx4DYMuWLTXuk8vl+ipXKNhAREREBRc0e7lG4Mtt2yVzxL7KzRB3M1h0Xc7fegyA06dPx4YNG/S1+yKBDURERFQw4d7b8h3+/g2BDthf1R1JD5+Iqs35W48BsFu3bqhduzbq1KmDr776CrNnz8bBgwf1Va5QsIGIiIh0lx6XgN2mDXQOgNmnhC/2Hy+qPufv93AV8Js3b3Dx4kWsWbMGY8eO1Xe594oNREREpLuwhRuws5x9gQJgdghMjSn4snKcv/UYAPv164c5c+bgwIEDePDggb7KFCo2EBERkW6UCgUO1WsvKgDuNHJA8LxVBR4D5289BsCLFy9i9erVGDNmDJo3bw4LCws0b95cX+UKBRuIiIhIN69DIwoe/N7ajn/cp+Bj4Pz9/haCPn/+PH7++ef3Ve69YAMRERHpJvb8dUkC4KH67Qs8Bs7fegyACQkJGve9/R29JQEbiIiISDcMgEWD3gJg48aNUb9+fXTt2hWTJk3C7Nmz0ahRI32VKxRsICIiIt1Idgr4oy8KPgbO3/o9BSyXyxESEoJdu3bB29sbjx5Js4J3UcEGIiIi0g0vAika3ttnAEsiNhAREZHuuAxM4ZM8AA4ZMgShoaGq27du3cK2bdtK3NE/gA1ERERUEGmv4rkQdCGTPAB++OGHqv+/desWTE1N0bVrV9StWxd+fn5SlytUbCAiIqKC4VfBFS7JA2DTpk1V/z927FiMHj0aAPDgwQO0atVK6nKFig1ERERUcEGzl2NnWTvsyFf4c8S+ys0QdyNIdF3O33oIgL1798aJEyeQnJwMGxsbnD59WvWYm5ub1OUKFRuIiIhInENTvsKWSs5ZQdBI+ynfnWXtcLJNPyRGSPNxMs7fegiAUVFRaNmyJYyMjNC+/b9r9GRmZqJ+/fpSlytUbCAiIiJxzp2ejMn+QzB39udY59YUO98KgXsrOOLayKmIvx2a9450wPlbj1cBp6Wlqd0+duwYvv32W32VKxRsICIiInFSE1/gh8Me6Hd4IJb4D0PSmXFIOzQSGb7fQXFkiF5qcv5+D8vA3Lt3D23atNF3mULBBiIiIhJn/SEvuG/ti4+3fY0vdvaH/ORoKE6MguLkKCjvbNdLTc7f7yEABgUFwdDQUN9lCgUbiIiISJwftvXDR1v7wn3b13Df9jWSfb+F4shQKMMO6a0m528GQFHYQEREROJcvLYBzbd+BfdtX+OXHf99LzU5f0sQAIcPH441a9bg2rVrSE9P13icAZCIiIhy8yL6JoYeHIC+Rzwx9UA/pKcm6L0m528JAmCLFi1gZmYGAwMDGBkZoVGjRvjmm2+wYsUKXLp0CVeuXGEAJCIiIq0OnJoMj6ODMPDYYAw8Nhh3ArfqvSbnb4lOASuVSoSGhmLr1q34/vvv0b59e1SsWBEGBgYwMDBgACQiIiKtrl9fjYHHBsPjny3g6iS91+T8refPAN6/fx+7du3ClClT9Fmm0LCBiIiIxFFmpmFD4FjMvToKO+5NxJmnU5H8/Kpea3L+fg8XgZRkbCAiIiJxFBlJOP34R5yK+hEnH/+AU8dG4sGWRXjhdwHpcfr5PCDnb5EB8Pbt21AoFPl+flBQEDIzM8WULFLYQEREROKdujceh+d/iYOOjfB3RTscs7bDUSs7HLJyws3hPyIxPFLSepy/RQZAQ0NDvHjxIt/Pr1ChAu7fvy+mZJHCBiIiIhInIzkOB3u1xfFKdjhTU3M7WdUeh6s0xKvLNyWryflbZAA0MDDA8OHD4eXlla9NJpMxABIREZHKnSnzcLJqVtg7a2OvsZ2paQf/6vY4Ut0NqTH5P+j0Lpy/RQbAtm3bol27djptz549k2rshY4NREREVHAZ8a9xtLKT1uCXMwQeq2SPsLnLJKnL+ZsXgYjCBiIiIiq4B95b4FfNPtejf29vp2vY4Widj6HU4dqD3HD+ZgAUhQ1ERERUcAGjpuYZ/N7eDpvbSXJlMOdvBkBR2EBEREQFFzBiiu4B8GWc6LqcvxkARWEDERERFdy9RWtxukb+wt+ZmnY4UqMxlHK56LqcvxkARWEDERERFVza85c4Vskhz88AZi8HEzztd0nqcv5mABSFDURERCTOlYFDcbrGu5eBOVPTHkesnZH8MEqSmpy/RQbA/K7/5+XlJdV4ixQ2EBERkTgZbxKwr4kb/Kvb4aKtPa7Vt8MNu6z/nq9th9M17XHEyhHRvn6S1eT8LTIA5lzjz9zcHOXLl4ebmxvc3NxgamoKc3NztG/fXqrxFilsICIiIvESA3bheqtGCHS2x20nO7X/XndvJem3gACcvwEJTwH/+eef6NGjB+Li/r06Jy4uDr169cIff/whVZkihQ1EREQkXvTkAQhsYI9AZ+1b7KaNktbj/C1hAKxRowaCgoI07r9z5w6qV68uVZkihQ1EREQkjiI1FUFNXXINf4HO9ghp11qSq3+zcf6WMACamZnB399f434/Pz+YmZlJVaZIYQMRERGJkxx4+53hL3tLe/RIspqcvyUMgAMHDkSdOnWwd+9eREVFISoqCnv27MEHH3wADw8PqcoUKWwgIiIicZLvBOYrAKZHSXMFMMD5G5AwACYnJ2PkyJGQyWQwNDSEgYEBjIyMMHLkSCQlJUlVpkhhAxEREYmjSE9HUPNm7wx/oZ3aS/IdwNk4f+thHcCkpCTcvn0bt2/fLrHBLxsbiIiISLyYBT+9MwC+3LFd0nqcv/UQAIODg/H333/jwIEDaltJxAYiIiISLzNwPu7++GVW4HN1RKCLQ9bmbI9nf/wOpVIpaT3O3xIGwPv378PV1RUGBgaqU8DZ/29oaChVmSKFDURERCTelUAvrAwcgR2HPBA44ws8GPcFnn3/GVIjwvVSj/O3hAGwe/fu6NWrF2JjY2FmZobg4GCcO3cO7u7uOHv2rFRlihQ2EBERkXjrA0dg5T/bsUc/IfnhQihPj9FbPc7fEgZAa2tr3L59GwBgbm6OsLAwAMCpU6fQqFEjqcoUKWwgIiIi8Q7d/g4rA0dgVeAIXHr2C5IjF0J5Y5Xe6nH+ljAAWlpa4sGDBwCAunXrws8v6zv7IiIiYGJiIlWZIoUNREREJF5y2HpcjfkNAS/m42nSBqTF/yXpVb85cf6WMAC2atUK+/fvBwD0798fXbp0wfnz5+Hh4QFnZ2epyhQpbCAiIiLxFI/+RnLyLiSkbEdy8i4oknZD+eS03upx/pYwAB49ehR79+4FAISHh8Pe3h4GBgaoVKkSTp06JVWZIoUNREREJJ4y/i6Ur3cAyfuA5H1QvtoEZchfeqvH+VsPy8C87dWrV5Jful2UsIGIiIjEUyoUUITOhvLFWiifr4Ei4nfIj3yrt3qcv/UcAIuDzz//HJaWlujTp4/OP8sGIiIiEk8pz4T84iQobkyD4uY0yC9OgvzUWMgvbtBLPc7fIgOgl5dXvreiyt/fHwcPHmQAJCIiKkTyY6MhvzkN8ls/Q3HlB8j/NxTyTYP0Uovzt8gA2K5dO7XN3Nwc5cuXh5ubG9zc3GBqagpzc3O0b99eqvHqhb+/PwMgERFRIZJfmQLlg/nICPoVb05MRrJ3P8j3TNRLLc7fEp4C/vPPP9GjRw/ExcWp7ouLi0OvXr3wxx9/SFVGzZkzZ9C9e3dUr14dgiCorkJ+2/Lly2FrawuZTAZ3d3dcuXJF4zkMgERERIUrI+hXhH73OU7ZOOJEZTucqGyH6736IzH0nuS1OH9LGABr1KiBoKAgjfvv3LmD6tWrS1VGja+vL6ZOnYp9+/ZpDYA7duyAkZERNmzYgODgYAwdOhSWlpZ4/vy52vMYAImIiAqPUi7Htc5tcKKqvSr8nahshxPVHOFXtzGS70dKWo/zt4QB0MzMDP7+/hr3+/n5wczMTKoyudIWAN3d3TFq1CjVbYVCgRo1amDevHlqz8tvAExLS8Pr169VW1RUVKlvICIiIrFe/H1SPfi9tZ2s5oigMT9KWo8BUMIAOHDgQNSpUwd79+5FVFQUoqKisGfPHnzwwQfw8PCQqkyucgbA9PR0lClTRiMUenh4oGfPnmr35TcAzpgxA4IgaGyluYGIiIjEChr9A05Us881BJ6q3VDSegyAEgbA5ORkjBw5EjKZDIaGhjA0NISRkRFGjhyJpKQkqcrkKmcAfPr0KQRBwMWLF9WeN2nSJLi7u6tud+zYEZUqVYKJiQlq1qyp8fy38QggERGR9G55fqt5+jfHqWApMQDqYR3ApKQk3L59G7dv334vwS9bQQOgGGwgIiIi8e7OHoUTVXIJf1UdcLXb15LW4/xdghaCFnMKuKDYQEREROKlPA7EqboNcj0K+OKotF8py/lbgoWgs4/yFfZC0LldBDJ69GjVbYVCgZo1a2pcBFJQbCAiIiJpvJrbA6frO2dd+FHVHieq2OFkdSc8Wu0jeS3O3xIsBB0fH6/6/9w2fS0EnZiYiICAAAQEBEAQBCxcuBABAQF49OgRgKxlYGQyGXx8fBASEoJhw4bB0tISMTExktRnAxEREUkjc/t/kHlgKJ7N+BwRwzrj4ahPkRZ5Vy+1OH8X81PA/v7+Wq/K9fT0VD1n2bJlqF27NoyMjODu7o7Lly9LVp8NREREJA35bg/IDw+D4u+RkB8eBvm+IZCHndVLYr/eXgAAIABJREFULc7fEgbAlJQUJCcnq24/fPgQixYtwrFjx6QqUeSwgYiIiKSRuXswFNd/gvLmNCguTkLmDk9kbJmgl1qcvyUMgJ06dcKqVasAAPHx8ahSpQpsbGxgbGyMlStXSlWmSGEDERERSUN+YiwUN6ZCeXMalDenIWPHYGQe/l0vtTh/SxgAra2tVV8Ft3btWri6ukKhUGDXrl1wcHCQqkyRwgYiIiKShvzEaPUAuHsw5Clv9FKL87eEAdDExER18cVXX32FmTNnAgAeP34MExMTqcoUKWwgIiIiaWTuHwzF1R+huP4TFBcmInPPYCjSU/VSi/O3hAHQxcUFS5YswePHj2Fubq5agPn69euoWrWqVGWKFDYQERGRNDKPDIPi3AQozk2A/KwXMg8MhfzmAb3U4vwtYQDcvXs3ypUrB0NDQ3Tq1El1/9y5c9GlSxepyhQpbCAiIiJpyI+PguKslyoEZh4ZgYzD0qzbmxPnb4mXgYmOjsbNmzehUChU9125cgWhoaFSliky2EBERETSkF+aBkX8TigeeUN+1gvyQ0MhD/HTSy3O38V8HcDCxgYiIiKShjzpf1AoTkChPAnFjV+QueO/eqvF+VviABgfH48//vgDQ4YMwZAhQ7Bw4UIkJCRIWaJIYQMRERFJQ/FiM+T/BED56YlQHBynt1qcvyUMgNeuXYOVlRVq1qyJ3r17o3fv3rCxsYG1tTVu3LghVZkihQ1EREQkDYXfNMjvLobi5q+Q/z0SaUt7QZmZrpdanL8lDICtWrXCoEGDkJmZqbovMzMTnp6eaN26tVRlihQ2EBERkTQy93hAfno8FGe8oDg9Hqkb/ouUNeP1Uovzt4QB0NjYWOvFHsHBwVwHkIiIiN4p48hIKJ94Q/loBRQXJiHZuz9ej2mrl1qcvyUMgFWqVNH6vb9Hjx5FlSpVpCpTpLCBiIiIpCG/NQ/K+K1Qxm+FIuwPJM3qgTffd9RLLc7fEgbAMWPGwMbGBjt27MDjx4/x+PFjbN++HTY2Nhg3Tn8f5CxMbCAiIiJpyC9NhzJ+K5CwDZnHfkDqb72QcXa7Xmpx/pYwAKanp2Ps2LEwMjKCoaEhDA0NIZPJMH78eKSlpUlVpkhhAxEREUlDEXQEmb6TkHHAC6kLeiNtXle91eL8rYd1AJOTkxEYGIjAwEAkJydLvfsihQ1EREQkDcWDS0hb0gcZGwYgbdmXSF/cU2+1OH9zIWhR2EBERETSyDw0FfKD30JxaCjkB79F2sov9FarqM3fvXr1gqen53utKWkAPHnyJKZMmYIhQ4Zg8ODBaltJVNQaiIiIqLiS7xkGxaGhSNw9GN/3dkVt6/IwNjZGvXr14OXlJWmtojZ/x8fHv/cvzpAsAM6cOROGhoZwd3dHr1698Pnnn6ttJVFRayAiIqLiSv73TMgPfItvOtnDsZYljk1ojfv378PX1xcjRoyQtBbnbwkDYLVq1fDXX39JtbtigQ1EREQkDfn1XUhf/TWszIyw2tMdyb/2gDzimtbn3rp1Cx06dICJiQlq166Nn3/+We2LKICss5LNmzeHsbExqlatiqFDh6oe+/HHHzXmb0EQsHv3btXtyMhI9OrVC2ZmZqhWrRq+++47tWsb2rZti2+//RYeHh4oX7487O3tcfnyZbUxJCUlYezYsahevTqMjY3RrFkznD59WvX4kCFDIAgCBEHQegr477//RsuWLWFhYYHy5cujc+fOCAkJyd8b+tbrmj59OlxcXGBsbIyuXbvi+fPn0gVAKysrRERESLW7YoEBkIiISBoZ1w8jeWZ31LYqj76Na+HFd+2RvmeexvNevnwJKysrTJkyBffu3cOZM2dQr149zJ8/X/Wc4OBglC1bFhMmTEBwcDCuXr2KUaNGqR7PKwCmp6fDzs4OgwcPRkhICK5du4ZmzZph5MiRque3bdsWpqam2LBhA+7evYtPPvkETZo0URvrgAED8MEHH8DX1xfh4eHYuXMnNm3apHr89evXiI6ORpcuXbQGwI0bN2LdunUICgpCSEgI+vTpg/r160OhUOT7fRUEAVZWVjh8+DBu3bqFJk2aoG/fvtIFwMmTJ2PWrFlS7a5YYAAkIiKShvzOCSRP6YLdXzWGhawszGVl0b3tx/D29lY78jZz5kx8/PHHaj/r7e0Ne3t71W0PDw+0adMm11p5BUAfHx/UrFlTLWgdPXoUxsbGUCqVALICYMeO/y5UvW/fPhgaGqqORN6/fx+CIMDPzy/P157fi0ACAwMhCALu3r2b53Pffl0TJ05U3T527BjKlCkjXQAcO3YsLC0t0aZNG4wePRpeXl5qW0nEAEhERCQNuf86pPzUFSk/dcXz7zth8+eNMHLoN6hSpQocHByQmJgIAPjiiy9QtmxZmJqaqjZjY2OUK1dOta/GjRtj6tSpudbKKwBOmDABhoaGajVMTEwgCAKePn0KICsADh8+XPXz/v7+EAQBL1++BAAcPHgQhoaGSE9Pz/O15xYAIyIi0K9fP9SpUwdmZmYoX748BEHAjRs38tzn26/Lx8dHdfvJkydZp53zvYc8tGvX7p1bScQASEREJA1FYjxS5nRH+qq+SPujN1J+/ARKhQIvXrxAhQoVsH79egBZAfDzzz9HeHi4xpYtrwA4ZcoUtflboVBoBMBmzZpprZF9hK9t27Zqp5WzA2BsbCwAaQKgo6MjOnTogNOnT+PevXs4duwYBEHAtWvaPxupjd4DYGnEAEhERCQN5fMQyLf/F5nbB0K+wwMK/4Wqx2xtbbF48WIA+H979x4WZZ3/f/xWdAYEBTUPaAZ5QFdcJDU8fD1kdtjSLN1dS3cVszyU+K0s21z7SWualmaa2rZp6moeylIrZbMyPB/SgjygKIInFjyi4gGU4fX7w68jIx7Aewa45fm4rs91NTP3zOeez76X98u5575H0dHRatSo0U2/B9enTx916NDhho+PGzfOpX/v37/fJQDOmjVLVapUcX7qeD23CoBXDgHHxsbe6q1fNwAeP3483/M///zz2wqAw4YNc95esWKFypYtay4AvvLKKzp79qzzv280hg4damaaEosACACAe+QmxSpnYR91aX63Zgxqo22fvqzdu3fr9ddfV/ny5bV9+3ZJ0rFjx1SlShX17dtX8fHx2rlzp6ZPn66///3vzte6chLIa6+9poSEBP36668uYe27775zfj/P4XAoKirKJQBmZWWpfv36evzxx/Xzzz8rMTFR8+bNc7kcza0CoHT5JJB69eopJiZGSUlJ+uqrr5yfxuXk5CgtLc15EkiPHj2ct3NycuRwOHTXXXepb9++2rdvn1asWKHQ0NDbCoBVq1ZVTEyM4uPj1aJFC/3pT38yFwAfeOABZWRkOP/7RqNjx45mpimxCIAAALhHrsOhnC/7a/TT4Qq7J0B+fr6qVKmSWrVqpeXLl7tsGxcXp0ceeUS+vpe3adOmjT777DOXbX788Ue1atVK3t7eql69up577jnnY1f6t7+/v+rXr69PP/0032VgkpOT1b17d/n7+8vX11f33Xef81NIqWAB8OzZsxoyZIhq1qwpb29vNW/e3PmJXkpKivMSMNeOlJQUSdLKlSsVGhoqu92uZs2aaenSpbcVAEeMGKHGjRvLbrfrD3/4g9LT0zkEbAYBEAAA6ylN/fvaYOu8vxj25Y5RmgoIAABPyz28XRdn9telz4cpN/u8x+YpTf27SALghQsXtHnzZn377bf6+uuvXcadqDQVEAAAnpTrcOjCmMd04e0ndOHtJ3Rxej+PzVWa+rfHA+B//vMfVatWTWXKlMk3ypYt665pSpTSVEAAAHhS7vnTujC6qy6M7qrzbz+h89GPemwu+rcbA2D9+vX14osvKj093V0vWeJRQAAAuM+54X9wBsDMVx5WbnaWR+ahf7sxAFasWJHfAgYAALft7CsP6MyQB3VmcEdlvnTjn3Izi/7txgD47LPPasaMGe56OUuggAAAcJ9zHw7Uyb7tdLJvO516qaNyb3KxZzPo324MgOfOndPjjz+uyMhITZgwQZMnT3YZdyIKCAAA9zn+15Y6+nRr58hJWO+ReejfbgyAM2bMULly5eTn56egoCAFBwc7x7333uuuaUoUCggAAPc50a+1jj7dyjkcR1I8Mg/9240BsEaNGhozZsxNf5vvTkMBAQDgPicHttWRHq10pEcrHX06Qo4Mz5xYSv92YwCsXLkyJ4EAAIDbduTpVjrRt51O9G2rI39upew1n3tkHvq3GwPgyy+/rDFjxrjr5SyBAgIAwH1ODXpAmS91UuZLnZTRv4POfz3FI/PQv90YAIcMGSJ/f3+1b99eUVFReuWVV1zGnYgCAgDAfc4MeUBnX35ImS910unBHXVpX5xH5qF/uzEAPvDAAzccHTt2dNc0JQoFBACA+2R/+r/OAHh+wl89Ng/9282/BVzaUEAAALiXY3+cHAe2eXQO+jcB0BQKCAAA66F/uzEA/uMf/7jpuBNRQAAAWA/9240BMDw83GWEhoaqQoUKqlSpku677z53TVOiUEAAAFgP/dvDh4BPnz6tbt26ac6cOZ6cpthQQAAAWA/9uwi+A7ht2zYFBQV5eppiQQEBAOA+jqMHdeSvEfpv92Y6M+lFj81D/y6CALh27VoFBAR4eppiQQEBAOA+R/q0VOqT918eXe/XxYRNHpmH/u3GADh58mSXMWnSJP3tb39TrVq11LNnT3dNU6JQQAAAuE/an5sr9cn79d+nIpT65P06v3yGR+ahf7sxAAYHB7uMunXrqmXLlho+fLgyMzPdNU2JQgEBAOA+Z+e8pdSuLS5/AtjtPuVmnffIPPTvIjgEfOjQIfXv39/T0xQLCggAAPe69N99ytrwtXIvZntsDvp3EQTA+Ph4lS1b1tPTFAsKCAAA66F/EwBNoYAAAHCvnEO7lb1uMZ8AehgB0AQKCAAA98la/aUOPNRUBx4K1+Enwz02D/2bAKinnnpKAQEB+uMf/1jo51JAAAC4T9pfW2l/p8sB8MBD4Tozf7xH5qF/uyEAduvW7aajY8eOJToAxsbG6ptvviEAAgBQzFJ7tnKGv+QOYTrxwVCPzEP/dkMA7Nu3b4FGSRYbG0sABACgmB19pasSmv1Ou+9vrJ3hDXX+xwUemYf+XQSHgM1YvXq1unTposDAQBmGoSVLluTbZurUqQoKCpLdbldERIQ2b95c6HkIgAAAFL9j0X21t02oEls2VmKrxjo1d4JH5qF/l/AAGBMToxEjRmjx4sXXDYALFy6UzWbTzJkztXPnTvXv318BAQE6cuSIc5umTZsqNDQ030hNTXVuQwAEAKD4pUc/r/jQhtre9Hf6tVGI0qOf98g89O8SHgDzul4AjIiI0ODBg523HQ6HatWqpbFjxxbqtQsaALOysnT69GnnOHToUKkvIAAA3CXz60+0tWFDbQ1pqF8ahuj8lh88Mg8B0MIBMDs7W15eXvlCYZ8+fdS1a9dCvXZBA2B0dLQMw8g3SnMBAQDgLhnvvahdzRppZ3gj7WrWSBdWLfLIPARACwfA1NRUGYahDRs2uGw3bNgwRUREFPh1O3XqpLvuuks+Pj6qXbt2vtfLi08AAQDwnKxN/1FiRCMltvid9rVrJMfJI7d+0m0gABIATaGAAABwr+zf1uj09JHKOZzksTno3xYOgO48BHy7KCAAAKyH/m3hAChdPgkkKirKedvhcKh27dqFPgnkdlFAAABYD/27hAfAzMxMxcXFKS4uToZhaOLEiYqLi9OBAwckXb4MjN1u1+zZs5WQkKABAwYoICBA6enpRbJ/FBAAANZD/y7hATA2Nva6Z91GRkY6t5kyZYruuece2Ww2RUREaNOmTUW2fxQQAADWQ/8u4QGwpKOAAACwHvo3AdAUCggAAOuhfxMATaGAAACwHvo3AdAUCggAAPc68+Ni7e3XVUc/Hu2xOejfBEBTKCAAANwn+8Aerbo7RD/VDNFPNRvq+GeTPTIP/ZsAaAoFBACA+5z+fpF+qtnw/0aIkgZ088w89G8CoBkUEAAA7nM69hv9WP3yp38ra4Rod6/HPDMP/ZsAaAYFBACA+2QfTtYPNRpoxV0NtKJqiFLHv+GReejfBEBTKCAAANzrVMxC7fzTQzr41hDlOhwemYP+TQA0hQICAMB66N8EQFMoIAAArIf+TQA0hQICAMB66N8EQFMoIAAArIf+TQA0hQICAMB66N8EQFMoIAAArIf+TQA0hQICAMC9zif8oj0v9FTax+M8Ngf9mwBoCgUEAID75Doc+vGeEH1bsYG+rRii9E8nemQe+jcB0BQKCAAA93FcOKdvK10Of99WbKB9r/f3yDz0bwKgKRQQAADulfRypJYHNNDqRo2VfSDJI3PQvwmAplBAAABYD/2bAGgKBQQAgPXQvwmAplBAAABYD/2bAGgKBQQAgPXQvwmAplBAAABYD/2bAGgKBQQAgPXQvwmAplBAAABYD/2bAGgKBQQAgPXQvwmAplBAAABYD/2bAGgKBQQAgPXQvwmAplBAAABYD/2bAGgKBQQAgPXQvwmAplBAAAC414lv5mvN78P0258eU+7FbI/MQf8mAJpCAQEA4F6xIaFa4tNAS3xCdOTfH3pkDvo3AdAUCggAAPfa+nA7LfEJ0VLfBjqz6SePzEH/JgCaQgEBAOBeOWfP6PCHb+v02u88Ngf9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAIB7ZW5Zo3Ut79f23t2V63B4ZA76NwHQFAoIAAD32vJIBy2yhWiRLUQnln/ukTno3wRAUyggAADcK/mtoVpkC9E3lRso61CyR+agfxMATaGAAABwv3M7f9Gl40c89vr0bwKgKRQQAADWQ/8mAJpCAQEAYD0lpX+npKTIMAxt2bLlhtsEBQXJMAwZhqHx48e7bW4CoAklpYAAALiTREZGOkNP3rFo0SK3vH5J6d8FCYBHjx5VWlqa7r77bgJgSVFSCggAgDtJZGSkHnroIaWlpbmMrKwst7x+SenfBQmAVwQFBREAS4qSUkAAANxJIiMj1blz5xs+HhsbK8MwNH/+fNWvX18VK1bUgAED5Mhz3cD3339fTZo0kY+Pj6pWrapnn33W2a+v9O/f/e53Gj9+vO666y7VqFFDn3zyifP5OTk56tevn4KDg2Wz2RQUFKR33nnHZT+ysrI0aNAg1ahRQ97e3mrcuLG++OKLAr/PKwFw3Lhxqlu3rnx8fPTMM8/o7Nmz+ba9UQA8fvy4nnnmGdWqVUs2m00hISGaMWNGvucOHz5cnTt3lo+Pj5o3b04ANIMACACA+xU0AD7yyCPasWOHFi1apDJlyujbb791bvPmm29q6dKlSkpK0saNG9W4cWP169dP0tX+7ePjo6ioKO3Zs0d/+9vfZLfbdezYMUlSdna2BgwYoFWrViklJUVLly5VhQoVNGfOHOccEyZMULVq1bR69WolJydr2bJl+uqrrwr8Pq8EwODgYK1du1YbNmzQvffeq9deey3ftjcKgPv379drr72mDRs2KDk5WZ9++qnKli2r1atXuzy3WrVqWrp0qXbs2KGwsLDSHQAzMjLUvHlzNW3aVKGhoS7JvyAIgAAAuF9kZKS8vLzk6+vrMg4cOCDpagBcu3at8zlhYWEaOXLkDV/zww8/VGBgoKSr/dvX19d5WPnkyZMyDEM//fTTDV+je/fu6tmzp/N2VFSU7r///tt+n1cC4NSpU533/etf/1LlypXzbVuYQ8DNmjXT8OHDXZ773HPPOW9PnDixdAfAnJwcnTt3TpJ09uxZBQcH6/jx4wV+PgEQAAD3i4yMVMeOHbV3716XcenSJUlXA2BaWprzOR06dFBUVJTz9sqVK/Xggw8qMDBQvr6+stvtqlixoqSr/btBgwYu8xqGoS+//NJ5+6OPPlKzZs1UtWpV+fr6qly5cnriiSecj2/cuFGVKlVSaGioBg8erMWLFys3N7fA7/NKAFy1apXzvnXr1skwDJ08edJl2xsFwJycHI0ePVpNmjRRQECAfH19VbZsWQ0ZMsTluWPHjnXenjVrVukOgHmdOHFCQUFBzo9+C4IACACA+xX0EHDent2hQwcNHjxY0uXDot7e3oqKitLWrVu1d+9ejRo1Sr6+vpJcvwOYV94zjRcuXCibzaaPPvpI27dv1969e9W5c+d8+5WRkaEvvvhCAwcOlI+PjwYNGlTg93mzAJiRkeGy7Y0C4Lhx4xQQEKB58+Zp586d2rt3r8LDw51rcb3nlvgAuHr1anXp0kWBgYEyDENLlizJt83UqVMVFBQku92uiIgIbd68uVBzZGRkKCwsTD4+Pi4fwRYEARAAAPczGwC//PJLlS1bVjk5Oc7HX3jhhUIFwKioKHXo0MH5WG5urho3bnzT/Xr33XdVs2bNAr/PKwFw2rRpzvv+9a9/qWrVqvm2DQ0N1ahRo/Ld36VLF0VGRjpvX7hwQVWqVLF2AIyJidGIESO0ePHi6wbAK+l85syZ2rlzp/r376+AgAAdOXL152OufL/v2pGamuryWunp6WrTpo3S09MLvH8EQAAA3O9Gl4G58rWtWwXA3377zfndun379mnGjBnOw7hSwQLghx9+qEqVKmnlypVKTEzUyy+/LD8/P5cAOGnSJC1YsECJiYmKj49X27Zt9fDDDxf4fV4JgHXr1tX69eu1ceNG3XvvvXr99dfzbdunTx+Fh4dr7969SktLcx5qHjp0qIKCgrR582bt2LFDzzzzjPz8/KwdAPO6XgCMiIhweYMOh0O1atVyOc5dGC+88MJNLzKZlZWl06dPO8ehQ4cIgAAAuNmNLgR9JcTcKgBK0uTJk1WrVi35+Pioa9eumjhxYqECYHZ2tvr16yd/f39VqVJFr776qp599lmXADhjxgyFh4erQoUKqlKlirp166aDBw8W+H3mvQxMcHCwfHx81KtXL2fQzevgwYNq3769ypcv73KI+OTJk+rWrZv8/PxUs2ZNvffee+rUqdOdGwCzs7Pl5eWVLxT26dNHXbt2LdBrpqen68yZM5KkU6dOKTQ0VNu2bbvh9tHR0dctSAIgAADWwRE8C10I+toAmJqaKsMwtGHDBpfthg0bpoiIiAK95ubNm9W0aVOFhYXp97//vT7++OObbs8ngAAAWB8BsJQHQLMoIAAA3Cs7db82P/qgEl7s67E56N8WDoDuOARsFgUEAIB77Xq5v+YZIZpnhCgzfpNH5qB/WzgASpdPAsl70UeHw6HatWvf9kkghUUBAQDgXhmrv9PiSiH6oWFTOS7kPxnCHejfJTwAZmZmKi4uTnFxcTIMQxMnTlRcXJzzp2AWLlwou92u2bNnKyEhQQMGDFBAQEChLuViBgUEAIB7bNz3m/ak/6CN+1brfHa2R+eif5fwAHjlNO9rR94LHk6ZMkX33HOPbDabIiIitGmTZz4uvh4KCAAA8w6dPK5Lju91yfG9si+t0Lq9Wzw6H/27hAfAko4CAgDAvH1H05wBMOvSCq3b69kPc+jfBEBTKCAAAMxzOBxat3e9zmav0K60H3Q884xH56N/EwBNoYAAAHCPjQnrdOnEXF04Nldb98R5dC76NwHQFAoIAADzLl26pOzjc5WbMVeOk3OVfmieR+ejfxMATaGAAAAwz5Hj0On0z5Rzcq4unZirlOQFHp2P/k0ANIUCAgDAPbal7FJK8gLtSVqovf/d79G56N8EQFMoIAAArIf+TQA0hQICAMB66N8EQFMoIAAArIf+TQA0hQICAMB66N8EQFMoIAAA3ONoxnH9suET7dk8Sb/s2ODRuejfBEBTKCAAANxjy4YZupgwWjm7RutiwmgdP3XCY3PRvwmAplBAAAC4x46NU5Wza7Ryd18eB9IOemwu+jcB0BQKCAAA99iwcoYcu95W7u7Rcvw6Qlt//tFjc9G/CYCmUEAAALjH5uWTdHHl/8qx6iVl/zhE67+f6bG56N8EQFMoIAAA3GPLzz/KsXKILv44RJd+HKIdO3/x2Fz0bwKgKRQQAADuEx+/Qet/mKOdu3716Dz0bwKgKRQQAADWQ/8mAJpCAQEAYD30bwKgKRQQAADWQ/8mAJpCAQEA4F6nMjKUnZXl0Tno3wRAUyggAADc4+LFi9o0bYSyJ3bXyfefVvz6VR6bi/5NADSFAgIAwD22/hij7IndlT2xuy683137J0R6bC76NwHQFAoIAAD32PyfJc4AmPV+N2W+212nTpz0yFz0bwKgKRQQAADu8VvsWp0b1cUZAI8N7KgVb/4/j8xF/yYAmkIBAQDgHuvmfaH/dovQ0d5tlf5Ma6U+FaGVg/p5ZC76NwHQFAoIAAD32J+QqANPtdLhpyL036cilPpUhH4YP9Ejc9G/CYCmUEAAALjP5iXL9eszj2nXHx/QihEjdDE72yPz0L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoCgUEAID10L8JgKZQQAAAWA/9mwBoyqlTp2QYhg4dOqTTp08zGAwGg8GwwDh06JAMw9CpU6eKO0oUGwKgCVcKiMFgMBgMhvXGoUOHijtKFBsCoAkOh0OHDh3SqVOnPPavEz5dLJp/BbLOrPOdMFhn1vlOGp5c51OnTunQoUNyOBzFHSWKDQGwhDp9mu8nFAXWuWiwzkWDdS4arHPRYJ09iwBYQlH4RYN1Lhqsc9FgnYsG61w0WGfPIgCWUBR+0WCdiwbrXDRY56LBOhf9XBvYAAAP1ElEQVQN1tmzCIAlVFZWlqKjo5WVlVXcu3JHY52LButcNFjnosE6Fw3W2bMIgAAAAKUMARAAAKCUIQACAACUMgRAAACAUoYACAAAUMoQAIvB6tWr1aVLFwUGBsowDC1ZsuSWz4mNjdV9990nm82mevXqadasWZ7f0TvE1KlTFRQUJLvdroiICG3evPmm23/wwQcKCQmRt7e37r77br388su6cOFCEe2tdRV2nTMyMvTiiy+qZs2astlsatCggZYvX15Ee2tdhV3nKxYsWCDDMPTkk096eA/vDIVZ508++URt27ZVQECAAgIC1KlTpwL/71LaFbaev/jiCzVs2FB2u11NmjThb4YJBMBiEBMToxEjRmjx4sUFCoDJycmqUKGChg4dqoSEBE2ZMkVeXl767rvvimiPrWvhwoWy2WyaOXOmdu7cqf79+ysgIEBHjhy57vbz5s2T3W7XvHnzlJKSohUrVigwMFCvvPJKEe+5tRR2nbOzs9WiRQs9/vjjWrdunVJSUrRq1SrFx8cX8Z5bS2HX+YqUlBTVrl1b7dq1IwAWQGHXuVevXpo2bZri4uK0a9cu9e3bV/7+/jp8+HAR77m1FHad169fLy8vL7333ntKSEjQm2++qfLly2v79u1FvOd3BgJgMStIAHz99dcVGhrqct/TTz+tRx991JO7dkeIiIjQ4MGDnbcdDodq1aqlsWPHXnf7wYMH68EHH3S5b+jQofqf//kfj+6n1RV2nf/5z3+qbt26unjxYlHt4h2hsOssSTk5OWrTpo1mzJihyMhIAmAB3M4655WTk6OKFSvq3//+t6d28Y5Q2HXu0aOHOnfu7HJfy5YtNXDgQI/u552KAFjMChIA27Vrp5deesnlvpkzZ6pSpUqe3DXLy87OlpeXV7717dOnj7p27Xrd58ybN0/+/v7OwxD79u1To0aNNGbMGI/vr1Xdzjo/9thj+stf/qL+/furevXqCg0N1ZgxY5STk1MUu2xJt7POkjRy5Eg99dRTkkQALIDbXee8zpw5I29vb3377bee2MU7wu2sc506dfTBBx+43Ddy5EiFhYV5bD/vZATAYlaQANigQQO98847LvctX75chmHo/Pnzntw9S0tNTZVhGNqwYYPL/cOGDVNERMQNnzd58mSVL19e5cqVk2EYGjRokKd31dJuZ52vfIenX79+2rp1qxYuXKgqVarorbfeKopdtqTbWee1a9eqdu3aOnbsmCQCYEHc7t+NvF544QXVrVuX7w7fxO2sc/ny5TV//nyX+6ZNm6bq1at7bD/vZATAYkYA9Jzb+QMTGxurGjVqaPr06dq2bZsWL16sOnXqaNSoUUWxy5Z0O+vcoEED1alTx+UTv/fff181a9b06L5aWWHX+cyZMwoODlZMTIzzPgLgrZkNgGPHjlXlypX122+/eWoX7wgEwOJHACxmHAL2nNs5xNC2bVu99tprLvfNnTtXPj4+cjgcHttXK7uddW7fvr06derkcl9MTIwMw1B2drbH9tXKCrvOcXFxMgxDXl5ezlGmTBmVKVNGXl5eSkpKKqpdtxQzh4DHjx8vf39/bdmyxZO7eEfgEHDxIwAWs4KeBNKkSROX+3r27MlJIAUQERGhqKgo522Hw6HatWvf8EvGzZo10+uvv+5y3/z58+Xj48P3026isOs8fPhwBQUFuYTqSZMmKTAw0OP7amWFWecLFy5o+/btLuPJJ5/Ugw8+qO3btxO0b6Kw9SxJ7777ripVqqSNGzcWxS7eEQq7zj169FCXLl1c7mvdujUngdwmAmAxyMzMVFxcnPNf6BMnTlRcXJwOHDggSXrjjTfUu3dv5/ZXLgMzbNgw7dq1S9OmTeMyMAW0cOFC2e12zZ49WwkJCRowYIACAgKUnp4uSerdu7feeOMN5/bR0dGqWLGiFixYoOTkZH3//feqV6+eevToUVxvwRIKu84HDx5UxYoVFRUVpcTERC1btkzVq1fX6NGji+stWEJh1/laHAIumMKu87hx42Sz2fTll18qLS3NOTIzM4vrLVhCYdd5/fr1KleunCZMmKBdu3YpOjqay8CYQAAsBrGxsTIMI9+IjIyUdPmPdIcOHfI9Jzw8XDabTXXr1uVC0IUwZcoU3XPPPbLZbIqIiNCmTZucj3Xo0MG57pJ06dIlvfXWW6pXr568vb1Vp04dvfjii8rIyCiGPbeWwqyzJG3YsEEtW7aU3W5X3bp1OQu4gAq7znkRAAuuMOscFBR03b/p0dHRRb/jFlPYev7iiy8UEhIim82m0NBQLgRtAgEQAACglCEAAgAAlDIEQAAAgFKGAAgAAFDKEAABAABKGQIgAABAKUMABAAAKGUIgAAAAKUMARAALCbvhYcLc5HyvBeh54LQKMlWr16tLl26KDAwsEA/mXo9ubm5Gj9+vBo0aCCbzaZatWrxa0N5EAAB3Lbr/frBnf5LCEFBQfl+kL449mHUqFFKS0tTbm6upKvhLm8gTE1NVZMmTdSuXTudOnVK2dnZSktLU48ePQiAKNFiYmI0YsQILV68+LYD4JAhQ9SwYUN9/fXXSk5O1tatW/X99997YG+tiQAI4Lbl/d3TSZMmqVKlSpb8LdTc3FxdunSpQNu6KwBmZ2ff9nOvtw/XBsCkpCTde++96ty5s86fP++yLT8JByu5XgDMysrSq6++qlq1aqlChQqKiIhQbGys8/GEhASVK1dOu3fvLuK9tQ4CIAC3mDVrlvz9/V3umz59uho1aiS73a6GDRtq2rRpzsdSUlJkGIY+//xztW3bVt7e3mrRooUSExP1888/q3nz5vL19dUf/vAHHT161Pm8K+Hlrbfe0l133aWKFStq4MCBLoHK4XDonXfeUXBwsLy9vRUWFqZFixY5H78SlmJiYtSsWTOVL19esbGxSkpKUteuXVW9enX5+vqqRYsW+uGHH5zP69ChQ75POSUpOjpaTZs2dXnvH3zwgYKCgvLt9+jRoxUYGKjg4GBJ0pw5c9S8eXP5+fmpRo0a6tmzp44cOXLTtb5VAPztt99Us2ZN9erV67rBlgAIK7leAHz++efVpk0brVmzRklJSRo/frzsdrv27NkjSXr33XcVEhKiCRMmKDg4WEFBQXruued04sSJ4ngLJRIBEIBbXBsAP/vsMwUGBuqrr75ScnKyvvrqK1WpUkWzZ8+WdDUANmrUSN99950SEhLUqlUrNW/eXA888IDWrVunX3/9VfXr19egQYOcrxsZGSk/Pz89/fTT2rFjh5YtW6Zq1arp73//u3Ob0aNHO1933759mjVrlux2u1atWiXpalgKCwvT999/r6SkJJ04cULx8fH6+OOPtX37du3Zs0dvvvmmvL29deDAAUnSiRMndPfddzsPv6alpUkqeAD08/NT7969tWPHDu3YsUOS9OmnnyomJkb79u3Txo0b1bp1az322GM3XeubBcDly5crICBAgwcPdh4evhYBEFZybQA8cOCAvLy8lJqa6rJdp06dNHz4cEnSwIEDZbfb1bJlS61Zs0axsbEKDw9Xx44di3TfSzICIAC3uDYA1qtXT/Pnz3fZ5u2331br1q0lXQ2AM2bMcD6+YMECGYahlStXOu8bO3asGjZs6LwdGRmpKlWq6Ny5c877/vnPf8rPz08Oh0NZWVmqUKGCNmzY4DL3c889p549e0q6GpaWLl16y/cVGhqqKVOmOG9fL3wVNADWqFHjlod+t2zZIsMwbnr4/GYB0GazqXfv3jedgwAIK7k2AC5btkyGYcjX19dllCtXTj169JAk9e/fX4ZhKDEx0fm8X375RYZhcFj4/xAAAbhF3gB49uxZGYYhHx8flz/Qdrtd1atXl3Q1AP7888/O1/jpp59kGIbLId+ZM2eqcuXKztuRkZH5/hUfHx8vwzC0f/9+7dix47rNoXz58oqIiJB0NSwdPnzY5XUyMzP16quvqlGjRvL395evr6/Kli2rYcOGObcxEwAfeuihfOu2detWdenSRXXq1JGfn58qVKggwzC0c+fOG671zQLgn//8Z/n5+WnNmjU3fD4BEFZybQBcuHChvLy8tHv3bu3du9dlXPlUfuTIkSpXrpzL65w/f16GYXAiyP8hAAJwi7wBMD09XYZh6LPPPsv3Bzo5OVnS1QAYFxfnfI3rncl67SeLtwqAmzZtkmEYWrVqVb65Dx48eMN5pMuHjerWravFixdr27Zt2rt3r5o2baqXXnrJuc31wtc//vEPhYWFudz33nvvXfc7gHmdPXtWVatWVa9evbRmzRrt2rVLK1asyLcu17pZADx58qSef/55+fr6avXq1dd9PgEQVnJtAExMTJRhGDf9R86V/x8lJSU577vydyLvp4KlGQEQgFtcG9Rq1aqlUaNG3XB7MwGwSpUqLme2fvzxx85DwGfOnJHdbtecOXNuOPeNAmCTJk1c9jkzM1P+/v4uAbBBgwaaMGGCy/M++ugjVa9e3eU7d7169bplANy6dasMw3AGU0maO3euqQCYkZGh3NxcDRgwQL6+vs7vPeZFAERJl5mZqbi4OMXFxckwDE2cOFFxcXHO7+P+5S9/UXBwsPM7xps3b9Y777yjZcuWSbp8IlizZs3Uvn17/frrr9q6datatmyphx9+uDjfVolCAATgFtcGtenTp8vHx0eTJ09WYmKitm3bppkzZ+r999+XZC4A+vn5qWfPntq5c6eWL1+uGjVq6I033nBuM2LECFWtWlWzZ89WUlKSfvnlF3344YfOE1BuFAC7deum8PBwxcXFKT4+Xk888YQqVqzoEgAffvhhde3aVYcPH9axY8ckXb7kRJkyZTRu3DglJSVp6tSpqly58i0D4NGjR2Wz2TRs2DDt27dPX3/9tUJCQkwHQOnypW1eeOEFVahQweXyGDfaF6AkyXvR8rwjMjJSknTx4kWNHDlSwcHBKl++vAIDA9WtWzdt27bN+Rqpqanq3r278wz7vn37chZwHgRAAG5xvcvAzJs3T+Hh4bLZbKpcubLat2+vxYsXSzIXAJ988kmNHDlSVatWlZ+fn/r376+srCznNrm5uZo0aZIaNmyo8uXLq1q1anr00Uedh0RvFABTUlLUsWNH+fj4qE6dOpo6dao6dOjgEgA3btyosLAw2e1252VgpMsnotSpU0e+vr7q06ePxowZc8sAKEnz589XcHCw7Ha7WrdurW+++cYtAfDKOgwePFgVKlTQTz/9dMt9AVB6EAABWArhxfzFqFlDAARAAJZCeLkcAG02m3x9fXXq1KkCP2/NmjXOy2WU9jUESjsCIABLIQBK+/fvd57Z7HA4Cvy88+fP57tcBoDSiQAIAABQyhAAAQAAShkCIAAAQClDAAQAAChlCIAAAAClDAEQAACglCEAAgAAlDIEQAAAgFKGAAgAAFDKEAABAABKmf8P43vZTc4Ex4oAAAAASUVORK5CYII=\" width=\"640\">" + ], + "text/plain": [ + "<IPython.core.display.HTML object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "<matplotlib.collections.PathCollection at 0x7fd0f9597b38>" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lum1 = data1['lum']\n", + "temp1 = data1['temp']\n", + "radio1 = data1['radius']\n", + "#\n", + "ax = plt.gca()\n", + "ax.invert_xaxis() \n", + "plt.scatter( temp1,lum1, s=radio1)\n", + "#plt.colorbar(); # show color scale\n", + "\n", + "#plt.scatter(lum1, temp1)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>lum</th>\n", + " <th>temp</th>\n", + " <th>radius</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>0.000776</td>\n", + " <td>3577.003926</td>\n", + " <td>0.814703</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>0.002638</td>\n", + " <td>3691.168543</td>\n", + " <td>1.209778</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>0.006823</td>\n", + " <td>3793.506494</td>\n", + " <td>1.630027</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>0.019733</td>\n", + " <td>3862.471423</td>\n", + " <td>2.361574</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>0.040402</td>\n", + " <td>3963.530109</td>\n", + " <td>2.910924</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>85</th>\n", + " <td>46.302027</td>\n", + " <td>10625.406634</td>\n", + " <td>2.528836</td>\n", + " </tr>\n", + " <tr>\n", + " <th>86</th>\n", + " <td>177.827941</td>\n", + " <td>10896.877545</td>\n", + " <td>4.016161</td>\n", + " </tr>\n", + " <tr>\n", + " <th>87</th>\n", + " <td>111.480780</td>\n", + " <td>11231.323162</td>\n", + " <td>3.043018</td>\n", + " </tr>\n", + " <tr>\n", + " <th>88</th>\n", + " <td>140.345987</td>\n", + " <td>11709.130116</td>\n", + " <td>2.944580</td>\n", + " </tr>\n", + " <tr>\n", + " <th>89</th>\n", + " <td>303.389118</td>\n", + " <td>13010.740359</td>\n", + " <td>2.921536</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>90 rows × 3 columns</p>\n", + "</div>" + ], + "text/plain": [ + " lum temp radius\n", + "0 0.000776 3577.003926 0.814703\n", + "1 0.002638 3691.168543 1.209778\n", + "2 0.006823 3793.506494 1.630027\n", + "3 0.019733 3862.471423 2.361574\n", + "4 0.040402 3963.530109 2.910924\n", + ".. ... ... ...\n", + "85 46.302027 10625.406634 2.528836\n", + "86 177.827941 10896.877545 4.016161\n", + "87 111.480780 11231.323162 3.043018\n", + "88 140.345987 11709.130116 2.944580\n", + "89 303.389118 13010.740359 2.921536\n", + "\n", + "[90 rows x 3 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data2 = pd.read_csv('data/ms.csv', skiprows=0)\n", + "data2" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "lum2 = data2['lum']\n", + "temp2 = data2['temp']\n", + "radio2 = data2['radius']\n", + "#\n", + "ax = plt.gca()\n", + "ax.invert_xaxis()\n", + "plt.scatter( temp2,lum2, s=radio2)\n", + "#plt.xscale(\"log\")\n", + "plt.yscale(\"log\")\n", + "plt.xlabel(\"Temperatura [K]\")\n", + "plt.ylabel(\"Luminosidad [$L_{Sun}$]\")\n", + "plt.title(\"Diagrama de Hertzsprung-Russell\")\n", + "plt.show()\n", + "#plt.colorbar(); # show color scale\n", + "\n", + "#plt.scatter(lum1, temp1)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>lum</th>\n", + " <th>temp</th>\n", + " <th>radius</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>304.228573</td>\n", + " <td>3654.601099</td>\n", + " <td>145.483474</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>58.884366</td>\n", + " <td>3808.609875</td>\n", + " <td>66.642938</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>9.246982</td>\n", + " <td>3991.751692</td>\n", + " <td>27.603430</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>58.505945</td>\n", + " <td>4164.818180</td>\n", + " <td>50.832968</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>32.033176</td>\n", + " <td>4425.773883</td>\n", + " <td>33.290931</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " lum temp radius\n", + "0 304.228573 3654.601099 145.483474\n", + "1 58.884366 3808.609875 66.642938\n", + "2 9.246982 3991.751692 27.603430\n", + "3 58.505945 4164.818180 50.832968\n", + "4 32.033176 4425.773883 33.290931" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data3 = pd.read_csv('data/giants.txt',delim_whitespace=True)\n", + "data3" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<matplotlib.collections.PathCollection at 0x7fd0f754b0b8>" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lum3 = data3['lum']\n", + "temp3 = data3['temp']\n", + "radio3 = data3['radius']\n", + "#\n", + "plt.scatter(lum3, temp3, s=radio3)\n", + "\n", + "#plt.scatter(lum1, temp1)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>lum</th>\n", + " <th>temp</th>\n", + " <th>radius</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>359749.335156</td>\n", + " <td>3801.042587</td>\n", + " <td>278.055832</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>416869.383470</td>\n", + " <td>4398.962354</td>\n", + " <td>190.278395</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>1000000.000000</td>\n", + " <td>5465.163392</td>\n", + " <td>140.809113</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>920449.571753</td>\n", + " <td>7837.395137</td>\n", + " <td>46.187556</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>779830.110523</td>\n", + " <td>10200.701561</td>\n", + " <td>19.604244</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " lum temp radius\n", + "0 359749.335156 3801.042587 278.055832\n", + "1 416869.383470 4398.962354 190.278395\n", + "2 1000000.000000 5465.163392 140.809113\n", + "3 920449.571753 7837.395137 46.187556\n", + "4 779830.110523 10200.701561 19.604244" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data4 = pd.read_csv('data/supergiants.txt',delim_whitespace=True)\n", + "data4" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<matplotlib.collections.PathCollection at 0x7fd0f95eb390>" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lum4 = data4['lum']\n", + "temp4 = data4['temp']\n", + "radio4 = data4['radius']\n", + "#\n", + "plt.scatter(lum4, temp4, s=radio4)\n", + "#plt.scatter(lum1, temp1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Parte 2: Generando un solo plot" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "total_lum = pd.concat([lum1,lum2,lum3,lum4])\n", + "#len(total_lum)\n", + "total_temp = pd.concat([temp1,temp2,temp3,temp4])\n", + "total_radio = pd.concat([radio1,radio2,radio3,radio4])" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "colors = total_temp\n", + "plt.scatter( total_temp,total_lum, s=total_radio,c=colors, cmap=plt.cm.RdYlGn)\n", + "#plt.scatter( temp1,lum1, s=radio1,color='white',edgecolors='black')\n", + "plt.text(10000, 1, \"Secuencia principal\", family=\"monospace\")\n", + "plt.text(8000, 40000, \"Super gigantes\", family=\"monospace\")\n", + "plt.text(5000, 1000, \"Gigantes\", family=\"monospace\")\n", + "plt.text(7000, 0.001, \"Enanas blancas\", family=\"monospace\")\n", + "\n", + "#plt.text(2.5, 2., \"sans-serif\", family=\"sans-serif\")\n", + "#cbar = plt.colorbar()\n", + "ax = plt.gca()\n", + "ax.invert_xaxis()\n", + "#plt.xscale(\"log\")\n", + "plt.yscale(\"log\")\n", + "plt.xlabel(\"Temperatura [K]\")\n", + "plt.ylabel(\"Luminosidad [$L_{Sun}$]\")\n", + "plt.title(\"Diagrama de Hertzsprung-Russell\")\n", + "plt.show()\n", + "#plt.colorbar(); # show color scale" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Parte 3: Animar" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "/* global mpl */\n", + "window.mpl = {};\n", + "\n", + "mpl.get_websocket_type = function () {\n", + " if (typeof WebSocket !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof MozWebSocket !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert(\n", + " 'Your browser does not have WebSocket support. ' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.'\n", + " );\n", + " }\n", + "};\n", + "\n", + "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = this.ws.binaryType !== undefined;\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById('mpl-warnings');\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent =\n", + " 'This browser does not support binary websocket messages. ' +\n", + " 'Performance may be slow.';\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = document.createElement('div');\n", + " this.root.setAttribute('style', 'display: inline-block');\n", + " this._root_extra_style(this.root);\n", + "\n", + " parent_element.appendChild(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message('supports_binary', { value: fig.supports_binary });\n", + " fig.send_message('send_image_mode', {});\n", + " if (fig.ratio !== 1) {\n", + " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", + " }\n", + " fig.send_message('refresh', {});\n", + " };\n", + "\n", + " this.imageObj.onload = function () {\n", + " if (fig.image_mode === 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function () {\n", + " fig.ws.close();\n", + " };\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "};\n", + "\n", + "mpl.figure.prototype._init_header = function () {\n", + " var titlebar = document.createElement('div');\n", + " titlebar.classList =\n", + " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", + " var titletext = document.createElement('div');\n", + " titletext.classList = 'ui-dialog-title';\n", + " titletext.setAttribute(\n", + " 'style',\n", + " 'width: 100%; text-align: center; padding: 3px;'\n", + " );\n", + " titlebar.appendChild(titletext);\n", + " this.root.appendChild(titlebar);\n", + " this.header = titletext;\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._init_canvas = function () {\n", + " var fig = this;\n", + "\n", + " var canvas_div = (this.canvas_div = document.createElement('div'));\n", + " canvas_div.setAttribute(\n", + " 'style',\n", + " 'border: 1px solid #ddd;' +\n", + " 'box-sizing: content-box;' +\n", + " 'clear: both;' +\n", + " 'min-height: 1px;' +\n", + " 'min-width: 1px;' +\n", + " 'outline: 0;' +\n", + " 'overflow: hidden;' +\n", + " 'position: relative;' +\n", + " 'resize: both;'\n", + " );\n", + "\n", + " function on_keyboard_event_closure(name) {\n", + " return function (event) {\n", + " return fig.key_event(event, name);\n", + " };\n", + " }\n", + "\n", + " canvas_div.addEventListener(\n", + " 'keydown',\n", + " on_keyboard_event_closure('key_press')\n", + " );\n", + " canvas_div.addEventListener(\n", + " 'keyup',\n", + " on_keyboard_event_closure('key_release')\n", + " );\n", + "\n", + " this._canvas_extra_style(canvas_div);\n", + " this.root.appendChild(canvas_div);\n", + "\n", + " var canvas = (this.canvas = document.createElement('canvas'));\n", + " canvas.classList.add('mpl-canvas');\n", + " canvas.setAttribute('style', 'box-sizing: content-box;');\n", + "\n", + " this.context = canvas.getContext('2d');\n", + "\n", + " var backingStore =\n", + " this.context.backingStorePixelRatio ||\n", + " this.context.webkitBackingStorePixelRatio ||\n", + " this.context.mozBackingStorePixelRatio ||\n", + " this.context.msBackingStorePixelRatio ||\n", + " this.context.oBackingStorePixelRatio ||\n", + " this.context.backingStorePixelRatio ||\n", + " 1;\n", + "\n", + " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", + " 'canvas'\n", + " ));\n", + " rubberband_canvas.setAttribute(\n", + " 'style',\n", + " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", + " );\n", + "\n", + " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", + " if (this.ResizeObserver === undefined) {\n", + " if (window.ResizeObserver !== undefined) {\n", + " this.ResizeObserver = window.ResizeObserver;\n", + " } else {\n", + " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", + " this.ResizeObserver = obs.ResizeObserver;\n", + " }\n", + " }\n", + "\n", + " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", + " var nentries = entries.length;\n", + " for (var i = 0; i < nentries; i++) {\n", + " var entry = entries[i];\n", + " var width, height;\n", + " if (entry.contentBoxSize) {\n", + " if (entry.contentBoxSize instanceof Array) {\n", + " // Chrome 84 implements new version of spec.\n", + " width = entry.contentBoxSize[0].inlineSize;\n", + " height = entry.contentBoxSize[0].blockSize;\n", + " } else {\n", + " // Firefox implements old version of spec.\n", + " width = entry.contentBoxSize.inlineSize;\n", + " height = entry.contentBoxSize.blockSize;\n", + " }\n", + " } else {\n", + " // Chrome <84 implements even older version of spec.\n", + " width = entry.contentRect.width;\n", + " height = entry.contentRect.height;\n", + " }\n", + "\n", + " // Keep the size of the canvas and rubber band canvas in sync with\n", + " // the canvas container.\n", + " if (entry.devicePixelContentBoxSize) {\n", + " // Chrome 84 implements new version of spec.\n", + " canvas.setAttribute(\n", + " 'width',\n", + " entry.devicePixelContentBoxSize[0].inlineSize\n", + " );\n", + " canvas.setAttribute(\n", + " 'height',\n", + " entry.devicePixelContentBoxSize[0].blockSize\n", + " );\n", + " } else {\n", + " canvas.setAttribute('width', width * fig.ratio);\n", + " canvas.setAttribute('height', height * fig.ratio);\n", + " }\n", + " canvas.setAttribute(\n", + " 'style',\n", + " 'width: ' + width + 'px; height: ' + height + 'px;'\n", + " );\n", + "\n", + " rubberband_canvas.setAttribute('width', width);\n", + " rubberband_canvas.setAttribute('height', height);\n", + "\n", + " // And update the size in Python. We ignore the initial 0/0 size\n", + " // that occurs as the element is placed into the DOM, which should\n", + " // otherwise not happen due to the minimum size styling.\n", + " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", + " fig.request_resize(width, height);\n", + " }\n", + " }\n", + " });\n", + " this.resizeObserverInstance.observe(canvas_div);\n", + "\n", + " function on_mouse_event_closure(name) {\n", + " return function (event) {\n", + " return fig.mouse_event(event, name);\n", + " };\n", + " }\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mousedown',\n", + " on_mouse_event_closure('button_press')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseup',\n", + " on_mouse_event_closure('button_release')\n", + " );\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband_canvas.addEventListener(\n", + " 'mousemove',\n", + " on_mouse_event_closure('motion_notify')\n", + " );\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseenter',\n", + " on_mouse_event_closure('figure_enter')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseleave',\n", + " on_mouse_event_closure('figure_leave')\n", + " );\n", + "\n", + " canvas_div.addEventListener('wheel', function (event) {\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " on_mouse_event_closure('scroll')(event);\n", + " });\n", + "\n", + " canvas_div.appendChild(canvas);\n", + " canvas_div.appendChild(rubberband_canvas);\n", + "\n", + " this.rubberband_context = rubberband_canvas.getContext('2d');\n", + " this.rubberband_context.strokeStyle = '#000000';\n", + "\n", + " this._resize_canvas = function (width, height, forward) {\n", + " if (forward) {\n", + " canvas_div.style.width = width + 'px';\n", + " canvas_div.style.height = height + 'px';\n", + " }\n", + " };\n", + "\n", + " // Disable right mouse context menu.\n", + " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", + " event.preventDefault();\n", + " return false;\n", + " });\n", + "\n", + " function set_focus() {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'mpl-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " continue;\n", + " }\n", + "\n", + " var button = (fig.buttons[name] = document.createElement('button'));\n", + " button.classList = 'mpl-widget';\n", + " button.setAttribute('role', 'button');\n", + " button.setAttribute('aria-disabled', 'false');\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + "\n", + " var icon_img = document.createElement('img');\n", + " icon_img.src = '_images/' + image + '.png';\n", + " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", + " icon_img.alt = tooltip;\n", + " button.appendChild(icon_img);\n", + "\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " var fmt_picker = document.createElement('select');\n", + " fmt_picker.classList = 'mpl-widget';\n", + " toolbar.appendChild(fmt_picker);\n", + " this.format_dropdown = fmt_picker;\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = document.createElement('option');\n", + " option.selected = fmt === mpl.default_extension;\n", + " option.innerHTML = fmt;\n", + " fmt_picker.appendChild(option);\n", + " }\n", + "\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "};\n", + "\n", + "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", + "};\n", + "\n", + "mpl.figure.prototype.send_message = function (type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "};\n", + "\n", + "mpl.figure.prototype.send_draw_message = function () {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1], msg['forward']);\n", + " fig.send_message('refresh', {});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", + " var x0 = msg['x0'] / fig.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", + " var x1 = msg['x1'] / fig.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0,\n", + " 0,\n", + " fig.canvas.width / fig.ratio,\n", + " fig.canvas.height / fig.ratio\n", + " );\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", + " var cursor = msg['cursor'];\n", + " switch (cursor) {\n", + " case 0:\n", + " cursor = 'pointer';\n", + " break;\n", + " case 1:\n", + " cursor = 'default';\n", + " break;\n", + " case 2:\n", + " cursor = 'crosshair';\n", + " break;\n", + " case 3:\n", + " cursor = 'move';\n", + " break;\n", + " }\n", + " fig.rubberband_canvas.style.cursor = cursor;\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_message = function (fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n", + " for (var key in msg) {\n", + " if (!(key in fig.buttons)) {\n", + " continue;\n", + " }\n", + " fig.buttons[key].disabled = !msg[key];\n", + " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", + " if (msg['mode'] === 'PAN') {\n", + " fig.buttons['Pan'].classList.add('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " } else if (msg['mode'] === 'ZOOM') {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.add('active');\n", + " } else {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message('ack', {});\n", + "};\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function (fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " evt.data.type = 'image/png';\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src\n", + " );\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " evt.data\n", + " );\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " } else if (\n", + " typeof evt.data === 'string' &&\n", + " evt.data.slice(0, 21) === 'data:image/png;base64'\n", + " ) {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig['handle_' + msg_type];\n", + " } catch (e) {\n", + " console.log(\n", + " \"No handler for the '\" + msg_type + \"' message type: \",\n", + " msg\n", + " );\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\n", + " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", + " e,\n", + " e.stack,\n", + " msg\n", + " );\n", + " }\n", + " }\n", + " };\n", + "};\n", + "\n", + "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function (e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e) {\n", + " e = window.event;\n", + " }\n", + " if (e.target) {\n", + " targ = e.target;\n", + " } else if (e.srcElement) {\n", + " targ = e.srcElement;\n", + " }\n", + " if (targ.nodeType === 3) {\n", + " // defeat Safari bug\n", + " targ = targ.parentNode;\n", + " }\n", + "\n", + " // pageX,Y are the mouse positions relative to the document\n", + " var boundingRect = targ.getBoundingClientRect();\n", + " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", + " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", + "\n", + " return { x: x, y: y };\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * http://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys(original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object') {\n", + " obj[key] = original[key];\n", + " }\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function (event, name) {\n", + " var canvas_pos = mpl.findpos(event);\n", + "\n", + " if (name === 'button_press') {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * this.ratio;\n", + " var y = canvas_pos.y * this.ratio;\n", + "\n", + " this.send_message(name, {\n", + " x: x,\n", + " y: y,\n", + " button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event),\n", + " });\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "};\n", + "\n", + "mpl.figure.prototype.key_event = function (event, name) {\n", + " // Prevent repeat events\n", + " if (name === 'key_press') {\n", + " if (event.which === this._key) {\n", + " return;\n", + " } else {\n", + " this._key = event.which;\n", + " }\n", + " }\n", + " if (name === 'key_release') {\n", + " this._key = null;\n", + " }\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.which !== 17) {\n", + " value += 'ctrl+';\n", + " }\n", + " if (event.altKey && event.which !== 18) {\n", + " value += 'alt+';\n", + " }\n", + " if (event.shiftKey && event.which !== 16) {\n", + " value += 'shift+';\n", + " }\n", + "\n", + " value += 'k';\n", + " value += event.which.toString();\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", + " if (name === 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message('toolbar_button', { name: name });\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "\n", + "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", + "// prettier-ignore\n", + "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";/* global mpl */\n", + "\n", + "var comm_websocket_adapter = function (comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.close = function () {\n", + " comm.close();\n", + " };\n", + " ws.send = function (m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function (msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", + " ws.onmessage(msg['content']['data']);\n", + " });\n", + " return ws;\n", + "};\n", + "\n", + "mpl.mpl_figure_comm = function (comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = document.getElementById(id);\n", + " var ws_proxy = comm_websocket_adapter(comm);\n", + "\n", + " function ondownload(figure, _format) {\n", + " window.open(figure.canvas.toDataURL());\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element;\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error('Failed to find cell for figure', id, fig);\n", + " return;\n", + " }\n", + " fig.cell_info[0].output_area.element.on(\n", + " 'cleared',\n", + " { fig: fig },\n", + " fig._remove_fig_handler\n", + " );\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function (fig, msg) {\n", + " var width = fig.canvas.width / fig.ratio;\n", + " fig.cell_info[0].output_area.element.off(\n", + " 'cleared',\n", + " fig._remove_fig_handler\n", + " );\n", + " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable();\n", + " fig.parent_element.innerHTML =\n", + " '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + " fig.close_ws(fig, msg);\n", + "};\n", + "\n", + "mpl.figure.prototype.close_ws = function (fig, msg) {\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "};\n", + "\n", + "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width / this.ratio;\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] =\n", + " '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message('ack', {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () {\n", + " fig.push_to_output();\n", + " }, 1000);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'btn-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " var button;\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " continue;\n", + " }\n", + "\n", + " button = fig.buttons[name] = document.createElement('button');\n", + " button.classList = 'btn btn-default';\n", + " button.href = '#';\n", + " button.title = name;\n", + " button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message pull-right';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = document.createElement('div');\n", + " buttongrp.classList = 'btn-group inline pull-right';\n", + " button = document.createElement('button');\n", + " button.classList = 'btn btn-mini btn-primary';\n", + " button.href = '#';\n", + " button.title = 'Stop Interaction';\n", + " button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n", + " button.addEventListener('click', function (_evt) {\n", + " fig.handle_close(fig, {});\n", + " });\n", + " button.addEventListener(\n", + " 'mouseover',\n", + " on_mouseover_closure('Stop Interaction')\n", + " );\n", + " buttongrp.appendChild(button);\n", + " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", + " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", + "};\n", + "\n", + "mpl.figure.prototype._remove_fig_handler = function (event) {\n", + " var fig = event.data.fig;\n", + " if (event.target !== this) {\n", + " // Ignore bubbled events from children.\n", + " return;\n", + " }\n", + " fig.close_ws(fig, {});\n", + "};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (el) {\n", + " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (el) {\n", + " // this is important to make the div 'focusable\n", + " el.setAttribute('tabindex', 0);\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " } else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", + " var manager = IPython.notebook.keyboard_manager;\n", + " if (!manager) {\n", + " manager = IPython.keyboard_manager;\n", + " }\n", + "\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which === 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " fig.ondownload(fig, null);\n", + "};\n", + "\n", + "mpl.find_output_cell = function (html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i = 0; i < ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code') {\n", + " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] === html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "};\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel !== null) {\n", + " IPython.notebook.kernel.comm_manager.register_target(\n", + " 'matplotlib',\n", + " mpl.mpl_figure_comm\n", + " );\n", + "}\n" + ], + "text/plain": [ + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4nOzde1wU9f4/8M8usguCgCBeAF1U8kZe0OSklmiWmaFmVkfrG2CmZV4Sk05mpfRLrSwvaeUVPKVkmnayIi2VzPJ6Ck0hDW9FhqaB5g0UfP3+4OzEsLuwy8yyO+zr+XjM47TL7s6wvvX9Op+Zz2cEiIiIiMijCFcfABERERHVLgZAIiIiIg/DAEhERETkYRgAiYiIiDwMAyARERGRh2EAJCIiIvIwDIBEREREHoYBkIiIiMjDMAASEREReRgGQCIiIiIPwwBIRERE5GEYAImIiIg8DAMgERERkYdhACQiIiLyMAyARERERB6GAZCIiIjIwzAAEhEREXkYBkAiIiIiD8MASERERORhGACJiIiIPAwDIBEREZGHYQAkIiIi8jAMgEREREQehgGQiIiIyMMwABIRERF5GAZAIiIiIg/DAEhERETkYRgAiYiIiDwMAyARERGRh2EAJCIiIvIwDIBEREREHoYBkIiIiMjDMAASEREReRgGQCIiIiIPwwBIZIfp06dDCP51qam4uDjExcW5+jCIauzEiRMQQiA9PV16jv8ukJaxcsnjpKenQwghbUajEc2aNUP//v2xYMEC/PXXXxbv4T/0yqgdABMTE+Hn52fz50IIjBs3TrX9AcDly5cxffp0ZGVlqfq5niArK0v2d06v1yM0NBTDhg1Dbm6uqw/PLgyAVNewcsnjmAPgyy+/jPfffx9paWmYNWsW+vfvD51OB5PJhAMHDsjec/36dVy9etVFR6x9dSEAnj17FkIITJ8+XdXP9QTmADhx4kTp79ykSZPg4+ODkJAQFBQUuPoQq8UASHUNK5c8jjkA7tu3z+JnW7duha+vL0wmE65cueKCo5O7dOmSqw9BFVoOgGVlZbh69arbB0B3rhVzAFy3bp3s+XfffRdCCLz22msuOjL7MQBSXcPKJY9TVQAEgFmzZkEIgaVLl0rPWfuHPi0tDX379kVoaCgMBgPat2+Pd955x+LzysrKMH36dDRr1gy+vr7o06cPcnJyYDKZkJiYaHFcX3/9NcaOHYvQ0FAEBQUBAE6ePImxY8eiTZs28PHxQXBwMB544AGcOHHC6u+2Y8cOTJgwAY0aNUJgYCDGjBmDkpISFBUV4dFHH0VQUBCCgoKQkpKCGzduyD5jzpw56NGjB4KDg+Hj44OuXbtaNO6qLFmyBK1atYKPjw+6d++Ob775xmoALC4uxksvvYTWrVvDYDAgIiICKSkpKC4urnYfNQmA9u7P/N5Vq1ahQ4cOqFevHubNmyc7hWnezKeErf1MCAGTySR97r59+9C/f3+EhITAx8cHkZGRGDlypPRzc8CYM2cO5s6dixYtWsDHxwe9e/fGwYMHrf7+R48exT333AN/f38MGTIEACzqyqzyn4H5uD/88EO88sorCA8Ph9FoxB133IG8vDyL9y9atAgtW7as9s/VGlsB8NChQxBCYMyYMbLfreL3Zmbt7+CXX36JXr16ITAwEH5+fmjTpg2mTp0qe81bb72FDh06wNfXF0FBQejWrRtWr14te81vv/2GkSNHonHjxjAYDOjQoQNWrFghew0DINU1rFzyONUFwPz8fAgh8MADD0jPWfuHvnv37khKSsK8efOwcOFC9O/fH0IILFq0SPa6Z599FkIIDBo0CIsWLcLo0aMRERGBRo0aWQ2AHTp0QFxcHBYuXIhXX30VALBu3Tp07twZL730EpYuXYrnn38eDRs2hMlkwuXLly0+o0uXLhgwYADefvttPProoxBC4Nlnn8Vtt92Ghx9+GO+88w7i4+MhhMC///1v2fFGRETgqaeewqJFizB37lzExsZCCIHPPvus2u92+fLlEEKgZ8+eeOuttzBp0iQEBQWhVatWsqBQVlaG/v37o379+pg0aRKWLFmC8ePHo169elKQqYo5AJ09e9bqVjkAOrI/IQTat2+P0NBQpKam4u2338a3334rjVYNHToU77//Pt5//30cOHAAp0+flh6bt4ULF8Lb2xvdu3cHAJw5cwYNGzZEmzZtMGfOHCxbtgzTpk1D+/btpf2aA0bHjh0RGRmJ1157DampqQgODkZoaChOnz4t+/2NRiNat26NxMRELF68GO+99x4AxwNgTEwMunXrhnnz5mHGjBmoX78+YmNjZe995513IITA7bffjrfeeguTJ09GcHAwWrdurSgAfvbZZxBC4F//+pfsd7MnAB46dAgGgwG33HILFixYgMWLF2PKlCno3bu39JqlS5dKf5eXLFmCBQsWYNSoUZg4caL0mtOnTyMiIgLNmzfHyy+/jHfffReDBw+GEALz5s2TXscASHUNK5c8TnUBEAACAwMRExMjPbb2D721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EVFd4Q4B8Pr16+jbt6+0puGdd96Jn376yaHP+PHHHxETEwNfX180adIEI0eOdPk9g8n9sH8zACrCAiIiItIe9m8GQEVYQERERNrD/s0AqAgLiIiISHvYvxkAFWEBERERaQ/7NwOgIiwgIiIi7WH/ZgBUhAVERESkPezfDICKsICIiIi0hx4oG1EAACAASURBVP2bAVARFhAREZH2sH8zACrCAiIiItIe9m8GQEVYQERERNrD/s0AqAgLiIiISHvYvxkAFWEBERERaQ/7NwOgIiwgIiIi7WH/ZgBUhAVERESkPezfDICKsICIiIi0h/2bAVARFhAREZH2sH8zACrCAiIiItIe9m8GQEVYQERERNrD/s0AqAgLiIiISHvYvxkAFWEBERERaQ/7NwOgIiwgIiIi7WH/ZgBUhAVERESkPezfDICKsICIiIi0h/2bAVARFhAREZH2sH8zACrCAiIiItIe9m8GQEVYQERERNrD/s0AqAgLiIiISHvYvxkAFWEBERERaQ/7NwOgIiwgIiIi7WH/ZgBUhAVERESkPezfDICKsICIiIi0h/2bAVARFhAREZH2sH8zACrCAiIiItIe9m8GQEVYQERERNrD/s0AqAgLiIiISHvYvxkAFWEBERERaQ/7NwOgIiwgIiJyZ4GBgUhPT3f1Ybgd9m8GQEVYQERE5CpffvklevToAV9fXzRp0gRJSUn4888/Za85c+YMrly54qIjBLKysiCEwNmzZ112DNawfzMAKsICIiIiV9i0aRPq1auHF198EYcOHcL333+Pl19+GQcPHnT1ockwALovBkAFWEBEROQKHTt2RFJSks2ft27dGkIICCGsngLOy8tDz549YTQa0atXL0yZMgUmk0n6+d69e3HnnXciJCQEPj4+6NGjB7777jvp5ydOnIAQAkuXLkWnTp3g5+eHYcOG4fLlywD+Dn6Vt4r7AIBt27YhNjYWRqMRUVFReOutt2Q/P3HiBAYOHIjAwEA0aNAAPXv2xKFDhxz/wiph/2YAVIQFREREte3UqVMQQiAzM9Pma86ePYuCggIEBARYDYC33nor+vbti4MHD+KDDz6An5+fLJx9+umnmD9/PrKzs5GXl4dx48YhMDAQf/31F4C/A2DXrl2xb98+bN26FX5+fli4cCEAoKSkBAUFBVi/fj2EEMjJyUFBQQH++OMPaR9HjhyB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\" width=\"640\">" + ], + "text/plain": [ + "<IPython.core.display.HTML object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from matplotlib.animation import FuncAnimation\n", + "\n", + "\n", + "N = len(total_temp)\n", + "\n", + "fig = plt.figure()\n", + "plt.xlim(3000, 15000)\n", + "plt.ylim(1e-5, 1e7)\n", + "plt.yscale('log')\n", + "plt.xlabel(\"Temperatura [K]\")\n", + "plt.ylabel(\"Luminosidad [$L_{Sun}$]\")\n", + "plt.title(\"Diagrama de Hertzsprung-Russell\")\n", + "plt.text(10000, 1, \"Secuencia principal\", family=\"monospace\")\n", + "plt.text(8000, 40000, \"Super gigantes\", family=\"monospace\")\n", + "plt.text(5000, 1000, \"Gigantes\", family=\"monospace\")\n", + "plt.text(7000, 0.001, \"Enanas blancas\", family=\"monospace\")\n", + "\n", + "ax = plt.gca()\n", + "ax.invert_xaxis()\n", + "\n", + "graph, = plt.plot([], [], 'ob')\n", + "\n", + "def animate(i):\n", + " graph.set_data(total_temp[:i+1], total_lum[:i+1])\n", + " return graph\n", + "\n", + "ani = FuncAnimation(fig, animate, frames=N, interval=200)\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/sine_wave.gif b/sine_wave.gif new file mode 100644 index 0000000000000000000000000000000000000000..bdaec32b60cf31cfa8254c16197e2f48d7d65b48 Binary files /dev/null and b/sine_wave.gif differ