7981 lines
506 KiB
HTML
7981 lines
506 KiB
HTML
<!DOCTYPE html>
|
||
|
||
<html lang="en">
|
||
<head><meta charset="utf-8"/>
|
||
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
|
||
<title>tutorial</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script><script>
|
||
(function() {
|
||
function addWidgetsRenderer() {
|
||
var mimeElement = document.querySelector('script[type="application/vnd.jupyter.widget-view+json"]');
|
||
var scriptElement = document.createElement('script');
|
||
|
||
var widgetRendererSrc = 'https://unpkg.com/@jupyter-widgets/html-manager@*/dist/embed-amd.js';
|
||
|
||
var widgetState;
|
||
|
||
// Fallback for older version:
|
||
try {
|
||
widgetState = mimeElement && JSON.parse(mimeElement.innerHTML);
|
||
|
||
if (widgetState && (widgetState.version_major < 2 || !widgetState.version_major)) {
|
||
|
||
var widgetRendererSrc = 'https://unpkg.com/@jupyter-js-widgets@*/dist/embed.js';
|
||
|
||
}
|
||
} catch(e) {}
|
||
|
||
scriptElement.src = widgetRendererSrc;
|
||
document.body.appendChild(scriptElement);
|
||
}
|
||
|
||
document.addEventListener('DOMContentLoaded', addWidgetsRenderer);
|
||
}());
|
||
</script>
|
||
<style type="text/css">
|
||
pre { line-height: 125%; }
|
||
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||
td.linenos .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 .pm { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation.Marker */
|
||
.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;
|
||
}
|
||
|
||
/* tiny scrollbar */
|
||
|
||
.jp-scrollbar-tiny {
|
||
scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
|
||
scrollbar-width: thin;
|
||
}
|
||
|
||
/* tiny scrollbar */
|
||
|
||
.jp-scrollbar-tiny::-webkit-scrollbar,
|
||
.jp-scrollbar-tiny::-webkit-scrollbar-corner {
|
||
background-color: transparent;
|
||
height: 4px;
|
||
width: 4px;
|
||
}
|
||
|
||
.jp-scrollbar-tiny::-webkit-scrollbar-thumb {
|
||
background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
|
||
}
|
||
|
||
.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {
|
||
border-left: 0 solid transparent;
|
||
border-right: 0 solid transparent;
|
||
}
|
||
|
||
.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
|
||
border-top: 0 solid transparent;
|
||
border-bottom: 0 solid transparent;
|
||
}
|
||
|
||
/*
|
||
* Lumino
|
||
*/
|
||
|
||
.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.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-Widget {
|
||
box-sizing: border-box;
|
||
position: relative;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.lm-Widget.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title {
|
||
/* Title is rotated for horizontal accordion panel using CSS */
|
||
display: block;
|
||
transform-origin: top left;
|
||
transform: rotate(-90deg) translate(-100%);
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-CommandPalette {
|
||
display: flex;
|
||
flex-direction: column;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.lm-CommandPalette-search {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-CommandPalette-content {
|
||
flex: 1 1 auto;
|
||
margin: 0;
|
||
padding: 0;
|
||
min-height: 0;
|
||
overflow: auto;
|
||
list-style-type: none;
|
||
}
|
||
|
||
.lm-CommandPalette-header {
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.lm-CommandPalette-item {
|
||
display: flex;
|
||
flex-direction: row;
|
||
}
|
||
|
||
.lm-CommandPalette-itemIcon {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-CommandPalette-itemContent {
|
||
flex: 1 1 auto;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.lm-CommandPalette-itemShortcut {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-CommandPalette-itemLabel {
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.lm-close-icon {
|
||
border: 1px solid transparent;
|
||
background-color: transparent;
|
||
position: absolute;
|
||
z-index: 1;
|
||
right: 3%;
|
||
top: 0;
|
||
bottom: 0;
|
||
margin: auto;
|
||
padding: 7px 0;
|
||
display: none;
|
||
vertical-align: middle;
|
||
outline: 0;
|
||
cursor: pointer;
|
||
}
|
||
.lm-close-icon:after {
|
||
content: 'X';
|
||
display: block;
|
||
width: 15px;
|
||
height: 15px;
|
||
text-align: center;
|
||
color: #000;
|
||
font-weight: normal;
|
||
font-size: 12px;
|
||
cursor: pointer;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-DockPanel {
|
||
z-index: 0;
|
||
}
|
||
|
||
.lm-DockPanel-widget {
|
||
z-index: 0;
|
||
}
|
||
|
||
.lm-DockPanel-tabBar {
|
||
z-index: 1;
|
||
}
|
||
|
||
.lm-DockPanel-handle {
|
||
z-index: 2;
|
||
}
|
||
|
||
.lm-DockPanel-handle.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-DockPanel-handle:after {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
content: '';
|
||
}
|
||
|
||
.lm-DockPanel-handle[data-orientation='horizontal'] {
|
||
cursor: ew-resize;
|
||
}
|
||
|
||
.lm-DockPanel-handle[data-orientation='vertical'] {
|
||
cursor: ns-resize;
|
||
}
|
||
|
||
.lm-DockPanel-handle[data-orientation='horizontal']:after {
|
||
left: 50%;
|
||
min-width: 8px;
|
||
transform: translateX(-50%);
|
||
}
|
||
|
||
.lm-DockPanel-handle[data-orientation='vertical']:after {
|
||
top: 50%;
|
||
min-height: 8px;
|
||
transform: translateY(-50%);
|
||
}
|
||
|
||
.lm-DockPanel-overlay {
|
||
z-index: 3;
|
||
box-sizing: border-box;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.lm-DockPanel-overlay.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.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;
|
||
}
|
||
|
||
.lm-Menu-content {
|
||
margin: 0;
|
||
padding: 0;
|
||
display: table;
|
||
list-style-type: none;
|
||
}
|
||
|
||
.lm-Menu-item {
|
||
display: table-row;
|
||
}
|
||
|
||
.lm-Menu-item.lm-mod-hidden,
|
||
.lm-Menu-item.lm-mod-collapsed {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-Menu-itemIcon,
|
||
.lm-Menu-itemSubmenuIcon {
|
||
display: table-cell;
|
||
text-align: center;
|
||
}
|
||
|
||
.lm-Menu-itemLabel {
|
||
display: table-cell;
|
||
text-align: left;
|
||
}
|
||
|
||
.lm-Menu-itemShortcut {
|
||
display: table-cell;
|
||
text-align: right;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-MenuBar {
|
||
outline: none;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.lm-MenuBar-content {
|
||
margin: 0;
|
||
padding: 0;
|
||
display: flex;
|
||
flex-direction: row;
|
||
list-style-type: none;
|
||
}
|
||
|
||
.lm-MenuBar-item {
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.lm-MenuBar-itemIcon,
|
||
.lm-MenuBar-itemLabel {
|
||
display: inline-block;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-ScrollBar {
|
||
display: flex;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.lm-ScrollBar[data-orientation='horizontal'] {
|
||
flex-direction: row;
|
||
}
|
||
|
||
.lm-ScrollBar[data-orientation='vertical'] {
|
||
flex-direction: column;
|
||
}
|
||
|
||
.lm-ScrollBar-button {
|
||
box-sizing: border-box;
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-ScrollBar-track {
|
||
box-sizing: border-box;
|
||
position: relative;
|
||
overflow: hidden;
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.lm-ScrollBar-thumb {
|
||
box-sizing: border-box;
|
||
position: absolute;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-SplitPanel-child {
|
||
z-index: 0;
|
||
}
|
||
|
||
.lm-SplitPanel-handle {
|
||
z-index: 1;
|
||
}
|
||
|
||
.lm-SplitPanel-handle.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-SplitPanel-handle:after {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
content: '';
|
||
}
|
||
|
||
.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {
|
||
cursor: ew-resize;
|
||
}
|
||
|
||
.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {
|
||
cursor: ns-resize;
|
||
}
|
||
|
||
.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {
|
||
left: 50%;
|
||
min-width: 8px;
|
||
transform: translateX(-50%);
|
||
}
|
||
|
||
.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {
|
||
top: 50%;
|
||
min-height: 8px;
|
||
transform: translateY(-50%);
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-TabBar {
|
||
display: flex;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.lm-TabBar[data-orientation='horizontal'] {
|
||
flex-direction: row;
|
||
align-items: flex-end;
|
||
}
|
||
|
||
.lm-TabBar[data-orientation='vertical'] {
|
||
flex-direction: column;
|
||
align-items: flex-end;
|
||
}
|
||
|
||
.lm-TabBar-content {
|
||
margin: 0;
|
||
padding: 0;
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
list-style-type: none;
|
||
}
|
||
|
||
.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {
|
||
flex-direction: row;
|
||
}
|
||
|
||
.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {
|
||
flex-direction: column;
|
||
}
|
||
|
||
.lm-TabBar-tab {
|
||
display: flex;
|
||
flex-direction: row;
|
||
box-sizing: border-box;
|
||
overflow: hidden;
|
||
touch-action: none; /* Disable native Drag/Drop */
|
||
}
|
||
|
||
.lm-TabBar-tabIcon,
|
||
.lm-TabBar-tabCloseIcon {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-TabBar-tabLabel {
|
||
flex: 1 1 auto;
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.lm-TabBar-tabInput {
|
||
user-select: all;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.lm-TabBar-tab.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-TabBar-addButton.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {
|
||
position: relative;
|
||
}
|
||
|
||
.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {
|
||
left: 0;
|
||
transition: left 150ms ease;
|
||
}
|
||
|
||
.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {
|
||
top: 0;
|
||
transition: top 150ms ease;
|
||
}
|
||
|
||
.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {
|
||
transition: none;
|
||
}
|
||
|
||
.lm-TabBar-tabLabel .lm-TabBar-tabInput {
|
||
user-select: all;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
background: inherit;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-TabPanel-tabBar {
|
||
z-index: 1;
|
||
}
|
||
|
||
.lm-TabPanel-stackedPanel {
|
||
z-index: 0;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Collapse {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: stretch;
|
||
}
|
||
|
||
.jp-Collapse-header {
|
||
padding: 1px 12px;
|
||
background-color: var(--jp-layout-color1);
|
||
border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
|
||
color: var(--jp-ui-font-color1);
|
||
cursor: pointer;
|
||
display: flex;
|
||
align-items: center;
|
||
font-size: var(--jp-ui-font-size0);
|
||
font-weight: 600;
|
||
text-transform: uppercase;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-Collapser-icon {
|
||
height: 16px;
|
||
}
|
||
|
||
.jp-Collapse-header-collapsed .jp-Collapser-icon {
|
||
transform: rotate(-90deg);
|
||
margin: auto 0;
|
||
}
|
||
|
||
.jp-Collapser-title {
|
||
line-height: 25px;
|
||
}
|
||
|
||
.jp-Collapse-contents {
|
||
padding: 0 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* 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-above: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5MikiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik00Ljc1IDQuOTMwNjZINi42MjVWNi44MDU2NkM2LjYyNSA3LjAxMTkxIDYuNzkzNzUgNy4xODA2NiA3IDcuMTgwNjZDNy4yMDYyNSA3LjE4MDY2IDcuMzc1IDcuMDExOTEgNy4zNzUgNi44MDU2NlY0LjkzMDY2SDkuMjVDOS40NTYyNSA0LjkzMDY2IDkuNjI1IDQuNzYxOTEgOS42MjUgNC41NTU2NkM5LjYyNSA0LjM0OTQxIDkuNDU2MjUgNC4xODA2NiA5LjI1IDQuMTgwNjZINy4zNzVWMi4zMDU2NkM3LjM3NSAyLjA5OTQxIDcuMjA2MjUgMS45MzA2NiA3IDEuOTMwNjZDNi43OTM3NSAxLjkzMDY2IDYuNjI1IDIuMDk5NDEgNi42MjUgMi4zMDU2NlY0LjE4MDY2SDQuNzVDNC41NDM3NSA0LjE4MDY2IDQuMzc1IDQuMzQ5NDEgNC4zNzUgNC41NTU2NkM0LjM3NSA0Ljc2MTkxIDQuNTQzNzUgNC45MzA2NiA0Ljc1IDQuOTMwNjZaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC43Ii8+CjwvZz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjUgOS41VjExLjVMMi41IDExLjVWOS41TDExLjUgOS41Wk0xMiA4QzEyLjU1MjMgOCAxMyA4LjQ0NzcyIDEzIDlWMTJDMTMgMTIuNTUyMyAxMi41NTIzIDEzIDEyIDEzTDIgMTNDMS40NDc3MiAxMyAxIDEyLjU1MjMgMSAxMlY5QzEgOC40NDc3MiAxLjQ0NzcxIDggMiA4TDEyIDhaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5MiI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAxIDEwIDEuNTU1NjYpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==);
|
||
--jp-icon-add-below: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5OCkiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik05LjI1IDEwLjA2OTNMNy4zNzUgMTAuMDY5M0w3LjM3NSA4LjE5NDM0QzcuMzc1IDcuOTg4MDkgNy4yMDYyNSA3LjgxOTM0IDcgNy44MTkzNEM2Ljc5Mzc1IDcuODE5MzQgNi42MjUgNy45ODgwOSA2LjYyNSA4LjE5NDM0TDYuNjI1IDEwLjA2OTNMNC43NSAxMC4wNjkzQzQuNTQzNzUgMTAuMDY5MyA0LjM3NSAxMC4yMzgxIDQuMzc1IDEwLjQ0NDNDNC4zNzUgMTAuNjUwNiA0LjU0Mzc1IDEwLjgxOTMgNC43NSAxMC44MTkzTDYuNjI1IDEwLjgxOTNMNi42MjUgMTIuNjk0M0M2LjYyNSAxMi45MDA2IDYuNzkzNzUgMTMuMDY5MyA3IDEzLjA2OTNDNy4yMDYyNSAxMy4wNjkzIDcuMzc1IDEyLjkwMDYgNy4zNzUgMTIuNjk0M0w3LjM3NSAxMC44MTkzTDkuMjUgMTAuODE5M0M5LjQ1NjI1IDEwLjgxOTMgOS42MjUgMTAuNjUwNiA5LjYyNSAxMC40NDQzQzkuNjI1IDEwLjIzODEgOS40NTYyNSAxMC4wNjkzIDkuMjUgMTAuMDY5M1oiIGZpbGw9IiM2MTYxNjEiIHN0cm9rZT0iIzYxNjE2MSIgc3Ryb2tlLXdpZHRoPSIwLjciLz4KPC9nPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMi41IDUuNUwyLjUgMy41TDExLjUgMy41TDExLjUgNS41TDIuNSA1LjVaTTIgN0MxLjQ0NzcyIDcgMSA2LjU1MjI4IDEgNkwxIDNDMSAyLjQ0NzcyIDEuNDQ3NzIgMiAyIDJMMTIgMkMxMi41NTIzIDIgMTMgMi40NDc3MiAxMyAzTDEzIDZDMTMgNi41NTIyOSAxMi41NTIzIDcgMTIgN0wyIDdaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5OCI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KDEgMS43NDg0NmUtMDcgMS43NDg0NmUtMDcgLTEgNCAxMy40NDQzKSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=);
|
||
--jp-icon-add: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-bell: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiPgogICA8cGF0aCBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzMzMzMzIgogICAgICBkPSJtOCAwLjI5Yy0xLjQgMC0yLjcgMC43My0zLjYgMS44LTEuMiAxLjUtMS40IDMuNC0xLjUgNS4yLTAuMTggMi4yLTAuNDQgNC0yLjMgNS4zbDAuMjggMS4zaDVjMC4wMjYgMC42NiAwLjMyIDEuMSAwLjcxIDEuNSAwLjg0IDAuNjEgMiAwLjYxIDIuOCAwIDAuNTItMC40IDAuNi0xIDAuNzEtMS41aDVsMC4yOC0xLjNjLTEuOS0wLjk3LTIuMi0zLjMtMi4zLTUuMy0wLjEzLTEuOC0wLjI2LTMuNy0xLjUtNS4yLTAuODUtMS0yLjItMS44LTMuNi0xLjh6bTAgMS40YzAuODggMCAxLjkgMC41NSAyLjUgMS4zIDAuODggMS4xIDEuMSAyLjcgMS4yIDQuNCAwLjEzIDEuNyAwLjIzIDMuNiAxLjMgNS4yaC0xMGMxLjEtMS42IDEuMi0zLjQgMS4zLTUuMiAwLjEzLTEuNyAwLjMtMy4zIDEuMi00LjQgMC41OS0wLjcyIDEuNi0xLjMgMi41LTEuM3ptLTAuNzQgMTJoMS41Yy0wLjAwMTUgMC4yOCAwLjAxNSAwLjc5LTAuNzQgMC43OS0wLjczIDAuMDAxNi0wLjcyLTAuNTMtMC43NC0wLjc5eiIgLz4KPC9zdmc+Cg==);
|
||
--jp-icon-bug-dot: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMTkgOEgyMFYxMEgxNy45MUMxNy45NiAxMC4zMyAxOCAxMC42NiAxOCAxMVYxMkgyMFYxNEgxOC41SDE4VjE0LjAyNzVDMTUuNzUgMTQuMjc2MiAxNCAxNi4xODM3IDE0IDE4LjVDMTQgMTkuMjA4IDE0LjE2MzUgMTkuODc3OSAxNC40NTQ5IDIwLjQ3MzlDMTMuNzA2MyAyMC44MTE3IDEyLjg3NTcgMjEgMTIgMjFDOS43OCAyMSA3Ljg1IDE5Ljc5IDYuODEgMThINFYxNkg2LjA5QzYuMDQgMTUuNjcgNiAxNS4zNCA2IDE1VjE0SDRWMTJINlYxMUM2IDEwLjY2IDYuMDQgMTAuMzMgNi4wOSAxMEg0VjhINi44MUM3LjI2IDcuMjIgNy44OCA2LjU1IDguNjIgNi4wNEw3IDQuNDFMOC40MSAzTDEwLjU5IDUuMTdDMTEuMDQgNS4wNiAxMS41MSA1IDEyIDVDMTIuNDkgNSAxMi45NiA1LjA2IDEzLjQyIDUuMTdMMTUuNTkgM0wxNyA0LjQxTDE1LjM3IDYuMDRDMTYuMTIgNi41NSAxNi43NCA3LjIyIDE3LjE5IDhaTTEwIDE2SDE0VjE0SDEwVjE2Wk0xMCAxMkgxNFYxMEgxMFYxMloiIGZpbGw9IiM2MTYxNjEiLz4KICAgICAgICA8cGF0aCBkPSJNMjIgMTguNUMyMiAyMC40MzMgMjAuNDMzIDIyIDE4LjUgMjJDMTYuNTY3IDIyIDE1IDIwLjQzMyAxNSAxOC41QzE1IDE2LjU2NyAxNi41NjcgMTUgMTguNSAxNUMyMC40MzMgMTUgMjIgMTYuNTY3IDIyIDE4LjVaIiBmaWxsPSIjNjE2MTYxIi8+CiAgICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-bug: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yMCA4aC0yLjgxYy0uNDUtLjc4LTEuMDctMS40NS0xLjgyLTEuOTZMMTcgNC40MSAxNS41OSAzbC0yLjE3IDIuMTdDMTIuOTYgNS4wNiAxMi40OSA1IDEyIDVjLS40OSAwLS45Ni4wNi0xLjQxLjE3TDguNDEgMyA3IDQuNDFsMS42MiAxLjYzQzcuODggNi41NSA3LjI2IDcuMjIgNi44MSA4SDR2MmgyLjA5Yy0uMDUuMzMtLjA5LjY2LS4wOSAxdjFINHYyaDJ2MWMwIC4zNC4wNC42Ny4wOSAxSDR2MmgyLjgxYzEuMDQgMS43OSAyLjk3IDMgNS4xOSAzczQuMTUtMS4yMSA1LjE5LTNIMjB2LTJoLTIuMDljLjA1LS4zMy4wOS0uNjYuMDktMXYtMWgydi0yaC0ydi0xYzAtLjM0LS4wNC0uNjctLjA5LTFIMjBWOHptLTYgOGgtNHYtMmg0djJ6bTAtNGgtNHYtMmg0djJ6Ii8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--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-code-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICA8cGF0aCBkPSJNNi41OSwzLjQxTDIsOEw2LjU5LDEyLjZMOCwxMS4xOEw0LjgyLDhMOCw0LjgyTDYuNTksMy40MU0xMi40MSwzLjQxTDExLDQuODJMMTQuMTgsOEwxMSwxMS4xOEwxMi40MSwxMi42TDE3LDhMMTIuNDEsMy40MU0yMS41OSwxMS41OUwxMy41LDE5LjY4TDkuODMsMTZMOC40MiwxNy40MUwxMy41LDIyLjVMMjMsMTNMMjEuNTksMTEuNTlaIiAvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-code: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTExLjQgMTguNkw2LjggMTRMMTEuNCA5LjRMMTAgOEw0IDE0TDEwIDIwTDExLjQgMTguNlpNMTYuNiAxOC42TDIxLjIgMTRMMTYuNiA5LjRMMTggOEwyNCAxNEwxOCAyMEwxNi42IDE4LjZWMTguNloiLz4KCTwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-collapse-all: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNNiAxM3YyaDh2LTJ6IiAvPgogICAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-console: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxnIGNsYXNzPSJqcC1jb25zb2xlLWljb24tYmFja2dyb3VuZC1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMjg4RDEiPgogICAgPHBhdGggZD0iTTIwIDE5LjhoMTYwdjE1OS45SDIweiIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtY29uc29sZS1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIj4KICAgIDxwYXRoIGQ9Ik0xMDUgMTI3LjNoNDB2MTIuOGgtNDB6TTUxLjEgNzdMNzQgOTkuOWwtMjMuMyAyMy4zIDEwLjUgMTAuNSAyMy4zLTIzLjNMOTUgOTkuOSA4NC41IDg5LjQgNjEuNiA2Ni41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-copy: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTExLjksMUgzLjJDMi40LDEsMS43LDEuNywxLjcsMi41djEwLjJoMS41VjIuNWg4LjdWMXogTTE0LjEsMy45aC04Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MTAuMmMwLDAuOCwwLjcsMS41LDEuNSwxLjVoOCBjMC44LDAsMS41LTAuNywxLjUtMS41VjUuNEMxNS41LDQuNiwxNC45LDMuOSwxNC4xLDMuOXogTTE0LjEsMTUuNWgtOFY1LjRoOFYxNS41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-copyright: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+CiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0xMS44OCw5LjE0YzEuMjgsMC4wNiwxLjYxLDEuMTUsMS42MywxLjY2aDEuNzljLTAuMDgtMS45OC0xLjQ5LTMuMTktMy40NS0zLjE5QzkuNjQsNy42MSw4LDksOCwxMi4xNCBjMCwxLjk0LDAuOTMsNC4yNCwzLjg0LDQuMjRjMi4yMiwwLDMuNDEtMS42NSwzLjQ0LTIuOTVoLTEuNzljLTAuMDMsMC41OS0wLjQ1LDEuMzgtMS42MywxLjQ0QzEwLjU1LDE0LjgzLDEwLDEzLjgxLDEwLDEyLjE0IEMxMCw5LjI1LDExLjI4LDkuMTYsMTEuODgsOS4xNHogTTEyLDJDNi40OCwyLDIsNi40OCwyLDEyczQuNDgsMTAsMTAsMTBzMTAtNC40OCwxMC0xMFMxNy41MiwyLDEyLDJ6IE0xMiwyMGMtNC40MSwwLTgtMy41OS04LTggczMuNTktOCw4LThzOCwzLjU5LDgsOFMxNi40MSwyMCwxMiwyMHoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-cut: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-delete: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CiAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIiAvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjI2MjYyIiBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIgLz4KPC9zdmc+Cg==);
|
||
--jp-icon-download: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-duplicate: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNzk5OTggMC44NzVIOC44OTU4MkM5LjIwMDYxIDAuODc1IDkuNDQ5OTggMS4xMzkxNCA5LjQ0OTk4IDEuNDYxOThDOS40NDk5OCAxLjc4NDgyIDkuMjAwNjEgMi4wNDg5NiA4Ljg5NTgyIDIuMDQ4OTZIMy4zNTQxNUMzLjA0OTM2IDIuMDQ4OTYgMi43OTk5OCAyLjMxMzEgMi43OTk5OCAyLjYzNTk0VjkuNjc5NjlDMi43OTk5OCAxMC4wMDI1IDIuNTUwNjEgMTAuMjY2NyAyLjI0NTgyIDEwLjI2NjdDMS45NDEwMyAxMC4yNjY3IDEuNjkxNjUgMTAuMDAyNSAxLjY5MTY1IDkuNjc5NjlWMi4wNDg5NkMxLjY5MTY1IDEuNDAzMjggMi4xOTA0IDAuODc1IDIuNzk5OTggMC44NzVaTTUuMzY2NjUgMTEuOVY0LjU1SDExLjA4MzNWMTEuOUg1LjM2NjY1Wk00LjE0MTY1IDQuMTQxNjdDNC4xNDE2NSAzLjY5MDYzIDQuNTA3MjggMy4zMjUgNC45NTgzMiAzLjMyNUgxMS40OTE3QzExLjk0MjcgMy4zMjUgMTIuMzA4MyAzLjY5MDYzIDEyLjMwODMgNC4xNDE2N1YxMi4zMDgzQzEyLjMwODMgMTIuNzU5NCAxMS45NDI3IDEzLjEyNSAxMS40OTE3IDEzLjEyNUg0Ljk1ODMyQzQuNTA3MjggMTMuMTI1IDQuMTQxNjUgMTIuNzU5NCA0LjE0MTY1IDEyLjMwODNWNC4xNDE2N1oiIGZpbGw9IiM2MTYxNjEiLz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNOS40MzU3NCA4LjI2NTA3SDguMzY0MzFWOS4zMzY1QzguMzY0MzEgOS40NTQzNSA4LjI2Nzg4IDkuNTUwNzggOC4xNTAwMiA5LjU1MDc4QzguMDMyMTcgOS41NTA3OCA3LjkzNTc0IDkuNDU0MzUgNy45MzU3NCA5LjMzNjVWOC4yNjUwN0g2Ljg2NDMxQzYuNzQ2NDUgOC4yNjUwNyA2LjY1MDAyIDguMTY4NjQgNi42NTAwMiA4LjA1MDc4QzYuNjUwMDIgNy45MzI5MiA2Ljc0NjQ1IDcuODM2NSA2Ljg2NDMxIDcuODM2NUg3LjkzNTc0VjYuNzY1MDdDNy45MzU3NCA2LjY0NzIxIDguMDMyMTcgNi41NTA3OCA4LjE1MDAyIDYuNTUwNzhDOC4yNjc4OCA2LjU1MDc4IDguMzY0MzEgNi42NDcyMSA4LjM2NDMxIDYuNzY1MDdWNy44MzY1SDkuNDM1NzRDOS41NTM2IDcuODM2NSA5LjY1MDAyIDcuOTMyOTIgOS42NTAwMiA4LjA1MDc4QzkuNjUwMDIgOC4xNjg2NCA5LjU1MzYgOC4yNjUwNyA5LjQzNTc0IDguMjY1MDdaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC41Ii8+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-error: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIyIi8+PHBhdGggZD0iTTEwIDNoNHYxMmgtNHoiLz48L2c+CjxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-expand-all: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNMTEgMTBIOXYzSDZ2MmgzdjNoMnYtM2gzdi0yaC0zeiIgLz4KICAgIDwvZz4KPC9zdmc+Cg==);
|
||
--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-dot: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWRvdCIgZmlsbD0iI0ZGRiI+CiAgICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE3IiByPSIzIj48L2NpcmNsZT4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-filter-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-filter: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-folder-favorite: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxNjE2MSIgZD0iTTIwIDZoLThsLTItMkg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bS0yLjA2IDExTDE1IDE1LjI4IDEyLjA2IDE3bC43OC0zLjMzLTIuNTktMi4yNCAzLjQxLS4yOUwxNSA4bDEuMzQgMy4xNCAzLjQxLjI5LTIuNTkgMi4yNC43OCAzLjMzeiIvPgo8L3N2Zz4K);
|
||
--jp-icon-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6Ii8+Cjwvc3ZnPgo=);
|
||
--jp-icon-home: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xMCAyMHYtNmg0djZoNXYtOGgzTDEyIDMgMiAxMmgzdjh6Ii8+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-info: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUwLjk3OCA1MC45NzgiPgoJPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KCQk8cGF0aCBkPSJNNDMuNTIsNy40NThDMzguNzExLDIuNjQ4LDMyLjMwNywwLDI1LjQ4OSwwQzE4LjY3LDAsMTIuMjY2LDIuNjQ4LDcuNDU4LDcuNDU4CgkJCWMtOS45NDMsOS45NDEtOS45NDMsMjYuMTE5LDAsMzYuMDYyYzQuODA5LDQuODA5LDExLjIxMiw3LjQ1NiwxOC4wMzEsNy40NThjMCwwLDAuMDAxLDAsMC4wMDIsMAoJCQljNi44MTYsMCwxMy4yMjEtMi42NDgsMTguMDI5LTcuNDU4YzQuODA5LTQuODA5LDcuNDU3LTExLjIxMiw3LjQ1Ny0xOC4wM0M1MC45NzcsMTguNjcsNDguMzI4LDEyLjI2Niw0My41Miw3LjQ1OHoKCQkJIE00Mi4xMDYsNDIuMTA1Yy00LjQzMiw0LjQzMS0xMC4zMzIsNi44NzItMTYuNjE1LDYuODcyaC0wLjAwMmMtNi4yODUtMC4wMDEtMTIuMTg3LTIuNDQxLTE2LjYxNy02Ljg3MgoJCQljLTkuMTYyLTkuMTYzLTkuMTYyLTI0LjA3MSwwLTMzLjIzM0MxMy4zMDMsNC40NCwxOS4yMDQsMiwyNS40ODksMmM2LjI4NCwwLDEyLjE4NiwyLjQ0LDE2LjYxNyw2Ljg3MgoJCQljNC40MzEsNC40MzEsNi44NzEsMTAuMzMyLDYuODcxLDE2LjYxN0M0OC45NzcsMzEuNzcyLDQ2LjUzNiwzNy42NzUsNDIuMTA2LDQyLjEwNXoiLz4KCQk8cGF0aCBkPSJNMjMuNTc4LDMyLjIxOGMtMC4wMjMtMS43MzQsMC4xNDMtMy4wNTksMC40OTYtMy45NzJjMC4zNTMtMC45MTMsMS4xMS0xLjk5NywyLjI3Mi0zLjI1MwoJCQljMC40NjgtMC41MzYsMC45MjMtMS4wNjIsMS4zNjctMS41NzVjMC42MjYtMC43NTMsMS4xMDQtMS40NzgsMS40MzYtMi4xNzVjMC4zMzEtMC43MDcsMC40OTUtMS41NDEsMC40OTUtMi41CgkJCWMwLTEuMDk2LTAuMjYtMi4wODgtMC43NzktMi45NzljLTAuNTY1LTAuODc5LTEuNTAxLTEuMzM2LTIuODA2LTEuMzY5Yy0xLjgwMiwwLjA1Ny0yLjk4NSwwLjY2Ny0zLjU1LDEuODMyCgkJCWMtMC4zMDEsMC41MzUtMC41MDMsMS4xNDEtMC42MDcsMS44MTRjLTAuMTM5LDAuNzA3LTAuMjA3LDEuNDMyLTAuMjA3LDIuMTc0aC0yLjkzN2MtMC4wOTEtMi4yMDgsMC40MDctNC4xMTQsMS40OTMtNS43MTkKCQkJYzEuMDYyLTEuNjQsMi44NTUtMi40ODEsNS4zNzgtMi41MjdjMi4xNiwwLjAyMywzLjg3NCwwLjYwOCw1LjE0MSwxLjc1OGMxLjI3OCwxLjE2LDEuOTI5LDIuNzY0LDEuOTUsNC44MTEKCQkJYzAsMS4xNDItMC4xMzcsMi4xMTEtMC40MSwyLjkxMWMtMC4zMDksMC44NDUtMC43MzEsMS41OTMtMS4yNjgsMi4yNDNjLTAuNDkyLDAuNjUtMS4wNjgsMS4zMTgtMS43MywyLjAwMgoJCQljLTAuNjUsMC42OTctMS4zMTMsMS40NzktMS45ODcsMi4zNDZjLTAuMjM5LDAuMzc3LTAuNDI5LDAuNzc3LTAuNTY1LDEuMTk5Yy0wLjE2LDAuOTU5LTAuMjE3LDEuOTUxLTAuMTcxLDIuOTc5CgkJCUMyNi41ODksMzIuMjE4LDIzLjU3OCwzMi4yMTgsMjMuNTc4LDMyLjIxOHogTTIzLjU3OCwzOC4yMnYtMy40ODRoMy4wNzZ2My40ODRIMjMuNTc4eiIvPgoJPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-inspector: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaW5zcGVjdG9yLWljb24tY29sb3IganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tNSAxNEg0di00aDExdjR6bTAtNUg0VjloMTF2NHptNSA1aC00VjloNHY5eiIvPgo8L3N2Zz4K);
|
||
--jp-icon-json: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtanNvbi1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0Y5QTgyNSI+CiAgICA8cGF0aCBkPSJNMjAuMiAxMS44Yy0xLjYgMC0xLjcuNS0xLjcgMSAwIC40LjEuOS4xIDEuMy4xLjUuMS45LjEgMS4zIDAgMS43LTEuNCAyLjMtMy41IDIuM2gtLjl2LTEuOWguNWMxLjEgMCAxLjQgMCAxLjQtLjggMC0uMyAwLS42LS4xLTEgMC0uNC0uMS0uOC0uMS0xLjIgMC0xLjMgMC0xLjggMS4zLTItMS4zLS4yLTEuMy0uNy0xLjMtMiAwLS40LjEtLjguMS0xLjIuMS0uNC4xLS43LjEtMSAwLS44LS40LS43LTEuNC0uOGgtLjVWNC4xaC45YzIuMiAwIDMuNS43IDMuNSAyLjMgMCAuNC0uMS45LS4xIDEuMy0uMS41LS4xLjktLjEgMS4zIDAgLjUuMiAxIDEuNyAxdjEuOHpNMS44IDEwLjFjMS42IDAgMS43LS41IDEuNy0xIDAtLjQtLjEtLjktLjEtMS4zLS4xLS41LS4xLS45LS4xLTEuMyAwLTEuNiAxLjQtMi4zIDMuNS0yLjNoLjl2MS45aC0uNWMtMSAwLTEuNCAwLTEuNC44IDAgLjMgMCAuNi4xIDEgMCAuMi4xLjYuMSAxIDAgMS4zIDAgMS44LTEuMyAyQzYgMTEuMiA2IDExLjcgNiAxM2MwIC40LS4xLjgtLjEgMS4yLS4xLjMtLjEuNy0uMSAxIDAgLjguMy44IDEuNC44aC41djEuOWgtLjljLTIuMSAwLTMuNS0uNi0zLjUtMi4zIDAtLjQuMS0uOS4xLTEuMy4xLS41LjEtLjkuMS0xLjMgMC0uNS0uMi0xLTEuNy0xdi0xLjl6Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjEzLjgiIHI9IjIuMSIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSI4LjIiIHI9IjIuMSIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-julia: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDMyNSAzMDAiPgogIDxnIGNsYXNzPSJqcC1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjY2IzYzMzIj4KICAgIDxwYXRoIGQ9Ik0gMTUwLjg5ODQzOCAyMjUgQyAxNTAuODk4NDM4IDI2Ni40MjE4NzUgMTE3LjMyMDMxMiAzMDAgNzUuODk4NDM4IDMwMCBDIDM0LjQ3NjU2MiAzMDAgMC44OTg0MzggMjY2LjQyMTg3NSAwLjg5ODQzOCAyMjUgQyAwLjg5ODQzOCAxODMuNTc4MTI1IDM0LjQ3NjU2MiAxNTAgNzUuODk4NDM4IDE1MCBDIDExNy4zMjAzMTIgMTUwIDE1MC44OTg0MzggMTgzLjU3ODEyNSAxNTAuODk4NDM4IDIyNSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzM4OTgyNiI+CiAgICA8cGF0aCBkPSJNIDIzNy41IDc1IEMgMjM3LjUgMTE2LjQyMTg3NSAyMDMuOTIxODc1IDE1MCAxNjIuNSAxNTAgQyAxMjEuMDc4MTI1IDE1MCA4Ny41IDExNi40MjE4NzUgODcuNSA3NSBDIDg3LjUgMzMuNTc4MTI1IDEyMS4wNzgxMjUgMCAxNjIuNSAwIEMgMjAzLjkyMTg3NSAwIDIzNy41IDMzLjU3ODEyNSAyMzcuNSA3NSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzk1NThiMiI+CiAgICA8cGF0aCBkPSJNIDMyNC4xMDE1NjIgMjI1IEMgMzI0LjEwMTU2MiAyNjYuNDIxODc1IDI5MC41MjM0MzggMzAwIDI0OS4xMDE1NjIgMzAwIEMgMjA3LjY3OTY4OCAzMDAgMTc0LjEwMTU2MiAyNjYuNDIxODc1IDE3NC4xMDE1NjIgMjI1IEMgMTc0LjEwMTU2MiAxODMuNTc4MTI1IDIwNy42Nzk2ODggMTUwIDI0OS4xMDE1NjIgMTUwIEMgMjkwLjUyMzQzOCAxNTAgMzI0LjEwMTU2MiAxODMuNTc4MTI1IDMyNC4xMDE1NjIgMjI1Ii8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-jupyter-favicon: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUyIiBoZWlnaHQ9IjE2NSIgdmlld0JveD0iMCAwIDE1MiAxNjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgPGcgY2xhc3M9ImpwLWp1cHl0ZXItaWNvbi1jb2xvciIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA3ODk0NywgMTEwLjU4MjkyNykiIGQ9Ik03NS45NDIyODQyLDI5LjU4MDQ1NjEgQzQzLjMwMjM5NDcsMjkuNTgwNDU2MSAxNC43OTY3ODMyLDE3LjY1MzQ2MzQgMCwwIEM1LjUxMDgzMjExLDE1Ljg0MDY4MjkgMTUuNzgxNTM4OSwyOS41NjY3NzMyIDI5LjM5MDQ5NDcsMzkuMjc4NDE3MSBDNDIuOTk5Nyw0OC45ODk4NTM3IDU5LjI3MzcsNTQuMjA2NzgwNSA3NS45NjA1Nzg5LDU0LjIwNjc4MDUgQzkyLjY0NzQ1NzksNTQuMjA2NzgwNSAxMDguOTIxNDU4LDQ4Ljk4OTg1MzcgMTIyLjUzMDY2MywzOS4yNzg0MTcxIEMxMzYuMTM5NDUzLDI5LjU2Njc3MzIgMTQ2LjQxMDI4NCwxNS44NDA2ODI5IDE1MS45MjExNTgsMCBDMTM3LjA4Nzg2OCwxNy42NTM0NjM0IDEwOC41ODI1ODksMjkuNTgwNDU2MSA3NS45NDIyODQyLDI5LjU4MDQ1NjEgTDc1Ljk0MjI4NDIsMjkuNTgwNDU2MSBaIiAvPgogICAgPHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMzczNjgsIDAuNzA0ODc4KSIgZD0iTTc1Ljk3ODQ1NzksMjQuNjI2NDA3MyBDMTA4LjYxODc2MywyNC42MjY0MDczIDEzNy4xMjQ0NTgsMzYuNTUzNDQxNSAxNTEuOTIxMTU4LDU0LjIwNjc4MDUgQzE0Ni40MTAyODQsMzguMzY2MjIyIDEzNi4xMzk0NTMsMjQuNjQwMTMxNyAxMjIuNTMwNjYzLDE0LjkyODQ4NzggQzEwOC45MjE0NTgsNS4yMTY4NDM5IDkyLjY0NzQ1NzksMCA3NS45NjA1Nzg5LDAgQzU5LjI3MzcsMCA0Mi45OTk3LDUuMjE2ODQzOSAyOS4zOTA0OTQ3LDE0LjkyODQ4NzggQzE1Ljc4MTUzODksMjQuNjQwMTMxNyA1LjUxMDgzMjExLDM4LjM2NjIyMiAwLDU0LjIwNjc4MDUgQzE0LjgzMzA4MTYsMzYuNTg5OTI5MyA0My4zMzg1Njg0LDI0LjYyNjQwNzMgNzUuOTc4NDU3OSwyNC42MjY0MDczIEw3NS45Nzg0NTc5LDI0LjYyNjQwNzMgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-jupyter: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCAzOSA1MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYzOCAtMjI4MSkiPgogICAgIDxnIGNsYXNzPSJqcC1qdXB5dGVyLWljb24tY29sb3IiIGZpbGw9IiNGMzc3MjYiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5Ljc0IDIzMTEuOTgpIiBkPSJNIDE4LjI2NDYgNy4xMzQxMUMgMTAuNDE0NSA3LjEzNDExIDMuNTU4NzIgNC4yNTc2IDAgMEMgMS4zMjUzOSAzLjgyMDQgMy43OTU1NiA3LjEzMDgxIDcuMDY4NiA5LjQ3MzAzQyAxMC4zNDE3IDExLjgxNTIgMTQuMjU1NyAxMy4wNzM0IDE4LjI2OSAxMy4wNzM0QyAyMi4yODIzIDEzLjA3MzQgMjYuMTk2MyAxMS44MTUyIDI5LjQ2OTQgOS40NzMwM0MgMzIuNzQyNCA3LjEzMDgxIDM1LjIxMjYgMy44MjA0IDM2LjUzOCAwQyAzMi45NzA1IDQuMjU3NiAyNi4xMTQ4IDcuMTM0MTEgMTguMjY0NiA3LjEzNDExWiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5LjczIDIyODUuNDgpIiBkPSJNIDE4LjI3MzMgNS45MzkzMUMgMjYuMTIzNSA1LjkzOTMxIDMyLjk3OTMgOC44MTU4MyAzNi41MzggMTMuMDczNEMgMzUuMjEyNiA5LjI1MzAzIDMyLjc0MjQgNS45NDI2MiAyOS40Njk0IDMuNjAwNEMgMjYuMTk2MyAxLjI1ODE4IDIyLjI4MjMgMCAxOC4yNjkgMEMgMTQuMjU1NyAwIDEwLjM0MTcgMS4yNTgxOCA3LjA2ODYgMy42MDA0QyAzLjc5NTU2IDUuOTQyNjIgMS4zMjUzOSA5LjI1MzAzIDAgMTMuMDczNEMgMy41Njc0NSA4LjgyNDYzIDEwLjQyMzIgNS45MzkzMSAxOC4yNzMzIDUuOTM5MzFaIi8+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-launch: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yNiwyOEg2YTIuMDAyNywyLjAwMjcsMCwwLDEtMi0yVjZBMi4wMDI3LDIuMDAyNywwLDAsMSw2LDRIMTZWNkg2VjI2SDI2VjE2aDJWMjZBMi4wMDI3LDIuMDAyNywwLDAsMSwyNiwyOFoiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMjAgMiAyMCA0IDI2LjU4NiA0IDE4IDEyLjU4NiAxOS40MTQgMTQgMjggNS40MTQgMjggMTIgMzAgMTIgMzAgMiAyMCAyIi8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA1djE0SDVWNWgxNG0xLjEtMkgzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xMSA3aDZ2MmgtNlY3em0wIDRoNnYyaC02di0yem0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3eiIvPgo8L3N2Zz4K);
|
||
--jp-icon-markdown: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjRsLS4zLTQuMnoiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-move-down: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMTIuNDcxIDcuNTI4OTlDMTIuNzYzMiA3LjIzNjg0IDEyLjc2MzIgNi43NjMxNiAxMi40NzEgNi40NzEwMVY2LjQ3MTAxQzEyLjE3OSA2LjE3OTA1IDExLjcwNTcgNi4xNzg4NCAxMS40MTM1IDYuNDcwNTRMNy43NSAxMC4xMjc1VjEuNzVDNy43NSAxLjMzNTc5IDcuNDE0MjEgMSA3IDFWMUM2LjU4NTc5IDEgNi4yNSAxLjMzNTc5IDYuMjUgMS43NVYxMC4xMjc1TDIuNTk3MjYgNi40NjgyMkMyLjMwMzM4IDYuMTczODEgMS44MjY0MSA2LjE3MzU5IDEuNTMyMjYgNi40Njc3NFY2LjQ2Nzc0QzEuMjM4MyA2Ljc2MTcgMS4yMzgzIDcuMjM4MyAxLjUzMjI2IDcuNTMyMjZMNi4yOTI4OSAxMi4yOTI5QzYuNjgzNDIgMTIuNjgzNCA3LjMxNjU4IDEyLjY4MzQgNy43MDcxMSAxMi4yOTI5TDEyLjQ3MSA3LjUyODk5WiIgZmlsbD0iIzYxNjE2MSIvPgo8L3N2Zz4K);
|
||
--jp-icon-move-up: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMS41Mjg5OSA2LjQ3MTAxQzEuMjM2ODQgNi43NjMxNiAxLjIzNjg0IDcuMjM2ODQgMS41Mjg5OSA3LjUyODk5VjcuNTI4OTlDMS44MjA5NSA3LjgyMDk1IDIuMjk0MjYgNy44MjExNiAyLjU4NjQ5IDcuNTI5NDZMNi4yNSAzLjg3MjVWMTIuMjVDNi4yNSAxMi42NjQyIDYuNTg1NzkgMTMgNyAxM1YxM0M3LjQxNDIxIDEzIDcuNzUgMTIuNjY0MiA3Ljc1IDEyLjI1VjMuODcyNUwxMS40MDI3IDcuNTMxNzhDMTEuNjk2NiA3LjgyNjE5IDEyLjE3MzYgNy44MjY0MSAxMi40Njc3IDcuNTMyMjZWNy41MzIyNkMxMi43NjE3IDcuMjM4MyAxMi43NjE3IDYuNzYxNyAxMi40Njc3IDYuNDY3NzRMNy43MDcxMSAxLjcwNzExQzcuMzE2NTggMS4zMTY1OCA2LjY4MzQyIDEuMzE2NTggNi4yOTI4OSAxLjcwNzExTDEuNTI4OTkgNi40NzEwMVoiIGZpbGw9IiM2MTYxNjEiLz4KPC9zdmc+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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtbm90ZWJvb2staWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNFRjZDMDAiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM2gxNS40bTEuNS0xLjVIMS44djE4LjNoMTguM2wuMS0xOC4zeiIvPgogICAgPHBhdGggZD0iTTE2LjUgMTYuNWwtNS40LTQuMy01LjYgNC4zdi0xMWgxMXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-numbering: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTQgMTlINlYxOS41SDVWMjAuNUg2VjIxSDRWMjJIN1YxOEg0VjE5Wk01IDEwSDZWNkg0VjdINVYxMFpNNCAxM0g1LjhMNCAxNS4xVjE2SDdWMTVINS4yTDcgMTIuOVYxMkg0VjEzWk05IDdWOUgyM1Y3SDlaTTkgMjFIMjNWMTlIOVYyMVpNOSAxNUgyM1YxM0g5VjE1WiIvPgoJPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-offline-bolt: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDIuMDJjLTUuNTEgMC05Ljk4IDQuNDctOS45OCA5Ljk4czQuNDcgOS45OCA5Ljk4IDkuOTggOS45OC00LjQ3IDkuOTgtOS45OFMxNy41MSAyLjAyIDEyIDIuMDJ6TTExLjQ4IDIwdi02LjI2SDhMMTMgNHY2LjI2aDMuMzVMMTEuNDggMjB6Ii8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--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-pdf: url(data:image/svg+xml;base64,PHN2ZwogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAyMiIgd2lkdGg9IjE2Ij4KICAgIDxwYXRoIHRyYW5zZm9ybT0icm90YXRlKDQ1KSIgY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0ZGMkEyQSIKICAgICAgIGQ9Im0gMjIuMzQ0MzY5LC0zLjAxNjM2NDIgaCA1LjYzODYwNCB2IDEuNTc5MjQzMyBoIC0zLjU0OTIyNyB2IDEuNTA4NjkyOTkgaCAzLjMzNzU3NiBWIDEuNjUwODE1NCBoIC0zLjMzNzU3NiB2IDMuNDM1MjYxMyBoIC0yLjA4OTM3NyB6IG0gLTcuMTM2NDQ0LDEuNTc5MjQzMyB2IDQuOTQzOTU0MyBoIDAuNzQ4OTIgcSAxLjI4MDc2MSwwIDEuOTUzNzAzLC0wLjYzNDk1MzUgMC42NzgzNjksLTAuNjM0OTUzNSAwLjY3ODM2OSwtMS44NDUxNjQxIDAsLTEuMjA0NzgzNTUgLTAuNjcyOTQyLC0xLjgzNDMxMDExIC0wLjY3Mjk0MiwtMC42Mjk1MjY1OSAtMS45NTkxMywtMC42Mjk1MjY1OSB6IG0gLTIuMDg5Mzc3LC0xLjU3OTI0MzMgaCAyLjIwMzM0MyBxIDEuODQ1MTY0LDAgMi43NDYwMzksMC4yNjU5MjA3IDAuOTA2MzAxLDAuMjYwNDkzNyAxLjU1MjEwOCwwLjg5MDAyMDMgMC41Njk4MywwLjU0ODEyMjMgMC44NDY2MDUsMS4yNjQ0ODAwNiAwLjI3Njc3NCwwLjcxNjM1NzgxIDAuMjc2Nzc0LDEuNjIyNjU4OTQgMCwwLjkxNzE1NTEgLTAuMjc2Nzc0LDEuNjM4OTM5OSAtMC4yNzY3NzUsMC43MTYzNTc4IC0wLjg0NjYwNSwxLjI2NDQ4IC0wLjY1MTIzNCwwLjYyOTUyNjYgLTEuNTYyOTYyLDAuODk1NDQ3MyAtMC45MTE3MjgsMC4yNjA0OTM3IC0yLjczNTE4NSwwLjI2MDQ5MzcgaCAtMi4yMDMzNDMgeiBtIC04LjE0NTg1NjUsMCBoIDMuNDY3ODIzIHEgMS41NDY2ODE2LDAgMi4zNzE1Nzg1LDAuNjg5MjIzIDAuODMwMzI0LDAuNjgzNzk2MSAwLjgzMDMyNCwxLjk1MzcwMzE0IDAsMS4yNzUzMzM5NyAtMC44MzAzMjQsMS45NjQ1NTcwNiBRIDkuOTg3MTk2MSwyLjI3NDkxNSA4LjQ0MDUxNDUsMi4yNzQ5MTUgSCA3LjA2MjA2ODQgViA1LjA4NjA3NjcgSCA0Ljk3MjY5MTUgWiBtIDIuMDg5Mzc2OSwxLjUxNDExOTkgdiAyLjI2MzAzOTQzIGggMS4xNTU5NDEgcSAwLjYwNzgxODgsMCAwLjkzODg2MjksLTAuMjkzMDU1NDcgMC4zMzEwNDQxLC0wLjI5ODQ4MjQxIDAuMzMxMDQ0MSwtMC44NDExNzc3MiAwLC0wLjU0MjY5NTMxIC0wLjMzMTA0NDEsLTAuODM1NzUwNzQgLTAuMzMxMDQ0MSwtMC4yOTMwNTU1IC0wLjkzODg2MjksLTAuMjkzMDU1NSB6IgovPgo8L3N2Zz4K);
|
||
--jp-icon-python: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iLTEwIC0xMCAxMzEuMTYxMzYxNjk0MzM1OTQgMTMyLjM4ODk5OTkzODk2NDg0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzA2OTk4IiBkPSJNIDU0LjkxODc4NSw5LjE5Mjc0MjFlLTQgQyA1MC4zMzUxMzIsMC4wMjIyMTcyNyA0NS45NTc4NDYsMC40MTMxMzY5NyA0Mi4xMDYyODUsMS4wOTQ2NjkzIDMwLjc2MDA2OSwzLjA5OTE3MzEgMjguNzAwMDM2LDcuMjk0NzcxNCAyOC43MDAwMzUsMTUuMDMyMTY5IHYgMTAuMjE4NzUgaCAyNi44MTI1IHYgMy40MDYyNSBoIC0yNi44MTI1IC0xMC4wNjI1IGMgLTcuNzkyNDU5LDAgLTE0LjYxNTc1ODgsNC42ODM3MTcgLTE2Ljc0OTk5OTgsMTMuNTkzNzUgLTIuNDYxODE5OTgsMTAuMjEyOTY2IC0yLjU3MTAxNTA4LDE2LjU4NjAyMyAwLDI3LjI1IDEuOTA1OTI4Myw3LjkzNzg1MiA2LjQ1NzU0MzIsMTMuNTkzNzQ4IDE0LjI0OTk5OTgsMTMuNTkzNzUgaCA5LjIxODc1IHYgLTEyLjI1IGMgMCwtOC44NDk5MDIgNy42NTcxNDQsLTE2LjY1NjI0OCAxNi43NSwtMTYuNjU2MjUgaCAyNi43ODEyNSBjIDcuNDU0OTUxLDAgMTMuNDA2MjUzLC02LjEzODE2NCAxMy40MDYyNSwtMTMuNjI1IHYgLTI1LjUzMTI1IGMgMCwtNy4yNjYzMzg2IC02LjEyOTk4LC0xMi43MjQ3NzcxIC0xMy40MDYyNSwtMTMuOTM3NDk5NyBDIDY0LjI4MTU0OCwwLjMyNzk0Mzk3IDU5LjUwMjQzOCwtMC4wMjAzNzkwMyA1NC45MTg3ODUsOS4xOTI3NDIxZS00IFogbSAtMTQuNSw4LjIxODc1MDEyNTc5IGMgMi43Njk1NDcsMCA1LjAzMTI1LDIuMjk4NjQ1NiA1LjAzMTI1LDUuMTI0OTk5NiAtMmUtNiwyLjgxNjMzNiAtMi4yNjE3MDMsNS4wOTM3NSAtNS4wMzEyNSw1LjA5Mzc1IC0yLjc3OTQ3NiwtMWUtNiAtNS4wMzEyNSwtMi4yNzc0MTUgLTUuMDMxMjUsLTUuMDkzNzUgLTEwZS03LC0yLjgyNjM1MyAyLjI1MTc3NCwtNS4xMjQ5OTk2IDUuMDMxMjUsLTUuMTI0OTk5NiB6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2ZmZDQzYiIgZD0ibSA4NS42Mzc1MzUsMjguNjU3MTY5IHYgMTEuOTA2MjUgYyAwLDkuMjMwNzU1IC03LjgyNTg5NSwxNi45OTk5OTkgLTE2Ljc1LDE3IGggLTI2Ljc4MTI1IGMgLTcuMzM1ODMzLDAgLTEzLjQwNjI0OSw2LjI3ODQ4MyAtMTMuNDA2MjUsMTMuNjI1IHYgMjUuNTMxMjQ3IGMgMCw3LjI2NjM0NCA2LjMxODU4OCwxMS41NDAzMjQgMTMuNDA2MjUsMTMuNjI1MDA0IDguNDg3MzMxLDIuNDk1NjEgMTYuNjI2MjM3LDIuOTQ2NjMgMjYuNzgxMjUsMCA2Ljc1MDE1NSwtMS45NTQzOSAxMy40MDYyNTMsLTUuODg3NjEgMTMuNDA2MjUsLTEzLjYyNTAwNCBWIDg2LjUwMDkxOSBoIC0yNi43ODEyNSB2IC0zLjQwNjI1IGggMjYuNzgxMjUgMTMuNDA2MjU0IGMgNy43OTI0NjEsMCAxMC42OTYyNTEsLTUuNDM1NDA4IDEzLjQwNjI0MSwtMTMuNTkzNzUgMi43OTkzMywtOC4zOTg4ODYgMi42ODAyMiwtMTYuNDc1Nzc2IDAsLTI3LjI1IC0xLjkyNTc4LC03Ljc1NzQ0MSAtNS42MDM4NywtMTMuNTkzNzUgLTEzLjQwNjI0MSwtMTMuNTkzNzUgeiBtIC0xNS4wNjI1LDY0LjY1NjI1IGMgMi43Nzk0NzgsM2UtNiA1LjAzMTI1LDIuMjc3NDE3IDUuMDMxMjUsNS4wOTM3NDcgLTJlLTYsMi44MjYzNTQgLTIuMjUxNzc1LDUuMTI1MDA0IC01LjAzMTI1LDUuMTI1MDA0IC0yLjc2OTU1LDAgLTUuMDMxMjUsLTIuMjk4NjUgLTUuMDMxMjUsLTUuMTI1MDA0IDJlLTYsLTIuODE2MzMgMi4yNjE2OTcsLTUuMDkzNzQ3IDUuMDMxMjUsLTUuMDkzNzQ3IHoiLz4KPC9zdmc+Cg==);
|
||
--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-redo: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE4LjQgMTAuNkMxNi41NSA4Ljk5IDE0LjE1IDggMTEuNSA4Yy00LjY1IDAtOC41OCAzLjAzLTkuOTYgNy4yMkwzLjkgMTZjMS4wNS0zLjE5IDQuMDUtNS41IDcuNi01LjUgMS45NSAwIDMuNzMuNzIgNS4xMiAxLjg4TDEzIDE2aDlWN2wtMy42IDMuNnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--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-share: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTSAxOCAyIEMgMTYuMzU0OTkgMiAxNSAzLjM1NDk5MDQgMTUgNSBDIDE1IDUuMTkwOTUyOSAxNS4wMjE3OTEgNS4zNzcxMjI0IDE1LjA1NjY0MSA1LjU1ODU5MzggTCA3LjkyMTg3NSA5LjcyMDcwMzEgQyA3LjM5ODUzOTkgOS4yNzc4NTM5IDYuNzMyMDc3MSA5IDYgOSBDIDQuMzU0OTkwNCA5IDMgMTAuMzU0OTkgMyAxMiBDIDMgMTMuNjQ1MDEgNC4zNTQ5OTA0IDE1IDYgMTUgQyA2LjczMjA3NzEgMTUgNy4zOTg1Mzk5IDE0LjcyMjE0NiA3LjkyMTg3NSAxNC4yNzkyOTcgTCAxNS4wNTY2NDEgMTguNDM5NDUzIEMgMTUuMDIxNTU1IDE4LjYyMTUxNCAxNSAxOC44MDgzODYgMTUgMTkgQyAxNSAyMC42NDUwMSAxNi4zNTQ5OSAyMiAxOCAyMiBDIDE5LjY0NTAxIDIyIDIxIDIwLjY0NTAxIDIxIDE5IEMgMjEgMTcuMzU0OTkgMTkuNjQ1MDEgMTYgMTggMTYgQyAxNy4yNjc0OCAxNiAxNi42MDE1OTMgMTYuMjc5MzI4IDE2LjA3ODEyNSAxNi43MjI2NTYgTCA4Ljk0MzM1OTQgMTIuNTU4NTk0IEMgOC45NzgyMDk1IDEyLjM3NzEyMiA5IDEyLjE5MDk1MyA5IDEyIEMgOSAxMS44MDkwNDcgOC45NzgyMDk1IDExLjYyMjg3OCA4Ljk0MzM1OTQgMTEuNDQxNDA2IEwgMTYuMDc4MTI1IDcuMjc5Mjk2OSBDIDE2LjYwMTQ2IDcuNzIyMTQ2MSAxNy4yNjc5MjMgOCAxOCA4IEMgMTkuNjQ1MDEgOCAyMSA2LjY0NTAwOTYgMjEgNSBDIDIxIDMuMzU0OTkwNCAxOS42NDUwMSAyIDE4IDIgeiBNIDE4IDQgQyAxOC41NjQxMjkgNCAxOSA0LjQzNTg3MDYgMTkgNSBDIDE5IDUuNTY0MTI5NCAxOC41NjQxMjkgNiAxOCA2IEMgMTcuNDM1ODcxIDYgMTcgNS41NjQxMjk0IDE3IDUgQyAxNyA0LjQzNTg3MDYgMTcuNDM1ODcxIDQgMTggNCB6IE0gNiAxMSBDIDYuNTY0MTI5NCAxMSA3IDExLjQzNTg3MSA3IDEyIEMgNyAxMi41NjQxMjkgNi41NjQxMjk0IDEzIDYgMTMgQyA1LjQzNTg3MDYgMTMgNSAxMi41NjQxMjkgNSAxMiBDIDUgMTEuNDM1ODcxIDUuNDM1ODcwNiAxMSA2IDExIHogTSAxOCAxOCBDIDE4LjU2NDEyOSAxOCAxOSAxOC40MzU4NzEgMTkgMTkgQyAxOSAxOS41NjQxMjkgMTguNTY0MTI5IDIwIDE4IDIwIEMgMTcuNDM1ODcxIDIwIDE3IDE5LjU2NDEyOSAxNyAxOSBDIDE3IDE4LjQzNTg3MSAxNy40MzU4NzEgMTggMTggMTggeiIvPgogIDwvZz4KPC9zdmc+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-table-rows: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMSw4SDNWNGgxOFY4eiBNMjEsMTBIM3Y0aDE4VjEweiBNMjEsMTZIM3Y0aDE4VjE2eiIvPgogICAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-tag: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCA0MyAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTI4LjgzMzIgMTIuMzM0TDMyLjk5OTggMTYuNTAwN0wzNy4xNjY1IDEyLjMzNEgyOC44MzMyWiIvPgoJCTxwYXRoIGQ9Ik0xNi4yMDk1IDIxLjYxMDRDMTUuNjg3MyAyMi4xMjk5IDE0Ljg0NDMgMjIuMTI5OSAxNC4zMjQ4IDIxLjYxMDRMNi45ODI5IDE0LjcyNDVDNi41NzI0IDE0LjMzOTQgNi4wODMxMyAxMy42MDk4IDYuMDQ3ODYgMTMuMDQ4MkM1Ljk1MzQ3IDExLjUyODggNi4wMjAwMiA4LjYxOTQ0IDYuMDY2MjEgNy4wNzY5NUM2LjA4MjgxIDYuNTE0NzcgNi41NTU0OCA2LjA0MzQ3IDcuMTE4MDQgNi4wMzA1NUM5LjA4ODYzIDUuOTg0NzMgMTMuMjYzOCA1LjkzNTc5IDEzLjY1MTggNi4zMjQyNUwyMS43MzY5IDEzLjYzOUMyMi4yNTYgMTQuMTU4NSAyMS43ODUxIDE1LjQ3MjQgMjEuMjYyIDE1Ljk5NDZMMTYuMjA5NSAyMS42MTA0Wk05Ljc3NTg1IDguMjY1QzkuMzM1NTEgNy44MjU2NiA4LjYyMzUxIDcuODI1NjYgOC4xODI4IDguMjY1QzcuNzQzNDYgOC43MDU3MSA3Ljc0MzQ2IDkuNDE3MzMgOC4xODI4IDkuODU2NjdDOC42MjM4MiAxMC4yOTY0IDkuMzM1ODIgMTAuMjk2NCA5Ljc3NTg1IDkuODU2NjdDMTAuMjE1NiA5LjQxNzMzIDEwLjIxNTYgOC43MDUzMyA5Ljc3NTg1IDguMjY1WiIvPgoJPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-terminal: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiA+CiAgICA8cmVjdCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1iYWNrZ3JvdW5kLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIiBmaWxsPSIjMzMzMzMzIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUtaW52ZXJzZSIgZD0iTTUuMDU2NjQgOC43NjE3MkM1LjA1NjY0IDguNTk3NjYgNS4wMzEyNSA4LjQ1MzEyIDQuOTgwNDcgOC4zMjgxMkM0LjkzMzU5IDguMTk5MjIgNC44NTU0NyA4LjA4MjAzIDQuNzQ2MDkgNy45NzY1NkM0LjY0MDYyIDcuODcxMDkgNC41IDcuNzc1MzkgNC4zMjQyMiA3LjY4OTQ1QzQuMTUyMzQgNy41OTk2MSAzLjk0MzM2IDcuNTExNzIgMy42OTcyNyA3LjQyNTc4QzMuMzAyNzMgNy4yODUxNiAyLjk0MzM2IDcuMTM2NzIgMi42MTkxNCA2Ljk4MDQ3QzIuMjk0OTIgNi44MjQyMiAyLjAxNzU4IDYuNjQyNTggMS43ODcxMSA2LjQzNTU1QzEuNTYwNTUgNi4yMjg1MiAxLjM4NDc3IDUuOTg4MjggMS4yNTk3NyA1LjcxNDg0QzEuMTM0NzcgNS40Mzc1IDEuMDcyMjcgNS4xMDkzOCAxLjA3MjI3IDQuNzMwNDdDMS4wNzIyNyA0LjM5ODQ0IDEuMTI4OTEgNC4wOTU3IDEuMjQyMTkgMy44MjIyN0MxLjM1NTQ3IDMuNTQ0OTIgMS41MTU2MiAzLjMwNDY5IDEuNzIyNjYgMy4xMDE1NkMxLjkyOTY5IDIuODk4NDQgMi4xNzk2OSAyLjczNDM3IDIuNDcyNjYgMi42MDkzOEMyLjc2NTYyIDIuNDg0MzggMy4wOTE4IDIuNDA0MyAzLjQ1MTE3IDIuMzY5MTRWMS4xMDkzOEg0LjM4ODY3VjIuMzgwODZDNC43NDAyMyAyLjQyNzczIDUuMDU2NjQgMi41MjM0NCA1LjMzNzg5IDIuNjY3OTdDNS42MTkxNCAyLjgxMjUgNS44NTc0MiAzLjAwMTk1IDYuMDUyNzMgMy4yMzYzM0M2LjI1MTk1IDMuNDY2OCA2LjQwNDMgMy43NDAyMyA2LjUwOTc3IDQuMDU2NjRDNi42MTkxNCA0LjM2OTE0IDYuNjczODMgNC43MjA3IDYuNjczODMgNS4xMTEzM0g1LjA0NDkyQzUuMDQ0OTIgNC42Mzg2NyA0LjkzNzUgNC4yODEyNSA0LjcyMjY2IDQuMDM5MDZDNC41MDc4MSAzLjc5Mjk3IDQuMjE2OCAzLjY2OTkyIDMuODQ5NjEgMy42Njk5MkMzLjY1MDM5IDMuNjY5OTIgMy40NzY1NiAzLjY5NzI3IDMuMzI4MTIgMy43NTE5NUMzLjE4MzU5IDMuODAyNzMgMy4wNjQ0NSAzLjg3Njk1IDIuOTcwNyAzLjk3NDYxQzIuODc2OTUgNC4wNjgzNiAyLjgwNjY0IDQuMTc5NjkgMi43NTk3NyA0LjMwODU5QzIuNzE2OCA0LjQzNzUgMi42OTUzMSA0LjU3ODEyIDIuNjk1MzEgNC43MzA0N0MyLjY5NTMxIDQuODgyODEgMi43MTY4IDUuMDE5NTMgMi43NTk3NyA1LjE0MDYyQzIuODA2NjQgNS4yNTc4MSAyLjg4MjgxIDUuMzY3MTkgMi45ODgyOCA1LjQ2ODc1QzMuMDk3NjYgNS41NzAzMSAzLjI0MDIzIDUuNjY3OTcgMy40MTYwMiA1Ljc2MTcyQzMuNTkxOCA1Ljg1MTU2IDMuODEwNTUgNS45NDMzNiA0LjA3MjI3IDYuMDM3MTFDNC40NjY4IDYuMTg1NTUgNC44MjQyMiA2LjMzOTg0IDUuMTQ0NTMgNi41QzUuNDY0ODQgNi42NTYyNSA1LjczODI4IDYuODM5ODQgNS45NjQ4NCA3LjA1MDc4QzYuMTk1MzEgNy4yNTc4MSA2LjM3MTA5IDcuNSA2LjQ5MjE5IDcuNzc3MzRDNi42MTcxOSA4LjA1MDc4IDYuNjc5NjkgOC4zNzUgNi42Nzk2OSA4Ljc1QzYuNjc5NjkgOS4wOTM3NSA2LjYyMzA1IDkuNDA0MyA2LjUwOTc3IDkuNjgxNjRDNi4zOTY0OCA5Ljk1NTA4IDYuMjM0MzggMTAuMTkxNCA2LjAyMzQ0IDEwLjM5MDZDNS44MTI1IDEwLjU4OTggNS41NTg1OSAxMC43NSA1LjI2MTcyIDEwLjg3MTFDNC45NjQ4NCAxMC45ODgzIDQuNjMyODEgMTEuMDY0NSA0LjI2NTYyIDExLjA5OTZWMTIuMjQ4SDMuMzMzOThWMTEuMDk5NkMzLjAwMTk1IDExLjA2ODQgMi42Nzk2OSAxMC45OTYxIDIuMzY3MTkgMTAuODgyOEMyLjA1NDY5IDEwLjc2NTYgMS43NzczNCAxMC41OTc3IDEuNTM1MTYgMTAuMzc4OUMxLjI5Njg4IDEwLjE2MDIgMS4xMDU0NyA5Ljg4NDc3IDAuOTYwOTM4IDkuNTUyNzNDMC44MTY0MDYgOS4yMTY4IDAuNzQ0MTQxIDguODE0NDUgMC43NDQxNDEgOC4zNDU3SDIuMzc4OTFDMi4zNzg5MSA4LjYyNjk1IDIuNDE5OTIgOC44NjMyOCAyLjUwMTk1IDkuMDU0NjlDMi41ODM5OCA5LjI0MjE5IDIuNjg5NDUgOS4zOTI1OCAyLjgxODM2IDkuNTA1ODZDMi45NTExNyA5LjYxNTIzIDMuMTAxNTYgOS42OTMzNiAzLjI2OTUzIDkuNzQwMjNDMy40Mzc1IDkuNzg3MTEgMy42MDkzOCA5LjgxMDU1IDMuNzg1MTYgOS44MTA1NUM0LjIwMzEyIDkuODEwNTUgNC41MTk1MyA5LjcxMjg5IDQuNzM0MzggOS41MTc1OEM0Ljk0OTIyIDkuMzIyMjcgNS4wNTY2NCA5LjA3MDMxIDUuMDU2NjQgOC43NjE3MlpNMTMuNDE4IDEyLjI3MTVIOC4wNzQyMlYxMUgxMy40MThWMTIuMjcxNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuOTUyNjQgNikiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=);
|
||
--jp-icon-text-editor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtdGV4dC1lZGl0b3ItaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xNSAxNUgzdjJoMTJ2LTJ6bTAtOEgzdjJoMTJWN3pNMyAxM2gxOHYtMkgzdjJ6bTAgOGgxOHYtMkgzdjJ6TTMgM3YyaDE4VjNIM3oiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-toc: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik03LDVIMjFWN0g3VjVNNywxM1YxMUgyMVYxM0g3TTQsNC41QTEuNSwxLjUgMCAwLDEgNS41LDZBMS41LDEuNSAwIDAsMSA0LDcuNUExLjUsMS41IDAgMCwxIDIuNSw2QTEuNSwxLjUgMCAwLDEgNCw0LjVNNCwxMC41QTEuNSwxLjUgMCAwLDEgNS41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMy41QTEuNSwxLjUgMCAwLDEgMi41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMC41TTcsMTlWMTdIMjFWMTlIN000LDE2LjVBMS41LDEuNSAwIDAsMSA1LjUsMThBMS41LDEuNSAwIDAsMSA0LDE5LjVBMS41LDEuNSAwIDAsMSAyLjUsMThBMS41LDEuNSAwIDAsMSA0LDE2LjVaIiAvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-tree-view: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMiAxMVYzaC03djNIOVYzSDJ2OGg3VjhoMnYxMGg0djNoN3YtOGgtN3YzaC0yVjhoMnYzeiIvPgogICAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMiAxNy4xODQ0IDIuOTY5NjggMTQuMzAzMiAxLjg2MDk0IDExLjQ0MDlaIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiMzMzMzMzMiIHN0cm9rZT0iIzMzMzMzMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA5Ljg2NzE5KSIgZD0iTTIuODYwMTUgNC44NjUzNUwwLjcyNjU0OSAyLjk5OTU5TDAgMy42MzA0NUwyLjg2MDE1IDYuMTMxNTdMOCAwLjYzMDg3Mkw3LjI3ODU3IDBMMi44NjAxNSA0Ljg2NTM1WiIvPgo8L3N2Zz4K);
|
||
--jp-icon-undo: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjUgOGMtMi42NSAwLTUuMDUuOTktNi45IDIuNkwyIDd2OWg5bC0zLjYyLTMuNjJjMS4zOS0xLjE2IDMuMTYtMS44OCA1LjEyLTEuODggMy41NCAwIDYuNTUgMi4zMSA3LjYgNS41bDIuMzctLjc4QzIxLjA4IDExLjAzIDE3LjE1IDggMTIuNSA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-user: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE2IDdhNCA0IDAgMTEtOCAwIDQgNCAwIDAxOCAwek0xMiAxNGE3IDcgMCAwMC03IDdoMTRhNyA3IDAgMDAtNy03eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-users: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDM2IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPGcgY2xhc3M9ImpwLWljb24zIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjczMjcgMCAwIDEuNzMyNyAtMy42MjgyIC4wOTk1NzcpIiBmaWxsPSIjNjE2MTYxIj4KICA8cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLjUsMCwwLDEuNSwwLC02KSIgZD0ibTEyLjE4NiA3LjUwOThjLTEuMDUzNSAwLTEuOTc1NyAwLjU2NjUtMi40Nzg1IDEuNDEwMiAwLjc1MDYxIDAuMzEyNzcgMS4zOTc0IDAuODI2NDggMS44NzMgMS40NzI3aDMuNDg2M2MwLTEuNTkyLTEuMjg4OS0yLjg4MjgtMi44ODA5LTIuODgyOHoiLz4KICA8cGF0aCBkPSJtMjAuNDY1IDIuMzg5NWEyLjE4ODUgMi4xODg1IDAgMCAxLTIuMTg4NCAyLjE4ODUgMi4xODg1IDIuMTg4NSAwIDAgMS0yLjE4ODUtMi4xODg1IDIuMTg4NSAyLjE4ODUgMCAwIDEgMi4xODg1LTIuMTg4NSAyLjE4ODUgMi4xODg1IDAgMCAxIDIuMTg4NCAyLjE4ODV6Ii8+CiAgPHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMS41LDAsMCwxLjUsMCwtNikiIGQ9Im0zLjU4OTggOC40MjE5Yy0xLjExMjYgMC0yLjAxMzcgMC45MDExMS0yLjAxMzcgMi4wMTM3aDIuODE0NWMwLjI2Nzk3LTAuMzczMDkgMC41OTA3LTAuNzA0MzUgMC45NTg5OC0wLjk3ODUyLTAuMzQ0MzMtMC42MTY4OC0xLjAwMzEtMS4wMzUyLTEuNzU5OC0xLjAzNTJ6Ii8+CiAgPHBhdGggZD0ibTYuOTE1NCA0LjYyM2ExLjUyOTQgMS41Mjk0IDAgMCAxLTEuNTI5NCAxLjUyOTQgMS41Mjk0IDEuNTI5NCAwIDAgMS0xLjUyOTQtMS41Mjk0IDEuNTI5NCAxLjUyOTQgMCAwIDEgMS41Mjk0LTEuNTI5NCAxLjUyOTQgMS41Mjk0IDAgMCAxIDEuNTI5NCAxLjUyOTR6Ii8+CiAgPHBhdGggZD0ibTYuMTM1IDEzLjUzNWMwLTMuMjM5MiAyLjYyNTktNS44NjUgNS44NjUtNS44NjUgMy4yMzkyIDAgNS44NjUgMi42MjU5IDUuODY1IDUuODY1eiIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMy43Njg1IiByPSIyLjk2ODUiLz4KIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-vega: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjEyMTIxIj4KICAgIDxwYXRoIGQ9Ik0xMC42IDUuNGwyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJNMTUuOCAyLjJsLTQuNCA2LjZMNyA2LjNsLTQuOCA4djUuNWgxNy42VjIuMmgtNHptLTcgMTUuNEg1LjV2LTQuNGgzLjN2NC40em00LjQgMEg5LjhWOS44aDMuNHY3Ljh6bTQuNCAwaC0zLjRWNi41aDMuNHYxMS4xeiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-word: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KIDxnIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzQxNDE0MSI+CiAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiA8L2c+CiA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSguNDMgLjA0MDEpIiBmaWxsPSIjZmZmIj4KICA8cGF0aCBkPSJtNC4xNCA4Ljc2cTAuMDY4Mi0xLjg5IDIuNDItMS44OSAxLjE2IDAgMS42OCAwLjQyIDAuNTY3IDAuNDEgMC41NjcgMS4xNnYzLjQ3cTAgMC40NjIgMC41MTQgMC40NjIgMC4xMDMgMCAwLjItMC4wMjMxdjAuNzE0cS0wLjM5OSAwLjEwMy0wLjY1MSAwLjEwMy0wLjQ1MiAwLTAuNjkzLTAuMjItMC4yMzEtMC4yLTAuMjg0LTAuNjYyLTAuOTU2IDAuODcyLTIgMC44NzItMC45MDMgMC0xLjQ3LTAuNDcyLTAuNTI1LTAuNDcyLTAuNTI1LTEuMjYgMC0wLjI2MiAwLjA0NTItMC40NzIgMC4wNTY3LTAuMjIgMC4xMTYtMC4zNzggMC4wNjgyLTAuMTY4IDAuMjMxLTAuMzA0IDAuMTU4LTAuMTQ3IDAuMjYyLTAuMjQyIDAuMTE2LTAuMDkxNCAwLjM2OC0wLjE2OCAwLjI2Mi0wLjA5MTQgMC4zOTktMC4xMjYgMC4xMzYtMC4wNDUyIDAuNDcyLTAuMTAzIDAuMzM2LTAuMDU3OCAwLjUwNC0wLjA3OTggMC4xNTgtMC4wMjMxIDAuNTY3LTAuMDc5OCAwLjU1Ni0wLjA2ODIgMC43NzctMC4yMjEgMC4yMi0wLjE1MiAwLjIyLTAuNDQxdi0wLjI1MnEwLTAuNDMtMC4zNTctMC42NjItMC4zMzYtMC4yMzEtMC45NzYtMC4yMzEtMC42NjIgMC0wLjk5OCAwLjI2Mi0wLjMzNiAwLjI1Mi0wLjM5OSAwLjc5OHptMS44OSAzLjY4cTAuNzg4IDAgMS4yNi0wLjQxIDAuNTA0LTAuNDIgMC41MDQtMC45MDN2LTEuMDVxLTAuMjg0IDAuMTM2LTAuODYxIDAuMjMxLTAuNTY3IDAuMDkxNC0wLjk4NyAwLjE1OC0wLjQyIDAuMDY4Mi0wLjc2NiAwLjMyNi0wLjMzNiAwLjI1Mi0wLjMzNiAwLjcwNHQwLjMwNCAwLjcwNCAwLjg2MSAwLjI1MnoiIHN0cm9rZS13aWR0aD0iMS4wNSIvPgogIDxwYXRoIGQ9Im0xMCA0LjU2aDAuOTQ1djMuMTVxMC42NTEtMC45NzYgMS44OS0wLjk3NiAxLjE2IDAgMS44OSAwLjg0IDAuNjgyIDAuODQgMC42ODIgMi4zMSAwIDEuNDctMC43MDQgMi40Mi0wLjcwNCAwLjg4Mi0xLjg5IDAuODgyLTEuMjYgMC0xLjg5LTEuMDJ2MC43NjZoLTAuODV6bTIuNjIgMy4wNHEtMC43NDYgMC0xLjE2IDAuNjQtMC40NTIgMC42My0wLjQ1MiAxLjY4IDAgMS4wNSAwLjQ1MiAxLjY4dDEuMTYgMC42M3EwLjc3NyAwIDEuMjYtMC42MyAwLjQ5NC0wLjY0IDAuNDk0LTEuNjggMC0xLjA1LTAuNDcyLTEuNjgtMC40NjItMC42NC0xLjI2LTAuNjR6IiBzdHJva2Utd2lkdGg9IjEuMDUiLz4KICA8cGF0aCBkPSJtMi43MyAxNS44IDEzLjYgMC4wMDgxYzAuMDA2OSAwIDAtMi42IDAtMi42IDAtMC4wMDc4LTEuMTUgMC0xLjE1IDAtMC4wMDY5IDAtMC4wMDgzIDEuNS0wLjAwODMgMS41LTJlLTMgLTAuMDAxNC0xMS4zLTAuMDAxNC0xMS4zLTAuMDAxNGwtMC4wMDU5Mi0xLjVjMC0wLjAwNzgtMS4xNyAwLjAwMTMtMS4xNyAwLjAwMTN6IiBzdHJva2Utd2lkdGg9Ii45NzUiLz4KIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-yaml: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjRDgxQjYwIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjVsLTIuOS0uMXoiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxNi41IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxMSIgcj0iMi4xIi8+CiAgPC9nPgo8L3N2Zz4K);
|
||
}
|
||
|
||
/* Icon CSS class declarations */
|
||
|
||
.jp-AddAboveIcon {
|
||
background-image: var(--jp-icon-add-above);
|
||
}
|
||
|
||
.jp-AddBelowIcon {
|
||
background-image: var(--jp-icon-add-below);
|
||
}
|
||
|
||
.jp-AddIcon {
|
||
background-image: var(--jp-icon-add);
|
||
}
|
||
|
||
.jp-BellIcon {
|
||
background-image: var(--jp-icon-bell);
|
||
}
|
||
|
||
.jp-BugDotIcon {
|
||
background-image: var(--jp-icon-bug-dot);
|
||
}
|
||
|
||
.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-CodeCheckIcon {
|
||
background-image: var(--jp-icon-code-check);
|
||
}
|
||
|
||
.jp-CodeIcon {
|
||
background-image: var(--jp-icon-code);
|
||
}
|
||
|
||
.jp-CollapseAllIcon {
|
||
background-image: var(--jp-icon-collapse-all);
|
||
}
|
||
|
||
.jp-ConsoleIcon {
|
||
background-image: var(--jp-icon-console);
|
||
}
|
||
|
||
.jp-CopyIcon {
|
||
background-image: var(--jp-icon-copy);
|
||
}
|
||
|
||
.jp-CopyrightIcon {
|
||
background-image: var(--jp-icon-copyright);
|
||
}
|
||
|
||
.jp-CutIcon {
|
||
background-image: var(--jp-icon-cut);
|
||
}
|
||
|
||
.jp-DeleteIcon {
|
||
background-image: var(--jp-icon-delete);
|
||
}
|
||
|
||
.jp-DownloadIcon {
|
||
background-image: var(--jp-icon-download);
|
||
}
|
||
|
||
.jp-DuplicateIcon {
|
||
background-image: var(--jp-icon-duplicate);
|
||
}
|
||
|
||
.jp-EditIcon {
|
||
background-image: var(--jp-icon-edit);
|
||
}
|
||
|
||
.jp-EllipsesIcon {
|
||
background-image: var(--jp-icon-ellipses);
|
||
}
|
||
|
||
.jp-ErrorIcon {
|
||
background-image: var(--jp-icon-error);
|
||
}
|
||
|
||
.jp-ExpandAllIcon {
|
||
background-image: var(--jp-icon-expand-all);
|
||
}
|
||
|
||
.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-FilterDotIcon {
|
||
background-image: var(--jp-icon-filter-dot);
|
||
}
|
||
|
||
.jp-FilterIcon {
|
||
background-image: var(--jp-icon-filter);
|
||
}
|
||
|
||
.jp-FilterListIcon {
|
||
background-image: var(--jp-icon-filter-list);
|
||
}
|
||
|
||
.jp-FolderFavoriteIcon {
|
||
background-image: var(--jp-icon-folder-favorite);
|
||
}
|
||
|
||
.jp-FolderIcon {
|
||
background-image: var(--jp-icon-folder);
|
||
}
|
||
|
||
.jp-HomeIcon {
|
||
background-image: var(--jp-icon-home);
|
||
}
|
||
|
||
.jp-Html5Icon {
|
||
background-image: var(--jp-icon-html5);
|
||
}
|
||
|
||
.jp-ImageIcon {
|
||
background-image: var(--jp-icon-image);
|
||
}
|
||
|
||
.jp-InfoIcon {
|
||
background-image: var(--jp-icon-info);
|
||
}
|
||
|
||
.jp-InspectorIcon {
|
||
background-image: var(--jp-icon-inspector);
|
||
}
|
||
|
||
.jp-JsonIcon {
|
||
background-image: var(--jp-icon-json);
|
||
}
|
||
|
||
.jp-JuliaIcon {
|
||
background-image: var(--jp-icon-julia);
|
||
}
|
||
|
||
.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-LaunchIcon {
|
||
background-image: var(--jp-icon-launch);
|
||
}
|
||
|
||
.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-MarkdownIcon {
|
||
background-image: var(--jp-icon-markdown);
|
||
}
|
||
|
||
.jp-MoveDownIcon {
|
||
background-image: var(--jp-icon-move-down);
|
||
}
|
||
|
||
.jp-MoveUpIcon {
|
||
background-image: var(--jp-icon-move-up);
|
||
}
|
||
|
||
.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-NumberingIcon {
|
||
background-image: var(--jp-icon-numbering);
|
||
}
|
||
|
||
.jp-OfflineBoltIcon {
|
||
background-image: var(--jp-icon-offline-bolt);
|
||
}
|
||
|
||
.jp-PaletteIcon {
|
||
background-image: var(--jp-icon-palette);
|
||
}
|
||
|
||
.jp-PasteIcon {
|
||
background-image: var(--jp-icon-paste);
|
||
}
|
||
|
||
.jp-PdfIcon {
|
||
background-image: var(--jp-icon-pdf);
|
||
}
|
||
|
||
.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-RedoIcon {
|
||
background-image: var(--jp-icon-redo);
|
||
}
|
||
|
||
.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-ShareIcon {
|
||
background-image: var(--jp-icon-share);
|
||
}
|
||
|
||
.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-TableRowsIcon {
|
||
background-image: var(--jp-icon-table-rows);
|
||
}
|
||
|
||
.jp-TagIcon {
|
||
background-image: var(--jp-icon-tag);
|
||
}
|
||
|
||
.jp-TerminalIcon {
|
||
background-image: var(--jp-icon-terminal);
|
||
}
|
||
|
||
.jp-TextEditorIcon {
|
||
background-image: var(--jp-icon-text-editor);
|
||
}
|
||
|
||
.jp-TocIcon {
|
||
background-image: var(--jp-icon-toc);
|
||
}
|
||
|
||
.jp-TreeViewIcon {
|
||
background-image: var(--jp-icon-tree-view);
|
||
}
|
||
|
||
.jp-TrustedIcon {
|
||
background-image: var(--jp-icon-trusted);
|
||
}
|
||
|
||
.jp-UndoIcon {
|
||
background-image: var(--jp-icon-undo);
|
||
}
|
||
|
||
.jp-UserIcon {
|
||
background-image: var(--jp-icon-user);
|
||
}
|
||
|
||
.jp-UsersIcon {
|
||
background-image: var(--jp-icon-users);
|
||
}
|
||
|
||
.jp-VegaIcon {
|
||
background-image: var(--jp-icon-vega);
|
||
}
|
||
|
||
.jp-WordIcon {
|
||
background-image: var(--jp-icon-word);
|
||
}
|
||
|
||
.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
|
||
*/
|
||
|
||
.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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-TabBar .lm-TabBar-addButton {
|
||
align-items: center;
|
||
display: flex;
|
||
padding: 4px;
|
||
padding-bottom: 5px;
|
||
margin-right: 1px;
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.lm-TabBar .lm-TabBar-addButton:hover {
|
||
background-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.lm-DockPanel-tabBar .lm-TabBar-tab {
|
||
width: var(--jp-private-horizontal-tab-width);
|
||
}
|
||
|
||
.lm-DockPanel-tabBar .lm-TabBar-content {
|
||
flex: unset;
|
||
}
|
||
|
||
.lm-DockPanel-tabBar[data-orientation='horizontal'] {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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);
|
||
}
|
||
|
||
.jp-icon-dot[fill] {
|
||
fill: var(--jp-warn-color0);
|
||
}
|
||
|
||
.jp-jupyter-icon-color[fill] {
|
||
fill: var(--jp-jupyter-icon-color, var(--jp-warn-color0));
|
||
}
|
||
|
||
.jp-notebook-icon-color[fill] {
|
||
fill: var(--jp-notebook-icon-color, var(--jp-warn-color0));
|
||
}
|
||
|
||
.jp-json-icon-color[fill] {
|
||
fill: var(--jp-json-icon-color, var(--jp-warn-color1));
|
||
}
|
||
|
||
.jp-console-icon-color[fill] {
|
||
fill: var(--jp-console-icon-color, white);
|
||
}
|
||
|
||
.jp-console-icon-background-color[fill] {
|
||
fill: var(--jp-console-icon-background-color, var(--jp-brand-color1));
|
||
}
|
||
|
||
.jp-terminal-icon-color[fill] {
|
||
fill: var(--jp-terminal-icon-color, var(--jp-layout-color2));
|
||
}
|
||
|
||
.jp-terminal-icon-background-color[fill] {
|
||
fill: var(
|
||
--jp-terminal-icon-background-color,
|
||
var(--jp-inverse-layout-color2)
|
||
);
|
||
}
|
||
|
||
.jp-text-editor-icon-color[fill] {
|
||
fill: var(--jp-text-editor-icon-color, var(--jp-inverse-layout-color3));
|
||
}
|
||
|
||
.jp-inspector-icon-color[fill] {
|
||
fill: var(--jp-inspector-icon-color, var(--jp-inverse-layout-color3));
|
||
}
|
||
|
||
/* 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);
|
||
}
|
||
|
||
/* stylelint-disable selector-max-class, selector-max-compound-selectors */
|
||
|
||
/**
|
||
* 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);
|
||
}
|
||
|
||
/* stylelint-enable selector-max-class, selector-max-compound-selectors */
|
||
|
||
/* 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) .jp-icon-hoverShow-content {
|
||
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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-IFrame {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-IFrame > iframe {
|
||
border: none;
|
||
}
|
||
|
||
/*
|
||
When drag events occur, `lm-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-HoverBox {
|
||
position: fixed;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-FormGroup-content fieldset {
|
||
border: none;
|
||
padding: 0;
|
||
min-width: 0;
|
||
width: 100%;
|
||
}
|
||
|
||
/* stylelint-disable selector-max-type */
|
||
|
||
.jp-FormGroup-content fieldset .jp-inputFieldWrapper input,
|
||
.jp-FormGroup-content fieldset .jp-inputFieldWrapper select,
|
||
.jp-FormGroup-content fieldset .jp-inputFieldWrapper textarea {
|
||
font-size: var(--jp-content-font-size2);
|
||
border-color: var(--jp-input-border-color);
|
||
border-style: solid;
|
||
border-radius: var(--jp-border-radius);
|
||
border-width: 1px;
|
||
padding: 6px 8px;
|
||
background: none;
|
||
color: var(--jp-ui-font-color0);
|
||
height: inherit;
|
||
}
|
||
|
||
.jp-FormGroup-content fieldset input[type='checkbox'] {
|
||
position: relative;
|
||
top: 2px;
|
||
margin-left: 0;
|
||
}
|
||
|
||
.jp-FormGroup-content button.jp-mod-styled {
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-FormGroup-content .checkbox label {
|
||
cursor: pointer;
|
||
font-size: var(--jp-content-font-size1);
|
||
}
|
||
|
||
.jp-FormGroup-content .jp-root > fieldset > legend {
|
||
display: none;
|
||
}
|
||
|
||
.jp-FormGroup-content .jp-root > fieldset > p {
|
||
display: none;
|
||
}
|
||
|
||
/** copy of `input.jp-mod-styled:focus` style */
|
||
.jp-FormGroup-content fieldset input:focus,
|
||
.jp-FormGroup-content fieldset select:focus {
|
||
-moz-outline-radius: unset;
|
||
outline: var(--jp-border-width) solid var(--md-blue-500);
|
||
outline-offset: -1px;
|
||
box-shadow: inset 0 0 4px var(--md-blue-300);
|
||
}
|
||
|
||
.jp-FormGroup-content fieldset input:hover:not(:focus),
|
||
.jp-FormGroup-content fieldset select:hover:not(:focus) {
|
||
background-color: var(--jp-border-color2);
|
||
}
|
||
|
||
/* stylelint-enable selector-max-type */
|
||
|
||
.jp-FormGroup-content .checkbox .field-description {
|
||
/* Disable default description field for checkbox:
|
||
because other widgets do not have description fields,
|
||
we add descriptions to each widget on the field level.
|
||
*/
|
||
display: none;
|
||
}
|
||
|
||
.jp-FormGroup-content #root__description {
|
||
display: none;
|
||
}
|
||
|
||
.jp-FormGroup-content .jp-modifiedIndicator {
|
||
width: 5px;
|
||
background-color: var(--jp-brand-color2);
|
||
margin-top: 0;
|
||
margin-left: calc(var(--jp-private-settingeditor-modifier-indent) * -1);
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.jp-FormGroup-content .jp-modifiedIndicator.jp-errorIndicator {
|
||
background-color: var(--jp-error-color0);
|
||
margin-right: 0.5em;
|
||
}
|
||
|
||
/* RJSF ARRAY style */
|
||
|
||
.jp-arrayFieldWrapper legend {
|
||
font-size: var(--jp-content-font-size2);
|
||
color: var(--jp-ui-font-color0);
|
||
flex-basis: 100%;
|
||
padding: 4px 0;
|
||
font-weight: var(--jp-content-heading-font-weight);
|
||
border-bottom: 1px solid var(--jp-border-color2);
|
||
}
|
||
|
||
.jp-arrayFieldWrapper .field-description {
|
||
padding: 4px 0;
|
||
white-space: pre-wrap;
|
||
}
|
||
|
||
.jp-arrayFieldWrapper .array-item {
|
||
width: 100%;
|
||
border: 1px solid var(--jp-border-color2);
|
||
border-radius: 4px;
|
||
margin: 4px;
|
||
}
|
||
|
||
.jp-ArrayOperations {
|
||
display: flex;
|
||
margin-left: 8px;
|
||
}
|
||
|
||
.jp-ArrayOperationsButton {
|
||
margin: 2px;
|
||
}
|
||
|
||
.jp-ArrayOperationsButton .jp-icon3[fill] {
|
||
fill: var(--jp-ui-font-color0);
|
||
}
|
||
|
||
button.jp-ArrayOperationsButton.jp-mod-styled:disabled {
|
||
cursor: not-allowed;
|
||
opacity: 0.5;
|
||
}
|
||
|
||
/* RJSF form validation error */
|
||
|
||
.jp-FormGroup-content .validationErrors {
|
||
color: var(--jp-error-color0);
|
||
}
|
||
|
||
/* Hide panel level error as duplicated the field level error */
|
||
.jp-FormGroup-content .panel.errors {
|
||
display: none;
|
||
}
|
||
|
||
/* RJSF normal content (settings-editor) */
|
||
|
||
.jp-FormGroup-contentNormal {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-wrap: wrap;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-FormGroup-contentItem {
|
||
margin-left: 7px;
|
||
color: var(--jp-ui-font-color0);
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-FormGroup-description {
|
||
flex-basis: 100%;
|
||
padding: 4px 7px;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-FormGroup-default {
|
||
flex-basis: 100%;
|
||
padding: 4px 7px;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-FormGroup-fieldLabel {
|
||
font-size: var(--jp-content-font-size1);
|
||
font-weight: normal;
|
||
min-width: 120px;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal fieldset:not(:first-child) {
|
||
margin-left: 7px;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .field-array-of-string .array-item {
|
||
/* Display `jp-ArrayOperations` buttons side-by-side with content except
|
||
for small screens where flex-wrap will place them one below the other.
|
||
*/
|
||
display: flex;
|
||
align-items: center;
|
||
flex-wrap: wrap;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-objectFieldWrapper .form-group {
|
||
padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
|
||
margin-top: 2px;
|
||
}
|
||
|
||
/* RJSF compact content (metadata-form) */
|
||
|
||
.jp-FormGroup-content.jp-FormGroup-contentCompact {
|
||
width: 100%;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact .form-group {
|
||
display: flex;
|
||
padding: 0.5em 0.2em 0.5em 0;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact
|
||
.jp-FormGroup-compactTitle
|
||
.jp-FormGroup-description {
|
||
font-size: var(--jp-ui-font-size1);
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact .jp-FormGroup-fieldLabel {
|
||
padding-bottom: 0.3em;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact .jp-inputFieldWrapper .form-control {
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact .jp-arrayFieldWrapper .jp-FormGroup-compactTitle {
|
||
padding-bottom: 7px;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact
|
||
.jp-objectFieldWrapper
|
||
.jp-objectFieldWrapper
|
||
.form-group {
|
||
padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
|
||
margin-top: 2px;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact ul.error-detail {
|
||
margin-block-start: 0.5em;
|
||
margin-block-end: 0.5em;
|
||
padding-inline-start: 1em;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-SidePanel {
|
||
display: flex;
|
||
flex-direction: column;
|
||
min-width: var(--jp-sidebar-min-width);
|
||
overflow-y: auto;
|
||
color: var(--jp-ui-font-color1);
|
||
background: var(--jp-layout-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
}
|
||
|
||
.jp-SidePanel-header {
|
||
flex: 0 0 auto;
|
||
display: flex;
|
||
border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
|
||
font-size: var(--jp-ui-font-size0);
|
||
font-weight: 600;
|
||
letter-spacing: 1px;
|
||
margin: 0;
|
||
padding: 2px;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
.jp-SidePanel-toolbar {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.jp-SidePanel-content {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.jp-SidePanel-toolbar,
|
||
.jp-AccordionPanel-toolbar {
|
||
height: var(--jp-private-toolbar-height);
|
||
}
|
||
|
||
.jp-SidePanel-toolbar.jp-Toolbar-micro {
|
||
display: none;
|
||
}
|
||
|
||
.lm-AccordionPanel .jp-AccordionPanel-title {
|
||
box-sizing: border-box;
|
||
line-height: 25px;
|
||
margin: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
background: var(--jp-layout-color1);
|
||
color: var(--jp-ui-font-color1);
|
||
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
|
||
box-shadow: var(--jp-toolbar-box-shadow);
|
||
font-size: var(--jp-ui-font-size0);
|
||
}
|
||
|
||
.jp-AccordionPanel-title {
|
||
cursor: pointer;
|
||
user-select: none;
|
||
-moz-user-select: none;
|
||
-webkit-user-select: none;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
.lm-AccordionPanel[data-orientation='horizontal'] > .jp-AccordionPanel-title {
|
||
/* Title is rotated for horizontal accordion panel using CSS */
|
||
display: block;
|
||
transform-origin: top left;
|
||
transform: rotate(-90deg) translate(-100%);
|
||
}
|
||
|
||
.jp-AccordionPanel-title .lm-AccordionPanel-titleLabel {
|
||
user-select: none;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.jp-AccordionPanel-title .lm-AccordionPanel-titleCollapser {
|
||
transform: rotate(-90deg);
|
||
margin: auto 0;
|
||
height: 16px;
|
||
}
|
||
|
||
.jp-AccordionPanel-title.lm-mod-expanded .lm-AccordionPanel-titleCollapser {
|
||
transform: rotate(0deg);
|
||
}
|
||
|
||
.lm-AccordionPanel .jp-AccordionPanel-toolbar {
|
||
background: none;
|
||
box-shadow: none;
|
||
border: none;
|
||
margin-left: auto;
|
||
}
|
||
|
||
.lm-AccordionPanel .lm-SplitPanel-handle:hover {
|
||
background: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-text-truncated {
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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;
|
||
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: 0 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[type='checkbox'].jp-mod-styled {
|
||
appearance: checkbox;
|
||
-webkit-appearance: checkbox;
|
||
-moz-appearance: checkbox;
|
||
height: auto;
|
||
}
|
||
|
||
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);
|
||
box-sizing: border-box;
|
||
margin-bottom: 12px;
|
||
}
|
||
|
||
.jp-select-wrapper:not(.multiple) {
|
||
height: 28px;
|
||
}
|
||
|
||
.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 {
|
||
cursor: pointer;
|
||
color: var(--jp-ui-font-color0);
|
||
background-color: var(--jp-input-hover-background);
|
||
box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
|
||
}
|
||
|
||
select.jp-mod-styled {
|
||
flex: 1 1 auto;
|
||
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: 0;
|
||
outline: none;
|
||
appearance: none;
|
||
-webkit-appearance: none;
|
||
-moz-appearance: none;
|
||
}
|
||
|
||
select.jp-mod-styled:not([multiple]) {
|
||
height: 32px;
|
||
}
|
||
|
||
select.jp-mod-styled[multiple] {
|
||
max-height: 200px;
|
||
overflow-y: auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-switch {
|
||
display: flex;
|
||
align-items: center;
|
||
padding-left: 4px;
|
||
padding-right: 4px;
|
||
font-size: var(--jp-ui-font-size1);
|
||
background-color: transparent;
|
||
color: var(--jp-ui-font-color1);
|
||
border: none;
|
||
height: 20px;
|
||
}
|
||
|
||
.jp-switch:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-switch-label {
|
||
margin-right: 5px;
|
||
font-family: var(--jp-ui-font-family);
|
||
}
|
||
|
||
.jp-switch-track {
|
||
cursor: pointer;
|
||
background-color: var(--jp-switch-color, var(--jp-border-color1));
|
||
-webkit-transition: 0.4s;
|
||
transition: 0.4s;
|
||
border-radius: 34px;
|
||
height: 16px;
|
||
width: 35px;
|
||
position: relative;
|
||
}
|
||
|
||
.jp-switch-track::before {
|
||
content: '';
|
||
position: absolute;
|
||
height: 10px;
|
||
width: 10px;
|
||
margin: 3px;
|
||
left: 0;
|
||
background-color: var(--jp-ui-inverse-font-color1);
|
||
-webkit-transition: 0.4s;
|
||
transition: 0.4s;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
.jp-switch[aria-checked='true'] .jp-switch-track {
|
||
background-color: var(--jp-switch-true-position-color, var(--jp-warn-color0));
|
||
}
|
||
|
||
.jp-switch[aria-checked='true'] .jp-switch-track::before {
|
||
/* track width (35) - margins (3 + 3) - thumb width (10) */
|
||
left: 19px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 8;
|
||
overflow-x: hidden;
|
||
}
|
||
|
||
/* 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: 0;
|
||
margin: 0;
|
||
}
|
||
|
||
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: 0 6px;
|
||
margin: 0;
|
||
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: 0;
|
||
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);
|
||
font-family: var(--jp-ui-font-family);
|
||
}
|
||
|
||
#jp-main-dock-panel[data-mode='single-document']
|
||
.jp-MainAreaWidget
|
||
> .jp-Toolbar.jp-Toolbar-micro {
|
||
padding: 0;
|
||
min-height: 0;
|
||
}
|
||
|
||
#jp-main-dock-panel[data-mode='single-document']
|
||
.jp-MainAreaWidget
|
||
> .jp-Toolbar {
|
||
border: none;
|
||
box-shadow: none;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-WindowedPanel-outer {
|
||
position: relative;
|
||
overflow-y: auto;
|
||
}
|
||
|
||
.jp-WindowedPanel-inner {
|
||
position: relative;
|
||
}
|
||
|
||
.jp-WindowedPanel-window {
|
||
position: absolute;
|
||
left: 0;
|
||
right: 0;
|
||
overflow: visible;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* Sibling imports */
|
||
|
||
body {
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
}
|
||
|
||
/* Disable native link decoration styles everywhere outside of dialog boxes */
|
||
a {
|
||
text-decoration: unset;
|
||
color: unset;
|
||
}
|
||
|
||
a:hover {
|
||
text-decoration: unset;
|
||
color: unset;
|
||
}
|
||
|
||
/* Accessibility for links inside dialog box text */
|
||
.jp-Dialog-content a {
|
||
text-decoration: revert;
|
||
color: var(--jp-content-link-color);
|
||
}
|
||
|
||
.jp-Dialog-content a:hover {
|
||
text-decoration: revert;
|
||
}
|
||
|
||
/* Styles for ui-components */
|
||
.jp-Button {
|
||
color: var(--jp-ui-font-color2);
|
||
border-radius: var(--jp-border-radius);
|
||
padding: 0 12px;
|
||
font-size: var(--jp-ui-font-size1);
|
||
|
||
/* Copy from blueprint 3 */
|
||
display: inline-flex;
|
||
flex-direction: row;
|
||
border: none;
|
||
cursor: pointer;
|
||
align-items: center;
|
||
justify-content: center;
|
||
text-align: left;
|
||
vertical-align: middle;
|
||
min-height: 30px;
|
||
min-width: 30px;
|
||
}
|
||
|
||
.jp-Button:disabled {
|
||
cursor: not-allowed;
|
||
}
|
||
|
||
.jp-Button:empty {
|
||
padding: 0 !important;
|
||
}
|
||
|
||
.jp-Button.jp-mod-small {
|
||
min-height: 24px;
|
||
min-width: 24px;
|
||
font-size: 12px;
|
||
padding: 0 7px;
|
||
}
|
||
|
||
/* Use our own theme for hover styles */
|
||
.jp-Button.jp-mod-minimal:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-Button.jp-mod-minimal {
|
||
background: none;
|
||
}
|
||
|
||
.jp-InputGroup {
|
||
display: block;
|
||
position: relative;
|
||
}
|
||
|
||
.jp-InputGroup input {
|
||
box-sizing: border-box;
|
||
border: none;
|
||
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);
|
||
padding-bottom: 0;
|
||
padding-top: 0;
|
||
padding-left: 10px;
|
||
padding-right: 28px;
|
||
position: relative;
|
||
width: 100%;
|
||
-webkit-appearance: none;
|
||
-moz-appearance: none;
|
||
appearance: none;
|
||
font-size: 14px;
|
||
font-weight: 400;
|
||
height: 30px;
|
||
line-height: 30px;
|
||
outline: none;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.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:disabled {
|
||
cursor: not-allowed;
|
||
resize: block;
|
||
background-color: var(--jp-layout-color2);
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-InputGroup input:disabled ~ span {
|
||
cursor: not-allowed;
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-InputGroup input::placeholder,
|
||
input::placeholder {
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-InputGroupAction {
|
||
position: absolute;
|
||
bottom: 1px;
|
||
right: 0;
|
||
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);
|
||
font-family: var(--jp-ui-font-family);
|
||
height: 24px;
|
||
line-height: 14px;
|
||
padding: 0 25px 0 10px;
|
||
text-align: left;
|
||
-moz-appearance: none;
|
||
-webkit-appearance: none;
|
||
}
|
||
|
||
.jp-HTMLSelect.jp-DefaultStyle select:disabled {
|
||
background-color: var(--jp-layout-color2);
|
||
color: var(--jp-ui-font-color2);
|
||
cursor: not-allowed;
|
||
resize: block;
|
||
}
|
||
|
||
.jp-HTMLSelect.jp-DefaultStyle select:disabled ~ span {
|
||
cursor: not-allowed;
|
||
}
|
||
|
||
/* Use our own theme for hover and option styles */
|
||
/* stylelint-disable-next-line selector-max-type */
|
||
.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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Styles
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-StatusBar-Widget {
|
||
display: flex;
|
||
align-items: center;
|
||
background: var(--jp-layout-color2);
|
||
min-height: var(--jp-statusbar-height);
|
||
justify-content: space-between;
|
||
padding: 0 10px;
|
||
}
|
||
|
||
.jp-StatusBar-Left {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-direction: row;
|
||
}
|
||
|
||
.jp-StatusBar-Middle {
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.jp-StatusBar-Right {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-direction: row-reverse;
|
||
}
|
||
|
||
.jp-StatusBar-Item {
|
||
max-height: var(--jp-statusbar-height);
|
||
margin: 0 2px;
|
||
height: var(--jp-statusbar-height);
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
color: var(--jp-ui-font-color1);
|
||
padding: 0 6px;
|
||
}
|
||
|
||
.jp-mod-highlighted:hover {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-mod-clicked {
|
||
background-color: var(--jp-brand-color1);
|
||
}
|
||
|
||
.jp-mod-clicked:hover {
|
||
background-color: var(--jp-brand-color0);
|
||
}
|
||
|
||
.jp-mod-clicked .jp-StatusBar-TextItem {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
}
|
||
|
||
.jp-StatusBar-HoverItem {
|
||
box-shadow: '0px 4px 4px rgba(0, 0, 0, 0.25)';
|
||
}
|
||
|
||
.jp-StatusBar-TextItem {
|
||
font-size: var(--jp-ui-font-size1);
|
||
font-family: var(--jp-ui-font-family);
|
||
line-height: 24px;
|
||
color: var(--jp-ui-font-color1);
|
||
}
|
||
|
||
.jp-StatusBar-GroupItem {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-direction: row;
|
||
}
|
||
|
||
.jp-Statusbar-ProgressCircle svg {
|
||
display: block;
|
||
margin: 0 auto;
|
||
width: 16px;
|
||
height: 24px;
|
||
align-self: normal;
|
||
}
|
||
|
||
.jp-Statusbar-ProgressCircle path {
|
||
fill: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-Statusbar-ProgressBar-progress-bar {
|
||
height: 10px;
|
||
width: 100px;
|
||
border: solid 0.25px var(--jp-brand-color2);
|
||
border-radius: 3px;
|
||
overflow: hidden;
|
||
align-self: center;
|
||
}
|
||
|
||
.jp-Statusbar-ProgressBar-progress-bar > div {
|
||
background-color: var(--jp-brand-color2);
|
||
background-image: 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%,
|
||
transparent
|
||
);
|
||
background-size: 40px 40px;
|
||
float: left;
|
||
width: 0%;
|
||
height: 100%;
|
||
font-size: 12px;
|
||
line-height: 14px;
|
||
color: #fff;
|
||
text-align: center;
|
||
animation: jp-Statusbar-ExecutionTime-progress-bar 2s linear infinite;
|
||
}
|
||
|
||
.jp-Statusbar-ProgressBar-progress-bar p {
|
||
color: var(--jp-ui-font-color1);
|
||
font-family: var(--jp-ui-font-family);
|
||
font-size: var(--jp-ui-font-size1);
|
||
line-height: 10px;
|
||
width: 100px;
|
||
}
|
||
|
||
@keyframes jp-Statusbar-ExecutionTime-progress-bar {
|
||
0% {
|
||
background-position: 0 0;
|
||
}
|
||
|
||
100% {
|
||
background-position: 40px 40px;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 0;
|
||
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);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Modal variant
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-ModalCommandPalette {
|
||
position: absolute;
|
||
z-index: 10000;
|
||
top: 38px;
|
||
left: 30%;
|
||
margin: 0;
|
||
padding: 4px;
|
||
width: 40%;
|
||
box-shadow: var(--jp-elevation-z4);
|
||
border-radius: 4px;
|
||
background: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-ModalCommandPalette .lm-CommandPalette {
|
||
max-height: 40vh;
|
||
}
|
||
|
||
.jp-ModalCommandPalette .lm-CommandPalette .lm-close-icon::after {
|
||
display: none;
|
||
}
|
||
|
||
.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-header {
|
||
display: none;
|
||
}
|
||
|
||
.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item {
|
||
margin-left: 4px;
|
||
margin-right: 4px;
|
||
}
|
||
|
||
.jp-ModalCommandPalette
|
||
.lm-CommandPalette
|
||
.lm-CommandPalette-item.lm-mod-disabled {
|
||
display: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Search
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-CommandPalette-search {
|
||
padding: 4px;
|
||
background-color: var(--jp-layout-color1);
|
||
z-index: 2;
|
||
}
|
||
|
||
.lm-CommandPalette-wrapper {
|
||
overflow: overlay;
|
||
padding: 0 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);
|
||
}
|
||
|
||
.jp-SearchIconGroup {
|
||
color: white;
|
||
background-color: var(--jp-brand-color1);
|
||
position: absolute;
|
||
top: 4px;
|
||
right: 4px;
|
||
padding: 5px 5px 1px;
|
||
}
|
||
|
||
.jp-SearchIconGroup svg {
|
||
height: 20px;
|
||
width: 20px;
|
||
}
|
||
|
||
.jp-SearchIconGroup .jp-icon3[fill] {
|
||
fill: var(--jp-layout-color0);
|
||
}
|
||
|
||
.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-color2);
|
||
font-size: var(--jp-ui-font-size1);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Results
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-CommandPalette-header:first-child {
|
||
margin-top: 0;
|
||
}
|
||
|
||
.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-color2);
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-active {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
background: var(--jp-brand-color1);
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark {
|
||
color: var(--jp-ui-inverse-font-color0);
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-active .jp-icon-selectable[fill] {
|
||
fill: var(--jp-layout-color0);
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
background: var(--jp-brand-color1);
|
||
}
|
||
|
||
.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-color2);
|
||
}
|
||
|
||
.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.6;
|
||
}
|
||
|
||
.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: 0 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: 0;
|
||
left: 0;
|
||
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 24px 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);
|
||
resize: both;
|
||
}
|
||
|
||
.jp-Dialog-content.jp-Dialog-content-small {
|
||
max-width: 500px;
|
||
}
|
||
|
||
.jp-Dialog-button {
|
||
overflow: visible;
|
||
}
|
||
|
||
button.jp-Dialog-button:focus {
|
||
outline: 1px solid var(--jp-brand-color1);
|
||
outline-offset: 4px;
|
||
-moz-outline-radius: 0;
|
||
}
|
||
|
||
button.jp-Dialog-button:focus::-moz-focus-inner {
|
||
border: 0;
|
||
}
|
||
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus,
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus,
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
|
||
outline-offset: 4px;
|
||
-moz-outline-radius: 0;
|
||
}
|
||
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus {
|
||
outline: 1px solid var(--jp-accept-color-normal, var(--jp-brand-color1));
|
||
}
|
||
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus {
|
||
outline: 1px solid var(--jp-warn-color-normal, var(--jp-error-color1));
|
||
}
|
||
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
|
||
outline: 1px solid var(--jp-reject-color-normal, var(--md-grey-600));
|
||
}
|
||
|
||
button.jp-Dialog-close-button {
|
||
padding: 0;
|
||
height: 100%;
|
||
min-width: unset;
|
||
min-height: unset;
|
||
}
|
||
|
||
.jp-Dialog-header {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
flex: 0 0 auto;
|
||
padding-bottom: 12px;
|
||
font-size: var(--jp-ui-font-size3);
|
||
font-weight: 400;
|
||
color: var(--jp-ui-font-color1);
|
||
}
|
||
|
||
.jp-Dialog-body {
|
||
display: flex;
|
||
flex-direction: column;
|
||
flex: 1 1 auto;
|
||
font-size: var(--jp-ui-font-size1);
|
||
background: var(--jp-layout-color1);
|
||
color: var(--jp-ui-font-color1);
|
||
overflow: auto;
|
||
}
|
||
|
||
.jp-Dialog-footer {
|
||
display: flex;
|
||
flex-direction: row;
|
||
justify-content: flex-end;
|
||
align-items: center;
|
||
flex: 0 0 auto;
|
||
margin-left: -12px;
|
||
margin-right: -12px;
|
||
padding: 12px;
|
||
}
|
||
|
||
.jp-Dialog-checkbox {
|
||
padding-right: 5px;
|
||
}
|
||
|
||
.jp-Dialog-checkbox > input:focus-visible {
|
||
outline: 1px solid var(--jp-input-active-border-color);
|
||
outline-offset: 1px;
|
||
}
|
||
|
||
.jp-Dialog-spacer {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.jp-Dialog-title {
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.jp-Dialog-body > .jp-select-wrapper {
|
||
width: 100%;
|
||
}
|
||
|
||
.jp-Dialog-body > button {
|
||
padding: 0 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) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-Input-Boolean-Dialog {
|
||
flex-direction: row-reverse;
|
||
align-items: end;
|
||
width: 100%;
|
||
}
|
||
|
||
.jp-Input-Boolean-Dialog > label {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) 2014-2016, Jupyter Development Team.
|
||
|
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-MainAreaWidget > :focus {
|
||
outline: none;
|
||
}
|
||
|
||
.jp-MainAreaWidget .jp-MainAreaWidget-error {
|
||
padding: 6px;
|
||
}
|
||
|
||
.jp-MainAreaWidget .jp-MainAreaWidget-error > pre {
|
||
width: auto;
|
||
padding: 10px;
|
||
background: var(--jp-error-color3);
|
||
border: var(--jp-border-width) solid var(--jp-error-color1);
|
||
border-radius: var(--jp-border-radius);
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
white-space: pre-wrap;
|
||
word-wrap: break-word;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/**
|
||
* 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: #a0f;
|
||
--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: #ff0;
|
||
--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: #eee;
|
||
--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) 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| RenderedText
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
/* This is the padding value to fill the gaps between lines containing spans with background color. */
|
||
--jp-private-code-span-padding: calc(
|
||
(var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2
|
||
);
|
||
}
|
||
|
||
.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: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
.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;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-red-bg {
|
||
background-color: #e75c58;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-green-bg {
|
||
background-color: #00a250;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-yellow-bg {
|
||
background-color: #ddb62b;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-blue-bg {
|
||
background-color: #208ffb;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-magenta-bg {
|
||
background-color: #d160c4;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-cyan-bg {
|
||
background-color: #60c6c8;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-white-bg {
|
||
background-color: #c5c1b4;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.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;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-red-intense-bg {
|
||
background-color: #b22b31;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-green-intense-bg {
|
||
background-color: #007427;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-yellow-intense-bg {
|
||
background-color: #b27d12;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-blue-intense-bg {
|
||
background-color: #0065ca;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-magenta-intense-bg {
|
||
background-color: #a03196;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-cyan-intense-bg {
|
||
background-color: #258f8f;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.jp-RenderedText pre .ansi-white-intense-bg {
|
||
background-color: #a1a6b2;
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.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);
|
||
padding: var(--jp-private-code-span-padding) 0;
|
||
}
|
||
|
||
.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 */
|
||
|
||
/* stylelint-disable selector-max-type, selector-max-compound-selectors */
|
||
|
||
.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: 0;
|
||
}
|
||
|
||
/* stylelint-enable selector-max-type, selector-max-compound-selectors */
|
||
|
||
.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: var(--jp-ui-font-size1);
|
||
table-layout: fixed;
|
||
margin-left: auto;
|
||
margin-bottom: 1em;
|
||
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;
|
||
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 p {
|
||
text-align: left;
|
||
margin: 0;
|
||
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);
|
||
}
|
||
|
||
.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: var(--jp-ui-font-size0);
|
||
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.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-cursor-backdrop {
|
||
position: fixed;
|
||
width: 200px;
|
||
height: 200px;
|
||
margin-top: -100px;
|
||
margin-left: -100px;
|
||
will-change: transform;
|
||
z-index: 100;
|
||
}
|
||
|
||
.lm-mod-drag-image {
|
||
will-change: transform;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-lineFormSearch {
|
||
padding: 4px 12px;
|
||
background-color: var(--jp-layout-color2);
|
||
box-shadow: var(--jp-toolbar-box-shadow);
|
||
z-index: 2;
|
||
font-size: var(--jp-ui-font-size1);
|
||
}
|
||
|
||
.jp-lineFormCaption {
|
||
font-size: var(--jp-ui-font-size0);
|
||
line-height: var(--jp-ui-font-size1);
|
||
margin-top: 4px;
|
||
color: var(--jp-ui-font-color0);
|
||
}
|
||
|
||
.jp-baseLineForm {
|
||
border: none;
|
||
border-radius: 0;
|
||
position: absolute;
|
||
background-size: 16px;
|
||
background-repeat: no-repeat;
|
||
background-position: center;
|
||
outline: none;
|
||
}
|
||
|
||
.jp-lineFormButtonContainer {
|
||
top: 4px;
|
||
right: 8px;
|
||
height: 24px;
|
||
padding: 0 12px;
|
||
width: 12px;
|
||
}
|
||
|
||
.jp-lineFormButtonIcon {
|
||
top: 0;
|
||
right: 0;
|
||
background-color: var(--jp-brand-color1);
|
||
height: 100%;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
padding: 4px 6px;
|
||
}
|
||
|
||
.jp-lineFormButton {
|
||
top: 0;
|
||
right: 0;
|
||
background-color: transparent;
|
||
height: 100%;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-lineFormWrapper {
|
||
overflow: hidden;
|
||
padding: 0 8px;
|
||
border: 1px solid var(--jp-border-color0);
|
||
background-color: var(--jp-input-active-background);
|
||
height: 22px;
|
||
}
|
||
|
||
.jp-lineFormWrapperFocusWithin {
|
||
border: var(--jp-border-width) solid var(--md-blue-500);
|
||
box-shadow: inset 0 0 4px var(--md-blue-300);
|
||
}
|
||
|
||
.jp-lineFormInput {
|
||
background: transparent;
|
||
width: 200px;
|
||
height: 100%;
|
||
border: none;
|
||
outline: none;
|
||
color: var(--jp-ui-font-color0);
|
||
line-height: 28px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 0;
|
||
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.
|
||
|----------------------------------------------------------------------------*/
|
||
.jp-DocumentSearch-input {
|
||
border: none;
|
||
outline: none;
|
||
color: var(--jp-ui-font-color0);
|
||
font-size: var(--jp-ui-font-size1);
|
||
background-color: var(--jp-layout-color0);
|
||
font-family: var(--jp-ui-font-family);
|
||
padding: 2px 1px;
|
||
resize: none;
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay {
|
||
position: absolute;
|
||
background-color: var(--jp-toolbar-background);
|
||
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
|
||
border-left: var(--jp-border-width) solid var(--jp-toolbar-border-color);
|
||
top: 0;
|
||
right: 0;
|
||
z-index: 7;
|
||
min-width: 405px;
|
||
padding: 2px;
|
||
font-size: var(--jp-ui-font-size1);
|
||
|
||
--jp-private-document-search-button-height: 20px;
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay button {
|
||
background-color: var(--jp-toolbar-background);
|
||
outline: 0;
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay button:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay button:active {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay-row {
|
||
display: flex;
|
||
align-items: center;
|
||
margin-bottom: 2px;
|
||
}
|
||
|
||
.jp-DocumentSearch-button-content {
|
||
display: inline-block;
|
||
cursor: pointer;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-DocumentSearch-button-content svg {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-DocumentSearch-input-wrapper {
|
||
border: var(--jp-border-width) solid var(--jp-border-color0);
|
||
display: flex;
|
||
background-color: var(--jp-layout-color0);
|
||
margin: 2px;
|
||
}
|
||
|
||
.jp-DocumentSearch-input-wrapper:focus-within {
|
||
border-color: var(--jp-cell-editor-active-border-color);
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-wrapper,
|
||
.jp-DocumentSearch-button-wrapper {
|
||
all: initial;
|
||
overflow: hidden;
|
||
display: inline-block;
|
||
border: none;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-wrapper {
|
||
width: 14px;
|
||
height: 14px;
|
||
}
|
||
|
||
.jp-DocumentSearch-button-wrapper {
|
||
width: var(--jp-private-document-search-button-height);
|
||
height: var(--jp-private-document-search-button-height);
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-wrapper:focus,
|
||
.jp-DocumentSearch-button-wrapper:focus {
|
||
outline: var(--jp-border-width) solid
|
||
var(--jp-cell-editor-active-border-color);
|
||
outline-offset: -1px;
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-wrapper,
|
||
.jp-DocumentSearch-button-wrapper,
|
||
.jp-DocumentSearch-button-content:focus {
|
||
outline: none;
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-placeholder {
|
||
width: 5px;
|
||
}
|
||
|
||
.jp-DocumentSearch-input-button::before {
|
||
display: block;
|
||
padding-top: 100%;
|
||
}
|
||
|
||
.jp-DocumentSearch-input-button-off {
|
||
opacity: var(--jp-search-toggle-off-opacity);
|
||
}
|
||
|
||
.jp-DocumentSearch-input-button-off:hover {
|
||
opacity: var(--jp-search-toggle-hover-opacity);
|
||
}
|
||
|
||
.jp-DocumentSearch-input-button-on {
|
||
opacity: var(--jp-search-toggle-on-opacity);
|
||
}
|
||
|
||
.jp-DocumentSearch-index-counter {
|
||
padding-left: 10px;
|
||
padding-right: 10px;
|
||
user-select: none;
|
||
min-width: 35px;
|
||
display: inline-block;
|
||
}
|
||
|
||
.jp-DocumentSearch-up-down-wrapper {
|
||
display: inline-block;
|
||
padding-right: 2px;
|
||
margin-left: auto;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.jp-DocumentSearch-spacer {
|
||
margin-left: auto;
|
||
}
|
||
|
||
.jp-DocumentSearch-up-down-wrapper button {
|
||
outline: 0;
|
||
border: none;
|
||
width: var(--jp-private-document-search-button-height);
|
||
height: var(--jp-private-document-search-button-height);
|
||
vertical-align: middle;
|
||
margin: 1px 5px 2px;
|
||
}
|
||
|
||
.jp-DocumentSearch-up-down-button:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-up-down-button:active {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-DocumentSearch-filter-button {
|
||
border-radius: var(--jp-border-radius);
|
||
}
|
||
|
||
.jp-DocumentSearch-filter-button:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-filter-button-enabled {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-filter-button-enabled:hover {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-DocumentSearch-search-options {
|
||
padding: 0 8px;
|
||
margin-left: 3px;
|
||
width: 100%;
|
||
display: grid;
|
||
justify-content: start;
|
||
grid-template-columns: 1fr 1fr;
|
||
align-items: center;
|
||
justify-items: stretch;
|
||
}
|
||
|
||
.jp-DocumentSearch-search-filter-disabled {
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-search-filter {
|
||
display: flex;
|
||
align-items: center;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-DocumentSearch-regex-error {
|
||
color: var(--jp-error-color0);
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-button-wrapper {
|
||
overflow: hidden;
|
||
display: inline-block;
|
||
box-sizing: border-box;
|
||
border: var(--jp-border-width) solid var(--jp-border-color0);
|
||
margin: auto 2px;
|
||
padding: 1px 4px;
|
||
height: calc(var(--jp-private-document-search-button-height) + 2px);
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-button-wrapper:focus {
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-button {
|
||
display: inline-block;
|
||
text-align: center;
|
||
cursor: pointer;
|
||
box-sizing: border-box;
|
||
color: var(--jp-ui-font-color1);
|
||
|
||
/* height - 2 * (padding of wrapper) */
|
||
line-height: calc(var(--jp-private-document-search-button-height) - 2px);
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-button:focus {
|
||
outline: none;
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-wrapper-class {
|
||
margin-left: 14px;
|
||
display: flex;
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-toggle {
|
||
border: none;
|
||
background-color: var(--jp-toolbar-background);
|
||
border-radius: var(--jp-border-radius);
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-toggle:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.cm-editor {
|
||
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 */
|
||
}
|
||
|
||
.cm-editor pre {
|
||
padding: 0 var(--jp-code-padding);
|
||
}
|
||
|
||
.jp-CodeMirrorEditor[data-type='inline'] .cm-dialog {
|
||
background-color: var(--jp-layout-color0);
|
||
color: var(--jp-content-font-color1);
|
||
}
|
||
|
||
.jp-CodeMirrorEditor {
|
||
cursor: text;
|
||
}
|
||
|
||
/* 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'] .cm-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'] .cm-cursor {
|
||
border-left: var(--jp-code-cursor-width2) solid
|
||
var(--jp-editor-cursor-color);
|
||
}
|
||
}
|
||
|
||
.cm-editor.jp-mod-readOnly .cm-cursor {
|
||
display: none;
|
||
}
|
||
|
||
.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;
|
||
}
|
||
|
||
.cm-searching,
|
||
.cm-searching span {
|
||
/* `.cm-searching span`: we need to override syntax highlighting */
|
||
background-color: var(--jp-search-unselected-match-background-color);
|
||
color: var(--jp-search-unselected-match-color);
|
||
}
|
||
|
||
.cm-searching::selection,
|
||
.cm-searching span::selection {
|
||
background-color: var(--jp-search-unselected-match-background-color);
|
||
color: var(--jp-search-unselected-match-color);
|
||
}
|
||
|
||
.jp-current-match > .cm-searching,
|
||
.jp-current-match > .cm-searching span,
|
||
.cm-searching > .jp-current-match,
|
||
.cm-searching > .jp-current-match span {
|
||
background-color: var(--jp-search-selected-match-background-color);
|
||
color: var(--jp-search-selected-match-color);
|
||
}
|
||
|
||
.jp-current-match > .cm-searching::selection,
|
||
.cm-searching > .jp-current-match::selection,
|
||
.jp-current-match > .cm-searching span::selection {
|
||
background-color: var(--jp-search-selected-match-background-color);
|
||
color: var(--jp-search-selected-match-color);
|
||
}
|
||
|
||
.cm-trailingspace {
|
||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAsElEQVQIHQGlAFr/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7+r3zKmT0/+pk9P/7+r3zAAAAAAAAAAABAAAAAAAAAAA6OPzM+/q9wAAAAAA6OPzMwAAAAAAAAAAAgAAAAAAAAAAGR8NiRQaCgAZIA0AGR8NiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQyoYJ/SY80UAAAAASUVORK5CYII=);
|
||
background-position: center left;
|
||
background-repeat: repeat-x;
|
||
}
|
||
|
||
.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);
|
||
}
|
||
|
||
/* Styles for shared cursors (remote cursor locations and selected ranges) */
|
||
.jp-CodeMirrorEditor .cm-ySelectionCaret {
|
||
position: relative;
|
||
border-left: 1px solid black;
|
||
margin-left: -1px;
|
||
margin-right: -1px;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-CodeMirrorEditor .cm-ySelectionCaret > .cm-ySelectionInfo {
|
||
white-space: nowrap;
|
||
position: absolute;
|
||
top: -1.15em;
|
||
padding-bottom: 0.05em;
|
||
left: -1px;
|
||
font-size: 0.95em;
|
||
font-family: var(--jp-ui-font-family);
|
||
font-weight: bold;
|
||
line-height: normal;
|
||
user-select: none;
|
||
color: white;
|
||
padding-left: 2px;
|
||
padding-right: 2px;
|
||
z-index: 101;
|
||
transition: opacity 0.3s ease-in-out;
|
||
}
|
||
|
||
.jp-CodeMirrorEditor .cm-ySelectionInfo {
|
||
transition-delay: 0.7s;
|
||
opacity: 0;
|
||
}
|
||
|
||
.jp-CodeMirrorEditor .cm-ySelectionCaret:hover > .cm-ySelectionInfo {
|
||
opacity: 1;
|
||
transition-delay: 0s;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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 .jp-SidePanel-content {
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.jp-FileBrowser-toolbar.jp-Toolbar {
|
||
flex-wrap: wrap;
|
||
row-gap: 12px;
|
||
border-bottom: none;
|
||
height: auto;
|
||
margin: 8px 12px 0;
|
||
box-shadow: none;
|
||
padding: 0;
|
||
justify-content: flex-start;
|
||
}
|
||
|
||
.jp-FileBrowser-Panel {
|
||
flex: 1 1 auto;
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.jp-BreadCrumbs {
|
||
flex: 0 0 auto;
|
||
margin: 8px 12px;
|
||
}
|
||
|
||
.jp-BreadCrumbs-item {
|
||
margin: 0 2px;
|
||
padding: 0 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: 0;
|
||
}
|
||
|
||
.jp-BreadCrumbs-item.jp-mod-dropTarget {
|
||
background-color: var(--jp-brand-color2);
|
||
opacity: 0.7;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Buttons
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-FileBrowser-toolbar > .jp-Toolbar-item {
|
||
flex: 0 0 auto;
|
||
padding-left: 0;
|
||
padding-right: 2px;
|
||
align-items: center;
|
||
height: unset;
|
||
}
|
||
|
||
.jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent {
|
||
width: 40px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Other styles
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-FileDialog.jp-mod-conflict input {
|
||
color: var(--jp-error-color1);
|
||
}
|
||
|
||
.jp-FileDialog .jp-new-name-title {
|
||
margin-top: 12px;
|
||
}
|
||
|
||
.jp-LastModified-hidden {
|
||
display: none;
|
||
}
|
||
|
||
.jp-FileSize-hidden {
|
||
display: none;
|
||
}
|
||
|
||
.jp-FileBrowser .lm-AccordionPanel > h3:first-child {
|
||
display: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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;
|
||
align-items: center;
|
||
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;
|
||
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-headerItem.jp-id-filesize {
|
||
flex: 0 0 75px;
|
||
border-left: var(--jp-border-width) solid var(--jp-border-color2);
|
||
text-align: right;
|
||
}
|
||
|
||
.jp-id-narrow {
|
||
display: none;
|
||
flex: 0 0 5px;
|
||
padding: 4px;
|
||
border-left: var(--jp-border-width) solid var(--jp-border-color2);
|
||
text-align: right;
|
||
color: var(--jp-border-color2);
|
||
}
|
||
|
||
.jp-DirListing-narrow .jp-id-narrow {
|
||
display: block;
|
||
}
|
||
|
||
.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);
|
||
}
|
||
|
||
.jp-DirListing-content mark {
|
||
color: var(--jp-ui-font-color0);
|
||
background-color: transparent;
|
||
font-weight: bold;
|
||
}
|
||
|
||
.jp-DirListing-content .jp-DirListing-item.jp-mod-selected mark {
|
||
color: var(--jp-ui-inverse-font-color0);
|
||
}
|
||
|
||
/* 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;
|
||
align-items: center;
|
||
padding: 4px 12px;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-DirListing-checkboxWrapper {
|
||
/* Increases hit area of checkbox. */
|
||
padding: 4px;
|
||
}
|
||
|
||
.jp-DirListing-header
|
||
.jp-DirListing-checkboxWrapper
|
||
+ .jp-DirListing-headerItem {
|
||
padding-left: 4px;
|
||
}
|
||
|
||
.jp-DirListing-content .jp-DirListing-checkboxWrapper {
|
||
position: relative;
|
||
left: -4px;
|
||
margin: -4px 0 -4px -8px;
|
||
}
|
||
|
||
.jp-DirListing-checkboxWrapper.jp-mod-visible {
|
||
visibility: visible;
|
||
}
|
||
|
||
/* For devices that support hovering, hide checkboxes until hovered, selected...
|
||
*/
|
||
@media (hover: hover) {
|
||
.jp-DirListing-checkboxWrapper {
|
||
visibility: hidden;
|
||
}
|
||
|
||
.jp-DirListing-item:hover .jp-DirListing-checkboxWrapper,
|
||
.jp-DirListing-item.jp-mod-selected .jp-DirListing-checkboxWrapper {
|
||
visibility: visible;
|
||
}
|
||
}
|
||
|
||
.jp-DirListing-item[data-is-dot] {
|
||
opacity: 75%;
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-selected {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
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-itemText:focus {
|
||
outline-width: 2px;
|
||
outline-color: var(--jp-inverse-layout-color1);
|
||
outline-style: solid;
|
||
outline-offset: 1px;
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-selected .jp-DirListing-itemText:focus {
|
||
outline-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-DirListing-itemModified {
|
||
flex: 0 0 125px;
|
||
text-align: right;
|
||
}
|
||
|
||
.jp-DirListing-itemFileSize {
|
||
flex: 0 0 90px;
|
||
text-align: right;
|
||
}
|
||
|
||
.jp-DirListing-editor {
|
||
flex: 1 0 64px;
|
||
outline: none;
|
||
border: none;
|
||
color: var(--jp-ui-font-color1);
|
||
background-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon::before {
|
||
color: var(--jp-success-color1);
|
||
content: '\25CF';
|
||
font-size: 8px;
|
||
position: absolute;
|
||
left: -8px;
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-running.jp-mod-selected
|
||
.jp-DirListing-itemIcon::before {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
}
|
||
|
||
.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: 0;
|
||
color: var(--jp-ui-font-color1);
|
||
transform: translateX(-40%) translateY(-58%);
|
||
}
|
||
|
||
.jp-Document {
|
||
min-width: 120px;
|
||
min-height: 120px;
|
||
outline: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Main OutputArea
|
||
| OutputArea has a list of Outputs
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-OutputArea {
|
||
overflow-y: auto;
|
||
}
|
||
|
||
.jp-OutputArea-child {
|
||
display: table;
|
||
table-layout: fixed;
|
||
width: 100%;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.jp-OutputPrompt {
|
||
width: 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-prompt {
|
||
display: table-cell;
|
||
vertical-align: top;
|
||
}
|
||
|
||
.jp-OutputArea-output {
|
||
display: table-cell;
|
||
width: 100%;
|
||
height: auto;
|
||
overflow: auto;
|
||
user-select: text;
|
||
-moz-user-select: text;
|
||
-webkit-user-select: text;
|
||
-ms-user-select: text;
|
||
}
|
||
|
||
.jp-OutputArea .jp-RenderedText {
|
||
padding-left: 1ch;
|
||
}
|
||
|
||
/**
|
||
* Prompt overlay.
|
||
*/
|
||
|
||
.jp-OutputArea-promptOverlay {
|
||
position: absolute;
|
||
top: 0;
|
||
width: var(--jp-cell-prompt-width);
|
||
height: 100%;
|
||
opacity: 0.5;
|
||
}
|
||
|
||
.jp-OutputArea-promptOverlay:hover {
|
||
background: var(--jp-layout-color2);
|
||
box-shadow: inset 0 0 1px var(--jp-inverse-layout-color0);
|
||
cursor: zoom-out;
|
||
}
|
||
|
||
.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay:hover {
|
||
cursor: zoom-in;
|
||
}
|
||
|
||
/**
|
||
* Isolated output.
|
||
*/
|
||
.jp-OutputArea-output.jp-mod-isolated {
|
||
width: 100%;
|
||
display: block;
|
||
}
|
||
|
||
/*
|
||
When drag events occur, `lm-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: 0;
|
||
padding: 0;
|
||
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;
|
||
}
|
||
|
||
.jp-TrimmedOutputs pre {
|
||
background: var(--jp-layout-color3);
|
||
font-size: calc(var(--jp-code-font-size) * 1.4);
|
||
text-align: center;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
/* 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;
|
||
}
|
||
|
||
/* Hide empty lines in the output area, for instance due to cleared widgets */
|
||
.jp-OutputArea-prompt:empty {
|
||
padding: 0;
|
||
border: 0;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 0;
|
||
width: 100%;
|
||
}
|
||
|
||
/* 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);
|
||
border-top: var(--jp-border-width) solid transparent;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| The Stdin output
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.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: 0 0.25em;
|
||
margin: 0 0.25em;
|
||
flex: 0 0 70%;
|
||
}
|
||
|
||
.jp-Stdin-input::placeholder {
|
||
opacity: 0;
|
||
}
|
||
|
||
.jp-Stdin-input:focus {
|
||
box-shadow: none;
|
||
}
|
||
|
||
.jp-Stdin-input:focus::placeholder {
|
||
opacity: 1;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Output Area View
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-LinkedOutputView .jp-OutputArea {
|
||
height: 100%;
|
||
display: block;
|
||
}
|
||
|
||
.jp-LinkedOutputView .jp-OutputArea-output:only-child {
|
||
height: 100%;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Printing
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
@media print {
|
||
.jp-OutputArea-child {
|
||
break-inside: avoid-page;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Mobile
|
||
|----------------------------------------------------------------------------*/
|
||
@media only screen and (max-width: 760px) {
|
||
.jp-OutputPrompt {
|
||
display: table-row;
|
||
text-align: left;
|
||
}
|
||
|
||
.jp-OutputArea-child .jp-OutputArea-output {
|
||
display: table-row;
|
||
margin-left: var(--jp-notebook-padding);
|
||
}
|
||
}
|
||
|
||
/* Trimmed outputs warning */
|
||
.jp-TrimmedOutputs > a {
|
||
margin: 10px;
|
||
text-decoration: none;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-TrimmedOutputs > a:hover {
|
||
text-decoration: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Table of Contents
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
--jp-private-toc-active-width: 4px;
|
||
}
|
||
|
||
.jp-TableOfContents {
|
||
display: flex;
|
||
flex-direction: column;
|
||
background: var(--jp-layout-color1);
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-TableOfContents-placeholder {
|
||
text-align: center;
|
||
}
|
||
|
||
.jp-TableOfContents-placeholderContent {
|
||
color: var(--jp-content-font-color2);
|
||
padding: 8px;
|
||
}
|
||
|
||
.jp-TableOfContents-placeholderContent > h3 {
|
||
margin-bottom: var(--jp-content-heading-margin-bottom);
|
||
}
|
||
|
||
.jp-TableOfContents .jp-SidePanel-content {
|
||
overflow-y: auto;
|
||
}
|
||
|
||
.jp-TableOfContents-tree {
|
||
margin: 4px;
|
||
}
|
||
|
||
.jp-TableOfContents ol {
|
||
list-style-type: none;
|
||
}
|
||
|
||
/* stylelint-disable-next-line selector-max-type */
|
||
.jp-TableOfContents li > ol {
|
||
/* Align left border with triangle icon center */
|
||
padding-left: 11px;
|
||
}
|
||
|
||
.jp-TableOfContents-content {
|
||
/* left margin for the active heading indicator */
|
||
margin: 0 0 0 var(--jp-private-toc-active-width);
|
||
padding: 0;
|
||
background-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-tocItem {
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-tocItem-heading {
|
||
display: flex;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-tocItem-heading:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-tocItem-content {
|
||
display: block;
|
||
padding: 4px 0;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
overflow-x: hidden;
|
||
}
|
||
|
||
.jp-tocItem-collapser {
|
||
height: 20px;
|
||
margin: 2px 2px 0;
|
||
padding: 0;
|
||
background: none;
|
||
border: none;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-tocItem-collapser:hover {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
/* Active heading indicator */
|
||
|
||
.jp-tocItem-heading::before {
|
||
content: ' ';
|
||
background: transparent;
|
||
width: var(--jp-private-toc-active-width);
|
||
height: 24px;
|
||
position: absolute;
|
||
left: 0;
|
||
border-radius: var(--jp-border-radius);
|
||
}
|
||
|
||
.jp-tocItem-heading.jp-tocItem-active::before {
|
||
background-color: var(--jp-brand-color1);
|
||
}
|
||
|
||
.jp-tocItem-heading:hover.jp-tocItem-active::before {
|
||
background: var(--jp-brand-color0);
|
||
opacity: 1;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 0;
|
||
margin: 0;
|
||
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: 0;
|
||
bottom: 0;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Printing
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*
|
||
Hiding collapsers in print mode.
|
||
|
||
Note: input and output wrappers have "display: block" propery in print mode.
|
||
*/
|
||
|
||
@media print {
|
||
.jp-Collapser {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 0;
|
||
width: 100%;
|
||
padding: 0;
|
||
margin: 0;
|
||
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: table;
|
||
table-layout: fixed;
|
||
width: 100%;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.jp-InputArea-editor {
|
||
display: table-cell;
|
||
overflow: hidden;
|
||
vertical-align: top;
|
||
|
||
/* This is the non-active, default styling */
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
|
||
border-radius: 0;
|
||
background: var(--jp-cell-editor-background);
|
||
}
|
||
|
||
.jp-InputPrompt {
|
||
display: table-cell;
|
||
vertical-align: top;
|
||
width: 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;
|
||
|
||
/* 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;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Mobile
|
||
|----------------------------------------------------------------------------*/
|
||
@media only screen and (max-width: 760px) {
|
||
.jp-InputArea-editor {
|
||
display: table-row;
|
||
margin-left: var(--jp-notebook-padding);
|
||
}
|
||
|
||
.jp-InputPrompt {
|
||
display: table-row;
|
||
text-align: left;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Placeholder
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Placeholder {
|
||
display: table;
|
||
table-layout: fixed;
|
||
width: 100%;
|
||
}
|
||
|
||
.jp-Placeholder-prompt {
|
||
display: table-cell;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-Placeholder-content {
|
||
display: table-cell;
|
||
padding: 4px 6px;
|
||
border: 1px solid transparent;
|
||
border-radius: 0;
|
||
background: none;
|
||
box-sizing: border-box;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-Placeholder-contentContainer {
|
||
display: flex;
|
||
}
|
||
|
||
.jp-Placeholder-content:hover,
|
||
.jp-InputPlaceholder > .jp-Placeholder-content:hover {
|
||
border-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.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: 0 0 2px 0 rgba(0, 0, 0, 0.25);
|
||
background-color: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-PlaceholderText {
|
||
white-space: nowrap;
|
||
overflow-x: hidden;
|
||
color: var(--jp-inverse-layout-color3);
|
||
font-family: var(--jp-code-font-family);
|
||
}
|
||
|
||
.jp-InputPlaceholder > .jp-Placeholder-content {
|
||
border-color: var(--jp-cell-editor-border-color);
|
||
background: var(--jp-cell-editor-background);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 0;
|
||
border: none;
|
||
outline: none;
|
||
background: transparent;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Common input/output
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Cell-inputWrapper,
|
||
.jp-Cell-outputWrapper {
|
||
display: flex;
|
||
flex-direction: row;
|
||
padding: 0;
|
||
margin: 0;
|
||
|
||
/* 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;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea {
|
||
overflow-y: auto;
|
||
max-height: 24em;
|
||
margin-left: var(--jp-private-cell-scrolling-output-offset);
|
||
resize: vertical;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea[style*='height'] {
|
||
max-height: unset;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after {
|
||
content: ' ';
|
||
box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%);
|
||
width: 100%;
|
||
height: 100%;
|
||
position: sticky;
|
||
bottom: 0;
|
||
top: 0;
|
||
margin-top: -50%;
|
||
float: left;
|
||
display: block;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child {
|
||
padding-top: 6px;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {
|
||
width: calc(
|
||
var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset)
|
||
);
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay {
|
||
left: calc(-1 * var(--jp-private-cell-scrolling-output-offset));
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| CodeCell
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| MarkdownCell
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-MarkdownOutput {
|
||
display: table-cell;
|
||
width: 100%;
|
||
margin-top: 0;
|
||
margin-bottom: 0;
|
||
padding-left: var(--jp-code-padding);
|
||
}
|
||
|
||
.jp-MarkdownOutput.jp-RenderedHTMLCommon {
|
||
overflow: auto;
|
||
}
|
||
|
||
/* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */
|
||
.jp-collapseHeadingButton {
|
||
display: flex;
|
||
min-height: var(--jp-cell-collapser-min-height);
|
||
font-size: var(--jp-code-font-size);
|
||
position: absolute;
|
||
background-color: transparent;
|
||
background-size: 25px;
|
||
background-repeat: no-repeat;
|
||
background-position-x: center;
|
||
background-position-y: top;
|
||
background-image: var(--jp-icon-caret-down);
|
||
right: 0;
|
||
top: 0;
|
||
bottom: 0;
|
||
}
|
||
|
||
.jp-collapseHeadingButton.jp-mod-collapsed {
|
||
background-image: var(--jp-icon-caret-right);
|
||
}
|
||
|
||
/*
|
||
set the container font size to match that of content
|
||
so that the nested collapse buttons have the right size
|
||
*/
|
||
.jp-MarkdownCell .jp-InputPrompt {
|
||
font-size: var(--jp-content-font-size1);
|
||
}
|
||
|
||
/*
|
||
Align collapseHeadingButton with cell top header
|
||
The font sizes are identical to the ones in packages/rendermime/style/base.css
|
||
*/
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] {
|
||
font-size: var(--jp-content-font-size5);
|
||
background-position-y: calc(0.3 * var(--jp-content-font-size5));
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] {
|
||
font-size: var(--jp-content-font-size4);
|
||
background-position-y: calc(0.3 * var(--jp-content-font-size4));
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] {
|
||
font-size: var(--jp-content-font-size3);
|
||
background-position-y: calc(0.3 * var(--jp-content-font-size3));
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] {
|
||
font-size: var(--jp-content-font-size2);
|
||
background-position-y: calc(0.3 * var(--jp-content-font-size2));
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] {
|
||
font-size: var(--jp-content-font-size1);
|
||
background-position-y: top;
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] {
|
||
font-size: var(--jp-content-font-size0);
|
||
background-position-y: top;
|
||
}
|
||
|
||
/* collapseHeadingButton (show only on (hover,active) if hiddenCellsButton is shown) */
|
||
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-collapseHeadingButton {
|
||
display: none;
|
||
}
|
||
|
||
.jp-Notebook.jp-mod-showHiddenCellsButton
|
||
:is(.jp-MarkdownCell:hover, .jp-mod-active)
|
||
.jp-collapseHeadingButton {
|
||
display: flex;
|
||
}
|
||
|
||
/* showHiddenCellsButton (only show if jp-mod-showHiddenCellsButton is set, which
|
||
is a consequence of the showHiddenCellsButton option in Notebook Settings)*/
|
||
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton {
|
||
margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding));
|
||
margin-top: var(--jp-code-padding);
|
||
border: 1px solid var(--jp-border-color2);
|
||
background-color: var(--jp-border-color3) !important;
|
||
color: var(--jp-content-font-color0) !important;
|
||
display: flex;
|
||
}
|
||
|
||
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton:hover {
|
||
background-color: var(--jp-border-color2) !important;
|
||
}
|
||
|
||
.jp-showHiddenCellsButton {
|
||
display: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Printing
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*
|
||
Using block instead of flex to allow the use of the break-inside CSS property for
|
||
cell outputs.
|
||
*/
|
||
|
||
@media print {
|
||
.jp-Cell-inputWrapper,
|
||
.jp-Cell-outputWrapper {
|
||
display: block;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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-notebook-toolbar-padding: 2px 5px 2px 2px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Styles
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-NotebookPanel-toolbar {
|
||
padding: var(--jp-notebook-toolbar-padding);
|
||
|
||
/* disable paint containment from lumino 2.0 default strict CSS containment */
|
||
contain: style size !important;
|
||
}
|
||
|
||
.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;
|
||
}
|
||
|
||
.jp-Toolbar-responsive-popup {
|
||
position: absolute;
|
||
height: fit-content;
|
||
display: flex;
|
||
flex-direction: row;
|
||
flex-wrap: wrap;
|
||
justify-content: flex-end;
|
||
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: var(--jp-notebook-toolbar-padding);
|
||
z-index: 1;
|
||
right: 0;
|
||
top: 0;
|
||
}
|
||
|
||
.jp-Toolbar > .jp-Toolbar-responsive-opener {
|
||
margin-left: auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Variables
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Styles
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Notebook-ExecutionIndicator {
|
||
position: relative;
|
||
display: inline-block;
|
||
height: 100%;
|
||
z-index: 9997;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-tooltip {
|
||
visibility: hidden;
|
||
height: auto;
|
||
width: max-content;
|
||
width: -moz-max-content;
|
||
background-color: var(--jp-layout-color2);
|
||
color: var(--jp-ui-font-color1);
|
||
text-align: justify;
|
||
border-radius: 6px;
|
||
padding: 0 5px;
|
||
position: fixed;
|
||
display: table;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-tooltip.up {
|
||
transform: translateX(-50%) translateY(-100%) translateY(-32px);
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-tooltip.down {
|
||
transform: translateX(calc(-100% + 16px)) translateY(5px);
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-tooltip.hidden {
|
||
display: none;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator:hover .jp-Notebook-ExecutionIndicator-tooltip {
|
||
visibility: visible;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator span {
|
||
font-size: var(--jp-ui-font-size1);
|
||
font-family: var(--jp-ui-font-family);
|
||
color: var(--jp-ui-font-color1);
|
||
line-height: 24px;
|
||
display: block;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-progress-bar {
|
||
display: flex;
|
||
justify-content: center;
|
||
height: 100%;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*
|
||
* Execution indicator
|
||
*/
|
||
.jp-tocItem-content::after {
|
||
content: '';
|
||
|
||
/* Must be identical to form a circle */
|
||
width: 12px;
|
||
height: 12px;
|
||
background: none;
|
||
border: none;
|
||
position: absolute;
|
||
right: 0;
|
||
}
|
||
|
||
.jp-tocItem-content[data-running='0']::after {
|
||
border-radius: 50%;
|
||
border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
|
||
background: none;
|
||
}
|
||
|
||
.jp-tocItem-content[data-running='1']::after {
|
||
border-radius: 50%;
|
||
border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
|
||
background-color: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-tocItem-content[data-running='0'],
|
||
.jp-tocItem-content[data-running='1'] {
|
||
margin-right: 12px;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-Notebook-footer {
|
||
height: 27px;
|
||
margin-left: calc(
|
||
var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
|
||
var(--jp-cell-padding)
|
||
);
|
||
width: calc(
|
||
100% -
|
||
(
|
||
var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
|
||
var(--jp-cell-padding) + var(--jp-cell-padding)
|
||
)
|
||
);
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
|
||
color: var(--jp-ui-font-color3);
|
||
margin-top: 6px;
|
||
background: none;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-Notebook-footer:focus {
|
||
border-color: var(--jp-cell-editor-active-border-color);
|
||
}
|
||
|
||
/* For devices that support hovering, hide footer until hover */
|
||
@media (hover: hover) {
|
||
.jp-Notebook-footer {
|
||
opacity: 0;
|
||
}
|
||
|
||
.jp-Notebook-footer:focus,
|
||
.jp-Notebook-footer:hover {
|
||
opacity: 1;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Imports
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| CSS variables
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
--jp-side-by-side-output-size: 1fr;
|
||
--jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size);
|
||
--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);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Notebook
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* stylelint-disable selector-max-class */
|
||
|
||
.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-MainAreaWidget-ContainStrict .jp-Notebook * {
|
||
contain: strict;
|
||
}
|
||
|
||
.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);
|
||
}
|
||
|
||
/* cell is dirty */
|
||
.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt {
|
||
color: var(--jp-warn-color1);
|
||
}
|
||
|
||
.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt::before {
|
||
color: var(--jp-warn-color1);
|
||
content: '•';
|
||
}
|
||
|
||
.jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser {
|
||
background: var(--jp-warn-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: block;
|
||
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 0 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 0;
|
||
}
|
||
|
||
.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 0 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-ActiveCellTool {
|
||
padding: 12px 0;
|
||
display: flex;
|
||
}
|
||
|
||
.jp-ActiveCellTool-Content {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.jp-ActiveCellTool .jp-ActiveCellTool-CellContent {
|
||
background: var(--jp-cell-editor-background);
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
|
||
border-radius: 0;
|
||
min-height: 29px;
|
||
}
|
||
|
||
.jp-ActiveCellTool .jp-InputPrompt {
|
||
min-width: calc(var(--jp-cell-prompt-width) * 0.75);
|
||
}
|
||
|
||
.jp-ActiveCellTool-CellContent > pre {
|
||
padding: 5px 4px;
|
||
margin: 0;
|
||
white-space: normal;
|
||
}
|
||
|
||
.jp-MetadataEditorTool {
|
||
flex-direction: column;
|
||
padding: 12px 0;
|
||
}
|
||
|
||
.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,
|
||
.jp-NumberSetter label {
|
||
line-height: 1.4;
|
||
}
|
||
|
||
.jp-NotebookTools .jp-select-wrapper {
|
||
margin-top: 4px;
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.jp-NumberSetter input {
|
||
width: 100%;
|
||
margin-top: 4px;
|
||
}
|
||
|
||
.jp-NotebookTools .jp-Collapse {
|
||
margin-top: 16px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Side-by-side Mode (.jp-mod-sideBySide)
|
||
|----------------------------------------------------------------------------*/
|
||
.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {
|
||
margin-top: 3em;
|
||
margin-bottom: 3em;
|
||
margin-left: 5%;
|
||
margin-right: 5%;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell {
|
||
display: grid;
|
||
grid-template-columns: minmax(0, 1fr) min-content minmax(
|
||
0,
|
||
var(--jp-side-by-side-output-size)
|
||
);
|
||
grid-template-rows: auto minmax(0, 1fr) auto;
|
||
grid-template-areas:
|
||
'header header header'
|
||
'input handle output'
|
||
'footer footer footer';
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell {
|
||
grid-template-columns: minmax(0, 1fr) min-content minmax(
|
||
0,
|
||
var(--jp-side-by-side-resized-cell)
|
||
);
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader {
|
||
grid-area: header;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper {
|
||
grid-area: input;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper {
|
||
/* overwrite the default margin (no vertical separation needed in side by side move */
|
||
margin-top: 0;
|
||
grid-area: output;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter {
|
||
grid-area: footer;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle {
|
||
grid-area: handle;
|
||
user-select: none;
|
||
display: block;
|
||
height: 100%;
|
||
cursor: ew-resize;
|
||
padding: 0 var(--jp-cell-padding);
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after {
|
||
content: '';
|
||
display: block;
|
||
background: var(--jp-border-color2);
|
||
height: 100%;
|
||
width: 5px;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook
|
||
.jp-CodeCell.jp-mod-resizedCell
|
||
.jp-CellResizeHandle::after {
|
||
background: var(--jp-border-color0);
|
||
}
|
||
|
||
.jp-CellResizeHandle {
|
||
display: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Placeholder
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Cell-Placeholder {
|
||
padding-left: 55px;
|
||
}
|
||
|
||
.jp-Cell-Placeholder-wrapper {
|
||
background: #fff;
|
||
border: 1px solid;
|
||
border-color: #e5e6e9 #dfe0e4 #d0d1d5;
|
||
border-radius: 4px;
|
||
-webkit-border-radius: 4px;
|
||
margin: 10px 15px;
|
||
}
|
||
|
||
.jp-Cell-Placeholder-wrapper-inner {
|
||
padding: 15px;
|
||
position: relative;
|
||
}
|
||
|
||
.jp-Cell-Placeholder-wrapper-body {
|
||
background-repeat: repeat;
|
||
background-size: 50% auto;
|
||
}
|
||
|
||
.jp-Cell-Placeholder-wrapper-body div {
|
||
background: #f6f7f8;
|
||
background-image: -webkit-linear-gradient(
|
||
left,
|
||
#f6f7f8 0%,
|
||
#edeef1 20%,
|
||
#f6f7f8 40%,
|
||
#f6f7f8 100%
|
||
);
|
||
background-repeat: no-repeat;
|
||
background-size: 800px 104px;
|
||
height: 104px;
|
||
position: absolute;
|
||
right: 15px;
|
||
left: 15px;
|
||
top: 15px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-h1 {
|
||
top: 20px;
|
||
height: 20px;
|
||
left: 15px;
|
||
width: 150px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-h2 {
|
||
left: 15px;
|
||
top: 50px;
|
||
height: 10px;
|
||
width: 100px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-content-1,
|
||
div.jp-Cell-Placeholder-content-2,
|
||
div.jp-Cell-Placeholder-content-3 {
|
||
left: 15px;
|
||
right: 15px;
|
||
height: 10px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-content-1 {
|
||
top: 100px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-content-2 {
|
||
top: 120px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-content-3 {
|
||
top: 140px;
|
||
}
|
||
|
||
</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: 0 2px 1px -1px var(--jp-shadow-umbra-color),
|
||
0 1px 1px 0 var(--jp-shadow-penumbra-color),
|
||
0 1px 3px 0 var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z2: 0 3px 1px -2px var(--jp-shadow-umbra-color),
|
||
0 2px 2px 0 var(--jp-shadow-penumbra-color),
|
||
0 1px 5px 0 var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z4: 0 2px 4px -1px var(--jp-shadow-umbra-color),
|
||
0 4px 5px 0 var(--jp-shadow-penumbra-color),
|
||
0 1px 10px 0 var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z6: 0 3px 5px -1px var(--jp-shadow-umbra-color),
|
||
0 6px 10px 0 var(--jp-shadow-penumbra-color),
|
||
0 1px 18px 0 var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z8: 0 5px 5px -3px var(--jp-shadow-umbra-color),
|
||
0 8px 10px 1px var(--jp-shadow-penumbra-color),
|
||
0 3px 14px 2px var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z12: 0 7px 8px -4px var(--jp-shadow-umbra-color),
|
||
0 12px 17px 2px var(--jp-shadow-penumbra-color),
|
||
0 5px 22px 4px var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z16: 0 8px 10px -5px var(--jp-shadow-umbra-color),
|
||
0 16px 24px 2px var(--jp-shadow-penumbra-color),
|
||
0 6px 30px 5px var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z20: 0 10px 13px -6px var(--jp-shadow-umbra-color),
|
||
0 20px 31px 3px var(--jp-shadow-penumbra-color),
|
||
0 8px 38px 7px var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z24: 0 11px 15px -7px var(--jp-shadow-umbra-color),
|
||
0 24px 38px 3px var(--jp-shadow-penumbra-color),
|
||
0 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-inverse-border-color: var(--md-grey-600);
|
||
--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: system-ui, -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-900);
|
||
--jp-content-font-family: system-ui, -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: #111;
|
||
--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-900);
|
||
--jp-brand-color1: var(--md-blue-700);
|
||
--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-900);
|
||
--jp-accent-color1: var(--md-green-700);
|
||
--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-900);
|
||
--jp-warn-color1: var(--md-orange-700);
|
||
--jp-warn-color2: var(--md-orange-300);
|
||
--jp-warn-color3: var(--md-orange-100);
|
||
--jp-error-color0: var(--md-red-900);
|
||
--jp-error-color1: var(--md-red-700);
|
||
--jp-error-color2: var(--md-red-300);
|
||
--jp-error-color3: var(--md-red-100);
|
||
--jp-success-color0: var(--md-green-900);
|
||
--jp-success-color1: var(--md-green-700);
|
||
--jp-success-color2: var(--md-green-300);
|
||
--jp-success-color3: var(--md-green-100);
|
||
--jp-info-color0: var(--md-cyan-900);
|
||
--jp-info-color1: var(--md-cyan-700);
|
||
--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: var(--jp-code-font-family-default);
|
||
--jp-cell-prompt-letter-spacing: 0;
|
||
--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: 0 0 2px 0 rgba(0, 0, 0, 0.24);
|
||
--jp-toolbar-header-margin: 4px 4px 0 4px;
|
||
--jp-toolbar-active-background: var(--md-grey-300);
|
||
|
||
/* Statusbar specific styles */
|
||
|
||
--jp-statusbar-height: 24px;
|
||
|
||
/* 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-inverse-border-color);
|
||
--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: rgb(0, 54, 109);
|
||
--jp-mirror-editor-variable-3-color: #085;
|
||
--jp-mirror-editor-punctuation-color: #05a;
|
||
--jp-mirror-editor-property-color: #05a;
|
||
--jp-mirror-editor-operator-color: #a2f;
|
||
--jp-mirror-editor-comment-color: #408080;
|
||
--jp-mirror-editor-string-color: #ba2121;
|
||
--jp-mirror-editor-string-2-color: #708;
|
||
--jp-mirror-editor-meta-color: #a2f;
|
||
--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;
|
||
|
||
/*
|
||
RTC user specific colors.
|
||
These colors are used for the cursor, username in the editor,
|
||
and the icon of the user.
|
||
*/
|
||
|
||
--jp-collaborator-color1: #ffad8e;
|
||
--jp-collaborator-color2: #dac83d;
|
||
--jp-collaborator-color3: #72dd76;
|
||
--jp-collaborator-color4: #00e4d0;
|
||
--jp-collaborator-color5: #45d4ff;
|
||
--jp-collaborator-color6: #e2b1ff;
|
||
--jp-collaborator-color7: #ff9de6;
|
||
|
||
/* Vega extension styles */
|
||
|
||
--jp-vega-background: white;
|
||
|
||
/* Sidebar-related styles */
|
||
|
||
--jp-sidebar-min-width: 250px;
|
||
|
||
/* 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);
|
||
|
||
/* Button colors */
|
||
--jp-accept-color-normal: var(--md-blue-700);
|
||
--jp-accept-color-hover: var(--md-blue-800);
|
||
--jp-accept-color-active: var(--md-blue-900);
|
||
--jp-warn-color-normal: var(--md-red-700);
|
||
--jp-warn-color-hover: var(--md-red-800);
|
||
--jp-warn-color-active: var(--md-red-900);
|
||
--jp-reject-color-normal: var(--md-grey-600);
|
||
--jp-reject-color-hover: var(--md-grey-700);
|
||
--jp-reject-color-active: var(--md-grey-800);
|
||
|
||
/* File or activity icons and switch semantic variables */
|
||
--jp-jupyter-icon-color: #f37626;
|
||
--jp-notebook-icon-color: #f37626;
|
||
--jp-json-icon-color: var(--md-orange-700);
|
||
--jp-console-icon-background-color: var(--md-blue-700);
|
||
--jp-console-icon-color: white;
|
||
--jp-terminal-icon-background-color: var(--md-grey-800);
|
||
--jp-terminal-icon-color: var(--md-grey-200);
|
||
--jp-text-editor-icon-color: var(--md-grey-700);
|
||
--jp-inspector-icon-color: var(--md-grey-700);
|
||
--jp-switch-color: var(--md-grey-400);
|
||
--jp-switch-true-position-color: var(--md-orange-900);
|
||
}
|
||
</style>
|
||
<style type="text/css">
|
||
/* Force rendering true colors when outputing to pdf */
|
||
* {
|
||
-webkit-print-color-adjust: exact;
|
||
}
|
||
|
||
/* Misc */
|
||
a.anchor-link {
|
||
display: none;
|
||
}
|
||
|
||
/* Input area styling */
|
||
.jp-InputArea {
|
||
overflow: hidden;
|
||
}
|
||
|
||
.jp-InputArea-editor {
|
||
overflow: hidden;
|
||
}
|
||
|
||
.cm-editor.cm-s-jupyter .highlight pre {
|
||
/* weird, but --jp-code-padding defined to be 5px but 4px horizontal padding is hardcoded for pre.cm-line */
|
||
padding: var(--jp-code-padding) 4px;
|
||
margin: 0;
|
||
|
||
font-family: inherit;
|
||
font-size: inherit;
|
||
line-height: inherit;
|
||
color: inherit;
|
||
|
||
}
|
||
|
||
.jp-OutputArea-output pre {
|
||
line-height: inherit;
|
||
font-family: inherit;
|
||
}
|
||
|
||
.jp-RenderedText pre {
|
||
color: var(--jp-content-font-color1);
|
||
font-size: var(--jp-code-font-size);
|
||
}
|
||
|
||
/* Hiding the collapser by default */
|
||
.jp-Collapser {
|
||
display: none;
|
||
}
|
||
|
||
@page {
|
||
margin: 0.5in; /* Margin for each printed piece of paper */
|
||
}
|
||
|
||
@media print {
|
||
.jp-Cell-inputWrapper,
|
||
.jp-Cell-outputWrapper {
|
||
display: block;
|
||
}
|
||
}
|
||
</style>
|
||
<!-- Load mathjax -->
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS_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',
|
||
messageStyle: 'none',
|
||
CommonHTML: {
|
||
linebreaks: {
|
||
automatic: true
|
||
}
|
||
}
|
||
});
|
||
|
||
MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
|
||
}
|
||
}
|
||
init_mathjax();
|
||
</script>
|
||
<!-- End of mathjax configuration --><script type="module">
|
||
document.addEventListener("DOMContentLoaded", async () => {
|
||
const diagrams = document.querySelectorAll(".jp-Mermaid > pre.mermaid");
|
||
// do not load mermaidjs if not needed
|
||
if (!diagrams.length) {
|
||
return;
|
||
}
|
||
const mermaid = (await import("https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.7.0/mermaid.esm.min.mjs")).default;
|
||
const parser = new DOMParser();
|
||
|
||
mermaid.initialize({
|
||
maxTextSize: 100000,
|
||
maxEdges: 100000,
|
||
startOnLoad: false,
|
||
fontFamily: window
|
||
.getComputedStyle(document.body)
|
||
.getPropertyValue("--jp-ui-font-family"),
|
||
theme: document.querySelector("body[data-jp-theme-light='true']")
|
||
? "default"
|
||
: "dark",
|
||
});
|
||
|
||
let _nextMermaidId = 0;
|
||
|
||
function makeMermaidImage(svg) {
|
||
const img = document.createElement("img");
|
||
const doc = parser.parseFromString(svg, "image/svg+xml");
|
||
const svgEl = doc.querySelector("svg");
|
||
const { maxWidth } = svgEl?.style || {};
|
||
const firstTitle = doc.querySelector("title");
|
||
const firstDesc = doc.querySelector("desc");
|
||
|
||
img.setAttribute("src", `data:image/svg+xml,${encodeURIComponent(svg)}`);
|
||
if (maxWidth) {
|
||
img.width = parseInt(maxWidth);
|
||
}
|
||
if (firstTitle) {
|
||
img.setAttribute("alt", firstTitle.textContent);
|
||
}
|
||
if (firstDesc) {
|
||
const caption = document.createElement("figcaption");
|
||
caption.className = "sr-only";
|
||
caption.textContent = firstDesc.textContent;
|
||
return [img, caption];
|
||
}
|
||
return [img];
|
||
}
|
||
|
||
async function makeMermaidError(text) {
|
||
let errorMessage = "";
|
||
try {
|
||
await mermaid.parse(text);
|
||
} catch (err) {
|
||
errorMessage = `${err}`;
|
||
}
|
||
|
||
const result = document.createElement("details");
|
||
result.className = 'jp-RenderedMermaid-Details';
|
||
const summary = document.createElement("summary");
|
||
summary.className = 'jp-RenderedMermaid-Summary';
|
||
const pre = document.createElement("pre");
|
||
const code = document.createElement("code");
|
||
code.innerText = text;
|
||
pre.appendChild(code);
|
||
summary.appendChild(pre);
|
||
result.appendChild(summary);
|
||
|
||
const warning = document.createElement("pre");
|
||
warning.innerText = errorMessage;
|
||
result.appendChild(warning);
|
||
return [result];
|
||
}
|
||
|
||
async function renderOneMarmaid(src) {
|
||
const id = `jp-mermaid-${_nextMermaidId++}`;
|
||
const parent = src.parentNode;
|
||
let raw = src.textContent.trim();
|
||
const el = document.createElement("div");
|
||
el.style.visibility = "hidden";
|
||
document.body.appendChild(el);
|
||
let results = null;
|
||
let output = null;
|
||
try {
|
||
let { svg } = await mermaid.render(id, raw, el);
|
||
svg = cleanMermaidSvg(svg);
|
||
results = makeMermaidImage(svg);
|
||
output = document.createElement("figure");
|
||
results.map(output.appendChild, output);
|
||
} catch (err) {
|
||
parent.classList.add("jp-mod-warning");
|
||
results = await makeMermaidError(raw);
|
||
output = results[0];
|
||
} finally {
|
||
el.remove();
|
||
}
|
||
parent.classList.add("jp-RenderedMermaid");
|
||
parent.appendChild(output);
|
||
}
|
||
|
||
|
||
/**
|
||
* Post-process to ensure mermaid diagrams contain only valid SVG and XHTML.
|
||
*/
|
||
function cleanMermaidSvg(svg) {
|
||
return svg.replace(RE_VOID_ELEMENT, replaceVoidElement);
|
||
}
|
||
|
||
|
||
/**
|
||
* A regular expression for all void elements, which may include attributes and
|
||
* a slash.
|
||
*
|
||
* @see https://developer.mozilla.org/en-US/docs/Glossary/Void_element
|
||
*
|
||
* Of these, only `<br>` is generated by Mermaid in place of `\n`,
|
||
* but _any_ "malformed" tag will break the SVG rendering entirely.
|
||
*/
|
||
const RE_VOID_ELEMENT =
|
||
/<\s*(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)\s*([^>]*?)\s*>/gi;
|
||
|
||
/**
|
||
* Ensure a void element is closed with a slash, preserving any attributes.
|
||
*/
|
||
function replaceVoidElement(match, tag, rest) {
|
||
rest = rest.trim();
|
||
if (!rest.endsWith('/')) {
|
||
rest = `${rest} /`;
|
||
}
|
||
return `<${tag} ${rest}>`;
|
||
}
|
||
|
||
void Promise.all([...diagrams].map(renderOneMarmaid));
|
||
});
|
||
</script>
|
||
<style>
|
||
.jp-Mermaid:not(.jp-RenderedMermaid) {
|
||
display: none;
|
||
}
|
||
|
||
.jp-RenderedMermaid {
|
||
overflow: auto;
|
||
display: flex;
|
||
}
|
||
|
||
.jp-RenderedMermaid.jp-mod-warning {
|
||
width: auto;
|
||
padding: 0.5em;
|
||
margin-top: 0.5em;
|
||
border: var(--jp-border-width) solid var(--jp-warn-color2);
|
||
border-radius: var(--jp-border-radius);
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
white-space: pre-wrap;
|
||
word-wrap: break-word;
|
||
}
|
||
|
||
.jp-RenderedMermaid figure {
|
||
margin: 0;
|
||
overflow: auto;
|
||
max-width: 100%;
|
||
}
|
||
|
||
.jp-RenderedMermaid img {
|
||
max-width: 100%;
|
||
}
|
||
|
||
.jp-RenderedMermaid-Details > pre {
|
||
margin-top: 1em;
|
||
}
|
||
|
||
.jp-RenderedMermaid-Summary {
|
||
color: var(--jp-warn-color2);
|
||
}
|
||
|
||
.jp-RenderedMermaid:not(.jp-mod-warning) pre {
|
||
display: none;
|
||
}
|
||
|
||
.jp-RenderedMermaid-Summary > pre {
|
||
display: inline-block;
|
||
white-space: normal;
|
||
}
|
||
</style>
|
||
<!-- End of mermaid configuration --></head>
|
||
<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">
|
||
<main>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h1 id="Tutorial:-Applying-Periodic-Boundary-Conditions-in-PINNs-to-solve-the-Helmholtz-Problem">Tutorial: Applying Periodic Boundary Conditions in PINNs to solve the Helmholtz Problem<a class="anchor-link" href="#Tutorial:-Applying-Periodic-Boundary-Conditions-in-PINNs-to-solve-the-Helmholtz-Problem">¶</a></h1><p><a href="https://colab.research.google.com/github/mathLab/PINA/blob/master/tutorials/tutorial9/tutorial.ipynb"><img alt="Open In Colab" src="https://colab.research.google.com/assets/colab-badge.svg"/></a></p>
|
||
<p>This tutorial demonstrates how to solve a one-dimensional Helmholtz equation with periodic boundary conditions (PBC) using Physics-Informed Neural Networks (PINNs).<br/>
|
||
We will use standard PINN training, augmented with a periodic input expansion as introduced in <a href="https://arxiv.org/abs/2308.08468"><em>An Expert’s Guide to Training Physics-Informed Neural Networks</em></a>.</p>
|
||
<p>Let's start with some useful imports:</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<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="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="c1">## routine needed to run the notebook on Google Colab</span>
|
||
<span class="k">try</span><span class="p">:</span>
|
||
<span class="kn">import</span><span class="w"> </span><span class="nn">google.colab</span>
|
||
|
||
<span class="n">IN_COLAB</span> <span class="o">=</span> <span class="kc">True</span>
|
||
<span class="k">except</span><span class="p">:</span>
|
||
<span class="n">IN_COLAB</span> <span class="o">=</span> <span class="kc">False</span>
|
||
<span class="k">if</span> <span class="n">IN_COLAB</span><span class="p">:</span>
|
||
<span class="o">!</span>pip<span class="w"> </span>install<span class="w"> </span><span class="s2">"pina-mathlab[tutorial]"</span>
|
||
|
||
<span class="kn">import</span><span class="w"> </span><span class="nn">torch</span>
|
||
<span class="kn">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
|
||
<span class="kn">import</span><span class="w"> </span><span class="nn">warnings</span>
|
||
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina</span><span class="w"> </span><span class="kn">import</span> <span class="n">Condition</span><span class="p">,</span> <span class="n">Trainer</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.problem</span><span class="w"> </span><span class="kn">import</span> <span class="n">SpatialProblem</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.operator</span><span class="w"> </span><span class="kn">import</span> <span class="n">laplacian</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.model</span><span class="w"> </span><span class="kn">import</span> <span class="n">FeedForward</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.model.block</span><span class="w"> </span><span class="kn">import</span> <span class="n">PeriodicBoundaryEmbedding</span> <span class="c1"># The PBC module</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.solver</span><span class="w"> </span><span class="kn">import</span> <span class="n">PINN</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.domain</span><span class="w"> </span><span class="kn">import</span> <span class="n">CartesianDomain</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.equation</span><span class="w"> </span><span class="kn">import</span> <span class="n">Equation</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.callback</span><span class="w"> </span><span class="kn">import</span> <span class="n">MetricTracker</span>
|
||
|
||
<span class="n">warnings</span><span class="o">.</span><span class="n">filterwarnings</span><span class="p">(</span><span class="s2">"ignore"</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h2 id="Problem-Definition">Problem Definition<a class="anchor-link" href="#Problem-Definition">¶</a></h2><p>The one-dimensional Helmholtz problem is mathematically expressed as:</p>
|
||
<p>$$
|
||
\begin{cases}
|
||
\frac{d^2}{dx^2}u(x) - \lambda u(x) - f(x) &= 0 \quad \text{for } x \in (0, 2) \\
|
||
u^{(m)}(x = 0) - u^{(m)}(x = 2) &= 0 \quad \text{for } m \in \{0, 1, \dots\}
|
||
\end{cases}
|
||
$$</p>
|
||
<p>In this case, we seek a solution that is $C^{\infty}$ (infinitely differentiable) and periodic with period 2, over the infinite domain $x \in (-\infty, \infty)$.</p>
|
||
<p>A classical PINN approach would require enforcing periodic boundary conditions (PBC) for all derivatives—an infinite set of constraints—which is clearly infeasible.</p>
|
||
<p>To address this, we adopt a strategy known as <em>coordinate augmentation</em>. In this approach, we apply a coordinate transformation $v(x)$ such that the transformed inputs naturally satisfy the periodicity condition:</p>
|
||
<p>$$
|
||
u^{(m)}(x = 0) - u^{(m)}(x = 2) = 0 \quad \text{for } m \in \{0, 1, \dots\}
|
||
$$</p>
|
||
<p>For demonstration purposes, we choose the specific parameters:</p>
|
||
<ul>
|
||
<li>$\lambda = -10\pi^2$</li>
|
||
<li>$f(x) = -6\pi^2 \sin(3\pi x) \cos(\pi x)$</li>
|
||
</ul>
|
||
<p>These yield an analytical solution:</p>
|
||
<p>$$
|
||
u(x) = \sin(\pi x) \cos(3\pi x)
|
||
$$</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<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="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">helmholtz_equation</span><span class="p">(</span><span class="n">input_</span><span class="p">,</span> <span class="n">output_</span><span class="p">):</span>
|
||
<span class="n">x</span> <span class="o">=</span> <span class="n">input_</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">"x"</span><span class="p">)</span>
|
||
<span class="n">u_xx</span> <span class="o">=</span> <span class="n">laplacian</span><span class="p">(</span><span class="n">output_</span><span class="p">,</span> <span class="n">input_</span><span class="p">,</span> <span class="n">components</span><span class="o">=</span><span class="p">[</span><span class="s2">"u"</span><span class="p">],</span> <span class="n">d</span><span class="o">=</span><span class="p">[</span><span class="s2">"x"</span><span class="p">])</span>
|
||
<span class="n">f</span> <span class="o">=</span> <span class="p">(</span>
|
||
<span class="o">-</span><span class="mf">6.0</span>
|
||
<span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">pi</span><span class="o">**</span><span class="mi">2</span>
|
||
<span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="mi">3</span> <span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">pi</span> <span class="o">*</span> <span class="n">x</span><span class="p">)</span>
|
||
<span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">torch</span><span class="o">.</span><span class="n">pi</span> <span class="o">*</span> <span class="n">x</span><span class="p">)</span>
|
||
<span class="p">)</span>
|
||
<span class="n">lambda_</span> <span class="o">=</span> <span class="o">-</span><span class="mf">10.0</span> <span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">pi</span><span class="o">**</span><span class="mi">2</span>
|
||
<span class="k">return</span> <span class="n">u_xx</span> <span class="o">-</span> <span class="n">lambda_</span> <span class="o">*</span> <span class="n">output_</span> <span class="o">-</span> <span class="n">f</span>
|
||
|
||
|
||
<span class="k">class</span><span class="w"> </span><span class="nc">Helmholtz</span><span class="p">(</span><span class="n">SpatialProblem</span><span class="p">):</span>
|
||
<span class="n">output_variables</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"u"</span><span class="p">]</span>
|
||
<span class="n">spatial_domain</span> <span class="o">=</span> <span class="n">CartesianDomain</span><span class="p">({</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span><span class="p">]})</span>
|
||
|
||
<span class="c1"># here we write the problem conditions</span>
|
||
<span class="n">conditions</span> <span class="o">=</span> <span class="p">{</span>
|
||
<span class="s2">"phys_cond"</span><span class="p">:</span> <span class="n">Condition</span><span class="p">(</span>
|
||
<span class="n">domain</span><span class="o">=</span><span class="n">spatial_domain</span><span class="p">,</span> <span class="n">equation</span><span class="o">=</span><span class="n">Equation</span><span class="p">(</span><span class="n">helmholtz_equation</span><span class="p">)</span>
|
||
<span class="p">),</span>
|
||
<span class="p">}</span>
|
||
|
||
<span class="k">def</span><span class="w"> </span><span class="nf">solution</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pts</span><span class="p">):</span>
|
||
<span class="k">return</span> <span class="n">torch</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">torch</span><span class="o">.</span><span class="n">pi</span> <span class="o">*</span> <span class="n">pts</span><span class="p">)</span> <span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="mf">3.0</span> <span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">pi</span> <span class="o">*</span> <span class="n">pts</span><span class="p">)</span>
|
||
|
||
|
||
<span class="n">problem</span> <span class="o">=</span> <span class="n">Helmholtz</span><span class="p">()</span>
|
||
|
||
<span class="c1"># let's discretise the domain</span>
|
||
<span class="n">problem</span><span class="o">.</span><span class="n">discretise_domain</span><span class="p">(</span><span class="mi">200</span><span class="p">,</span> <span class="s2">"grid"</span><span class="p">,</span> <span class="n">domains</span><span class="o">=</span><span class="p">[</span><span class="s2">"phys_cond"</span><span class="p">])</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<p>As usual, the Helmholtz problem is implemented in <strong>PINA</strong> as a class. The governing equations are defined as <code>conditions</code>, which must be satisfied within their respective domains. The <code>solution</code> represents the exact analytical solution, which will be used to evaluate the accuracy of the predicted solution.</p>
|
||
<p>For selecting collocation points, we use Latin Hypercube Sampling (LHS), a common strategy for efficient space-filling in high-dimensional domains</p>
|
||
<h2 id="Solving-the-Problem-with-a-Periodic-Network">Solving the Problem with a Periodic Network<a class="anchor-link" href="#Solving-the-Problem-with-a-Periodic-Network">¶</a></h2><p>Any $\mathcal{C}^{\infty}$ periodic function $u : \mathbb{R} \rightarrow \mathbb{R}$ with period $L \in \mathbb{N}$<br/>
|
||
can be constructed by composing an arbitrary smooth function $f : \mathbb{R}^n \rightarrow \mathbb{R}$ with a smooth, periodic mapping$v : \mathbb{R} \rightarrow \mathbb{R}^n$ of the same period $L$. That is,</p>
|
||
<p>$$
|
||
u(x) = f(v(x)).
|
||
$$</p>
|
||
<p>This formulation is general and can be extended to arbitrary dimensions.<br/>
|
||
For more details, see <a href="https://arxiv.org/pdf/2007.07442"><em>A Method for Representing Periodic Functions and Enforcing Exactly Periodic Boundary Conditions with Deep Neural Networks</em></a>.</p>
|
||
<p>In our specific case, we define the periodic embedding as:</p>
|
||
<p>$$
|
||
v(x) = \left[1, \cos\left(\frac{2\pi}{L} x\right), \sin\left(\frac{2\pi}{L} x\right)\right],
|
||
$$</p>
|
||
<p>which constitutes the coordinate augmentation. The function $f(\cdot)$ is approximated by a neural network $NN_{\theta}(\cdot)$, resulting in the approximate PINN solution:</p>
|
||
<p>$$
|
||
u(x) \approx u_{\theta}(x) = NN_{\theta}(v(x)).
|
||
$$</p>
|
||
<p>In <strong>PINA</strong>, this is implemented using the <code>PeriodicBoundaryEmbedding</code> layer for $v(x)$,<br/>
|
||
paired with any <code>pina.model</code> to define the neural network $NN_{\theta}$.</p>
|
||
<p>Let’s see how this is put into practice!</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<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="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># we encapsulate all modules in a torch.nn.Sequential container</span>
|
||
<span class="n">model</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">Sequential</span><span class="p">(</span>
|
||
<span class="n">PeriodicBoundaryEmbedding</span><span class="p">(</span><span class="n">input_dimension</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">periods</span><span class="o">=</span><span class="mi">2</span><span class="p">),</span>
|
||
<span class="n">FeedForward</span><span class="p">(</span>
|
||
<span class="n">input_dimensions</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="c1"># output of PeriodicBoundaryEmbedding = 3 * input_dimension</span>
|
||
<span class="n">output_dimensions</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
||
<span class="n">layers</span><span class="o">=</span><span class="p">[</span><span class="mi">64</span><span class="p">,</span> <span class="mi">64</span><span class="p">],</span>
|
||
<span class="p">),</span>
|
||
<span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<p>As simple as that!</p>
|
||
<p>In higher dimensions, you can specify different periods for each coordinate using a dictionary.<br/>
|
||
For example, <code>periods = {'x': 2, 'y': 3, ...}</code> indicates a periodicity of 2 in the $x$ direction,<br/>
|
||
3 in the $y$ direction, and so on.</p>
|
||
<p>We will now solve the problem using the usual <code>PINN</code> and <code>Trainer</code> classes. After training, we'll examine the losses using the <code>MetricTracker</code> callback from <code>pina.callback</code>.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<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="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="n">solver</span> <span class="o">=</span> <span class="n">PINN</span><span class="p">(</span><span class="n">problem</span><span class="o">=</span><span class="n">problem</span><span class="p">,</span> <span class="n">model</span><span class="o">=</span><span class="n">model</span><span class="p">)</span>
|
||
<span class="n">trainer</span> <span class="o">=</span> <span class="n">Trainer</span><span class="p">(</span>
|
||
<span class="n">solver</span><span class="p">,</span>
|
||
<span class="n">max_epochs</span><span class="o">=</span><span class="mi">2000</span><span class="p">,</span>
|
||
<span class="n">accelerator</span><span class="o">=</span><span class="s2">"cpu"</span><span class="p">,</span>
|
||
<span class="n">enable_model_summary</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
|
||
<span class="n">callbacks</span><span class="o">=</span><span class="p">[</span><span class="n">MetricTracker</span><span class="p">()],</span>
|
||
<span class="p">)</span>
|
||
<span class="n">trainer</span><span class="o">.</span><span class="n">train</span><span class="p">()</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell-outputWrapper">
|
||
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||
</div>
|
||
<div class="jp-OutputArea jp-Cell-outputArea">
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
|
||
<pre>Using default `ModelCheckpoint`. Consider installing `litmodels` package to enable `LitModelCheckpoint` for automatic upload to the Lightning model registry.
|
||
</pre>
|
||
</div>
|
||
</div>
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
|
||
<pre>GPU available: False, used: False
|
||
</pre>
|
||
</div>
|
||
</div>
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
|
||
<pre>TPU available: False, using: 0 TPU cores
|
||
</pre>
|
||
</div>
|
||
</div>
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
|
||
<pre>HPU available: False, using: 0 HPUs
|
||
</pre>
|
||
</div>
|
||
</div>
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jupyter-widgets jp-OutputArea-output" id="343a6d12-c639-4c0a-a3c8-5a7ce17c2d67" tabindex="0">
|
||
<script type="text/javascript">
|
||
var element = document.getElementById('343a6d12-c639-4c0a-a3c8-5a7ce17c2d67');
|
||
</script>
|
||
<script type="application/vnd.jupyter.widget-view+json">
|
||
{"version_major": 2, "version_minor": 0, "model_id": "fe776462e9804ecb92b01eddb8187d8b"}
|
||
</script>
|
||
</div>
|
||
</div>
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
|
||
<pre>`Trainer.fit` stopped: `max_epochs=2000` reached.
|
||
</pre>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<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="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># plot loss</span>
|
||
<span class="n">trainer_metrics</span> <span class="o">=</span> <span class="n">trainer</span><span class="o">.</span><span class="n">callbacks</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">metrics</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span>
|
||
<span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">trainer_metrics</span><span class="p">[</span><span class="s2">"train_loss"</span><span class="p">])),</span> <span class="n">trainer_metrics</span><span class="p">[</span><span class="s2">"train_loss"</span><span class="p">]</span>
|
||
<span class="p">)</span>
|
||
<span class="c1"># plotting</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s2">"epoch"</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">"loss"</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="s2">"log"</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell-outputWrapper">
|
||
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||
</div>
|
||
<div class="jp-OutputArea jp-Cell-outputArea">
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
|
||
<img alt="No description has been provided for this image" class="" src="data:image/png;base64,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r9/vXaqpvZp/e818fX2N9tvZ2cHLy8vomJ49e152jkv7PD09u6T+69XY2IjnnnsOd999t9EClk8++SSGDh0KLy8v7N27F4sWLUJRURHeeustAObfvqlTp+K2225Dz549kZubi+effx7Tpk1DSkoKlEqlVV3Dzz77DK6urrjtttuMtlvKNWzvs8FUfzuvdEx1dTUaGhrg5OTUqZoZhKhTFi5ciOPHj2P37t1G2x9++GHD14MGDUJAQAAmTpyI3Nxc9O7du7vLvG7Tpk0zfD148GDEx8cjLCwM3377bad/yczVJ598gmnTpiEwMNCwzdKvny1raWnBnXfeCSEE3n//faN9SUlJhq8HDx4MBwcHPPLII1i6dKlFLN1w1113Gb4eNGgQBg8ejN69eyM5ORkTJ06UsTLTW7lyJe699144OjoabbeUa3ilzwZzxkdj3UytVkOpVF7WW16r1cLf31+mqq7P448/jp9//hnbt29HcHBwh8fGx8cDAHJycgAA/v7+7bb90j5z4+Hhgb59+yInJwf+/v5obm5GZWWl0TG/vXaW0r6zZ89iy5YteOihhzo8ztKv36WaOvp98/f3R0lJidH+1tZWVFRUWMx1vRSCzp49i82bNxvdDWpPfHw8WltbcebMGQDm377f69WrF9RqtdG/S0u/hgCwa9cuZGVlXfX3EjDPa3ilzwZT/e280jFubm439D+qDELdzMHBAbGxsdi6dathm16vx9atW5GQkCBjZVcnhMDjjz+ONWvWYNu2bZfdhm1Peno6ACAgIAAAkJCQgGPHjhn90br0hzsqKqpL6r4RtbW1yM3NRUBAAGJjY2Fvb2907bKyspCfn2+4dpbSvk8//RS+vr64+eabOzzO0q9fz5494e/vb3TNqqursX//fqNrVllZibS0NMMx27Ztg16vNwTBhIQE7Ny5Ey0tLYZjNm/ejMjISNkfqVwKQadOncKWLVvg7e191fekp6dDoVAYHieZc/vac+7cOZSXlxv9u7Tka3jJJ598gtjYWERHR1/1WHO6hlf7bDDV386EhASjc1w65oY/O2+oqzV1yjfffCNUKpVYtWqVyMjIEA8//LDw8PAw6i1vjh577DHh7u4ukpOTjYZw1tfXCyGEyMnJES+//LI4ePCgyMvLEz/99JPo1auXGDNmjOEcl4ZITp48WaSnp4uNGzcKHx8fsxle/swzz4jk5GSRl5cn9uzZIxITE4VarRYlJSVCiLYhoKGhoWLbtm3i4MGDIiEhQSQkJBjeb+7tE6JtlGJoaKh47rnnjLZb6vWrqakRhw8fFocPHxYAxFtvvSUOHz5sGDW1bNky4eHhIX766Sdx9OhRceutt7Y7fH7IkCFi//79Yvfu3aJPnz5GQ68rKyuFn5+fuO+++8Tx48fFN998I5ydnbtlaHJH7WtubhYzZ84UwcHBIj093ej38tJIm71794q3335bpKeni9zcXPHll18KHx8fcf/995tF+67WxpqaGvGXv/xFpKSkiLy8PLFlyxYxdOhQ0adPH9HY2Gg4h6Vew0uqqqqEs7OzeP/99y97v7lfw6t9Nghhmr+dl4bPP/vssyIzM1NoNBoOn7dk7733nggNDRUODg5i+PDhYt++fXKXdFUA2n19+umnQggh8vPzxZgxY4SXl5dQqVQiIiJCPPvss0bz0AghxJkzZ8S0adOEk5OTUKvV4plnnhEtLS0ytOhyc+bMEQEBAcLBwUEEBQWJOXPmiJycHMP+hoYG8ac//Ul4enoKZ2dnMXv2bFFUVGR0DnNunxBC/PLLLwKAyMrKMtpuqddv+/bt7f67nDt3rhCibQj93//+d+Hn5ydUKpWYOHHiZW0vLy8Xd999t3BxcRFubm5i/vz5oqamxuiYI0eOiFGjRgmVSiWCgoLEsmXLZG9fXl7eFX8vL80NlZaWJuLj44W7u7twdHQU/fv3F6+99ppRiJCzfVdrY319vZg8ebLw8fER9vb2IiwsTCxYsOCy/3G01Gt4yQcffCCcnJxEZWXlZe8392t4tc8GIUz3t3P79u0iJiZGODg4iF69ehn9jM6SLjaCiIiIyOawjxARERHZLAYhIiIislkMQkRERGSzGISIiIjIZjEIERERkc1iECIiIiKbxSBERERENotBiIiIiGwWgxAR0XVITk6GJEmXLSBJRJaJQYiIiIhsFoMQERER2SwGISKyKHq9HkuXLkXPnj3h5OSE6OhofP/99wB+fWy1bt06DB48GI6Ojrjppptw/Phxo3P88MMPGDBgAFQqFcLDw/Hmm28a7W9qasJzzz2HkJAQqFQqRERE4JNPPjE6Ji0tDcOGDYOzszNGjBiBrKysrm04EXUJBiEisihLly7F559/jhUrVuDEiRN4+umn8cc//hE7duwwHPPss8/izTffxIEDB+Dj44MZM2agpaUFQFuAufPOO3HXXXfh2LFjePHFF/H3v/8dq1atMrz//vvvx9dff413330XmZmZ+OCDD+Di4mJUxwsvvIA333wTBw8ehJ2dHR544IFuaT8RmRZXnycii9HU1AQvLy9s2bIFCQkJhu0PPfQQ6uvr8fDDD2P8+PH45ptvMGfOHABARUUFgoODsWrVKtx555249957UVpaik2bNhne/9e//hXr1q3DiRMnkJ2djcjISGzevBmJiYmX1ZCcnIzx48djy5YtmDhxIgBg/fr1uPnmm9HQ0ABHR8cu/q9ARKbEO0JEZDFycnJQX1+PSZMmwcXFxfD6/PPPkZubazjutyHJy8sLkZGRyMzMBABkZmZi5MiRRucdOXIkTp06BZ1Oh/T0dCiVSowdO7bDWgYPHmz4OiAgAABQUlJyw20kou5lJ3cBRETXqra2FgCwbt06BAUFGe1TqVRGYaiznJycruk4e3t7w9eSJAFo679ERJaFd4SIyGJERUVBpVIhPz8fERERRq+QkBDDcfv27TN8feHCBWRnZ6N///4AgP79+2PPnj1G592zZw/69u0LpVKJQYMGQa/XG/U5IiLrxTtCRGQxXF1d8Ze//AVPP/009Ho9Ro0ahaqqKuzZswdubm4ICwsDALz88svw9vaGn58fXnjhBajVasyaNQsA8MwzzyAuLg6vvPIK5syZg5SUFCxfvhz//ve/AQDh4eGYO3cuHnjgAbz77ruIjo7G2bNnUVJSgjvvvFOuphNRF2EQIiKL8sorr8DHxwdLly7F6dOn4eHhgaFDh+L55583PJpatmwZnnrqKZw6dQoxMTH43//+BwcHBwDA0KFD8e2332Lx4sV45ZVXEBAQgJdffhnz5s0z/Iz3338fzz//PP70pz+hvLwcoaGheP755+VoLhF1MY4aIyKrcWlE14ULF+Dh4SF3OURkAdhHiIiIiGwWgxARERHZLD4aIyIiIpvFO0JERERksxiEiIiIyGYxCBEREZHNYhAiIiIim8UgRERERDaLQYiIiIhsFoMQERER2SwGISIiIrJZ/x8l0tt8MuRmcwAAAABJRU5ErkJggg=="/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<p>We are going to plot the solution now!</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<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="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="n">pts</span> <span class="o">=</span> <span class="n">solver</span><span class="o">.</span><span class="n">problem</span><span class="o">.</span><span class="n">spatial_domain</span><span class="o">.</span><span class="n">sample</span><span class="p">(</span><span class="mi">256</span><span class="p">,</span> <span class="s2">"grid"</span><span class="p">,</span> <span class="n">variables</span><span class="o">=</span><span class="s2">"x"</span><span class="p">)</span>
|
||
<span class="n">predicted_output</span> <span class="o">=</span> <span class="n">solver</span><span class="p">(</span><span class="n">pts</span><span class="p">)</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">"u"</span><span class="p">)</span><span class="o">.</span><span class="n">tensor</span><span class="o">.</span><span class="n">detach</span><span class="p">()</span>
|
||
<span class="n">true_output</span> <span class="o">=</span> <span class="n">solver</span><span class="o">.</span><span class="n">problem</span><span class="o">.</span><span class="n">solution</span><span class="p">(</span><span class="n">pts</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">pts</span><span class="o">.</span><span class="n">extract</span><span class="p">([</span><span class="s2">"x"</span><span class="p">]),</span> <span class="n">predicted_output</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s2">"Neural Network solution"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">pts</span><span class="o">.</span><span class="n">extract</span><span class="p">([</span><span class="s2">"x"</span><span class="p">]),</span> <span class="n">true_output</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s2">"True solution"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell-outputWrapper">
|
||
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||
</div>
|
||
<div class="jp-OutputArea jp-Cell-outputArea">
|
||
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[6]:</div>
|
||
<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain" tabindex="0">
|
||
<pre><matplotlib.legend.Legend at 0x7f6a6d22bb20></pre>
|
||
</div>
|
||
</div>
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
|
||
<img alt="No description has been provided for this image" class="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjcAAAGdCAYAAADuR1K7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAACRUklEQVR4nOzdeXxU9dX48c+dyWQm+55M9hC2hF1AEFeqKKh1aa1Lq6Vai60Wfax1fX51KVpttYvV2tq64lPrUvetKKJoFQQBAYEQSEjIOtn3Zdb7++MmkbBmmZk7mTnv12teSnLn3nMJSc79LucoqqqqCCGEEEIECYPeAQghhBBCeJMkN0IIIYQIKpLcCCGEECKoSHIjhBBCiKAiyY0QQgghgookN0IIIYQIKpLcCCGEECKoSHIjhBBCiKASpncAevB4PNTU1BATE4OiKHqHI4QQQoghUFWVjo4OMjIyMBiOPD4TkslNTU0N2dnZeochhBBCiBGorKwkKyvriJ8PyeQmJiYG0P5yYmNjdY5GCCGEEEPR3t5Odnb2wO/xIwnJ5KZ/Kio2NlaSGyGEEGKMOdaSEllQLIQQQoigIsmNEEIIIYKKJDdCCCGECCohueZGCCFGQ1VVXC4Xbrdb71CECCpGo5GwsLBRl2mR5EYIIYbB4XBQW1tLd3e33qEIEZQiIyNJT08nPDx8xOeQ5EYIIYbI4/FQVlaG0WgkIyOD8PBwKQQqhJeoqorD4aChoYGysjImTpx41EJ9RyPJjRBCDJHD4cDj8ZCdnU1kZKTe4QgRdCIiIjCZTOzfvx+Hw4HFYhnReWRBsRBCDNNInyaFEMfmje8v+Q4VQgghRFCR5EYIIYQQQUWSGyGEEAFj4cKF3HjjjXqH4XP33HMPs2bN8tv1nn32WeLj40d9nrVr16IoCq2traM+ly9JciOEECHgyiuvRFEUfvvb3w76+BtvvDGmdnw9++yzKIrCkiVLBn28tbUVRVFYu3btkM915ZVXcuGFF3o3wCByuETzxBNPpLa2lri4OH2CGiJJboQIRG4nOLr0jkIEGYvFwu9+9ztaWlr8fm2n0+m1c4WFhfHhhx/y8ccfe+2cB3K5PTS091Df3kNrtwO3R/XaufsLQI5V4eHhWK3WgE+IJbkRIoC4t79K1x9n47kvDc8D2fS+8COwfa13WOIoVFWl2+HS5aWqw/ulu2jRIqxWKw888MBRj/vss8845ZRTiIiIIDs7mxtuuIGurm+SbUVReOONNwa9Jz4+nmeffRaA8vJyFEXhpZde4rTTTsNisfD888/T1NTE97//fTIzM4mMjGT69Om88MILw7oHgKioKH784x9z++23H/W4yspKLrnkEuLj40lMTOSCCy6gvLwc0KaFVq5cyZtvvomiKCiKwscff8x5F1zAz67+EUkdxaR07ObOG35MmNHAV9t3AFo5gKioKD788EMA7HY7N9xwA6mpqVgsFk4++WS+/PLLgRj6p3H+85//MGfOHMxmM5999tkhsZaWlpKfn8/y5csP+3VVVZV77rmHnJwczGYzGRkZ3HDDDQOfb2lpYenSpSQkJBAZGcnZZ5/N3r17j/h3c7hRqxtvvJGFCxcOfP6TTz7hz3/+88DfT3l5+WGnpV599VWmTp2K2WwmLy+PP/zhD4POm5eXx/3338+Pf/xjYmJiyMnJ4R//+McRY/MGqXMjRCBwu+h885dEb3+WqAM+bCl+A/eed+DS5zEWLDni24V+epxuptz1vi7X3rViMZHhQ/8xbjQauf/++/nBD37ADTfcQFZW1iHHlJaWsmTJEu677z6efvppGhoaWL58OcuXL+eZZ54ZVny33347f/jDHzjuuOOwWCz09vYyZ84cbrvtNmJjY3n33Xf54Q9/yPjx45k3b96wzn3PPfcwYcIEXnnlFb73ve8d8nmn08nixYtZsGAB//3vfwkLC+O+++5jyZIlbN++nZtvvpmioiLa29sH7sujGFg0t5Annn8Fg6IlGJ99sYnkxHjWvvcqEyZMYPtXm3E6nZx44okA3Hrrrbz66qusXLmS3NxcHnzwQRYvXkxJSQmJiYmD/i5+//vfk5+fT0JCwqDps+3bt7N48WKuvvpq7rvvvsPe76uvvsqf/vQnXnzxRaZOnYrNZmPbtm0Dn7/yyivZu3cvb731FrGxsdx2222cc8457Nq1C5PJNKy/W4A///nP7Nmzh2nTprFixQoAUlJSBpLDfps3b+aSSy7hnnvu4dJLL2XdunVcd911JCUlceWVVw4c94c//IF7772X//3f/+WVV17h2muv5bTTTmPy5MnDjm0oZORGiADQ9N4Korc/C8A/1O9wW+6L/CLhUT52z8SouvC89EM8pWt1jVEEh+985zvMmjWLu++++7Cff+CBB7j88su5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g4JZcdLVdfTWCcK/JLkRwk88PW3kd2wGIGn2d0Z9vpjjtHNkt20a2PkhRDBbu3YtiqLQ2to64nOove2UV9YQnjmTrdu2jS4ggxFHWF+C1DPymIT3SXIjhJ+Ub3gLEy7KyGDmcfNGfb55c+exR80iDDe2TTJ6I45MUZSjvu655x69Q/SZK6+8cqDFg6qqhLs7yc5Io2zPTqZNmzbq8xsi4gEwuzrxyK6pgCHJjRB+0lW0GoCy+BMJDxv9t16sxcSuuNO0c297Y9TnE8GrtrZ24PXwww8TGxs76GMHNjlUVRWXy6VjtL7T29uDGSeKwUhO/iTCwsJGfU5TZDwqYFEcdPf0jD5I4RWS3AjhJykNGwAIm3i6185pma51/M1sXAfOXq+dVwQXq9U68IqLi0NRlIE/7969m5iYGP7zn/8wZ84czGYzn3322aARj3433ngjCxcuHPizx+PhgQceYNy4cURERDBz5kxeeeWVo8by17/+lYkTJ2KxWEhLS+N73/vewOfsdjs33HADqampWCwWTj75ZL788ssjnuuee+5h1qxZgz728MMPk5eXN/D5lStX8uabb6IoCpGRUaxdt4m91c0Yw0xs3bp14H2ffPIJ8+bNw2w2k56ezu233z4oyVu4cCE33HADt956K4mJiVitVu655x4UYxgOQwQAru7Wo9678B+/JDePPfYYeXl5WCwW5s+fz8aNG4947MKFCw87bHruuecOHHPllVce8vklS5b441aEGJEO216sHhtO1ciE4xd77bxz5p9GnRqPBTutxZ967bxiGFQVHF36vLzY1+j222/nt7/9LUVFRcyYMWNI73nggQd47rnnePzxx9m5cye/+MUvuOKKK/jkk08Oe/ymTZu44YYbWLFiBcXFxaxatYpTTz114PO33norr776KitXrmTLli1MmDCBxYsX09zcPKJ7uvnmm7nkkktYsmQJtbW1lG79jBPnzsRjGryQuLq6mnPOOYfjjz+ebdu28be//Y2nnnqK++67b9BxK1euJCoqig0bNvDggw+yYsUKVq9ejWrWek2FOTuk11SAGP2Y3DG89NJL3HTTTTz++OPMnz+fhx9+mMWLF1NcXExqauohx7/22ms4HN/06mhqamLmzJlcfPHFg45bsmQJzzzzzMCfzWaz725CiFGq/PI/TAGKjJOZkZrstfOmxFpYbZnLmfYP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"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<p>Great, they overlap perfectly! This seems a good result, considering the simple neural network used to some this (complex) problem. We will now test the neural network on the domain $[-4, 4]$ without retraining. In principle the periodicity should be present since the $v$ function ensures the periodicity in $(-\infty, \infty)$.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<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="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># plotting solution</span>
|
||
<span class="k">with</span> <span class="n">torch</span><span class="o">.</span><span class="n">no_grad</span><span class="p">():</span>
|
||
<span class="c1"># Notice here we put [-4, 4]!!!</span>
|
||
<span class="n">new_domain</span> <span class="o">=</span> <span class="n">CartesianDomain</span><span class="p">({</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">4</span><span class="p">]})</span>
|
||
<span class="n">x</span> <span class="o">=</span> <span class="n">new_domain</span><span class="o">.</span><span class="n">sample</span><span class="p">(</span><span class="mi">1000</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="s2">"grid"</span><span class="p">)</span>
|
||
<span class="n">fig</span><span class="p">,</span> <span class="n">axes</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">15</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
|
||
<span class="c1"># Plot 1</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">problem</span><span class="o">.</span><span class="n">solution</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$u(x)$"</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"blue"</span><span class="p">)</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="sa">r</span><span class="s2">"True solution $u(x)$"</span><span class="p">)</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span><span class="o">=</span><span class="s2">"upper right"</span><span class="p">)</span>
|
||
<span class="c1"># Plot 2</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">solver</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$u_{\theta}(x)$"</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"green"</span><span class="p">)</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="sa">r</span><span class="s2">"PINN solution $u_{\theta}(x)$"</span><span class="p">)</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span><span class="o">=</span><span class="s2">"upper right"</span><span class="p">)</span>
|
||
<span class="c1"># Plot 3</span>
|
||
<span class="n">diff</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">problem</span><span class="o">.</span><span class="n">solution</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="o">-</span> <span class="n">solver</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">diff</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$|u(x) - u_{\theta}(x)|$"</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"red"</span><span class="p">)</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="sa">r</span><span class="s2">"Absolute difference $|u(x) - u_{\theta}(x)|$"</span><span class="p">)</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span><span class="o">=</span><span class="s2">"upper right"</span><span class="p">)</span>
|
||
<span class="c1"># Adjust layout</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">tight_layout</span><span class="p">()</span>
|
||
<span class="c1"># Show the plots</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-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||
</div>
|
||
<div class="jp-OutputArea jp-Cell-outputArea">
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
|
||
<img alt="No description has been provided for this image" class="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABdEAAAHqCAYAAADrpwd3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydeZgU1cH1T3dPz/TMwMywDDAguwKyCypKNGokgq8RST7XvMYlRBOj2UxcYowajVk0akz0FTXiEo0aEqMmMbgQ0RgWNxBRQUB2GJaB2ffu+v643K7umV5qubVM9/k9zzzV013dVX2rb92qc889N6BpmgZCCCGEEEIIIYQQQgghhHQj6PUOEEIIIYQQQgghhBBCCCF+hSI6IYQQQgghhBBCCCGEEJIGiuiEEEIIIYQQQgghhBBCSBooohNCCCGEEEIIIYQQQgghaaCITgghhBBCCCGEEEIIIYSkgSI6IYQQQgghhBBCCCGEEJIGiuiEEEIIIYQQQgghhBBCSBooohNCCCGEEEIIIYQQQgghaaCITgghhBBCCCGEEEIIIYSkgSI6IYQQQgghhBBCCCGEEJIGiuiEEEIIIYQQQgghhBBCSBooohNCUvLYY48hEAhgy5YtPeJzneCOO+7AuHHjEIvFTL93wYIFGDZsGNra2hzYM0IIISQZttvZsdqus00nhPQUbrnlFgQCAezfv9+1bfakdkKWTyLp9v+dd97BzJkzUVpaikAggNWrV6d8Lt8ZMWIEbrnlFlufkY/ts1Nag4rjQdJDEZ2QLAQCAUN/S5cu9XpXfcWyZctwyy23oLa21utdsUR9fT1+/etf47rrrkMwaP5Ueckll6C9vR0PPvigA3tHCCEkFfJGWP5FIhGMGTMGV111Ffbs2dNtvXfffTfp/0gkgp07d3b73JNPPhkTJ05MuS0z7/EzPb3dzoaddp1tOiHEL/zf//0fAoEAZsyY4fWuKMGvbU9HRwfOOeccHDhwAPfccw/++Mc/YsiQId2eGz58uNe72uPJx/aZWkPPhSI6IVn44x//mPT3xS9+MeXzRx55pMd76i+WLVuGn/3sZ90uiL72ta+hpaXF9xccCxcuRGdnJy644AJL749EIrj44otx9913Q9M0xXtHCCEkE7feeiv++Mc/4r777sPMmTPxwAMP4Pjjj0dzc3PG97W1teFXv/qVqW1ZeY8f6entdjbstOts0wkhfuGpp57CiBEj8Pbbb2Pjxo1e745t0rU9bpKqndu0aRO2bt2KH/3oR7j88stx4YUXoqampttzffr08Wy/c4V8bJ+pNfRcKKITkoULL7ww6W/MmDEpnx84cGDK9zc1Nbm5u74nFAohEol0G0bnNx599FHMnTsXkUjE8mece+652Lp1K15//XWFe0YIISQbp59+Oi688EJ84xvfwGOPPYbvf//72Lx5M1544YWM75s6dSoefvhh7Nq1y/C2rLynJ9FT2u1s2G3X2aYTQrxm8+bNWLZsGe6++25UVlbiqaee8nqXcoJU7dzevXsBABUVFRmfU0G+6wX52D5Ta+i5UEQnRCEyY+3jjz/GV7/6VfTp0wcnnHACLrnkEowYMSLt+l3ZuXMnvv71r2PgwIEoKirChAkTsHDhQkP70NDQgO9///sYMWIEioqKMGDAAHzxi1/E+++/H19n1apVOP3001FWVoZevXrh1FNPxYoVK7J+ttHvccstt+Caa64BAIwcOTI+rH7Lli1pM+eM7JPczsaNG3HJJZegoqIC5eXluPTSS7O6CyWVlZW46qqruj1/9NFH44wzzgAgLlDXrFmDWbNmdVtv586diEQi+PrXv570/GuvvYZwOIwf/OAH8eemT5+Ovn37ZhVtCCGEOMsXvvAFAOL8nokbbrgB0WjUlLPcynsSYbudGSPtdjbStets0wkhPYmnnnoKffr0wRlnnIGzzz47o4i+f/9+nHvuuSgrK0O/fv3wve99D62trfHXjbQ9gLPtT6a2R2Lnvvitt97CMcccg0gkgtGjR6eNvujazl1yySU46aSTAADnnHMOAoEARowY0e25k08+2fR+ptMLrHyGkbZ1586dmD9/PgYPHoyioiKMHDkSV1xxBdrb25WUcTqMtt09rX128poE8O/3JjoFXu8AIbnIOeecgyOOOAK/+MUvoGka3n77bcPv3bNnD4477jgEAgFcddVVqKysxL/+9S/Mnz8f9fX1+P73v5/x/d/61rfwl7/8BVdddRXGjx+PmpoavPXWW/jkk08wbdo0fPTRRzjxxBNRVlaGa6+9FuFwGA8++CBOPvlkvPHGG0ry9b7yla/g008/xdNPP4177rkH/fv3ByAanVSY3adzzz0XI0eOxC9/+Uu8//77+MMf/oABAwbg17/+dcb92rVrF/bv348p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008/3fY+221/VNwXu4HV/UxsR6x+htW21e52s2G07Qbca5/HjRuHRx991ND+V1VVpXzezPfKdF1CraFnQxGdEBfo06cPamtruz2/devWpP8rKyvRu3dvRKPRlLM1G6Wqqgrf/va38e1vfxt79+7FtGnTcPvtt+ONN95ASUlJyt7VdevWIRgMYujQoba/B2C8N7SystLWPhklFoth/fr1+PKXv5z0/N69e/HWW2/h3HPPjT8ne5E3b96c8sLhzjvvxB/+8Afcd999uOaaa3D77bfjD3/4Q8rtbt68GUceeaTt/SeEEOIuN954I5588smsk1/afQ/AdjsVZtrtq6++Gtdddx1OPPFEAMC8efPw7rvvxkX0TO0623RCiN956qmnMGDAANx///3dXnvuuefwt7/9DQsWLEgS0jZs2JDkdt64cSNisRhGjBgRfy5d23P66afbPtcbbX/StT127osrKytRXFyMDRs2dHstncvYKiru31VpAF0/s6ysDGvXrnV1u2babsC99nnQoEG45JJLLHwjgdnvlem6hFpDz4ZxLoS4wOjRo1FXV4c1a9bEn9u9ezf+9re/Ja0XCoXw//7f/8Nf//rXlA3evn37Mm4nGo2irq4u6bkBAwZg8ODBaGtrQygUwmmnnYYXXnghPpQPEDOK/+lPf8IJJ5yAsrIy298DQDyzK9XFUyJ298ko0WgUHR0dSXlhnZ2d+OY3v4nOzs6kDLPjjz8eAPDuu+92+5znn38e119/PW677TZceeWVuPzyy/HEE09g8+bNKbf7/vvvY+bMmbb3nxBCiLuMHj0aF154IR588EFUV1c78h622+kx2m4fOHAAr732Gi688ML4erFYDJFIJP5/unadbTohxO+0tLTgueeew5e+9CWcffbZ3f6uuuoqNDQ04MUXX0x6X1fB/fe//z0A4PTTT8/a9gD2z/VG2590bY+d++JQKITZs2fj+eefx7Zt2+LPf/LJJ3j55ZfTvs8Kdu/fVX1GV4LBIObNm4e///3vKe9pNU1zZLtm7rmBntM+m/le2a5LqDX0bOhEJ8QFzj//fFx33XX48pe/jO9+97tobm7GAw88gDFjxnSbrONXv/oVXn/9dcyYMQOXXXYZxo8fjwMHDuD999/Ha6+9hgMHDqTdTkNDAw477DCcffbZmDJlCnr16oXXXnsN77zzDu666y4AwM9/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sHt3cu7g+vXr8dZbb6V0r4VCIaxZswZz587FmDFjMH/+fEyfPh3/+c9/UFRU5ORXyWvMiLjyOmxP/l77KseKC3fvXqCD88Ipoa0NqKsTj82MxuhyaiM2MBqnk7iOfA+xBzvDez5GoywAOqGdQObLZ8tDB/TyP9h6EC0dLY7uVz5hJU6EuejqSByNkQ15npLCez5ipQP7+OOPT1ofAF599dX4+iNHjsSgQYOS1qmvr8fKlSszdorHYjEAItc8HatXr/ZPJ7gUEKWrSOK0E/3DD8Vy2jT9uREjxHLLFme2SUgq5A1o1zop5wVobnZmm21tQCik/+4BvSPps8/Ub5MQDylwegNXXXUVrrrqqpSvpco/HTt2bNocwuLiYrz88ssqd48YwIyISwFLPdJUkSU9AQDQv7+IIYvFgP37u7efxDz79ollQQFQUZF9fcaJqMfMSAC5Djvy1HDeeedh3759uOmmm1BdXY2pU6d26wwPBpP742Vn+CuvvNLt82Rn+OOPP47a2loMHjwYp512Gm677TZ2hjuEdEKbEXF3N1JAVIUZAbciUoHCUCHao+3Y27QXwyuGO717OU9TexOaO4RoYETEHdx7MNbtX8eOJIXEnegGOvJkPclnJzogOrAvvvhiHH300Tj22GPx29/+tlsH9pAhQ/DLX/4SAPC9730PJ510Eu666y6cccYZeOaZZ/Duu+/ioYceAgAEAgF8//vfx89//nMcccQRGDlyJH76059i8ODBmDdvHgBg5cqVeOedd3DCCSegT58+2LRpE376059i9OjRcaH98ccfR2FhIY46FFXy3HPPYeHChfjDH/7gcgmlQV58d42ycFJE7+zUtztypP68FBN37hTOpi6TsxKinIYGfbRFVxGgpEQsnRDRN20Sy+HDk3/n7EgiOYrjIjrp+ZgR0SlgqcdM+QeDQGWleM/evRTRVSA7hCorRflmQ3Z2sCNJHXSiews7w3s20gltRMSVImM+u0BVYyaTPhAIYEDpAOyo30ERXRHytxwpiKBXYa+s63M0hnpkHTDSiSHXke/JV8x2YM+cORN/+tOfcOONN+KGG27AEUccgeeffx4TJ06Mr3PttdeiqakJl19+OWpra3HCCSdg8eLFiEQiAICSkhI899xzuPnmm9HU1ISqqirMmTMHN954Y1In92233YatW7eioKAA48aNw7PPPouz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"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<p>It's clear that the network successfully captures the periodicity of the solution, with the error also exhibiting a periodic pattern. Naturally, training for a longer duration or using a more expressive neural network could further improve the results.</p>
|
||
<h2 id="What's-next?">What's next?<a class="anchor-link" href="#What's-next?">¶</a></h2><p>Congratulations on completing the one-dimensional Helmholtz tutorial with <strong>PINA</strong>! Here are a few directions you can explore next:</p>
|
||
<ol>
|
||
<li><p><strong>Train longer or with different architectures</strong>: Experiment with extended training or modify the network's depth and width to evaluate improvements in accuracy.</p>
|
||
</li>
|
||
<li><p><strong>Apply <code>PeriodicBoundaryEmbedding</code> to time-dependent problems</strong>: Explore more complex scenarios such as spatiotemporal PDEs (see the official documentation for examples).</p>
|
||
</li>
|
||
<li><p><strong>Try extra feature training</strong>: Integrate additional physical or domain-specific features to guide the learning process more effectively.</p>
|
||
</li>
|
||
<li><p><strong>...and many more!</strong>: Extend to higher dimensions, test on other PDEs, or even develop custom embeddings tailored to your problem.</p>
|
||
</li>
|
||
</ol>
|
||
<p>For more resources and tutorials, check out the <a href="https://mathlab.github.io/PINA/">PINA Documentation</a>.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</main>
|
||
</body>
|
||
<script type="application/vnd.jupyter.widget-state+json">
|
||
{"state": {"aa35fafc05984dc3b73b1244eb1ee5c0": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": "2", "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "a958770c6a314e349b5e3e1f372c3c42": {"model_name": "ProgressStyleModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": ""}}, "78d814f823a34c68bf0238afcdda0a43": {"model_name": "FloatProgressModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_aa35fafc05984dc3b73b1244eb1ee5c0", "max": 1.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_a958770c6a314e349b5e3e1f372c3c42", "tabbable": null, "tooltip": null, "value": 1.0}}, "66830d5d50b24813936328ddd7935ba1": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "382e952220a34b49b8a576b4af3e686c": {"model_name": "HTMLStyleModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "9328a61cc86b431ba6dce56fa743350d": {"model_name": "HTMLModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_66830d5d50b24813936328ddd7935ba1", "placeholder": "\u200b", "style": "IPY_MODEL_382e952220a34b49b8a576b4af3e686c", "tabbable": null, "tooltip": null, "value": "Epoch\u20071999:\u2007100%"}}, "f0e180262b3948909a6f4c1751c4a9c9": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "d39b8bc40492464aa184228dd2c8936f": {"model_name": "HTMLStyleModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "2d92e6ebf51344d1997ed55317ea86e3": {"model_name": "HTMLModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_f0e180262b3948909a6f4c1751c4a9c9", "placeholder": "\u200b", "style": "IPY_MODEL_d39b8bc40492464aa184228dd2c8936f", "tabbable": null, "tooltip": null, "value": "\u20071\/1\u2007[00:00<00:00,\u200772.73it\/s,\u2007v_num=0,\u2007phys_cond_loss=0.0473,\u2007train_loss=0.0473]"}}, "7d8d7c60d1ab4058996fd681ced8b18f": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": "inline-flex", "flex": null, "flex_flow": "row wrap", "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": "100%"}}, "fe776462e9804ecb92b01eddb8187d8b": {"model_name": "HBoxModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": ["IPY_MODEL_9328a61cc86b431ba6dce56fa743350d", "IPY_MODEL_78d814f823a34c68bf0238afcdda0a43", "IPY_MODEL_2d92e6ebf51344d1997ed55317ea86e3"], "layout": "IPY_MODEL_7d8d7c60d1ab4058996fd681ced8b18f", "tabbable": null, "tooltip": null}}}, "version_major": 2, "version_minor": 0}
|
||
</script>
|
||
</html>
|