{ "cells": [ { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "application/javascript": "(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n var py_version = '3.2.2'.replace('rc', '-rc.').replace('.dev', '-dev.');\n var is_dev = py_version.indexOf(\"+\") !== -1 || py_version.indexOf(\"-\") !== -1;\n var reloading = false;\n var Bokeh = root.Bokeh;\n var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks;\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n if (js_exports == null) js_exports = {};\n\n root._bokeh_onload_callbacks.push(callback);\n\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n run_callbacks();\n return null;\n }\n if (!reloading) {\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n window._bokeh_on_load = on_load\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n var skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {'xtermjs': 'https://cdn.jsdelivr.net/npm/xterm@4.14.1/lib/xterm', 'xtermjsweblinks': 'https://cdn.jsdelivr.net/npm/xterm-addon-web-links@0.4.0/lib/xterm-addon-web-links', 'tabulator': 'https://cdn.jsdelivr.net/npm/tabulator-tables@5.5.0/dist/js/tabulator', 'moment': 'https://cdn.jsdelivr.net/npm/luxon/build/global/luxon.min', 'plotly': 'https://cdn.plot.ly/plotly-2.18.0.min', 'mathjax': '//cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS_HTML', 'ace': '//cdnjs.cloudflare.com/ajax/libs/ace/1.4.7', 'jspanel': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/jspanel', 'jspanel-modal': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal', 'jspanel-tooltip': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip', 'jspanel-hint': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint', 'jspanel-layout': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout', 'jspanel-contextmenu': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu', 'jspanel-dock': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock', 'gridstack': 'https://cdn.jsdelivr.net/npm/gridstack@7.2.3/dist/gridstack-all', 'notyf': 'https://cdn.jsdelivr.net/npm/notyf@3/notyf.min'}, 'shim': {'xtermjsweblinks': {'exports': 'WebLinksAddon', 'deps': ['xtermjs']}, 'mathjax': {'exports': 'MathJax'}, 'ace/ext-language_tools': {'deps': ['ace/ace']}, 'ace/ext-modelist': {'deps': ['ace/ace']}, 'jspanel': {'exports': 'jsPanel'}, 'gridstack': {'exports': 'GridStack'}}});\n require([\"xtermjs\"], function(xtermjs) {\n\twindow.xtermjs = xtermjs\n\ton_load()\n })\n require([\"xtermjsweblinks\"], function(WebLinksAddon) {\n\twindow.WebLinksAddon = WebLinksAddon\n\ton_load()\n })\n require([\"tabulator\"], function(Tabulator) {\n\twindow.Tabulator = Tabulator\n\ton_load()\n })\n require([\"moment\"], function(moment) {\n\twindow.moment = moment\n\ton_load()\n })\n require([\"plotly\"], function(Plotly) {\n\twindow.Plotly = Plotly\n\ton_load()\n })\n require([\"mathjax\"], function() {\n\ton_load()\n })\n require([\"ace/ace\"], function(ace) {\n\twindow.ace = ace\n\ton_load()\n })\n require([\"ace/ext-language_tools\"], function() {\n\ton_load()\n })\n require([\"ace/ext-modelist\"], function() {\n\ton_load()\n })\n require([\"jspanel\"], function(jsPanel) {\n\twindow.jsPanel = jsPanel\n\ton_load()\n })\n require([\"jspanel-modal\"], function() {\n\ton_load()\n })\n require([\"jspanel-tooltip\"], function() {\n\ton_load()\n })\n require([\"jspanel-hint\"], function() {\n\ton_load()\n })\n require([\"jspanel-layout\"], function() {\n\ton_load()\n })\n require([\"jspanel-contextmenu\"], function() {\n\ton_load()\n })\n require([\"jspanel-dock\"], function() {\n\ton_load()\n })\n require([\"gridstack\"], function(GridStack) {\n\twindow.GridStack = GridStack\n\ton_load()\n })\n require([\"notyf\"], function() {\n\ton_load()\n })\n root._bokeh_is_loading = css_urls.length + 18;\n } else {\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n }\n\n var existing_stylesheets = []\n var links = document.getElementsByTagName('link')\n for (var i = 0; i < links.length; i++) {\n var link = links[i]\n if (link.href != null) {\n\texisting_stylesheets.push(link.href)\n }\n }\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n if (existing_stylesheets.indexOf(url) !== -1) {\n\ton_load()\n\tcontinue;\n }\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n } if (((window['xtermjs'] !== undefined) && (!(window['xtermjs'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/terminal/xterm@4.14.1/lib/xterm.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/terminal/xterm-addon-web-links@0.4.0/lib/xterm-addon-web-links.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['Tabulator'] !== undefined) && (!(window['Tabulator'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/datatabulator/tabulator-tables@5.5.0/dist/js/tabulator.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['moment'] !== undefined) && (!(window['moment'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/datatabulator/luxon/build/global/luxon.min.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['Plotly'] !== undefined) && (!(window['Plotly'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/plotlyplot/plotly-2.18.0.min.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['MathJax'] !== undefined) && (!(window['MathJax'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['ace'] !== undefined) && (!(window['ace'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.11/ace.js', 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.11/ext-language_tools.js', 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.11/ext-modelist.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['jsPanel'] !== undefined) && (!(window['jsPanel'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['GridStack'] !== undefined) && (!(window['GridStack'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['Notyf'] !== undefined) && (!(window['Notyf'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/notificationarea/notyf@3/notyf.min.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } var existing_scripts = []\n var scripts = document.getElementsByTagName('script')\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n\texisting_scripts.push(script.src)\n }\n }\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (var i = 0; i < js_modules.length; i++) {\n var url = js_modules[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (const name in js_exports) {\n var url = js_exports[name];\n if (skip.indexOf(url) >= 0 || root[name] != null) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onerror = on_error;\n element.async = false;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n element.textContent = `\n import ${name} from \"${url}\"\n window.${name} = ${name}\n window._bokeh_on_load()\n `\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n var js_urls = [\"https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.11/ace.js\", \"https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.11/ext-language_tools.js\", \"https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.11/ext-modelist.js\", \"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/jquery/jquery.slim.min.js\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/plotlyplot/plotly-2.18.0.min.js\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/datatabulator/tabulator-tables@5.5.0/dist/js/tabulator.js\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/datatabulator/luxon/build/global/luxon.min.js\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/terminal/xterm@4.14.1/lib/xterm.js\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/terminal/xterm-addon-web-links@0.4.0/lib/xterm-addon-web-links.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.2.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.2.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.2.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.2.2.min.js\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/notificationarea/notyf@3/notyf.min.js\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/material-components-web@7.0.0/dist/material-components-web.min.js\", \"https://cdn.holoviz.org/panel/1.2.3/dist/panel.min.js\"];\n var js_modules = [];\n var js_exports = {};\n var css_urls = [\"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/datatabulator/tabulator-tables@5.5.0/dist/css/tabulator_simple.min.css\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/terminal/xterm@4.11.0/css/xterm.css\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/gridstack/gridstack@7.2.3/dist/gridstack.min.css\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/gridstack/gridstack@7.2.3/dist/gridstack-extra.min.css\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/notificationarea/notyf@3/notyf.min.css\", \"https://cdn.holoviz.org/panel/1.2.3/dist/bundled/font-awesome/css/all.min.css\", \"https://fonts.googleapis.com/css?family=Roboto:300,400,500\", \"https://fonts.googleapis.com/css?family=Material+Icons&display=block\"];\n var inline_js = [ function(Bokeh) {\n inject_raw_css(\".tabulator{position:relative;border:1px solid #999;font-size:14px;text-align:left;overflow:hidden;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.tabulator[tabulator-layout=fitDataFill] .tabulator-tableholder .tabulator-table{min-width:100%}.tabulator[tabulator-layout=fitDataTable]{display:inline-block}.tabulator.tabulator-block-select{user-select:none}.tabulator .tabulator-header{position:relative;box-sizing:border-box;width:100%;border-bottom:1px solid #999;background-color:#fff;color:#555;font-weight:700;white-space:nowrap;overflow:hidden;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{position:relative;overflow:hidden}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{display:inline-flex;position:relative;box-sizing:border-box;flex-direction:column;justify-content:flex-start;border-right:1px solid #ddd;background:#fff;text-align:left;vertical-align:bottom;overflow:hidden}.tabulator .tabulator-header .tabulator-col.tabulator-moving{position:absolute;border:1px solid #999;background:#e6e6e6;pointer-events:none}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;position:relative;padding:4px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button{padding:0 8px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button:hover{cursor:pointer;opacity:.6}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder{position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title{box-sizing:border-box;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{white-space:normal;text-overflow:clip}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{box-sizing:border-box;width:100%;border:1px solid #999;padding:1px;background:#fff}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-header-popup-button+.tabulator-title-editor{width:calc(100% - 22px)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{display:flex;align-items:center;position:absolute;top:0;bottom:0;right:4px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{position:relative;display:flex;border-top:1px solid #ddd;overflow:hidden;margin-right:-1px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{position:relative;box-sizing:border-box;margin-top:2px;width:100%;text-align:center}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea{height:auto!important}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter svg{margin-top:3px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::-ms-clear{width:0;height:0}.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:25px}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{cursor:pointer;background-color:#e6e6e6}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter{color:#bbb}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #666}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-top:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:none;border-top:6px solid #666;color:#666}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-col-vertical-flip .tabulator-col-title{transform:rotate(180deg)}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-title{padding-right:0;padding-top:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable.tabulator-col-vertical-flip .tabulator-col-title{padding-right:0;padding-bottom:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{justify-content:center;left:0;right:0;top:4px;bottom:auto}.tabulator .tabulator-header .tabulator-frozen{position:sticky;left:0;z-index:10}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left{border-right:2px solid #ddd}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right{border-left:2px solid #ddd}.tabulator .tabulator-header .tabulator-calcs-holder{box-sizing:border-box;background:#fff!important;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#fff!important}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle,.tabulator .tabulator-header .tabulator-frozen-rows-holder:empty{display:none}.tabulator .tabulator-tableholder{position:relative;width:100%;white-space:nowrap;overflow:auto;-webkit-overflow-scrolling:touch}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder[tabulator-render-mode=virtual]{min-height:100%;min-width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{display:inline-block;text-align:center;padding:10px;color:#ccc;font-weight:700;font-size:20px;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{position:relative;display:inline-block;background-color:#fff;white-space:nowrap;overflow:visible;color:#333}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{font-weight:700;background:#f2f2f2!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-top{border-bottom:2px solid #ddd}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-bottom{border-top:2px solid #ddd}.tabulator .tabulator-footer{border-top:1px solid #999;background-color:#fff;color:#555;font-weight:700;white-space:nowrap;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator .tabulator-footer .tabulator-footer-contents{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:5px 10px}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder{box-sizing:border-box;width:100%;text-align:left;background:#fff!important;border-bottom:1px solid #ddd;border-top:1px solid #ddd;overflow:hidden}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{display:inline-block;background:#fff!important}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{margin-bottom:-5px;border-bottom:none}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:400}.tabulator .tabulator-footer .tabulator-paginator{flex:1;text-align:right;color:#555;font-family:inherit;font-weight:inherit;font-size:inherit}.tabulator .tabulator-footer .tabulator-page-size{display:inline-block;margin:0 5px;padding:2px 5px;border:1px solid #aaa;border-radius:3px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{display:inline-block;margin:0 2px;padding:2px 5px;border:1px solid #aaa;border-radius:3px;background:hsla(0,0%,100%,.2)}.tabulator .tabulator-footer .tabulator-page.active{color:#d00}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-footer .tabulator-page:not(.disabled):hover{cursor:pointer;background:rgba(0,0,0,.2);color:#fff}}.tabulator .tabulator-col-resize-handle{position:relative;display:inline-block;width:6px;margin-left:-3px;margin-right:-3px;z-index:10;vertical-align:middle}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{width:3px;margin-right:0}.tabulator .tabulator-alert{position:absolute;display:flex;align-items:center;top:0;left:0;z-index:100;height:100%;width:100%;background:rgba(0,0,0,.4);text-align:center}.tabulator .tabulator-alert .tabulator-alert-msg{display:inline-block;margin:0 auto;padding:10px 20px;border-radius:10px;background:#fff;font-weight:700;font-size:16px}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-msg{border:4px solid #333;color:#000}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-error{border:4px solid #d00;color:#590000}.tabulator-row{position:relative;box-sizing:border-box;min-height:22px}.tabulator-row,.tabulator-row.tabulator-row-even{background-color:#fff}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selectable:hover{background-color:#bbb;cursor:pointer}}.tabulator-row.tabulator-selected{background-color:#9abcea}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selected:hover{background-color:#769bcc;cursor:pointer}}.tabulator-row.tabulator-row-moving{border:1px solid #000;background:#fff}.tabulator-row.tabulator-moving{position:absolute;border-top:1px solid #ddd;border-bottom:1px solid #ddd;pointer-events:none;z-index:15}.tabulator-row .tabulator-row-resize-handle{position:absolute;right:0;bottom:0;left:0;height:5px}.tabulator-row .tabulator-row-resize-handle.prev{top:0;bottom:auto}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{box-sizing:border-box;padding:5px;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:14px}.tabulator-row .tabulator-responsive-collapse table tr td{position:relative}.tabulator-row .tabulator-responsive-collapse table tr td:first-of-type{padding-right:10px}.tabulator-row .tabulator-cell{display:inline-block;position:relative;box-sizing:border-box;padding:4px;border-right:1px solid #ddd;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabulator-row .tabulator-cell.tabulator-frozen{display:inline-block;position:sticky;left:0;background-color:inherit;z-index:10}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-right:2px solid #ddd}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-left:2px solid #ddd}.tabulator-row .tabulator-cell.tabulator-editing{border:1px solid #1d68cd;outline:none;padding:0}.tabulator-row .tabulator-cell.tabulator-editing input,.tabulator-row .tabulator-cell.tabulator-editing select{border:1px;background:transparent;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #d00}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{border:1px;background:transparent;color:#d00}.tabulator-row .tabulator-cell.tabulator-row-handle{display:inline-flex;align-items:center;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box{width:80%}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box .tabulator-row-handle-bar{width:100%;height:3px;margin-top:2px;background:#666}.tabulator-row .tabulator-cell .tabulator-data-tree-branch{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #ddd;border-bottom:2px solid #ddd}.tabulator-row .tabulator-cell .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:rgba(0,0,0,.1);overflow:hidden}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{cursor:pointer;background:rgba(0,0,0,.2)}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:\\\"\\\";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:\\\"\\\";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;height:15px;width:15px;border-radius:20px;background:#666;color:#fff;font-weight:700;font-size:1.1em}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{opacity:.7;cursor:pointer}}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-close{display:initial}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-open{display:none}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle svg{stroke:#fff}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle .tabulator-responsive-collapse-toggle-close{display:none}.tabulator-row .tabulator-cell .tabulator-traffic-light{display:inline-block;height:14px;width:14px;border-radius:14px}.tabulator-row.tabulator-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #ddd;border-top:1px solid #999;padding:5px 5px 5px 10px;background:#ccc;font-weight:700;min-width:100%}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-group:hover{cursor:pointer;background-color:rgba(0,0,0,.1)}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.tabulator-row.tabulator-group.tabulator-group-level-1{padding-left:30px}.tabulator-row.tabulator-group.tabulator-group-level-2{padding-left:50px}.tabulator-row.tabulator-group.tabulator-group-level-3{padding-left:70px}.tabulator-row.tabulator-group.tabulator-group-level-4{padding-left:90px}.tabulator-row.tabulator-group.tabulator-group-level-5{padding-left:110px}.tabulator-row.tabulator-group .tabulator-group-toggle{display:inline-block}.tabulator-row.tabulator-group .tabulator-arrow{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-row.tabulator-group span{margin-left:10px;color:#d00}.tabulator-popup-container{position:absolute;display:inline-block;box-sizing:border-box;background:#fff;border:1px solid #ddd;box-shadow:0 0 5px 0 rgba(0,0,0,.2);font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:10000}.tabulator-popup{padding:5px;border-radius:3px}.tabulator-tooltip{max-width:Min(500px,100%);padding:3px 5px;border-radius:2px;box-shadow:none;font-size:12px;pointer-events:none}.tabulator-menu .tabulator-menu-item{position:relative;box-sizing:border-box;padding:5px 10px;user-select:none}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{cursor:pointer;background:#fff}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu:after{display:inline-block;position:absolute;top:calc(5px + .4em);right:10px;height:7px;width:7px;content:\\\"\\\";border-color:#ddd;border-style:solid;border-width:1px 1px 0 0;vertical-align:top;transform:rotate(45deg)}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #ddd}.tabulator-edit-list{max-height:200px;font-size:14px;overflow-y:auto;-webkit-overflow-scrolling:touch}.tabulator-edit-list .tabulator-edit-list-item{padding:4px;color:#333;outline:none}.tabulator-edit-list .tabulator-edit-list-item.active{color:#fff;background:#1d68cd}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid hsla(0,0%,100%,.5)}.tabulator-edit-list .tabulator-edit-list-item.focused{outline:1px solid #1d68cd}@media (hover:hover) and (pointer:fine){.tabulator-edit-list .tabulator-edit-list-item:hover{cursor:pointer;color:#fff;background:#1d68cd}}.tabulator-edit-list .tabulator-edit-list-placeholder{padding:4px;color:#333;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #ddd;padding:6px 4px 4px;color:#333;font-weight:700}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{text-align:initial;direction:rtl}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{text-align:initial;border-left:1px solid #ddd;border-right:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-right:0;margin-left:-1px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:0;padding-left:25px}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:auto}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-right:initial;border-left:1px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{margin-right:0;margin-left:5px;border-bottom-left-radius:0;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-right:0;margin-left:5px}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-left:2px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-right:2px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-col-resize-handle:last-of-type{width:3px;margin-left:0;margin-right:-3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{position:absolute;top:0;bottom:0;left:0;right:0;z-index:10000}body.tabulator-print-fullscreen-hide>:not(.tabulator-print-fullscreen){display:none!important}.tabulator-print-table{border-collapse:collapse}.tabulator-print-table .tabulator-data-tree-branch{display:inline-block;vertical-align:middle;height:9px;width:7px;margin-top:-9px;margin-right:5px;border-bottom-left-radius:1px;border-left:2px solid #ddd;border-bottom:2px solid #ddd}.tabulator-print-table .tabulator-print-table-group{box-sizing:border-box;border-bottom:1px solid #999;border-right:1px solid #ddd;border-top:1px solid #999;padding:5px 5px 5px 10px;background:#ccc;font-weight:700;min-width:100%}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-print-table-group:hover{cursor:pointer;background-color:rgba(0,0,0,.1)}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{margin-right:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;border-bottom:0}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-1 td{padding-left:30px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-2 td{padding-left:50px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-3 td{padding-left:70px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-4 td{padding-left:90px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-5 td{padding-left:110px!important}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{display:inline-block;width:0;height:0;margin-right:16px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:0;border-left:6px solid #666;vertical-align:middle}.tabulator-print-table .tabulator-print-table-group span{color:#d00}.tabulator-print-table .tabulator-data-tree-control{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:11px;width:11px;margin-right:5px;border:1px solid #333;border-radius:2px;background:rgba(0,0,0,.1);overflow:hidden}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-data-tree-control:hover{cursor:pointer;background:rgba(0,0,0,.2)}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{display:inline-block;position:relative;height:7px;width:1px;background:transparent}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{position:absolute;content:\\\"\\\";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{display:inline-block;position:relative;height:7px;width:1px;background:#333}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{position:absolute;content:\\\"\\\";left:-3px;top:3px;height:1px;width:7px;background:#333}.tabulator{border:none;background-color:#fff}.tabulator .tabulator-header .tabulator-calcs-holder{background:#f2f2f2!important;border-bottom:1px solid #999}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#f2f2f2!important}.tabulator .tabulator-tableholder .tabulator-placeholder span{color:#000}.tabulator .tabulator-footer .tabulator-calcs-holder{background:#f2f2f2!important;border-bottom:1px solid #fff}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:#f2f2f2!important}.tabulator-row{border-bottom:1px solid #ddd}.tabulator-row .tabulator-cell:last-of-type{border-right:none}.tabulator-row.tabulator-group span{color:#666}.tabulator-print-table .tabulator-print-table-group span{margin-left:10px;color:#666}\\n/*# sourceMappingURL=tabulator_simple.min.css.map */\");\n }, function(Bokeh) {\n inject_raw_css(\"/**\\n * Copyright (c) 2014 The xterm.js authors. All rights reserved.\\n * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)\\n * https://github.com/chjj/term.js\\n * @license MIT\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy\\n * of this software and associated documentation files (the \\\"Software\\\"), to deal\\n * in the Software without restriction, including without limitation the rights\\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\\n * copies of the Software, and to permit persons to whom the Software is\\n * furnished to do so, subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in\\n * all copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\\n * THE SOFTWARE.\\n *\\n * Originally forked from (with the author's permission):\\n * Fabrice Bellard's javascript vt100 for jslinux:\\n * http://bellard.org/jslinux/\\n * Copyright (c) 2011 Fabrice Bellard\\n * The original design remains. The terminal itself\\n * has been extended to include xterm CSI codes, among\\n * other features.\\n */\\n\\n/**\\n * Default styles for xterm.js\\n */\\n\\n.xterm {\\n font-feature-settings: \\\"liga\\\" 0;\\n position: relative;\\n user-select: none;\\n -ms-user-select: none;\\n -webkit-user-select: none;\\n}\\n\\n.xterm.focus,\\n.xterm:focus {\\n outline: none;\\n}\\n\\n.xterm .xterm-helpers {\\n position: absolute;\\n top: 0;\\n /**\\n * The z-index of the helpers must be higher than the canvases in order for\\n * IMEs to appear on top.\\n */\\n z-index: 5;\\n}\\n\\n.xterm .xterm-helper-textarea {\\n padding: 0;\\n border: 0;\\n margin: 0;\\n /* Move textarea out of the screen to the far left, so that the cursor is not visible */\\n position: absolute;\\n opacity: 0;\\n left: -9999em;\\n top: 0;\\n width: 0;\\n height: 0;\\n z-index: -5;\\n /** Prevent wrapping so the IME appears against the textarea at the correct position */\\n white-space: nowrap;\\n overflow: hidden;\\n resize: none;\\n}\\n\\n.xterm .composition-view {\\n /* TODO: Composition position got messed up somewhere */\\n background: #000;\\n color: #FFF;\\n display: none;\\n position: absolute;\\n white-space: nowrap;\\n z-index: 1;\\n}\\n\\n.xterm .composition-view.active {\\n display: block;\\n}\\n\\n.xterm .xterm-viewport {\\n /* On OS X this is required in order for the scroll bar to appear fully opaque */\\n background-color: #000;\\n overflow-y: scroll;\\n cursor: default;\\n position: absolute;\\n right: 0;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n}\\n\\n.xterm .xterm-screen {\\n position: relative;\\n}\\n\\n.xterm .xterm-screen canvas {\\n position: absolute;\\n left: 0;\\n top: 0;\\n}\\n\\n.xterm .xterm-scroll-area {\\n visibility: hidden;\\n}\\n\\n.xterm-char-measure-element {\\n display: inline-block;\\n visibility: hidden;\\n position: absolute;\\n top: 0;\\n left: -9999em;\\n line-height: normal;\\n}\\n\\n.xterm {\\n cursor: text;\\n}\\n\\n.xterm.enable-mouse-events {\\n /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */\\n cursor: default;\\n}\\n\\n.xterm.xterm-cursor-pointer {\\n cursor: pointer;\\n}\\n\\n.xterm.column-select.focus {\\n /* Column selection mode */\\n cursor: crosshair;\\n}\\n\\n.xterm .xterm-accessibility,\\n.xterm .xterm-message {\\n position: absolute;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n right: 0;\\n z-index: 10;\\n color: transparent;\\n}\\n\\n.xterm .live-region {\\n position: absolute;\\n left: -9999px;\\n width: 1px;\\n height: 1px;\\n overflow: hidden;\\n}\\n\\n.xterm-dim {\\n opacity: 0.5;\\n}\\n\\n.xterm-underline {\\n text-decoration: underline;\\n}\\n\");\n }, function(Bokeh) {\n inject_raw_css(\":root .grid-stack-item>.ui-resizable-handle{filter:none}.grid-stack{position:relative}.grid-stack.grid-stack-rtl{direction:ltr}.grid-stack.grid-stack-rtl>.grid-stack-item{direction:rtl}.grid-stack .grid-stack-placeholder>.placeholder-content{background-color:rgba(0,0,0,.1);margin:0;position:absolute;width:auto;z-index:0!important;text-align:center}.grid-stack>.grid-stack-item{min-width:8.3333333333%;position:absolute;padding:0}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;width:auto;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.grid-stack>.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack>.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack>.grid-stack-item>.ui-resizable-se,.grid-stack>.grid-stack-item>.ui-resizable-sw{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDUxMS42MjYgNTExLjYyNyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTExLjYyNiA1MTEuNjI3OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPHBhdGggZD0iTTMyOC45MDYsNDAxLjk5NGgtMzYuNTUzVjEwOS42MzZoMzYuNTUzYzQuOTQ4LDAsOS4yMzYtMS44MDksMTIuODQ3LTUuNDI2YzMuNjEzLTMuNjE1LDUuNDIxLTcuODk4LDUuNDIxLTEyLjg0NSAgIGMwLTQuOTQ5LTEuODAxLTkuMjMxLTUuNDI4LTEyLjg1MWwtNzMuMDg3LTczLjA5QzI2NS4wNDQsMS44MDksMjYwLjc2LDAsMjU1LjgxMywwYy00Ljk0OCwwLTkuMjI5LDEuODA5LTEyLjg0Nyw1LjQyNCAgIGwtNzMuMDg4LDczLjA5Yy0zLjYxOCwzLjYxOS01LjQyNCw3LjkwMi01LjQyNCwxMi44NTFjMCw0Ljk0NiwxLjgwNyw5LjIyOSw1LjQyNCwxMi44NDVjMy42MTksMy42MTcsNy45MDEsNS40MjYsMTIuODUsNS40MjYgICBoMzYuNTQ1djI5Mi4zNThoLTM2LjU0MmMtNC45NTIsMC05LjIzNSwxLjgwOC0xMi44NSw1LjQyMWMtMy42MTcsMy42MjEtNS40MjQsNy45MDUtNS40MjQsMTIuODU0ICAgYzAsNC45NDUsMS44MDcsOS4yMjcsNS40MjQsMTIuODQ3bDczLjA4OSw3My4wODhjMy42MTcsMy42MTcsNy44OTgsNS40MjQsMTIuODQ3LDUuNDI0YzQuOTUsMCw5LjIzNC0xLjgwNywxMi44NDktNS40MjQgICBsNzMuMDg3LTczLjA4OGMzLjYxMy0zLjYyLDUuNDIxLTcuOTAxLDUuNDIxLTEyLjg0N2MwLTQuOTQ4LTEuODA4LTkuMjMyLTUuNDIxLTEyLjg1NCAgIEMzMzguMTQyLDQwMy44MDIsMzMzLjg1Nyw0MDEuOTk0LDMyOC45MDYsNDAxLjk5NHoiIGZpbGw9IiM2NjY2NjYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.grid-stack>.grid-stack-item>.ui-resizable-se{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.grid-stack>.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:0}.grid-stack>.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:0;left:25px;right:25px}.grid-stack>.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:0}.grid-stack>.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px}.grid-stack>.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px}.grid-stack>.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:0;right:25px}.grid-stack>.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px}.grid-stack>.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px}.grid-stack>.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack>.grid-stack-item[gs-w=\\\"0\\\"]{width:0%}.grid-stack>.grid-stack-item[gs-x=\\\"0\\\"]{left:0}.grid-stack>.grid-stack-item[gs-min-w=\\\"0\\\"]{min-width:0}.grid-stack>.grid-stack-item[gs-max-w=\\\"0\\\"]{max-width:0%}.grid-stack>.grid-stack-item[gs-w=\\\"1\\\"]{width:8.3333333333%}.grid-stack>.grid-stack-item[gs-x=\\\"1\\\"]{left:8.3333333333%}.grid-stack>.grid-stack-item[gs-min-w=\\\"1\\\"]{min-width:8.3333333333%}.grid-stack>.grid-stack-item[gs-max-w=\\\"1\\\"]{max-width:8.3333333333%}.grid-stack>.grid-stack-item[gs-w=\\\"2\\\"]{width:16.6666666667%}.grid-stack>.grid-stack-item[gs-x=\\\"2\\\"]{left:16.6666666667%}.grid-stack>.grid-stack-item[gs-min-w=\\\"2\\\"]{min-width:16.6666666667%}.grid-stack>.grid-stack-item[gs-max-w=\\\"2\\\"]{max-width:16.6666666667%}.grid-stack>.grid-stack-item[gs-w=\\\"3\\\"]{width:25%}.grid-stack>.grid-stack-item[gs-x=\\\"3\\\"]{left:25%}.grid-stack>.grid-stack-item[gs-min-w=\\\"3\\\"]{min-width:25%}.grid-stack>.grid-stack-item[gs-max-w=\\\"3\\\"]{max-width:25%}.grid-stack>.grid-stack-item[gs-w=\\\"4\\\"]{width:33.3333333333%}.grid-stack>.grid-stack-item[gs-x=\\\"4\\\"]{left:33.3333333333%}.grid-stack>.grid-stack-item[gs-min-w=\\\"4\\\"]{min-width:33.3333333333%}.grid-stack>.grid-stack-item[gs-max-w=\\\"4\\\"]{max-width:33.3333333333%}.grid-stack>.grid-stack-item[gs-w=\\\"5\\\"]{width:41.6666666667%}.grid-stack>.grid-stack-item[gs-x=\\\"5\\\"]{left:41.6666666667%}.grid-stack>.grid-stack-item[gs-min-w=\\\"5\\\"]{min-width:41.6666666667%}.grid-stack>.grid-stack-item[gs-max-w=\\\"5\\\"]{max-width:41.6666666667%}.grid-stack>.grid-stack-item[gs-w=\\\"6\\\"]{width:50%}.grid-stack>.grid-stack-item[gs-x=\\\"6\\\"]{left:50%}.grid-stack>.grid-stack-item[gs-min-w=\\\"6\\\"]{min-width:50%}.grid-stack>.grid-stack-item[gs-max-w=\\\"6\\\"]{max-width:50%}.grid-stack>.grid-stack-item[gs-w=\\\"7\\\"]{width:58.3333333333%}.grid-stack>.grid-stack-item[gs-x=\\\"7\\\"]{left:58.3333333333%}.grid-stack>.grid-stack-item[gs-min-w=\\\"7\\\"]{min-width:58.3333333333%}.grid-stack>.grid-stack-item[gs-max-w=\\\"7\\\"]{max-width:58.3333333333%}.grid-stack>.grid-stack-item[gs-w=\\\"8\\\"]{width:66.6666666667%}.grid-stack>.grid-stack-item[gs-x=\\\"8\\\"]{left:66.6666666667%}.grid-stack>.grid-stack-item[gs-min-w=\\\"8\\\"]{min-width:66.6666666667%}.grid-stack>.grid-stack-item[gs-max-w=\\\"8\\\"]{max-width:66.6666666667%}.grid-stack>.grid-stack-item[gs-w=\\\"9\\\"]{width:75%}.grid-stack>.grid-stack-item[gs-x=\\\"9\\\"]{left:75%}.grid-stack>.grid-stack-item[gs-min-w=\\\"9\\\"]{min-width:75%}.grid-stack>.grid-stack-item[gs-max-w=\\\"9\\\"]{max-width:75%}.grid-stack>.grid-stack-item[gs-w=\\\"10\\\"]{width:83.3333333333%}.grid-stack>.grid-stack-item[gs-x=\\\"10\\\"]{left:83.3333333333%}.grid-stack>.grid-stack-item[gs-min-w=\\\"10\\\"]{min-width:83.3333333333%}.grid-stack>.grid-stack-item[gs-max-w=\\\"10\\\"]{max-width:83.3333333333%}.grid-stack>.grid-stack-item[gs-w=\\\"11\\\"]{width:91.6666666667%}.grid-stack>.grid-stack-item[gs-x=\\\"11\\\"]{left:91.6666666667%}.grid-stack>.grid-stack-item[gs-min-w=\\\"11\\\"]{min-width:91.6666666667%}.grid-stack>.grid-stack-item[gs-max-w=\\\"11\\\"]{max-width:91.6666666667%}.grid-stack>.grid-stack-item[gs-w=\\\"12\\\"]{width:100%}.grid-stack>.grid-stack-item[gs-x=\\\"12\\\"]{left:100%}.grid-stack>.grid-stack-item[gs-min-w=\\\"12\\\"]{min-width:100%}.grid-stack>.grid-stack-item[gs-max-w=\\\"12\\\"]{max-width:100%}.grid-stack.grid-stack-1>.grid-stack-item{min-width:100%}.grid-stack.grid-stack-1>.grid-stack-item[gs-w=\\\"1\\\"]{width:100%}.grid-stack.grid-stack-1>.grid-stack-item[gs-x=\\\"1\\\"]{left:100%}.grid-stack.grid-stack-1>.grid-stack-item[gs-min-w=\\\"1\\\"]{min-width:100%}.grid-stack.grid-stack-1>.grid-stack-item[gs-max-w=\\\"1\\\"]{max-width:100%}.grid-stack.grid-stack-animate,.grid-stack.grid-stack-animate .grid-stack-item{-webkit-transition:left .3s,top .3s,height .3s,width .3s;-moz-transition:left .3s,top .3s,height .3s,width .3s;-ms-transition:left .3s,top .3s,height .3s,width .3s;-o-transition:left .3s,top .3s,height .3s,width .3s;transition:left .3s,top .3s,height .3s,width .3s}.grid-stack.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack.grid-stack-animate .grid-stack-item.ui-resizable-resizing{-webkit-transition:left 0s,top 0s,height 0s,width 0s;-moz-transition:left 0s,top 0s,height 0s,width 0s;-ms-transition:left 0s,top 0s,height 0s,width 0s;-o-transition:left 0s,top 0s,height 0s,width 0s;transition:left 0s,top 0s,height 0s,width 0s}.ui-draggable-dragging,.ui-resizable-resizing{z-index:100}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px rgba(0,0,0,.2);opacity:.8}.ui-draggable-dragging{will-change:left,top;cursor:move}.ui-resizable-resizing{will-change:width,height}\");\n }, function(Bokeh) {\n inject_raw_css(\".grid-stack.grid-stack-2>.grid-stack-item{min-width:50%}.grid-stack.grid-stack-2>.grid-stack-item[gs-w=\\\"1\\\"]{width:50%}.grid-stack.grid-stack-2>.grid-stack-item[gs-x=\\\"1\\\"]{left:50%}.grid-stack.grid-stack-2>.grid-stack-item[gs-min-w=\\\"1\\\"]{min-width:50%}.grid-stack.grid-stack-2>.grid-stack-item[gs-max-w=\\\"1\\\"]{max-width:50%}.grid-stack.grid-stack-2>.grid-stack-item[gs-w=\\\"2\\\"]{width:100%}.grid-stack.grid-stack-2>.grid-stack-item[gs-x=\\\"2\\\"]{left:100%}.grid-stack.grid-stack-2>.grid-stack-item[gs-min-w=\\\"2\\\"]{min-width:100%}.grid-stack.grid-stack-2>.grid-stack-item[gs-max-w=\\\"2\\\"]{max-width:100%}.grid-stack.grid-stack-3>.grid-stack-item{min-width:33.3333333333%}.grid-stack.grid-stack-3>.grid-stack-item[gs-w=\\\"1\\\"]{width:33.3333333333%}.grid-stack.grid-stack-3>.grid-stack-item[gs-x=\\\"1\\\"]{left:33.3333333333%}.grid-stack.grid-stack-3>.grid-stack-item[gs-min-w=\\\"1\\\"]{min-width:33.3333333333%}.grid-stack.grid-stack-3>.grid-stack-item[gs-max-w=\\\"1\\\"]{max-width:33.3333333333%}.grid-stack.grid-stack-3>.grid-stack-item[gs-w=\\\"2\\\"]{width:66.6666666667%}.grid-stack.grid-stack-3>.grid-stack-item[gs-x=\\\"2\\\"]{left:66.6666666667%}.grid-stack.grid-stack-3>.grid-stack-item[gs-min-w=\\\"2\\\"]{min-width:66.6666666667%}.grid-stack.grid-stack-3>.grid-stack-item[gs-max-w=\\\"2\\\"]{max-width:66.6666666667%}.grid-stack.grid-stack-3>.grid-stack-item[gs-w=\\\"3\\\"]{width:100%}.grid-stack.grid-stack-3>.grid-stack-item[gs-x=\\\"3\\\"]{left:100%}.grid-stack.grid-stack-3>.grid-stack-item[gs-min-w=\\\"3\\\"]{min-width:100%}.grid-stack.grid-stack-3>.grid-stack-item[gs-max-w=\\\"3\\\"]{max-width:100%}.grid-stack.grid-stack-4>.grid-stack-item{min-width:25%}.grid-stack.grid-stack-4>.grid-stack-item[gs-w=\\\"1\\\"]{width:25%}.grid-stack.grid-stack-4>.grid-stack-item[gs-x=\\\"1\\\"]{left:25%}.grid-stack.grid-stack-4>.grid-stack-item[gs-min-w=\\\"1\\\"]{min-width:25%}.grid-stack.grid-stack-4>.grid-stack-item[gs-max-w=\\\"1\\\"]{max-width:25%}.grid-stack.grid-stack-4>.grid-stack-item[gs-w=\\\"2\\\"]{width:50%}.grid-stack.grid-stack-4>.grid-stack-item[gs-x=\\\"2\\\"]{left:50%}.grid-stack.grid-stack-4>.grid-stack-item[gs-min-w=\\\"2\\\"]{min-width:50%}.grid-stack.grid-stack-4>.grid-stack-item[gs-max-w=\\\"2\\\"]{max-width:50%}.grid-stack.grid-stack-4>.grid-stack-item[gs-w=\\\"3\\\"]{width:75%}.grid-stack.grid-stack-4>.grid-stack-item[gs-x=\\\"3\\\"]{left:75%}.grid-stack.grid-stack-4>.grid-stack-item[gs-min-w=\\\"3\\\"]{min-width:75%}.grid-stack.grid-stack-4>.grid-stack-item[gs-max-w=\\\"3\\\"]{max-width:75%}.grid-stack.grid-stack-4>.grid-stack-item[gs-w=\\\"4\\\"]{width:100%}.grid-stack.grid-stack-4>.grid-stack-item[gs-x=\\\"4\\\"]{left:100%}.grid-stack.grid-stack-4>.grid-stack-item[gs-min-w=\\\"4\\\"]{min-width:100%}.grid-stack.grid-stack-4>.grid-stack-item[gs-max-w=\\\"4\\\"]{max-width:100%}.grid-stack.grid-stack-5>.grid-stack-item{min-width:20%}.grid-stack.grid-stack-5>.grid-stack-item[gs-w=\\\"1\\\"]{width:20%}.grid-stack.grid-stack-5>.grid-stack-item[gs-x=\\\"1\\\"]{left:20%}.grid-stack.grid-stack-5>.grid-stack-item[gs-min-w=\\\"1\\\"]{min-width:20%}.grid-stack.grid-stack-5>.grid-stack-item[gs-max-w=\\\"1\\\"]{max-width:20%}.grid-stack.grid-stack-5>.grid-stack-item[gs-w=\\\"2\\\"]{width:40%}.grid-stack.grid-stack-5>.grid-stack-item[gs-x=\\\"2\\\"]{left:40%}.grid-stack.grid-stack-5>.grid-stack-item[gs-min-w=\\\"2\\\"]{min-width:40%}.grid-stack.grid-stack-5>.grid-stack-item[gs-max-w=\\\"2\\\"]{max-width:40%}.grid-stack.grid-stack-5>.grid-stack-item[gs-w=\\\"3\\\"]{width:60%}.grid-stack.grid-stack-5>.grid-stack-item[gs-x=\\\"3\\\"]{left:60%}.grid-stack.grid-stack-5>.grid-stack-item[gs-min-w=\\\"3\\\"]{min-width:60%}.grid-stack.grid-stack-5>.grid-stack-item[gs-max-w=\\\"3\\\"]{max-width:60%}.grid-stack.grid-stack-5>.grid-stack-item[gs-w=\\\"4\\\"]{width:80%}.grid-stack.grid-stack-5>.grid-stack-item[gs-x=\\\"4\\\"]{left:80%}.grid-stack.grid-stack-5>.grid-stack-item[gs-min-w=\\\"4\\\"]{min-width:80%}.grid-stack.grid-stack-5>.grid-stack-item[gs-max-w=\\\"4\\\"]{max-width:80%}.grid-stack.grid-stack-5>.grid-stack-item[gs-w=\\\"5\\\"]{width:100%}.grid-stack.grid-stack-5>.grid-stack-item[gs-x=\\\"5\\\"]{left:100%}.grid-stack.grid-stack-5>.grid-stack-item[gs-min-w=\\\"5\\\"]{min-width:100%}.grid-stack.grid-stack-5>.grid-stack-item[gs-max-w=\\\"5\\\"]{max-width:100%}.grid-stack.grid-stack-6>.grid-stack-item{min-width:16.6666666667%}.grid-stack.grid-stack-6>.grid-stack-item[gs-w=\\\"1\\\"]{width:16.6666666667%}.grid-stack.grid-stack-6>.grid-stack-item[gs-x=\\\"1\\\"]{left:16.6666666667%}.grid-stack.grid-stack-6>.grid-stack-item[gs-min-w=\\\"1\\\"]{min-width:16.6666666667%}.grid-stack.grid-stack-6>.grid-stack-item[gs-max-w=\\\"1\\\"]{max-width:16.6666666667%}.grid-stack.grid-stack-6>.grid-stack-item[gs-w=\\\"2\\\"]{width:33.3333333333%}.grid-stack.grid-stack-6>.grid-stack-item[gs-x=\\\"2\\\"]{left:33.3333333333%}.grid-stack.grid-stack-6>.grid-stack-item[gs-min-w=\\\"2\\\"]{min-width:33.3333333333%}.grid-stack.grid-stack-6>.grid-stack-item[gs-max-w=\\\"2\\\"]{max-width:33.3333333333%}.grid-stack.grid-stack-6>.grid-stack-item[gs-w=\\\"3\\\"]{width:50%}.grid-stack.grid-stack-6>.grid-stack-item[gs-x=\\\"3\\\"]{left:50%}.grid-stack.grid-stack-6>.grid-stack-item[gs-min-w=\\\"3\\\"]{min-width:50%}.grid-stack.grid-stack-6>.grid-stack-item[gs-max-w=\\\"3\\\"]{max-width:50%}.grid-stack.grid-stack-6>.grid-stack-item[gs-w=\\\"4\\\"]{width:66.6666666667%}.grid-stack.grid-stack-6>.grid-stack-item[gs-x=\\\"4\\\"]{left:66.6666666667%}.grid-stack.grid-stack-6>.grid-stack-item[gs-min-w=\\\"4\\\"]{min-width:66.6666666667%}.grid-stack.grid-stack-6>.grid-stack-item[gs-max-w=\\\"4\\\"]{max-width:66.6666666667%}.grid-stack.grid-stack-6>.grid-stack-item[gs-w=\\\"5\\\"]{width:83.3333333333%}.grid-stack.grid-stack-6>.grid-stack-item[gs-x=\\\"5\\\"]{left:83.3333333333%}.grid-stack.grid-stack-6>.grid-stack-item[gs-min-w=\\\"5\\\"]{min-width:83.3333333333%}.grid-stack.grid-stack-6>.grid-stack-item[gs-max-w=\\\"5\\\"]{max-width:83.3333333333%}.grid-stack.grid-stack-6>.grid-stack-item[gs-w=\\\"6\\\"]{width:100%}.grid-stack.grid-stack-6>.grid-stack-item[gs-x=\\\"6\\\"]{left:100%}.grid-stack.grid-stack-6>.grid-stack-item[gs-min-w=\\\"6\\\"]{min-width:100%}.grid-stack.grid-stack-6>.grid-stack-item[gs-max-w=\\\"6\\\"]{max-width:100%}.grid-stack.grid-stack-7>.grid-stack-item{min-width:14.2857142857%}.grid-stack.grid-stack-7>.grid-stack-item[gs-w=\\\"1\\\"]{width:14.2857142857%}.grid-stack.grid-stack-7>.grid-stack-item[gs-x=\\\"1\\\"]{left:14.2857142857%}.grid-stack.grid-stack-7>.grid-stack-item[gs-min-w=\\\"1\\\"]{min-width:14.2857142857%}.grid-stack.grid-stack-7>.grid-stack-item[gs-max-w=\\\"1\\\"]{max-width:14.2857142857%}.grid-stack.grid-stack-7>.grid-stack-item[gs-w=\\\"2\\\"]{width:28.5714285714%}.grid-stack.grid-stack-7>.grid-stack-item[gs-x=\\\"2\\\"]{left:28.5714285714%}.grid-stack.grid-stack-7>.grid-stack-item[gs-min-w=\\\"2\\\"]{min-width:28.5714285714%}.grid-stack.grid-stack-7>.grid-stack-item[gs-max-w=\\\"2\\\"]{max-width:28.5714285714%}.grid-stack.grid-stack-7>.grid-stack-item[gs-w=\\\"3\\\"]{width:42.8571428571%}.grid-stack.grid-stack-7>.grid-stack-item[gs-x=\\\"3\\\"]{left:42.8571428571%}.grid-stack.grid-stack-7>.grid-stack-item[gs-min-w=\\\"3\\\"]{min-width:42.8571428571%}.grid-stack.grid-stack-7>.grid-stack-item[gs-max-w=\\\"3\\\"]{max-width:42.8571428571%}.grid-stack.grid-stack-7>.grid-stack-item[gs-w=\\\"4\\\"]{width:57.1428571429%}.grid-stack.grid-stack-7>.grid-stack-item[gs-x=\\\"4\\\"]{left:57.1428571429%}.grid-stack.grid-stack-7>.grid-stack-item[gs-min-w=\\\"4\\\"]{min-width:57.1428571429%}.grid-stack.grid-stack-7>.grid-stack-item[gs-max-w=\\\"4\\\"]{max-width:57.1428571429%}.grid-stack.grid-stack-7>.grid-stack-item[gs-w=\\\"5\\\"]{width:71.4285714286%}.grid-stack.grid-stack-7>.grid-stack-item[gs-x=\\\"5\\\"]{left:71.4285714286%}.grid-stack.grid-stack-7>.grid-stack-item[gs-min-w=\\\"5\\\"]{min-width:71.4285714286%}.grid-stack.grid-stack-7>.grid-stack-item[gs-max-w=\\\"5\\\"]{max-width:71.4285714286%}.grid-stack.grid-stack-7>.grid-stack-item[gs-w=\\\"6\\\"]{width:85.7142857143%}.grid-stack.grid-stack-7>.grid-stack-item[gs-x=\\\"6\\\"]{left:85.7142857143%}.grid-stack.grid-stack-7>.grid-stack-item[gs-min-w=\\\"6\\\"]{min-width:85.7142857143%}.grid-stack.grid-stack-7>.grid-stack-item[gs-max-w=\\\"6\\\"]{max-width:85.7142857143%}.grid-stack.grid-stack-7>.grid-stack-item[gs-w=\\\"7\\\"]{width:100%}.grid-stack.grid-stack-7>.grid-stack-item[gs-x=\\\"7\\\"]{left:100%}.grid-stack.grid-stack-7>.grid-stack-item[gs-min-w=\\\"7\\\"]{min-width:100%}.grid-stack.grid-stack-7>.grid-stack-item[gs-max-w=\\\"7\\\"]{max-width:100%}.grid-stack.grid-stack-8>.grid-stack-item{min-width:12.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-w=\\\"1\\\"]{width:12.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-x=\\\"1\\\"]{left:12.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-min-w=\\\"1\\\"]{min-width:12.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-max-w=\\\"1\\\"]{max-width:12.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-w=\\\"2\\\"]{width:25%}.grid-stack.grid-stack-8>.grid-stack-item[gs-x=\\\"2\\\"]{left:25%}.grid-stack.grid-stack-8>.grid-stack-item[gs-min-w=\\\"2\\\"]{min-width:25%}.grid-stack.grid-stack-8>.grid-stack-item[gs-max-w=\\\"2\\\"]{max-width:25%}.grid-stack.grid-stack-8>.grid-stack-item[gs-w=\\\"3\\\"]{width:37.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-x=\\\"3\\\"]{left:37.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-min-w=\\\"3\\\"]{min-width:37.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-max-w=\\\"3\\\"]{max-width:37.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-w=\\\"4\\\"]{width:50%}.grid-stack.grid-stack-8>.grid-stack-item[gs-x=\\\"4\\\"]{left:50%}.grid-stack.grid-stack-8>.grid-stack-item[gs-min-w=\\\"4\\\"]{min-width:50%}.grid-stack.grid-stack-8>.grid-stack-item[gs-max-w=\\\"4\\\"]{max-width:50%}.grid-stack.grid-stack-8>.grid-stack-item[gs-w=\\\"5\\\"]{width:62.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-x=\\\"5\\\"]{left:62.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-min-w=\\\"5\\\"]{min-width:62.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-max-w=\\\"5\\\"]{max-width:62.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-w=\\\"6\\\"]{width:75%}.grid-stack.grid-stack-8>.grid-stack-item[gs-x=\\\"6\\\"]{left:75%}.grid-stack.grid-stack-8>.grid-stack-item[gs-min-w=\\\"6\\\"]{min-width:75%}.grid-stack.grid-stack-8>.grid-stack-item[gs-max-w=\\\"6\\\"]{max-width:75%}.grid-stack.grid-stack-8>.grid-stack-item[gs-w=\\\"7\\\"]{width:87.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-x=\\\"7\\\"]{left:87.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-min-w=\\\"7\\\"]{min-width:87.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-max-w=\\\"7\\\"]{max-width:87.5%}.grid-stack.grid-stack-8>.grid-stack-item[gs-w=\\\"8\\\"]{width:100%}.grid-stack.grid-stack-8>.grid-stack-item[gs-x=\\\"8\\\"]{left:100%}.grid-stack.grid-stack-8>.grid-stack-item[gs-min-w=\\\"8\\\"]{min-width:100%}.grid-stack.grid-stack-8>.grid-stack-item[gs-max-w=\\\"8\\\"]{max-width:100%}.grid-stack.grid-stack-9>.grid-stack-item{min-width:11.1111111111%}.grid-stack.grid-stack-9>.grid-stack-item[gs-w=\\\"1\\\"]{width:11.1111111111%}.grid-stack.grid-stack-9>.grid-stack-item[gs-x=\\\"1\\\"]{left:11.1111111111%}.grid-stack.grid-stack-9>.grid-stack-item[gs-min-w=\\\"1\\\"]{min-width:11.1111111111%}.grid-stack.grid-stack-9>.grid-stack-item[gs-max-w=\\\"1\\\"]{max-width:11.1111111111%}.grid-stack.grid-stack-9>.grid-stack-item[gs-w=\\\"2\\\"]{width:22.2222222222%}.grid-stack.grid-stack-9>.grid-stack-item[gs-x=\\\"2\\\"]{left:22.2222222222%}.grid-stack.grid-stack-9>.grid-stack-item[gs-min-w=\\\"2\\\"]{min-width:22.2222222222%}.grid-stack.grid-stack-9>.grid-stack-item[gs-max-w=\\\"2\\\"]{max-width:22.2222222222%}.grid-stack.grid-stack-9>.grid-stack-item[gs-w=\\\"3\\\"]{width:33.3333333333%}.grid-stack.grid-stack-9>.grid-stack-item[gs-x=\\\"3\\\"]{left:33.3333333333%}.grid-stack.grid-stack-9>.grid-stack-item[gs-min-w=\\\"3\\\"]{min-width:33.3333333333%}.grid-stack.grid-stack-9>.grid-stack-item[gs-max-w=\\\"3\\\"]{max-width:33.3333333333%}.grid-stack.grid-stack-9>.grid-stack-item[gs-w=\\\"4\\\"]{width:44.4444444444%}.grid-stack.grid-stack-9>.grid-stack-item[gs-x=\\\"4\\\"]{left:44.4444444444%}.grid-stack.grid-stack-9>.grid-stack-item[gs-min-w=\\\"4\\\"]{min-width:44.4444444444%}.grid-stack.grid-stack-9>.grid-stack-item[gs-max-w=\\\"4\\\"]{max-width:44.4444444444%}.grid-stack.grid-stack-9>.grid-stack-item[gs-w=\\\"5\\\"]{width:55.5555555556%}.grid-stack.grid-stack-9>.grid-stack-item[gs-x=\\\"5\\\"]{left:55.5555555556%}.grid-stack.grid-stack-9>.grid-stack-item[gs-min-w=\\\"5\\\"]{min-width:55.5555555556%}.grid-stack.grid-stack-9>.grid-stack-item[gs-max-w=\\\"5\\\"]{max-width:55.5555555556%}.grid-stack.grid-stack-9>.grid-stack-item[gs-w=\\\"6\\\"]{width:66.6666666667%}.grid-stack.grid-stack-9>.grid-stack-item[gs-x=\\\"6\\\"]{left:66.6666666667%}.grid-stack.grid-stack-9>.grid-stack-item[gs-min-w=\\\"6\\\"]{min-width:66.6666666667%}.grid-stack.grid-stack-9>.grid-stack-item[gs-max-w=\\\"6\\\"]{max-width:66.6666666667%}.grid-stack.grid-stack-9>.grid-stack-item[gs-w=\\\"7\\\"]{width:77.7777777778%}.grid-stack.grid-stack-9>.grid-stack-item[gs-x=\\\"7\\\"]{left:77.7777777778%}.grid-stack.grid-stack-9>.grid-stack-item[gs-min-w=\\\"7\\\"]{min-width:77.7777777778%}.grid-stack.grid-stack-9>.grid-stack-item[gs-max-w=\\\"7\\\"]{max-width:77.7777777778%}.grid-stack.grid-stack-9>.grid-stack-item[gs-w=\\\"8\\\"]{width:88.8888888889%}.grid-stack.grid-stack-9>.grid-stack-item[gs-x=\\\"8\\\"]{left:88.8888888889%}.grid-stack.grid-stack-9>.grid-stack-item[gs-min-w=\\\"8\\\"]{min-width:88.8888888889%}.grid-stack.grid-stack-9>.grid-stack-item[gs-max-w=\\\"8\\\"]{max-width:88.8888888889%}.grid-stack.grid-stack-9>.grid-stack-item[gs-w=\\\"9\\\"]{width:100%}.grid-stack.grid-stack-9>.grid-stack-item[gs-x=\\\"9\\\"]{left:100%}.grid-stack.grid-stack-9>.grid-stack-item[gs-min-w=\\\"9\\\"]{min-width:100%}.grid-stack.grid-stack-9>.grid-stack-item[gs-max-w=\\\"9\\\"]{max-width:100%}.grid-stack.grid-stack-10>.grid-stack-item{min-width:10%}.grid-stack.grid-stack-10>.grid-stack-item[gs-w=\\\"1\\\"]{width:10%}.grid-stack.grid-stack-10>.grid-stack-item[gs-x=\\\"1\\\"]{left:10%}.grid-stack.grid-stack-10>.grid-stack-item[gs-min-w=\\\"1\\\"]{min-width:10%}.grid-stack.grid-stack-10>.grid-stack-item[gs-max-w=\\\"1\\\"]{max-width:10%}.grid-stack.grid-stack-10>.grid-stack-item[gs-w=\\\"2\\\"]{width:20%}.grid-stack.grid-stack-10>.grid-stack-item[gs-x=\\\"2\\\"]{left:20%}.grid-stack.grid-stack-10>.grid-stack-item[gs-min-w=\\\"2\\\"]{min-width:20%}.grid-stack.grid-stack-10>.grid-stack-item[gs-max-w=\\\"2\\\"]{max-width:20%}.grid-stack.grid-stack-10>.grid-stack-item[gs-w=\\\"3\\\"]{width:30%}.grid-stack.grid-stack-10>.grid-stack-item[gs-x=\\\"3\\\"]{left:30%}.grid-stack.grid-stack-10>.grid-stack-item[gs-min-w=\\\"3\\\"]{min-width:30%}.grid-stack.grid-stack-10>.grid-stack-item[gs-max-w=\\\"3\\\"]{max-width:30%}.grid-stack.grid-stack-10>.grid-stack-item[gs-w=\\\"4\\\"]{width:40%}.grid-stack.grid-stack-10>.grid-stack-item[gs-x=\\\"4\\\"]{left:40%}.grid-stack.grid-stack-10>.grid-stack-item[gs-min-w=\\\"4\\\"]{min-width:40%}.grid-stack.grid-stack-10>.grid-stack-item[gs-max-w=\\\"4\\\"]{max-width:40%}.grid-stack.grid-stack-10>.grid-stack-item[gs-w=\\\"5\\\"]{width:50%}.grid-stack.grid-stack-10>.grid-stack-item[gs-x=\\\"5\\\"]{left:50%}.grid-stack.grid-stack-10>.grid-stack-item[gs-min-w=\\\"5\\\"]{min-width:50%}.grid-stack.grid-stack-10>.grid-stack-item[gs-max-w=\\\"5\\\"]{max-width:50%}.grid-stack.grid-stack-10>.grid-stack-item[gs-w=\\\"6\\\"]{width:60%}.grid-stack.grid-stack-10>.grid-stack-item[gs-x=\\\"6\\\"]{left:60%}.grid-stack.grid-stack-10>.grid-stack-item[gs-min-w=\\\"6\\\"]{min-width:60%}.grid-stack.grid-stack-10>.grid-stack-item[gs-max-w=\\\"6\\\"]{max-width:60%}.grid-stack.grid-stack-10>.grid-stack-item[gs-w=\\\"7\\\"]{width:70%}.grid-stack.grid-stack-10>.grid-stack-item[gs-x=\\\"7\\\"]{left:70%}.grid-stack.grid-stack-10>.grid-stack-item[gs-min-w=\\\"7\\\"]{min-width:70%}.grid-stack.grid-stack-10>.grid-stack-item[gs-max-w=\\\"7\\\"]{max-width:70%}.grid-stack.grid-stack-10>.grid-stack-item[gs-w=\\\"8\\\"]{width:80%}.grid-stack.grid-stack-10>.grid-stack-item[gs-x=\\\"8\\\"]{left:80%}.grid-stack.grid-stack-10>.grid-stack-item[gs-min-w=\\\"8\\\"]{min-width:80%}.grid-stack.grid-stack-10>.grid-stack-item[gs-max-w=\\\"8\\\"]{max-width:80%}.grid-stack.grid-stack-10>.grid-stack-item[gs-w=\\\"9\\\"]{width:90%}.grid-stack.grid-stack-10>.grid-stack-item[gs-x=\\\"9\\\"]{left:90%}.grid-stack.grid-stack-10>.grid-stack-item[gs-min-w=\\\"9\\\"]{min-width:90%}.grid-stack.grid-stack-10>.grid-stack-item[gs-max-w=\\\"9\\\"]{max-width:90%}.grid-stack.grid-stack-10>.grid-stack-item[gs-w=\\\"10\\\"]{width:100%}.grid-stack.grid-stack-10>.grid-stack-item[gs-x=\\\"10\\\"]{left:100%}.grid-stack.grid-stack-10>.grid-stack-item[gs-min-w=\\\"10\\\"]{min-width:100%}.grid-stack.grid-stack-10>.grid-stack-item[gs-max-w=\\\"10\\\"]{max-width:100%}.grid-stack.grid-stack-11>.grid-stack-item{min-width:9.0909090909%}.grid-stack.grid-stack-11>.grid-stack-item[gs-w=\\\"1\\\"]{width:9.0909090909%}.grid-stack.grid-stack-11>.grid-stack-item[gs-x=\\\"1\\\"]{left:9.0909090909%}.grid-stack.grid-stack-11>.grid-stack-item[gs-min-w=\\\"1\\\"]{min-width:9.0909090909%}.grid-stack.grid-stack-11>.grid-stack-item[gs-max-w=\\\"1\\\"]{max-width:9.0909090909%}.grid-stack.grid-stack-11>.grid-stack-item[gs-w=\\\"2\\\"]{width:18.1818181818%}.grid-stack.grid-stack-11>.grid-stack-item[gs-x=\\\"2\\\"]{left:18.1818181818%}.grid-stack.grid-stack-11>.grid-stack-item[gs-min-w=\\\"2\\\"]{min-width:18.1818181818%}.grid-stack.grid-stack-11>.grid-stack-item[gs-max-w=\\\"2\\\"]{max-width:18.1818181818%}.grid-stack.grid-stack-11>.grid-stack-item[gs-w=\\\"3\\\"]{width:27.2727272727%}.grid-stack.grid-stack-11>.grid-stack-item[gs-x=\\\"3\\\"]{left:27.2727272727%}.grid-stack.grid-stack-11>.grid-stack-item[gs-min-w=\\\"3\\\"]{min-width:27.2727272727%}.grid-stack.grid-stack-11>.grid-stack-item[gs-max-w=\\\"3\\\"]{max-width:27.2727272727%}.grid-stack.grid-stack-11>.grid-stack-item[gs-w=\\\"4\\\"]{width:36.3636363636%}.grid-stack.grid-stack-11>.grid-stack-item[gs-x=\\\"4\\\"]{left:36.3636363636%}.grid-stack.grid-stack-11>.grid-stack-item[gs-min-w=\\\"4\\\"]{min-width:36.3636363636%}.grid-stack.grid-stack-11>.grid-stack-item[gs-max-w=\\\"4\\\"]{max-width:36.3636363636%}.grid-stack.grid-stack-11>.grid-stack-item[gs-w=\\\"5\\\"]{width:45.4545454545%}.grid-stack.grid-stack-11>.grid-stack-item[gs-x=\\\"5\\\"]{left:45.4545454545%}.grid-stack.grid-stack-11>.grid-stack-item[gs-min-w=\\\"5\\\"]{min-width:45.4545454545%}.grid-stack.grid-stack-11>.grid-stack-item[gs-max-w=\\\"5\\\"]{max-width:45.4545454545%}.grid-stack.grid-stack-11>.grid-stack-item[gs-w=\\\"6\\\"]{width:54.5454545455%}.grid-stack.grid-stack-11>.grid-stack-item[gs-x=\\\"6\\\"]{left:54.5454545455%}.grid-stack.grid-stack-11>.grid-stack-item[gs-min-w=\\\"6\\\"]{min-width:54.5454545455%}.grid-stack.grid-stack-11>.grid-stack-item[gs-max-w=\\\"6\\\"]{max-width:54.5454545455%}.grid-stack.grid-stack-11>.grid-stack-item[gs-w=\\\"7\\\"]{width:63.6363636364%}.grid-stack.grid-stack-11>.grid-stack-item[gs-x=\\\"7\\\"]{left:63.6363636364%}.grid-stack.grid-stack-11>.grid-stack-item[gs-min-w=\\\"7\\\"]{min-width:63.6363636364%}.grid-stack.grid-stack-11>.grid-stack-item[gs-max-w=\\\"7\\\"]{max-width:63.6363636364%}.grid-stack.grid-stack-11>.grid-stack-item[gs-w=\\\"8\\\"]{width:72.7272727273%}.grid-stack.grid-stack-11>.grid-stack-item[gs-x=\\\"8\\\"]{left:72.7272727273%}.grid-stack.grid-stack-11>.grid-stack-item[gs-min-w=\\\"8\\\"]{min-width:72.7272727273%}.grid-stack.grid-stack-11>.grid-stack-item[gs-max-w=\\\"8\\\"]{max-width:72.7272727273%}.grid-stack.grid-stack-11>.grid-stack-item[gs-w=\\\"9\\\"]{width:81.8181818182%}.grid-stack.grid-stack-11>.grid-stack-item[gs-x=\\\"9\\\"]{left:81.8181818182%}.grid-stack.grid-stack-11>.grid-stack-item[gs-min-w=\\\"9\\\"]{min-width:81.8181818182%}.grid-stack.grid-stack-11>.grid-stack-item[gs-max-w=\\\"9\\\"]{max-width:81.8181818182%}.grid-stack.grid-stack-11>.grid-stack-item[gs-w=\\\"10\\\"]{width:90.9090909091%}.grid-stack.grid-stack-11>.grid-stack-item[gs-x=\\\"10\\\"]{left:90.9090909091%}.grid-stack.grid-stack-11>.grid-stack-item[gs-min-w=\\\"10\\\"]{min-width:90.9090909091%}.grid-stack.grid-stack-11>.grid-stack-item[gs-max-w=\\\"10\\\"]{max-width:90.9090909091%}.grid-stack.grid-stack-11>.grid-stack-item[gs-w=\\\"11\\\"]{width:100%}.grid-stack.grid-stack-11>.grid-stack-item[gs-x=\\\"11\\\"]{left:100%}.grid-stack.grid-stack-11>.grid-stack-item[gs-min-w=\\\"11\\\"]{min-width:100%}.grid-stack.grid-stack-11>.grid-stack-item[gs-max-w=\\\"11\\\"]{max-width:100%}\");\n }, function(Bokeh) {\n inject_raw_css(\"@-webkit-keyframes notyf-fadeinup{0%{opacity:0;transform:translateY(25%)}to{opacity:1;transform:translateY(0)}}@keyframes notyf-fadeinup{0%{opacity:0;transform:translateY(25%)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes notyf-fadeinleft{0%{opacity:0;transform:translateX(25%)}to{opacity:1;transform:translateX(0)}}@keyframes notyf-fadeinleft{0%{opacity:0;transform:translateX(25%)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes notyf-fadeoutright{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(25%)}}@keyframes notyf-fadeoutright{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(25%)}}@-webkit-keyframes notyf-fadeoutdown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(25%)}}@keyframes notyf-fadeoutdown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(25%)}}@-webkit-keyframes ripple{0%{transform:scale(0) translateY(-45%) translateX(13%)}to{transform:scale(1) translateY(-45%) translateX(13%)}}@keyframes ripple{0%{transform:scale(0) translateY(-45%) translateX(13%)}to{transform:scale(1) translateY(-45%) translateX(13%)}}.notyf{position:fixed;top:0;left:0;height:100%;width:100%;color:#fff;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;pointer-events:none;box-sizing:border-box;padding:20px}.notyf__icon--error,.notyf__icon--success{height:21px;width:21px;background:#fff;border-radius:50%;display:block;margin:0 auto;position:relative}.notyf__icon--error:after,.notyf__icon--error:before{content:\\\"\\\";background:currentColor;display:block;position:absolute;width:3px;border-radius:3px;left:9px;height:12px;top:5px}.notyf__icon--error:after{transform:rotate(-45deg)}.notyf__icon--error:before{transform:rotate(45deg)}.notyf__icon--success:after,.notyf__icon--success:before{content:\\\"\\\";background:currentColor;display:block;position:absolute;width:3px;border-radius:3px}.notyf__icon--success:after{height:6px;transform:rotate(-45deg);top:9px;left:6px}.notyf__icon--success:before{height:11px;transform:rotate(45deg);top:5px;left:10px}.notyf__toast{display:block;overflow:hidden;pointer-events:auto;-webkit-animation:notyf-fadeinup .3s ease-in forwards;animation:notyf-fadeinup .3s ease-in forwards;box-shadow:0 3px 7px 0 rgba(0,0,0,.25);position:relative;padding:0 15px;border-radius:2px;max-width:300px;transform:translateY(25%);box-sizing:border-box;flex-shrink:0}.notyf__toast--disappear{transform:translateY(0);-webkit-animation:notyf-fadeoutdown .3s forwards;animation:notyf-fadeoutdown .3s forwards;-webkit-animation-delay:.25s;animation-delay:.25s}.notyf__toast--disappear .notyf__icon,.notyf__toast--disappear .notyf__message{-webkit-animation:notyf-fadeoutdown .3s forwards;animation:notyf-fadeoutdown .3s forwards;opacity:1;transform:translateY(0)}.notyf__toast--disappear .notyf__dismiss{-webkit-animation:notyf-fadeoutright .3s forwards;animation:notyf-fadeoutright .3s forwards;opacity:1;transform:translateX(0)}.notyf__toast--disappear .notyf__message{-webkit-animation-delay:.05s;animation-delay:.05s}.notyf__toast--upper{margin-bottom:20px}.notyf__toast--lower{margin-top:20px}.notyf__toast--dismissible .notyf__wrapper{padding-right:30px}.notyf__ripple{height:400px;width:400px;position:absolute;transform-origin:bottom right;right:0;top:0;border-radius:50%;transform:scale(0) translateY(-51%) translateX(13%);z-index:5;-webkit-animation:ripple .4s ease-out forwards;animation:ripple .4s ease-out forwards}.notyf__wrapper{display:flex;align-items:center;padding-top:17px;padding-bottom:17px;padding-right:15px;border-radius:3px;position:relative;z-index:10}.notyf__icon{width:22px;text-align:center;font-size:1.3em;opacity:0;-webkit-animation:notyf-fadeinup .3s forwards;animation:notyf-fadeinup .3s forwards;-webkit-animation-delay:.3s;animation-delay:.3s;margin-right:13px}.notyf__dismiss{position:absolute;top:0;right:0;height:100%;width:26px;margin-right:-15px;-webkit-animation:notyf-fadeinleft .3s forwards;animation:notyf-fadeinleft .3s forwards;-webkit-animation-delay:.35s;animation-delay:.35s;opacity:0}.notyf__dismiss-btn{background-color:rgba(0,0,0,.25);border:none;cursor:pointer;transition:opacity .2s ease,background-color .2s ease;outline:none;opacity:.35;height:100%;width:100%}.notyf__dismiss-btn:after,.notyf__dismiss-btn:before{content:\\\"\\\";background:#fff;height:12px;width:2px;border-radius:3px;position:absolute;left:calc(50% - 1px);top:calc(50% - 5px)}.notyf__dismiss-btn:after{transform:rotate(-45deg)}.notyf__dismiss-btn:before{transform:rotate(45deg)}.notyf__dismiss-btn:hover{opacity:.7;background-color:rgba(0,0,0,.15)}.notyf__dismiss-btn:active{opacity:.8}.notyf__message{vertical-align:middle;position:relative;opacity:0;-webkit-animation:notyf-fadeinup .3s forwards;animation:notyf-fadeinup .3s forwards;-webkit-animation-delay:.25s;animation-delay:.25s;line-height:1.5em}@media only screen and (max-width:480px){.notyf{padding:0}.notyf__ripple{height:600px;width:600px;-webkit-animation-duration:.5s;animation-duration:.5s}.notyf__toast{max-width:none;border-radius:0;box-shadow:0 -2px 7px 0 rgba(0,0,0,.13);width:100%}.notyf__dismiss{width:56px}}\");\n }, function(Bokeh) {\n inject_raw_css(\"/*!\\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\\n */\\n.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:\\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:\\\"\\\\f26e\\\"}.fa-accessible-icon:before{content:\\\"\\\\f368\\\"}.fa-accusoft:before{content:\\\"\\\\f369\\\"}.fa-acquisitions-incorporated:before{content:\\\"\\\\f6af\\\"}.fa-ad:before{content:\\\"\\\\f641\\\"}.fa-address-book:before{content:\\\"\\\\f2b9\\\"}.fa-address-card:before{content:\\\"\\\\f2bb\\\"}.fa-adjust:before{content:\\\"\\\\f042\\\"}.fa-adn:before{content:\\\"\\\\f170\\\"}.fa-adversal:before{content:\\\"\\\\f36a\\\"}.fa-affiliatetheme:before{content:\\\"\\\\f36b\\\"}.fa-air-freshener:before{content:\\\"\\\\f5d0\\\"}.fa-airbnb:before{content:\\\"\\\\f834\\\"}.fa-algolia:before{content:\\\"\\\\f36c\\\"}.fa-align-center:before{content:\\\"\\\\f037\\\"}.fa-align-justify:before{content:\\\"\\\\f039\\\"}.fa-align-left:before{content:\\\"\\\\f036\\\"}.fa-align-right:before{content:\\\"\\\\f038\\\"}.fa-alipay:before{content:\\\"\\\\f642\\\"}.fa-allergies:before{content:\\\"\\\\f461\\\"}.fa-amazon:before{content:\\\"\\\\f270\\\"}.fa-amazon-pay:before{content:\\\"\\\\f42c\\\"}.fa-ambulance:before{content:\\\"\\\\f0f9\\\"}.fa-american-sign-language-interpreting:before{content:\\\"\\\\f2a3\\\"}.fa-amilia:before{content:\\\"\\\\f36d\\\"}.fa-anchor:before{content:\\\"\\\\f13d\\\"}.fa-android:before{content:\\\"\\\\f17b\\\"}.fa-angellist:before{content:\\\"\\\\f209\\\"}.fa-angle-double-down:before{content:\\\"\\\\f103\\\"}.fa-angle-double-left:before{content:\\\"\\\\f100\\\"}.fa-angle-double-right:before{content:\\\"\\\\f101\\\"}.fa-angle-double-up:before{content:\\\"\\\\f102\\\"}.fa-angle-down:before{content:\\\"\\\\f107\\\"}.fa-angle-left:before{content:\\\"\\\\f104\\\"}.fa-angle-right:before{content:\\\"\\\\f105\\\"}.fa-angle-up:before{content:\\\"\\\\f106\\\"}.fa-angry:before{content:\\\"\\\\f556\\\"}.fa-angrycreative:before{content:\\\"\\\\f36e\\\"}.fa-angular:before{content:\\\"\\\\f420\\\"}.fa-ankh:before{content:\\\"\\\\f644\\\"}.fa-app-store:before{content:\\\"\\\\f36f\\\"}.fa-app-store-ios:before{content:\\\"\\\\f370\\\"}.fa-apper:before{content:\\\"\\\\f371\\\"}.fa-apple:before{content:\\\"\\\\f179\\\"}.fa-apple-alt:before{content:\\\"\\\\f5d1\\\"}.fa-apple-pay:before{content:\\\"\\\\f415\\\"}.fa-archive:before{content:\\\"\\\\f187\\\"}.fa-archway:before{content:\\\"\\\\f557\\\"}.fa-arrow-alt-circle-down:before{content:\\\"\\\\f358\\\"}.fa-arrow-alt-circle-left:before{content:\\\"\\\\f359\\\"}.fa-arrow-alt-circle-right:before{content:\\\"\\\\f35a\\\"}.fa-arrow-alt-circle-up:before{content:\\\"\\\\f35b\\\"}.fa-arrow-circle-down:before{content:\\\"\\\\f0ab\\\"}.fa-arrow-circle-left:before{content:\\\"\\\\f0a8\\\"}.fa-arrow-circle-right:before{content:\\\"\\\\f0a9\\\"}.fa-arrow-circle-up:before{content:\\\"\\\\f0aa\\\"}.fa-arrow-down:before{content:\\\"\\\\f063\\\"}.fa-arrow-left:before{content:\\\"\\\\f060\\\"}.fa-arrow-right:before{content:\\\"\\\\f061\\\"}.fa-arrow-up:before{content:\\\"\\\\f062\\\"}.fa-arrows-alt:before{content:\\\"\\\\f0b2\\\"}.fa-arrows-alt-h:before{content:\\\"\\\\f337\\\"}.fa-arrows-alt-v:before{content:\\\"\\\\f338\\\"}.fa-artstation:before{content:\\\"\\\\f77a\\\"}.fa-assistive-listening-systems:before{content:\\\"\\\\f2a2\\\"}.fa-asterisk:before{content:\\\"\\\\f069\\\"}.fa-asymmetrik:before{content:\\\"\\\\f372\\\"}.fa-at:before{content:\\\"\\\\f1fa\\\"}.fa-atlas:before{content:\\\"\\\\f558\\\"}.fa-atlassian:before{content:\\\"\\\\f77b\\\"}.fa-atom:before{content:\\\"\\\\f5d2\\\"}.fa-audible:before{content:\\\"\\\\f373\\\"}.fa-audio-description:before{content:\\\"\\\\f29e\\\"}.fa-autoprefixer:before{content:\\\"\\\\f41c\\\"}.fa-avianex:before{content:\\\"\\\\f374\\\"}.fa-aviato:before{content:\\\"\\\\f421\\\"}.fa-award:before{content:\\\"\\\\f559\\\"}.fa-aws:before{content:\\\"\\\\f375\\\"}.fa-baby:before{content:\\\"\\\\f77c\\\"}.fa-baby-carriage:before{content:\\\"\\\\f77d\\\"}.fa-backspace:before{content:\\\"\\\\f55a\\\"}.fa-backward:before{content:\\\"\\\\f04a\\\"}.fa-bacon:before{content:\\\"\\\\f7e5\\\"}.fa-bacteria:before{content:\\\"\\\\e059\\\"}.fa-bacterium:before{content:\\\"\\\\e05a\\\"}.fa-bahai:before{content:\\\"\\\\f666\\\"}.fa-balance-scale:before{content:\\\"\\\\f24e\\\"}.fa-balance-scale-left:before{content:\\\"\\\\f515\\\"}.fa-balance-scale-right:before{content:\\\"\\\\f516\\\"}.fa-ban:before{content:\\\"\\\\f05e\\\"}.fa-band-aid:before{content:\\\"\\\\f462\\\"}.fa-bandcamp:before{content:\\\"\\\\f2d5\\\"}.fa-barcode:before{content:\\\"\\\\f02a\\\"}.fa-bars:before{content:\\\"\\\\f0c9\\\"}.fa-baseball-ball:before{content:\\\"\\\\f433\\\"}.fa-basketball-ball:before{content:\\\"\\\\f434\\\"}.fa-bath:before{content:\\\"\\\\f2cd\\\"}.fa-battery-empty:before{content:\\\"\\\\f244\\\"}.fa-battery-full:before{content:\\\"\\\\f240\\\"}.fa-battery-half:before{content:\\\"\\\\f242\\\"}.fa-battery-quarter:before{content:\\\"\\\\f243\\\"}.fa-battery-three-quarters:before{content:\\\"\\\\f241\\\"}.fa-battle-net:before{content:\\\"\\\\f835\\\"}.fa-bed:before{content:\\\"\\\\f236\\\"}.fa-beer:before{content:\\\"\\\\f0fc\\\"}.fa-behance:before{content:\\\"\\\\f1b4\\\"}.fa-behance-square:before{content:\\\"\\\\f1b5\\\"}.fa-bell:before{content:\\\"\\\\f0f3\\\"}.fa-bell-slash:before{content:\\\"\\\\f1f6\\\"}.fa-bezier-curve:before{content:\\\"\\\\f55b\\\"}.fa-bible:before{content:\\\"\\\\f647\\\"}.fa-bicycle:before{content:\\\"\\\\f206\\\"}.fa-biking:before{content:\\\"\\\\f84a\\\"}.fa-bimobject:before{content:\\\"\\\\f378\\\"}.fa-binoculars:before{content:\\\"\\\\f1e5\\\"}.fa-biohazard:before{content:\\\"\\\\f780\\\"}.fa-birthday-cake:before{content:\\\"\\\\f1fd\\\"}.fa-bitbucket:before{content:\\\"\\\\f171\\\"}.fa-bitcoin:before{content:\\\"\\\\f379\\\"}.fa-bity:before{content:\\\"\\\\f37a\\\"}.fa-black-tie:before{content:\\\"\\\\f27e\\\"}.fa-blackberry:before{content:\\\"\\\\f37b\\\"}.fa-blender:before{content:\\\"\\\\f517\\\"}.fa-blender-phone:before{content:\\\"\\\\f6b6\\\"}.fa-blind:before{content:\\\"\\\\f29d\\\"}.fa-blog:before{content:\\\"\\\\f781\\\"}.fa-blogger:before{content:\\\"\\\\f37c\\\"}.fa-blogger-b:before{content:\\\"\\\\f37d\\\"}.fa-bluetooth:before{content:\\\"\\\\f293\\\"}.fa-bluetooth-b:before{content:\\\"\\\\f294\\\"}.fa-bold:before{content:\\\"\\\\f032\\\"}.fa-bolt:before{content:\\\"\\\\f0e7\\\"}.fa-bomb:before{content:\\\"\\\\f1e2\\\"}.fa-bone:before{content:\\\"\\\\f5d7\\\"}.fa-bong:before{content:\\\"\\\\f55c\\\"}.fa-book:before{content:\\\"\\\\f02d\\\"}.fa-book-dead:before{content:\\\"\\\\f6b7\\\"}.fa-book-medical:before{content:\\\"\\\\f7e6\\\"}.fa-book-open:before{content:\\\"\\\\f518\\\"}.fa-book-reader:before{content:\\\"\\\\f5da\\\"}.fa-bookmark:before{content:\\\"\\\\f02e\\\"}.fa-bootstrap:before{content:\\\"\\\\f836\\\"}.fa-border-all:before{content:\\\"\\\\f84c\\\"}.fa-border-none:before{content:\\\"\\\\f850\\\"}.fa-border-style:before{content:\\\"\\\\f853\\\"}.fa-bowling-ball:before{content:\\\"\\\\f436\\\"}.fa-box:before{content:\\\"\\\\f466\\\"}.fa-box-open:before{content:\\\"\\\\f49e\\\"}.fa-box-tissue:before{content:\\\"\\\\e05b\\\"}.fa-boxes:before{content:\\\"\\\\f468\\\"}.fa-braille:before{content:\\\"\\\\f2a1\\\"}.fa-brain:before{content:\\\"\\\\f5dc\\\"}.fa-bread-slice:before{content:\\\"\\\\f7ec\\\"}.fa-briefcase:before{content:\\\"\\\\f0b1\\\"}.fa-briefcase-medical:before{content:\\\"\\\\f469\\\"}.fa-broadcast-tower:before{content:\\\"\\\\f519\\\"}.fa-broom:before{content:\\\"\\\\f51a\\\"}.fa-brush:before{content:\\\"\\\\f55d\\\"}.fa-btc:before{content:\\\"\\\\f15a\\\"}.fa-buffer:before{content:\\\"\\\\f837\\\"}.fa-bug:before{content:\\\"\\\\f188\\\"}.fa-building:before{content:\\\"\\\\f1ad\\\"}.fa-bullhorn:before{content:\\\"\\\\f0a1\\\"}.fa-bullseye:before{content:\\\"\\\\f140\\\"}.fa-burn:before{content:\\\"\\\\f46a\\\"}.fa-buromobelexperte:before{content:\\\"\\\\f37f\\\"}.fa-bus:before{content:\\\"\\\\f207\\\"}.fa-bus-alt:before{content:\\\"\\\\f55e\\\"}.fa-business-time:before{content:\\\"\\\\f64a\\\"}.fa-buy-n-large:before{content:\\\"\\\\f8a6\\\"}.fa-buysellads:before{content:\\\"\\\\f20d\\\"}.fa-calculator:before{content:\\\"\\\\f1ec\\\"}.fa-calendar:before{content:\\\"\\\\f133\\\"}.fa-calendar-alt:before{content:\\\"\\\\f073\\\"}.fa-calendar-check:before{content:\\\"\\\\f274\\\"}.fa-calendar-day:before{content:\\\"\\\\f783\\\"}.fa-calendar-minus:before{content:\\\"\\\\f272\\\"}.fa-calendar-plus:before{content:\\\"\\\\f271\\\"}.fa-calendar-times:before{content:\\\"\\\\f273\\\"}.fa-calendar-week:before{content:\\\"\\\\f784\\\"}.fa-camera:before{content:\\\"\\\\f030\\\"}.fa-camera-retro:before{content:\\\"\\\\f083\\\"}.fa-campground:before{content:\\\"\\\\f6bb\\\"}.fa-canadian-maple-leaf:before{content:\\\"\\\\f785\\\"}.fa-candy-cane:before{content:\\\"\\\\f786\\\"}.fa-cannabis:before{content:\\\"\\\\f55f\\\"}.fa-capsules:before{content:\\\"\\\\f46b\\\"}.fa-car:before{content:\\\"\\\\f1b9\\\"}.fa-car-alt:before{content:\\\"\\\\f5de\\\"}.fa-car-battery:before{content:\\\"\\\\f5df\\\"}.fa-car-crash:before{content:\\\"\\\\f5e1\\\"}.fa-car-side:before{content:\\\"\\\\f5e4\\\"}.fa-caravan:before{content:\\\"\\\\f8ff\\\"}.fa-caret-down:before{content:\\\"\\\\f0d7\\\"}.fa-caret-left:before{content:\\\"\\\\f0d9\\\"}.fa-caret-right:before{content:\\\"\\\\f0da\\\"}.fa-caret-square-down:before{content:\\\"\\\\f150\\\"}.fa-caret-square-left:before{content:\\\"\\\\f191\\\"}.fa-caret-square-right:before{content:\\\"\\\\f152\\\"}.fa-caret-square-up:before{content:\\\"\\\\f151\\\"}.fa-caret-up:before{content:\\\"\\\\f0d8\\\"}.fa-carrot:before{content:\\\"\\\\f787\\\"}.fa-cart-arrow-down:before{content:\\\"\\\\f218\\\"}.fa-cart-plus:before{content:\\\"\\\\f217\\\"}.fa-cash-register:before{content:\\\"\\\\f788\\\"}.fa-cat:before{content:\\\"\\\\f6be\\\"}.fa-cc-amazon-pay:before{content:\\\"\\\\f42d\\\"}.fa-cc-amex:before{content:\\\"\\\\f1f3\\\"}.fa-cc-apple-pay:before{content:\\\"\\\\f416\\\"}.fa-cc-diners-club:before{content:\\\"\\\\f24c\\\"}.fa-cc-discover:before{content:\\\"\\\\f1f2\\\"}.fa-cc-jcb:before{content:\\\"\\\\f24b\\\"}.fa-cc-mastercard:before{content:\\\"\\\\f1f1\\\"}.fa-cc-paypal:before{content:\\\"\\\\f1f4\\\"}.fa-cc-stripe:before{content:\\\"\\\\f1f5\\\"}.fa-cc-visa:before{content:\\\"\\\\f1f0\\\"}.fa-centercode:before{content:\\\"\\\\f380\\\"}.fa-centos:before{content:\\\"\\\\f789\\\"}.fa-certificate:before{content:\\\"\\\\f0a3\\\"}.fa-chair:before{content:\\\"\\\\f6c0\\\"}.fa-chalkboard:before{content:\\\"\\\\f51b\\\"}.fa-chalkboard-teacher:before{content:\\\"\\\\f51c\\\"}.fa-charging-station:before{content:\\\"\\\\f5e7\\\"}.fa-chart-area:before{content:\\\"\\\\f1fe\\\"}.fa-chart-bar:before{content:\\\"\\\\f080\\\"}.fa-chart-line:before{content:\\\"\\\\f201\\\"}.fa-chart-pie:before{content:\\\"\\\\f200\\\"}.fa-check:before{content:\\\"\\\\f00c\\\"}.fa-check-circle:before{content:\\\"\\\\f058\\\"}.fa-check-double:before{content:\\\"\\\\f560\\\"}.fa-check-square:before{content:\\\"\\\\f14a\\\"}.fa-cheese:before{content:\\\"\\\\f7ef\\\"}.fa-chess:before{content:\\\"\\\\f439\\\"}.fa-chess-bishop:before{content:\\\"\\\\f43a\\\"}.fa-chess-board:before{content:\\\"\\\\f43c\\\"}.fa-chess-king:before{content:\\\"\\\\f43f\\\"}.fa-chess-knight:before{content:\\\"\\\\f441\\\"}.fa-chess-pawn:before{content:\\\"\\\\f443\\\"}.fa-chess-queen:before{content:\\\"\\\\f445\\\"}.fa-chess-rook:before{content:\\\"\\\\f447\\\"}.fa-chevron-circle-down:before{content:\\\"\\\\f13a\\\"}.fa-chevron-circle-left:before{content:\\\"\\\\f137\\\"}.fa-chevron-circle-right:before{content:\\\"\\\\f138\\\"}.fa-chevron-circle-up:before{content:\\\"\\\\f139\\\"}.fa-chevron-down:before{content:\\\"\\\\f078\\\"}.fa-chevron-left:before{content:\\\"\\\\f053\\\"}.fa-chevron-right:before{content:\\\"\\\\f054\\\"}.fa-chevron-up:before{content:\\\"\\\\f077\\\"}.fa-child:before{content:\\\"\\\\f1ae\\\"}.fa-chrome:before{content:\\\"\\\\f268\\\"}.fa-chromecast:before{content:\\\"\\\\f838\\\"}.fa-church:before{content:\\\"\\\\f51d\\\"}.fa-circle:before{content:\\\"\\\\f111\\\"}.fa-circle-notch:before{content:\\\"\\\\f1ce\\\"}.fa-city:before{content:\\\"\\\\f64f\\\"}.fa-clinic-medical:before{content:\\\"\\\\f7f2\\\"}.fa-clipboard:before{content:\\\"\\\\f328\\\"}.fa-clipboard-check:before{content:\\\"\\\\f46c\\\"}.fa-clipboard-list:before{content:\\\"\\\\f46d\\\"}.fa-clock:before{content:\\\"\\\\f017\\\"}.fa-clone:before{content:\\\"\\\\f24d\\\"}.fa-closed-captioning:before{content:\\\"\\\\f20a\\\"}.fa-cloud:before{content:\\\"\\\\f0c2\\\"}.fa-cloud-download-alt:before{content:\\\"\\\\f381\\\"}.fa-cloud-meatball:before{content:\\\"\\\\f73b\\\"}.fa-cloud-moon:before{content:\\\"\\\\f6c3\\\"}.fa-cloud-moon-rain:before{content:\\\"\\\\f73c\\\"}.fa-cloud-rain:before{content:\\\"\\\\f73d\\\"}.fa-cloud-showers-heavy:before{content:\\\"\\\\f740\\\"}.fa-cloud-sun:before{content:\\\"\\\\f6c4\\\"}.fa-cloud-sun-rain:before{content:\\\"\\\\f743\\\"}.fa-cloud-upload-alt:before{content:\\\"\\\\f382\\\"}.fa-cloudflare:before{content:\\\"\\\\e07d\\\"}.fa-cloudscale:before{content:\\\"\\\\f383\\\"}.fa-cloudsmith:before{content:\\\"\\\\f384\\\"}.fa-cloudversify:before{content:\\\"\\\\f385\\\"}.fa-cocktail:before{content:\\\"\\\\f561\\\"}.fa-code:before{content:\\\"\\\\f121\\\"}.fa-code-branch:before{content:\\\"\\\\f126\\\"}.fa-codepen:before{content:\\\"\\\\f1cb\\\"}.fa-codiepie:before{content:\\\"\\\\f284\\\"}.fa-coffee:before{content:\\\"\\\\f0f4\\\"}.fa-cog:before{content:\\\"\\\\f013\\\"}.fa-cogs:before{content:\\\"\\\\f085\\\"}.fa-coins:before{content:\\\"\\\\f51e\\\"}.fa-columns:before{content:\\\"\\\\f0db\\\"}.fa-comment:before{content:\\\"\\\\f075\\\"}.fa-comment-alt:before{content:\\\"\\\\f27a\\\"}.fa-comment-dollar:before{content:\\\"\\\\f651\\\"}.fa-comment-dots:before{content:\\\"\\\\f4ad\\\"}.fa-comment-medical:before{content:\\\"\\\\f7f5\\\"}.fa-comment-slash:before{content:\\\"\\\\f4b3\\\"}.fa-comments:before{content:\\\"\\\\f086\\\"}.fa-comments-dollar:before{content:\\\"\\\\f653\\\"}.fa-compact-disc:before{content:\\\"\\\\f51f\\\"}.fa-compass:before{content:\\\"\\\\f14e\\\"}.fa-compress:before{content:\\\"\\\\f066\\\"}.fa-compress-alt:before{content:\\\"\\\\f422\\\"}.fa-compress-arrows-alt:before{content:\\\"\\\\f78c\\\"}.fa-concierge-bell:before{content:\\\"\\\\f562\\\"}.fa-confluence:before{content:\\\"\\\\f78d\\\"}.fa-connectdevelop:before{content:\\\"\\\\f20e\\\"}.fa-contao:before{content:\\\"\\\\f26d\\\"}.fa-cookie:before{content:\\\"\\\\f563\\\"}.fa-cookie-bite:before{content:\\\"\\\\f564\\\"}.fa-copy:before{content:\\\"\\\\f0c5\\\"}.fa-copyright:before{content:\\\"\\\\f1f9\\\"}.fa-cotton-bureau:before{content:\\\"\\\\f89e\\\"}.fa-couch:before{content:\\\"\\\\f4b8\\\"}.fa-cpanel:before{content:\\\"\\\\f388\\\"}.fa-creative-commons:before{content:\\\"\\\\f25e\\\"}.fa-creative-commons-by:before{content:\\\"\\\\f4e7\\\"}.fa-creative-commons-nc:before{content:\\\"\\\\f4e8\\\"}.fa-creative-commons-nc-eu:before{content:\\\"\\\\f4e9\\\"}.fa-creative-commons-nc-jp:before{content:\\\"\\\\f4ea\\\"}.fa-creative-commons-nd:before{content:\\\"\\\\f4eb\\\"}.fa-creative-commons-pd:before{content:\\\"\\\\f4ec\\\"}.fa-creative-commons-pd-alt:before{content:\\\"\\\\f4ed\\\"}.fa-creative-commons-remix:before{content:\\\"\\\\f4ee\\\"}.fa-creative-commons-sa:before{content:\\\"\\\\f4ef\\\"}.fa-creative-commons-sampling:before{content:\\\"\\\\f4f0\\\"}.fa-creative-commons-sampling-plus:before{content:\\\"\\\\f4f1\\\"}.fa-creative-commons-share:before{content:\\\"\\\\f4f2\\\"}.fa-creative-commons-zero:before{content:\\\"\\\\f4f3\\\"}.fa-credit-card:before{content:\\\"\\\\f09d\\\"}.fa-critical-role:before{content:\\\"\\\\f6c9\\\"}.fa-crop:before{content:\\\"\\\\f125\\\"}.fa-crop-alt:before{content:\\\"\\\\f565\\\"}.fa-cross:before{content:\\\"\\\\f654\\\"}.fa-crosshairs:before{content:\\\"\\\\f05b\\\"}.fa-crow:before{content:\\\"\\\\f520\\\"}.fa-crown:before{content:\\\"\\\\f521\\\"}.fa-crutch:before{content:\\\"\\\\f7f7\\\"}.fa-css3:before{content:\\\"\\\\f13c\\\"}.fa-css3-alt:before{content:\\\"\\\\f38b\\\"}.fa-cube:before{content:\\\"\\\\f1b2\\\"}.fa-cubes:before{content:\\\"\\\\f1b3\\\"}.fa-cut:before{content:\\\"\\\\f0c4\\\"}.fa-cuttlefish:before{content:\\\"\\\\f38c\\\"}.fa-d-and-d:before{content:\\\"\\\\f38d\\\"}.fa-d-and-d-beyond:before{content:\\\"\\\\f6ca\\\"}.fa-dailymotion:before{content:\\\"\\\\e052\\\"}.fa-dashcube:before{content:\\\"\\\\f210\\\"}.fa-database:before{content:\\\"\\\\f1c0\\\"}.fa-deaf:before{content:\\\"\\\\f2a4\\\"}.fa-deezer:before{content:\\\"\\\\e077\\\"}.fa-delicious:before{content:\\\"\\\\f1a5\\\"}.fa-democrat:before{content:\\\"\\\\f747\\\"}.fa-deploydog:before{content:\\\"\\\\f38e\\\"}.fa-deskpro:before{content:\\\"\\\\f38f\\\"}.fa-desktop:before{content:\\\"\\\\f108\\\"}.fa-dev:before{content:\\\"\\\\f6cc\\\"}.fa-deviantart:before{content:\\\"\\\\f1bd\\\"}.fa-dharmachakra:before{content:\\\"\\\\f655\\\"}.fa-dhl:before{content:\\\"\\\\f790\\\"}.fa-diagnoses:before{content:\\\"\\\\f470\\\"}.fa-diaspora:before{content:\\\"\\\\f791\\\"}.fa-dice:before{content:\\\"\\\\f522\\\"}.fa-dice-d20:before{content:\\\"\\\\f6cf\\\"}.fa-dice-d6:before{content:\\\"\\\\f6d1\\\"}.fa-dice-five:before{content:\\\"\\\\f523\\\"}.fa-dice-four:before{content:\\\"\\\\f524\\\"}.fa-dice-one:before{content:\\\"\\\\f525\\\"}.fa-dice-six:before{content:\\\"\\\\f526\\\"}.fa-dice-three:before{content:\\\"\\\\f527\\\"}.fa-dice-two:before{content:\\\"\\\\f528\\\"}.fa-digg:before{content:\\\"\\\\f1a6\\\"}.fa-digital-ocean:before{content:\\\"\\\\f391\\\"}.fa-digital-tachograph:before{content:\\\"\\\\f566\\\"}.fa-directions:before{content:\\\"\\\\f5eb\\\"}.fa-discord:before{content:\\\"\\\\f392\\\"}.fa-discourse:before{content:\\\"\\\\f393\\\"}.fa-disease:before{content:\\\"\\\\f7fa\\\"}.fa-divide:before{content:\\\"\\\\f529\\\"}.fa-dizzy:before{content:\\\"\\\\f567\\\"}.fa-dna:before{content:\\\"\\\\f471\\\"}.fa-dochub:before{content:\\\"\\\\f394\\\"}.fa-docker:before{content:\\\"\\\\f395\\\"}.fa-dog:before{content:\\\"\\\\f6d3\\\"}.fa-dollar-sign:before{content:\\\"\\\\f155\\\"}.fa-dolly:before{content:\\\"\\\\f472\\\"}.fa-dolly-flatbed:before{content:\\\"\\\\f474\\\"}.fa-donate:before{content:\\\"\\\\f4b9\\\"}.fa-door-closed:before{content:\\\"\\\\f52a\\\"}.fa-door-open:before{content:\\\"\\\\f52b\\\"}.fa-dot-circle:before{content:\\\"\\\\f192\\\"}.fa-dove:before{content:\\\"\\\\f4ba\\\"}.fa-download:before{content:\\\"\\\\f019\\\"}.fa-draft2digital:before{content:\\\"\\\\f396\\\"}.fa-drafting-compass:before{content:\\\"\\\\f568\\\"}.fa-dragon:before{content:\\\"\\\\f6d5\\\"}.fa-draw-polygon:before{content:\\\"\\\\f5ee\\\"}.fa-dribbble:before{content:\\\"\\\\f17d\\\"}.fa-dribbble-square:before{content:\\\"\\\\f397\\\"}.fa-dropbox:before{content:\\\"\\\\f16b\\\"}.fa-drum:before{content:\\\"\\\\f569\\\"}.fa-drum-steelpan:before{content:\\\"\\\\f56a\\\"}.fa-drumstick-bite:before{content:\\\"\\\\f6d7\\\"}.fa-drupal:before{content:\\\"\\\\f1a9\\\"}.fa-dumbbell:before{content:\\\"\\\\f44b\\\"}.fa-dumpster:before{content:\\\"\\\\f793\\\"}.fa-dumpster-fire:before{content:\\\"\\\\f794\\\"}.fa-dungeon:before{content:\\\"\\\\f6d9\\\"}.fa-dyalog:before{content:\\\"\\\\f399\\\"}.fa-earlybirds:before{content:\\\"\\\\f39a\\\"}.fa-ebay:before{content:\\\"\\\\f4f4\\\"}.fa-edge:before{content:\\\"\\\\f282\\\"}.fa-edge-legacy:before{content:\\\"\\\\e078\\\"}.fa-edit:before{content:\\\"\\\\f044\\\"}.fa-egg:before{content:\\\"\\\\f7fb\\\"}.fa-eject:before{content:\\\"\\\\f052\\\"}.fa-elementor:before{content:\\\"\\\\f430\\\"}.fa-ellipsis-h:before{content:\\\"\\\\f141\\\"}.fa-ellipsis-v:before{content:\\\"\\\\f142\\\"}.fa-ello:before{content:\\\"\\\\f5f1\\\"}.fa-ember:before{content:\\\"\\\\f423\\\"}.fa-empire:before{content:\\\"\\\\f1d1\\\"}.fa-envelope:before{content:\\\"\\\\f0e0\\\"}.fa-envelope-open:before{content:\\\"\\\\f2b6\\\"}.fa-envelope-open-text:before{content:\\\"\\\\f658\\\"}.fa-envelope-square:before{content:\\\"\\\\f199\\\"}.fa-envira:before{content:\\\"\\\\f299\\\"}.fa-equals:before{content:\\\"\\\\f52c\\\"}.fa-eraser:before{content:\\\"\\\\f12d\\\"}.fa-erlang:before{content:\\\"\\\\f39d\\\"}.fa-ethereum:before{content:\\\"\\\\f42e\\\"}.fa-ethernet:before{content:\\\"\\\\f796\\\"}.fa-etsy:before{content:\\\"\\\\f2d7\\\"}.fa-euro-sign:before{content:\\\"\\\\f153\\\"}.fa-evernote:before{content:\\\"\\\\f839\\\"}.fa-exchange-alt:before{content:\\\"\\\\f362\\\"}.fa-exclamation:before{content:\\\"\\\\f12a\\\"}.fa-exclamation-circle:before{content:\\\"\\\\f06a\\\"}.fa-exclamation-triangle:before{content:\\\"\\\\f071\\\"}.fa-expand:before{content:\\\"\\\\f065\\\"}.fa-expand-alt:before{content:\\\"\\\\f424\\\"}.fa-expand-arrows-alt:before{content:\\\"\\\\f31e\\\"}.fa-expeditedssl:before{content:\\\"\\\\f23e\\\"}.fa-external-link-alt:before{content:\\\"\\\\f35d\\\"}.fa-external-link-square-alt:before{content:\\\"\\\\f360\\\"}.fa-eye:before{content:\\\"\\\\f06e\\\"}.fa-eye-dropper:before{content:\\\"\\\\f1fb\\\"}.fa-eye-slash:before{content:\\\"\\\\f070\\\"}.fa-facebook:before{content:\\\"\\\\f09a\\\"}.fa-facebook-f:before{content:\\\"\\\\f39e\\\"}.fa-facebook-messenger:before{content:\\\"\\\\f39f\\\"}.fa-facebook-square:before{content:\\\"\\\\f082\\\"}.fa-fan:before{content:\\\"\\\\f863\\\"}.fa-fantasy-flight-games:before{content:\\\"\\\\f6dc\\\"}.fa-fast-backward:before{content:\\\"\\\\f049\\\"}.fa-fast-forward:before{content:\\\"\\\\f050\\\"}.fa-faucet:before{content:\\\"\\\\e005\\\"}.fa-fax:before{content:\\\"\\\\f1ac\\\"}.fa-feather:before{content:\\\"\\\\f52d\\\"}.fa-feather-alt:before{content:\\\"\\\\f56b\\\"}.fa-fedex:before{content:\\\"\\\\f797\\\"}.fa-fedora:before{content:\\\"\\\\f798\\\"}.fa-female:before{content:\\\"\\\\f182\\\"}.fa-fighter-jet:before{content:\\\"\\\\f0fb\\\"}.fa-figma:before{content:\\\"\\\\f799\\\"}.fa-file:before{content:\\\"\\\\f15b\\\"}.fa-file-alt:before{content:\\\"\\\\f15c\\\"}.fa-file-archive:before{content:\\\"\\\\f1c6\\\"}.fa-file-audio:before{content:\\\"\\\\f1c7\\\"}.fa-file-code:before{content:\\\"\\\\f1c9\\\"}.fa-file-contract:before{content:\\\"\\\\f56c\\\"}.fa-file-csv:before{content:\\\"\\\\f6dd\\\"}.fa-file-download:before{content:\\\"\\\\f56d\\\"}.fa-file-excel:before{content:\\\"\\\\f1c3\\\"}.fa-file-export:before{content:\\\"\\\\f56e\\\"}.fa-file-image:before{content:\\\"\\\\f1c5\\\"}.fa-file-import:before{content:\\\"\\\\f56f\\\"}.fa-file-invoice:before{content:\\\"\\\\f570\\\"}.fa-file-invoice-dollar:before{content:\\\"\\\\f571\\\"}.fa-file-medical:before{content:\\\"\\\\f477\\\"}.fa-file-medical-alt:before{content:\\\"\\\\f478\\\"}.fa-file-pdf:before{content:\\\"\\\\f1c1\\\"}.fa-file-powerpoint:before{content:\\\"\\\\f1c4\\\"}.fa-file-prescription:before{content:\\\"\\\\f572\\\"}.fa-file-signature:before{content:\\\"\\\\f573\\\"}.fa-file-upload:before{content:\\\"\\\\f574\\\"}.fa-file-video:before{content:\\\"\\\\f1c8\\\"}.fa-file-word:before{content:\\\"\\\\f1c2\\\"}.fa-fill:before{content:\\\"\\\\f575\\\"}.fa-fill-drip:before{content:\\\"\\\\f576\\\"}.fa-film:before{content:\\\"\\\\f008\\\"}.fa-filter:before{content:\\\"\\\\f0b0\\\"}.fa-fingerprint:before{content:\\\"\\\\f577\\\"}.fa-fire:before{content:\\\"\\\\f06d\\\"}.fa-fire-alt:before{content:\\\"\\\\f7e4\\\"}.fa-fire-extinguisher:before{content:\\\"\\\\f134\\\"}.fa-firefox:before{content:\\\"\\\\f269\\\"}.fa-firefox-browser:before{content:\\\"\\\\e007\\\"}.fa-first-aid:before{content:\\\"\\\\f479\\\"}.fa-first-order:before{content:\\\"\\\\f2b0\\\"}.fa-first-order-alt:before{content:\\\"\\\\f50a\\\"}.fa-firstdraft:before{content:\\\"\\\\f3a1\\\"}.fa-fish:before{content:\\\"\\\\f578\\\"}.fa-fist-raised:before{content:\\\"\\\\f6de\\\"}.fa-flag:before{content:\\\"\\\\f024\\\"}.fa-flag-checkered:before{content:\\\"\\\\f11e\\\"}.fa-flag-usa:before{content:\\\"\\\\f74d\\\"}.fa-flask:before{content:\\\"\\\\f0c3\\\"}.fa-flickr:before{content:\\\"\\\\f16e\\\"}.fa-flipboard:before{content:\\\"\\\\f44d\\\"}.fa-flushed:before{content:\\\"\\\\f579\\\"}.fa-fly:before{content:\\\"\\\\f417\\\"}.fa-folder:before{content:\\\"\\\\f07b\\\"}.fa-folder-minus:before{content:\\\"\\\\f65d\\\"}.fa-folder-open:before{content:\\\"\\\\f07c\\\"}.fa-folder-plus:before{content:\\\"\\\\f65e\\\"}.fa-font:before{content:\\\"\\\\f031\\\"}.fa-font-awesome:before{content:\\\"\\\\f2b4\\\"}.fa-font-awesome-alt:before{content:\\\"\\\\f35c\\\"}.fa-font-awesome-flag:before{content:\\\"\\\\f425\\\"}.fa-font-awesome-logo-full:before{content:\\\"\\\\f4e6\\\"}.fa-fonticons:before{content:\\\"\\\\f280\\\"}.fa-fonticons-fi:before{content:\\\"\\\\f3a2\\\"}.fa-football-ball:before{content:\\\"\\\\f44e\\\"}.fa-fort-awesome:before{content:\\\"\\\\f286\\\"}.fa-fort-awesome-alt:before{content:\\\"\\\\f3a3\\\"}.fa-forumbee:before{content:\\\"\\\\f211\\\"}.fa-forward:before{content:\\\"\\\\f04e\\\"}.fa-foursquare:before{content:\\\"\\\\f180\\\"}.fa-free-code-camp:before{content:\\\"\\\\f2c5\\\"}.fa-freebsd:before{content:\\\"\\\\f3a4\\\"}.fa-frog:before{content:\\\"\\\\f52e\\\"}.fa-frown:before{content:\\\"\\\\f119\\\"}.fa-frown-open:before{content:\\\"\\\\f57a\\\"}.fa-fulcrum:before{content:\\\"\\\\f50b\\\"}.fa-funnel-dollar:before{content:\\\"\\\\f662\\\"}.fa-futbol:before{content:\\\"\\\\f1e3\\\"}.fa-galactic-republic:before{content:\\\"\\\\f50c\\\"}.fa-galactic-senate:before{content:\\\"\\\\f50d\\\"}.fa-gamepad:before{content:\\\"\\\\f11b\\\"}.fa-gas-pump:before{content:\\\"\\\\f52f\\\"}.fa-gavel:before{content:\\\"\\\\f0e3\\\"}.fa-gem:before{content:\\\"\\\\f3a5\\\"}.fa-genderless:before{content:\\\"\\\\f22d\\\"}.fa-get-pocket:before{content:\\\"\\\\f265\\\"}.fa-gg:before{content:\\\"\\\\f260\\\"}.fa-gg-circle:before{content:\\\"\\\\f261\\\"}.fa-ghost:before{content:\\\"\\\\f6e2\\\"}.fa-gift:before{content:\\\"\\\\f06b\\\"}.fa-gifts:before{content:\\\"\\\\f79c\\\"}.fa-git:before{content:\\\"\\\\f1d3\\\"}.fa-git-alt:before{content:\\\"\\\\f841\\\"}.fa-git-square:before{content:\\\"\\\\f1d2\\\"}.fa-github:before{content:\\\"\\\\f09b\\\"}.fa-github-alt:before{content:\\\"\\\\f113\\\"}.fa-github-square:before{content:\\\"\\\\f092\\\"}.fa-gitkraken:before{content:\\\"\\\\f3a6\\\"}.fa-gitlab:before{content:\\\"\\\\f296\\\"}.fa-gitter:before{content:\\\"\\\\f426\\\"}.fa-glass-cheers:before{content:\\\"\\\\f79f\\\"}.fa-glass-martini:before{content:\\\"\\\\f000\\\"}.fa-glass-martini-alt:before{content:\\\"\\\\f57b\\\"}.fa-glass-whiskey:before{content:\\\"\\\\f7a0\\\"}.fa-glasses:before{content:\\\"\\\\f530\\\"}.fa-glide:before{content:\\\"\\\\f2a5\\\"}.fa-glide-g:before{content:\\\"\\\\f2a6\\\"}.fa-globe:before{content:\\\"\\\\f0ac\\\"}.fa-globe-africa:before{content:\\\"\\\\f57c\\\"}.fa-globe-americas:before{content:\\\"\\\\f57d\\\"}.fa-globe-asia:before{content:\\\"\\\\f57e\\\"}.fa-globe-europe:before{content:\\\"\\\\f7a2\\\"}.fa-gofore:before{content:\\\"\\\\f3a7\\\"}.fa-golf-ball:before{content:\\\"\\\\f450\\\"}.fa-goodreads:before{content:\\\"\\\\f3a8\\\"}.fa-goodreads-g:before{content:\\\"\\\\f3a9\\\"}.fa-google:before{content:\\\"\\\\f1a0\\\"}.fa-google-drive:before{content:\\\"\\\\f3aa\\\"}.fa-google-pay:before{content:\\\"\\\\e079\\\"}.fa-google-play:before{content:\\\"\\\\f3ab\\\"}.fa-google-plus:before{content:\\\"\\\\f2b3\\\"}.fa-google-plus-g:before{content:\\\"\\\\f0d5\\\"}.fa-google-plus-square:before{content:\\\"\\\\f0d4\\\"}.fa-google-wallet:before{content:\\\"\\\\f1ee\\\"}.fa-gopuram:before{content:\\\"\\\\f664\\\"}.fa-graduation-cap:before{content:\\\"\\\\f19d\\\"}.fa-gratipay:before{content:\\\"\\\\f184\\\"}.fa-grav:before{content:\\\"\\\\f2d6\\\"}.fa-greater-than:before{content:\\\"\\\\f531\\\"}.fa-greater-than-equal:before{content:\\\"\\\\f532\\\"}.fa-grimace:before{content:\\\"\\\\f57f\\\"}.fa-grin:before{content:\\\"\\\\f580\\\"}.fa-grin-alt:before{content:\\\"\\\\f581\\\"}.fa-grin-beam:before{content:\\\"\\\\f582\\\"}.fa-grin-beam-sweat:before{content:\\\"\\\\f583\\\"}.fa-grin-hearts:before{content:\\\"\\\\f584\\\"}.fa-grin-squint:before{content:\\\"\\\\f585\\\"}.fa-grin-squint-tears:before{content:\\\"\\\\f586\\\"}.fa-grin-stars:before{content:\\\"\\\\f587\\\"}.fa-grin-tears:before{content:\\\"\\\\f588\\\"}.fa-grin-tongue:before{content:\\\"\\\\f589\\\"}.fa-grin-tongue-squint:before{content:\\\"\\\\f58a\\\"}.fa-grin-tongue-wink:before{content:\\\"\\\\f58b\\\"}.fa-grin-wink:before{content:\\\"\\\\f58c\\\"}.fa-grip-horizontal:before{content:\\\"\\\\f58d\\\"}.fa-grip-lines:before{content:\\\"\\\\f7a4\\\"}.fa-grip-lines-vertical:before{content:\\\"\\\\f7a5\\\"}.fa-grip-vertical:before{content:\\\"\\\\f58e\\\"}.fa-gripfire:before{content:\\\"\\\\f3ac\\\"}.fa-grunt:before{content:\\\"\\\\f3ad\\\"}.fa-guilded:before{content:\\\"\\\\e07e\\\"}.fa-guitar:before{content:\\\"\\\\f7a6\\\"}.fa-gulp:before{content:\\\"\\\\f3ae\\\"}.fa-h-square:before{content:\\\"\\\\f0fd\\\"}.fa-hacker-news:before{content:\\\"\\\\f1d4\\\"}.fa-hacker-news-square:before{content:\\\"\\\\f3af\\\"}.fa-hackerrank:before{content:\\\"\\\\f5f7\\\"}.fa-hamburger:before{content:\\\"\\\\f805\\\"}.fa-hammer:before{content:\\\"\\\\f6e3\\\"}.fa-hamsa:before{content:\\\"\\\\f665\\\"}.fa-hand-holding:before{content:\\\"\\\\f4bd\\\"}.fa-hand-holding-heart:before{content:\\\"\\\\f4be\\\"}.fa-hand-holding-medical:before{content:\\\"\\\\e05c\\\"}.fa-hand-holding-usd:before{content:\\\"\\\\f4c0\\\"}.fa-hand-holding-water:before{content:\\\"\\\\f4c1\\\"}.fa-hand-lizard:before{content:\\\"\\\\f258\\\"}.fa-hand-middle-finger:before{content:\\\"\\\\f806\\\"}.fa-hand-paper:before{content:\\\"\\\\f256\\\"}.fa-hand-peace:before{content:\\\"\\\\f25b\\\"}.fa-hand-point-down:before{content:\\\"\\\\f0a7\\\"}.fa-hand-point-left:before{content:\\\"\\\\f0a5\\\"}.fa-hand-point-right:before{content:\\\"\\\\f0a4\\\"}.fa-hand-point-up:before{content:\\\"\\\\f0a6\\\"}.fa-hand-pointer:before{content:\\\"\\\\f25a\\\"}.fa-hand-rock:before{content:\\\"\\\\f255\\\"}.fa-hand-scissors:before{content:\\\"\\\\f257\\\"}.fa-hand-sparkles:before{content:\\\"\\\\e05d\\\"}.fa-hand-spock:before{content:\\\"\\\\f259\\\"}.fa-hands:before{content:\\\"\\\\f4c2\\\"}.fa-hands-helping:before{content:\\\"\\\\f4c4\\\"}.fa-hands-wash:before{content:\\\"\\\\e05e\\\"}.fa-handshake:before{content:\\\"\\\\f2b5\\\"}.fa-handshake-alt-slash:before{content:\\\"\\\\e05f\\\"}.fa-handshake-slash:before{content:\\\"\\\\e060\\\"}.fa-hanukiah:before{content:\\\"\\\\f6e6\\\"}.fa-hard-hat:before{content:\\\"\\\\f807\\\"}.fa-hashtag:before{content:\\\"\\\\f292\\\"}.fa-hat-cowboy:before{content:\\\"\\\\f8c0\\\"}.fa-hat-cowboy-side:before{content:\\\"\\\\f8c1\\\"}.fa-hat-wizard:before{content:\\\"\\\\f6e8\\\"}.fa-hdd:before{content:\\\"\\\\f0a0\\\"}.fa-head-side-cough:before{content:\\\"\\\\e061\\\"}.fa-head-side-cough-slash:before{content:\\\"\\\\e062\\\"}.fa-head-side-mask:before{content:\\\"\\\\e063\\\"}.fa-head-side-virus:before{content:\\\"\\\\e064\\\"}.fa-heading:before{content:\\\"\\\\f1dc\\\"}.fa-headphones:before{content:\\\"\\\\f025\\\"}.fa-headphones-alt:before{content:\\\"\\\\f58f\\\"}.fa-headset:before{content:\\\"\\\\f590\\\"}.fa-heart:before{content:\\\"\\\\f004\\\"}.fa-heart-broken:before{content:\\\"\\\\f7a9\\\"}.fa-heartbeat:before{content:\\\"\\\\f21e\\\"}.fa-helicopter:before{content:\\\"\\\\f533\\\"}.fa-highlighter:before{content:\\\"\\\\f591\\\"}.fa-hiking:before{content:\\\"\\\\f6ec\\\"}.fa-hippo:before{content:\\\"\\\\f6ed\\\"}.fa-hips:before{content:\\\"\\\\f452\\\"}.fa-hire-a-helper:before{content:\\\"\\\\f3b0\\\"}.fa-history:before{content:\\\"\\\\f1da\\\"}.fa-hive:before{content:\\\"\\\\e07f\\\"}.fa-hockey-puck:before{content:\\\"\\\\f453\\\"}.fa-holly-berry:before{content:\\\"\\\\f7aa\\\"}.fa-home:before{content:\\\"\\\\f015\\\"}.fa-hooli:before{content:\\\"\\\\f427\\\"}.fa-hornbill:before{content:\\\"\\\\f592\\\"}.fa-horse:before{content:\\\"\\\\f6f0\\\"}.fa-horse-head:before{content:\\\"\\\\f7ab\\\"}.fa-hospital:before{content:\\\"\\\\f0f8\\\"}.fa-hospital-alt:before{content:\\\"\\\\f47d\\\"}.fa-hospital-symbol:before{content:\\\"\\\\f47e\\\"}.fa-hospital-user:before{content:\\\"\\\\f80d\\\"}.fa-hot-tub:before{content:\\\"\\\\f593\\\"}.fa-hotdog:before{content:\\\"\\\\f80f\\\"}.fa-hotel:before{content:\\\"\\\\f594\\\"}.fa-hotjar:before{content:\\\"\\\\f3b1\\\"}.fa-hourglass:before{content:\\\"\\\\f254\\\"}.fa-hourglass-end:before{content:\\\"\\\\f253\\\"}.fa-hourglass-half:before{content:\\\"\\\\f252\\\"}.fa-hourglass-start:before{content:\\\"\\\\f251\\\"}.fa-house-damage:before{content:\\\"\\\\f6f1\\\"}.fa-house-user:before{content:\\\"\\\\e065\\\"}.fa-houzz:before{content:\\\"\\\\f27c\\\"}.fa-hryvnia:before{content:\\\"\\\\f6f2\\\"}.fa-html5:before{content:\\\"\\\\f13b\\\"}.fa-hubspot:before{content:\\\"\\\\f3b2\\\"}.fa-i-cursor:before{content:\\\"\\\\f246\\\"}.fa-ice-cream:before{content:\\\"\\\\f810\\\"}.fa-icicles:before{content:\\\"\\\\f7ad\\\"}.fa-icons:before{content:\\\"\\\\f86d\\\"}.fa-id-badge:before{content:\\\"\\\\f2c1\\\"}.fa-id-card:before{content:\\\"\\\\f2c2\\\"}.fa-id-card-alt:before{content:\\\"\\\\f47f\\\"}.fa-ideal:before{content:\\\"\\\\e013\\\"}.fa-igloo:before{content:\\\"\\\\f7ae\\\"}.fa-image:before{content:\\\"\\\\f03e\\\"}.fa-images:before{content:\\\"\\\\f302\\\"}.fa-imdb:before{content:\\\"\\\\f2d8\\\"}.fa-inbox:before{content:\\\"\\\\f01c\\\"}.fa-indent:before{content:\\\"\\\\f03c\\\"}.fa-industry:before{content:\\\"\\\\f275\\\"}.fa-infinity:before{content:\\\"\\\\f534\\\"}.fa-info:before{content:\\\"\\\\f129\\\"}.fa-info-circle:before{content:\\\"\\\\f05a\\\"}.fa-innosoft:before{content:\\\"\\\\e080\\\"}.fa-instagram:before{content:\\\"\\\\f16d\\\"}.fa-instagram-square:before{content:\\\"\\\\e055\\\"}.fa-instalod:before{content:\\\"\\\\e081\\\"}.fa-intercom:before{content:\\\"\\\\f7af\\\"}.fa-internet-explorer:before{content:\\\"\\\\f26b\\\"}.fa-invision:before{content:\\\"\\\\f7b0\\\"}.fa-ioxhost:before{content:\\\"\\\\f208\\\"}.fa-italic:before{content:\\\"\\\\f033\\\"}.fa-itch-io:before{content:\\\"\\\\f83a\\\"}.fa-itunes:before{content:\\\"\\\\f3b4\\\"}.fa-itunes-note:before{content:\\\"\\\\f3b5\\\"}.fa-java:before{content:\\\"\\\\f4e4\\\"}.fa-jedi:before{content:\\\"\\\\f669\\\"}.fa-jedi-order:before{content:\\\"\\\\f50e\\\"}.fa-jenkins:before{content:\\\"\\\\f3b6\\\"}.fa-jira:before{content:\\\"\\\\f7b1\\\"}.fa-joget:before{content:\\\"\\\\f3b7\\\"}.fa-joint:before{content:\\\"\\\\f595\\\"}.fa-joomla:before{content:\\\"\\\\f1aa\\\"}.fa-journal-whills:before{content:\\\"\\\\f66a\\\"}.fa-js:before{content:\\\"\\\\f3b8\\\"}.fa-js-square:before{content:\\\"\\\\f3b9\\\"}.fa-jsfiddle:before{content:\\\"\\\\f1cc\\\"}.fa-kaaba:before{content:\\\"\\\\f66b\\\"}.fa-kaggle:before{content:\\\"\\\\f5fa\\\"}.fa-key:before{content:\\\"\\\\f084\\\"}.fa-keybase:before{content:\\\"\\\\f4f5\\\"}.fa-keyboard:before{content:\\\"\\\\f11c\\\"}.fa-keycdn:before{content:\\\"\\\\f3ba\\\"}.fa-khanda:before{content:\\\"\\\\f66d\\\"}.fa-kickstarter:before{content:\\\"\\\\f3bb\\\"}.fa-kickstarter-k:before{content:\\\"\\\\f3bc\\\"}.fa-kiss:before{content:\\\"\\\\f596\\\"}.fa-kiss-beam:before{content:\\\"\\\\f597\\\"}.fa-kiss-wink-heart:before{content:\\\"\\\\f598\\\"}.fa-kiwi-bird:before{content:\\\"\\\\f535\\\"}.fa-korvue:before{content:\\\"\\\\f42f\\\"}.fa-landmark:before{content:\\\"\\\\f66f\\\"}.fa-language:before{content:\\\"\\\\f1ab\\\"}.fa-laptop:before{content:\\\"\\\\f109\\\"}.fa-laptop-code:before{content:\\\"\\\\f5fc\\\"}.fa-laptop-house:before{content:\\\"\\\\e066\\\"}.fa-laptop-medical:before{content:\\\"\\\\f812\\\"}.fa-laravel:before{content:\\\"\\\\f3bd\\\"}.fa-lastfm:before{content:\\\"\\\\f202\\\"}.fa-lastfm-square:before{content:\\\"\\\\f203\\\"}.fa-laugh:before{content:\\\"\\\\f599\\\"}.fa-laugh-beam:before{content:\\\"\\\\f59a\\\"}.fa-laugh-squint:before{content:\\\"\\\\f59b\\\"}.fa-laugh-wink:before{content:\\\"\\\\f59c\\\"}.fa-layer-group:before{content:\\\"\\\\f5fd\\\"}.fa-leaf:before{content:\\\"\\\\f06c\\\"}.fa-leanpub:before{content:\\\"\\\\f212\\\"}.fa-lemon:before{content:\\\"\\\\f094\\\"}.fa-less:before{content:\\\"\\\\f41d\\\"}.fa-less-than:before{content:\\\"\\\\f536\\\"}.fa-less-than-equal:before{content:\\\"\\\\f537\\\"}.fa-level-down-alt:before{content:\\\"\\\\f3be\\\"}.fa-level-up-alt:before{content:\\\"\\\\f3bf\\\"}.fa-life-ring:before{content:\\\"\\\\f1cd\\\"}.fa-lightbulb:before{content:\\\"\\\\f0eb\\\"}.fa-line:before{content:\\\"\\\\f3c0\\\"}.fa-link:before{content:\\\"\\\\f0c1\\\"}.fa-linkedin:before{content:\\\"\\\\f08c\\\"}.fa-linkedin-in:before{content:\\\"\\\\f0e1\\\"}.fa-linode:before{content:\\\"\\\\f2b8\\\"}.fa-linux:before{content:\\\"\\\\f17c\\\"}.fa-lira-sign:before{content:\\\"\\\\f195\\\"}.fa-list:before{content:\\\"\\\\f03a\\\"}.fa-list-alt:before{content:\\\"\\\\f022\\\"}.fa-list-ol:before{content:\\\"\\\\f0cb\\\"}.fa-list-ul:before{content:\\\"\\\\f0ca\\\"}.fa-location-arrow:before{content:\\\"\\\\f124\\\"}.fa-lock:before{content:\\\"\\\\f023\\\"}.fa-lock-open:before{content:\\\"\\\\f3c1\\\"}.fa-long-arrow-alt-down:before{content:\\\"\\\\f309\\\"}.fa-long-arrow-alt-left:before{content:\\\"\\\\f30a\\\"}.fa-long-arrow-alt-right:before{content:\\\"\\\\f30b\\\"}.fa-long-arrow-alt-up:before{content:\\\"\\\\f30c\\\"}.fa-low-vision:before{content:\\\"\\\\f2a8\\\"}.fa-luggage-cart:before{content:\\\"\\\\f59d\\\"}.fa-lungs:before{content:\\\"\\\\f604\\\"}.fa-lungs-virus:before{content:\\\"\\\\e067\\\"}.fa-lyft:before{content:\\\"\\\\f3c3\\\"}.fa-magento:before{content:\\\"\\\\f3c4\\\"}.fa-magic:before{content:\\\"\\\\f0d0\\\"}.fa-magnet:before{content:\\\"\\\\f076\\\"}.fa-mail-bulk:before{content:\\\"\\\\f674\\\"}.fa-mailchimp:before{content:\\\"\\\\f59e\\\"}.fa-male:before{content:\\\"\\\\f183\\\"}.fa-mandalorian:before{content:\\\"\\\\f50f\\\"}.fa-map:before{content:\\\"\\\\f279\\\"}.fa-map-marked:before{content:\\\"\\\\f59f\\\"}.fa-map-marked-alt:before{content:\\\"\\\\f5a0\\\"}.fa-map-marker:before{content:\\\"\\\\f041\\\"}.fa-map-marker-alt:before{content:\\\"\\\\f3c5\\\"}.fa-map-pin:before{content:\\\"\\\\f276\\\"}.fa-map-signs:before{content:\\\"\\\\f277\\\"}.fa-markdown:before{content:\\\"\\\\f60f\\\"}.fa-marker:before{content:\\\"\\\\f5a1\\\"}.fa-mars:before{content:\\\"\\\\f222\\\"}.fa-mars-double:before{content:\\\"\\\\f227\\\"}.fa-mars-stroke:before{content:\\\"\\\\f229\\\"}.fa-mars-stroke-h:before{content:\\\"\\\\f22b\\\"}.fa-mars-stroke-v:before{content:\\\"\\\\f22a\\\"}.fa-mask:before{content:\\\"\\\\f6fa\\\"}.fa-mastodon:before{content:\\\"\\\\f4f6\\\"}.fa-maxcdn:before{content:\\\"\\\\f136\\\"}.fa-mdb:before{content:\\\"\\\\f8ca\\\"}.fa-medal:before{content:\\\"\\\\f5a2\\\"}.fa-medapps:before{content:\\\"\\\\f3c6\\\"}.fa-medium:before{content:\\\"\\\\f23a\\\"}.fa-medium-m:before{content:\\\"\\\\f3c7\\\"}.fa-medkit:before{content:\\\"\\\\f0fa\\\"}.fa-medrt:before{content:\\\"\\\\f3c8\\\"}.fa-meetup:before{content:\\\"\\\\f2e0\\\"}.fa-megaport:before{content:\\\"\\\\f5a3\\\"}.fa-meh:before{content:\\\"\\\\f11a\\\"}.fa-meh-blank:before{content:\\\"\\\\f5a4\\\"}.fa-meh-rolling-eyes:before{content:\\\"\\\\f5a5\\\"}.fa-memory:before{content:\\\"\\\\f538\\\"}.fa-mendeley:before{content:\\\"\\\\f7b3\\\"}.fa-menorah:before{content:\\\"\\\\f676\\\"}.fa-mercury:before{content:\\\"\\\\f223\\\"}.fa-meteor:before{content:\\\"\\\\f753\\\"}.fa-microblog:before{content:\\\"\\\\e01a\\\"}.fa-microchip:before{content:\\\"\\\\f2db\\\"}.fa-microphone:before{content:\\\"\\\\f130\\\"}.fa-microphone-alt:before{content:\\\"\\\\f3c9\\\"}.fa-microphone-alt-slash:before{content:\\\"\\\\f539\\\"}.fa-microphone-slash:before{content:\\\"\\\\f131\\\"}.fa-microscope:before{content:\\\"\\\\f610\\\"}.fa-microsoft:before{content:\\\"\\\\f3ca\\\"}.fa-minus:before{content:\\\"\\\\f068\\\"}.fa-minus-circle:before{content:\\\"\\\\f056\\\"}.fa-minus-square:before{content:\\\"\\\\f146\\\"}.fa-mitten:before{content:\\\"\\\\f7b5\\\"}.fa-mix:before{content:\\\"\\\\f3cb\\\"}.fa-mixcloud:before{content:\\\"\\\\f289\\\"}.fa-mixer:before{content:\\\"\\\\e056\\\"}.fa-mizuni:before{content:\\\"\\\\f3cc\\\"}.fa-mobile:before{content:\\\"\\\\f10b\\\"}.fa-mobile-alt:before{content:\\\"\\\\f3cd\\\"}.fa-modx:before{content:\\\"\\\\f285\\\"}.fa-monero:before{content:\\\"\\\\f3d0\\\"}.fa-money-bill:before{content:\\\"\\\\f0d6\\\"}.fa-money-bill-alt:before{content:\\\"\\\\f3d1\\\"}.fa-money-bill-wave:before{content:\\\"\\\\f53a\\\"}.fa-money-bill-wave-alt:before{content:\\\"\\\\f53b\\\"}.fa-money-check:before{content:\\\"\\\\f53c\\\"}.fa-money-check-alt:before{content:\\\"\\\\f53d\\\"}.fa-monument:before{content:\\\"\\\\f5a6\\\"}.fa-moon:before{content:\\\"\\\\f186\\\"}.fa-mortar-pestle:before{content:\\\"\\\\f5a7\\\"}.fa-mosque:before{content:\\\"\\\\f678\\\"}.fa-motorcycle:before{content:\\\"\\\\f21c\\\"}.fa-mountain:before{content:\\\"\\\\f6fc\\\"}.fa-mouse:before{content:\\\"\\\\f8cc\\\"}.fa-mouse-pointer:before{content:\\\"\\\\f245\\\"}.fa-mug-hot:before{content:\\\"\\\\f7b6\\\"}.fa-music:before{content:\\\"\\\\f001\\\"}.fa-napster:before{content:\\\"\\\\f3d2\\\"}.fa-neos:before{content:\\\"\\\\f612\\\"}.fa-network-wired:before{content:\\\"\\\\f6ff\\\"}.fa-neuter:before{content:\\\"\\\\f22c\\\"}.fa-newspaper:before{content:\\\"\\\\f1ea\\\"}.fa-nimblr:before{content:\\\"\\\\f5a8\\\"}.fa-node:before{content:\\\"\\\\f419\\\"}.fa-node-js:before{content:\\\"\\\\f3d3\\\"}.fa-not-equal:before{content:\\\"\\\\f53e\\\"}.fa-notes-medical:before{content:\\\"\\\\f481\\\"}.fa-npm:before{content:\\\"\\\\f3d4\\\"}.fa-ns8:before{content:\\\"\\\\f3d5\\\"}.fa-nutritionix:before{content:\\\"\\\\f3d6\\\"}.fa-object-group:before{content:\\\"\\\\f247\\\"}.fa-object-ungroup:before{content:\\\"\\\\f248\\\"}.fa-octopus-deploy:before{content:\\\"\\\\e082\\\"}.fa-odnoklassniki:before{content:\\\"\\\\f263\\\"}.fa-odnoklassniki-square:before{content:\\\"\\\\f264\\\"}.fa-oil-can:before{content:\\\"\\\\f613\\\"}.fa-old-republic:before{content:\\\"\\\\f510\\\"}.fa-om:before{content:\\\"\\\\f679\\\"}.fa-opencart:before{content:\\\"\\\\f23d\\\"}.fa-openid:before{content:\\\"\\\\f19b\\\"}.fa-opera:before{content:\\\"\\\\f26a\\\"}.fa-optin-monster:before{content:\\\"\\\\f23c\\\"}.fa-orcid:before{content:\\\"\\\\f8d2\\\"}.fa-osi:before{content:\\\"\\\\f41a\\\"}.fa-otter:before{content:\\\"\\\\f700\\\"}.fa-outdent:before{content:\\\"\\\\f03b\\\"}.fa-page4:before{content:\\\"\\\\f3d7\\\"}.fa-pagelines:before{content:\\\"\\\\f18c\\\"}.fa-pager:before{content:\\\"\\\\f815\\\"}.fa-paint-brush:before{content:\\\"\\\\f1fc\\\"}.fa-paint-roller:before{content:\\\"\\\\f5aa\\\"}.fa-palette:before{content:\\\"\\\\f53f\\\"}.fa-palfed:before{content:\\\"\\\\f3d8\\\"}.fa-pallet:before{content:\\\"\\\\f482\\\"}.fa-paper-plane:before{content:\\\"\\\\f1d8\\\"}.fa-paperclip:before{content:\\\"\\\\f0c6\\\"}.fa-parachute-box:before{content:\\\"\\\\f4cd\\\"}.fa-paragraph:before{content:\\\"\\\\f1dd\\\"}.fa-parking:before{content:\\\"\\\\f540\\\"}.fa-passport:before{content:\\\"\\\\f5ab\\\"}.fa-pastafarianism:before{content:\\\"\\\\f67b\\\"}.fa-paste:before{content:\\\"\\\\f0ea\\\"}.fa-patreon:before{content:\\\"\\\\f3d9\\\"}.fa-pause:before{content:\\\"\\\\f04c\\\"}.fa-pause-circle:before{content:\\\"\\\\f28b\\\"}.fa-paw:before{content:\\\"\\\\f1b0\\\"}.fa-paypal:before{content:\\\"\\\\f1ed\\\"}.fa-peace:before{content:\\\"\\\\f67c\\\"}.fa-pen:before{content:\\\"\\\\f304\\\"}.fa-pen-alt:before{content:\\\"\\\\f305\\\"}.fa-pen-fancy:before{content:\\\"\\\\f5ac\\\"}.fa-pen-nib:before{content:\\\"\\\\f5ad\\\"}.fa-pen-square:before{content:\\\"\\\\f14b\\\"}.fa-pencil-alt:before{content:\\\"\\\\f303\\\"}.fa-pencil-ruler:before{content:\\\"\\\\f5ae\\\"}.fa-penny-arcade:before{content:\\\"\\\\f704\\\"}.fa-people-arrows:before{content:\\\"\\\\e068\\\"}.fa-people-carry:before{content:\\\"\\\\f4ce\\\"}.fa-pepper-hot:before{content:\\\"\\\\f816\\\"}.fa-perbyte:before{content:\\\"\\\\e083\\\"}.fa-percent:before{content:\\\"\\\\f295\\\"}.fa-percentage:before{content:\\\"\\\\f541\\\"}.fa-periscope:before{content:\\\"\\\\f3da\\\"}.fa-person-booth:before{content:\\\"\\\\f756\\\"}.fa-phabricator:before{content:\\\"\\\\f3db\\\"}.fa-phoenix-framework:before{content:\\\"\\\\f3dc\\\"}.fa-phoenix-squadron:before{content:\\\"\\\\f511\\\"}.fa-phone:before{content:\\\"\\\\f095\\\"}.fa-phone-alt:before{content:\\\"\\\\f879\\\"}.fa-phone-slash:before{content:\\\"\\\\f3dd\\\"}.fa-phone-square:before{content:\\\"\\\\f098\\\"}.fa-phone-square-alt:before{content:\\\"\\\\f87b\\\"}.fa-phone-volume:before{content:\\\"\\\\f2a0\\\"}.fa-photo-video:before{content:\\\"\\\\f87c\\\"}.fa-php:before{content:\\\"\\\\f457\\\"}.fa-pied-piper:before{content:\\\"\\\\f2ae\\\"}.fa-pied-piper-alt:before{content:\\\"\\\\f1a8\\\"}.fa-pied-piper-hat:before{content:\\\"\\\\f4e5\\\"}.fa-pied-piper-pp:before{content:\\\"\\\\f1a7\\\"}.fa-pied-piper-square:before{content:\\\"\\\\e01e\\\"}.fa-piggy-bank:before{content:\\\"\\\\f4d3\\\"}.fa-pills:before{content:\\\"\\\\f484\\\"}.fa-pinterest:before{content:\\\"\\\\f0d2\\\"}.fa-pinterest-p:before{content:\\\"\\\\f231\\\"}.fa-pinterest-square:before{content:\\\"\\\\f0d3\\\"}.fa-pizza-slice:before{content:\\\"\\\\f818\\\"}.fa-place-of-worship:before{content:\\\"\\\\f67f\\\"}.fa-plane:before{content:\\\"\\\\f072\\\"}.fa-plane-arrival:before{content:\\\"\\\\f5af\\\"}.fa-plane-departure:before{content:\\\"\\\\f5b0\\\"}.fa-plane-slash:before{content:\\\"\\\\e069\\\"}.fa-play:before{content:\\\"\\\\f04b\\\"}.fa-play-circle:before{content:\\\"\\\\f144\\\"}.fa-playstation:before{content:\\\"\\\\f3df\\\"}.fa-plug:before{content:\\\"\\\\f1e6\\\"}.fa-plus:before{content:\\\"\\\\f067\\\"}.fa-plus-circle:before{content:\\\"\\\\f055\\\"}.fa-plus-square:before{content:\\\"\\\\f0fe\\\"}.fa-podcast:before{content:\\\"\\\\f2ce\\\"}.fa-poll:before{content:\\\"\\\\f681\\\"}.fa-poll-h:before{content:\\\"\\\\f682\\\"}.fa-poo:before{content:\\\"\\\\f2fe\\\"}.fa-poo-storm:before{content:\\\"\\\\f75a\\\"}.fa-poop:before{content:\\\"\\\\f619\\\"}.fa-portrait:before{content:\\\"\\\\f3e0\\\"}.fa-pound-sign:before{content:\\\"\\\\f154\\\"}.fa-power-off:before{content:\\\"\\\\f011\\\"}.fa-pray:before{content:\\\"\\\\f683\\\"}.fa-praying-hands:before{content:\\\"\\\\f684\\\"}.fa-prescription:before{content:\\\"\\\\f5b1\\\"}.fa-prescription-bottle:before{content:\\\"\\\\f485\\\"}.fa-prescription-bottle-alt:before{content:\\\"\\\\f486\\\"}.fa-print:before{content:\\\"\\\\f02f\\\"}.fa-procedures:before{content:\\\"\\\\f487\\\"}.fa-product-hunt:before{content:\\\"\\\\f288\\\"}.fa-project-diagram:before{content:\\\"\\\\f542\\\"}.fa-pump-medical:before{content:\\\"\\\\e06a\\\"}.fa-pump-soap:before{content:\\\"\\\\e06b\\\"}.fa-pushed:before{content:\\\"\\\\f3e1\\\"}.fa-puzzle-piece:before{content:\\\"\\\\f12e\\\"}.fa-python:before{content:\\\"\\\\f3e2\\\"}.fa-qq:before{content:\\\"\\\\f1d6\\\"}.fa-qrcode:before{content:\\\"\\\\f029\\\"}.fa-question:before{content:\\\"\\\\f128\\\"}.fa-question-circle:before{content:\\\"\\\\f059\\\"}.fa-quidditch:before{content:\\\"\\\\f458\\\"}.fa-quinscape:before{content:\\\"\\\\f459\\\"}.fa-quora:before{content:\\\"\\\\f2c4\\\"}.fa-quote-left:before{content:\\\"\\\\f10d\\\"}.fa-quote-right:before{content:\\\"\\\\f10e\\\"}.fa-quran:before{content:\\\"\\\\f687\\\"}.fa-r-project:before{content:\\\"\\\\f4f7\\\"}.fa-radiation:before{content:\\\"\\\\f7b9\\\"}.fa-radiation-alt:before{content:\\\"\\\\f7ba\\\"}.fa-rainbow:before{content:\\\"\\\\f75b\\\"}.fa-random:before{content:\\\"\\\\f074\\\"}.fa-raspberry-pi:before{content:\\\"\\\\f7bb\\\"}.fa-ravelry:before{content:\\\"\\\\f2d9\\\"}.fa-react:before{content:\\\"\\\\f41b\\\"}.fa-reacteurope:before{content:\\\"\\\\f75d\\\"}.fa-readme:before{content:\\\"\\\\f4d5\\\"}.fa-rebel:before{content:\\\"\\\\f1d0\\\"}.fa-receipt:before{content:\\\"\\\\f543\\\"}.fa-record-vinyl:before{content:\\\"\\\\f8d9\\\"}.fa-recycle:before{content:\\\"\\\\f1b8\\\"}.fa-red-river:before{content:\\\"\\\\f3e3\\\"}.fa-reddit:before{content:\\\"\\\\f1a1\\\"}.fa-reddit-alien:before{content:\\\"\\\\f281\\\"}.fa-reddit-square:before{content:\\\"\\\\f1a2\\\"}.fa-redhat:before{content:\\\"\\\\f7bc\\\"}.fa-redo:before{content:\\\"\\\\f01e\\\"}.fa-redo-alt:before{content:\\\"\\\\f2f9\\\"}.fa-registered:before{content:\\\"\\\\f25d\\\"}.fa-remove-format:before{content:\\\"\\\\f87d\\\"}.fa-renren:before{content:\\\"\\\\f18b\\\"}.fa-reply:before{content:\\\"\\\\f3e5\\\"}.fa-reply-all:before{content:\\\"\\\\f122\\\"}.fa-replyd:before{content:\\\"\\\\f3e6\\\"}.fa-republican:before{content:\\\"\\\\f75e\\\"}.fa-researchgate:before{content:\\\"\\\\f4f8\\\"}.fa-resolving:before{content:\\\"\\\\f3e7\\\"}.fa-restroom:before{content:\\\"\\\\f7bd\\\"}.fa-retweet:before{content:\\\"\\\\f079\\\"}.fa-rev:before{content:\\\"\\\\f5b2\\\"}.fa-ribbon:before{content:\\\"\\\\f4d6\\\"}.fa-ring:before{content:\\\"\\\\f70b\\\"}.fa-road:before{content:\\\"\\\\f018\\\"}.fa-robot:before{content:\\\"\\\\f544\\\"}.fa-rocket:before{content:\\\"\\\\f135\\\"}.fa-rocketchat:before{content:\\\"\\\\f3e8\\\"}.fa-rockrms:before{content:\\\"\\\\f3e9\\\"}.fa-route:before{content:\\\"\\\\f4d7\\\"}.fa-rss:before{content:\\\"\\\\f09e\\\"}.fa-rss-square:before{content:\\\"\\\\f143\\\"}.fa-ruble-sign:before{content:\\\"\\\\f158\\\"}.fa-ruler:before{content:\\\"\\\\f545\\\"}.fa-ruler-combined:before{content:\\\"\\\\f546\\\"}.fa-ruler-horizontal:before{content:\\\"\\\\f547\\\"}.fa-ruler-vertical:before{content:\\\"\\\\f548\\\"}.fa-running:before{content:\\\"\\\\f70c\\\"}.fa-rupee-sign:before{content:\\\"\\\\f156\\\"}.fa-rust:before{content:\\\"\\\\e07a\\\"}.fa-sad-cry:before{content:\\\"\\\\f5b3\\\"}.fa-sad-tear:before{content:\\\"\\\\f5b4\\\"}.fa-safari:before{content:\\\"\\\\f267\\\"}.fa-salesforce:before{content:\\\"\\\\f83b\\\"}.fa-sass:before{content:\\\"\\\\f41e\\\"}.fa-satellite:before{content:\\\"\\\\f7bf\\\"}.fa-satellite-dish:before{content:\\\"\\\\f7c0\\\"}.fa-save:before{content:\\\"\\\\f0c7\\\"}.fa-schlix:before{content:\\\"\\\\f3ea\\\"}.fa-school:before{content:\\\"\\\\f549\\\"}.fa-screwdriver:before{content:\\\"\\\\f54a\\\"}.fa-scribd:before{content:\\\"\\\\f28a\\\"}.fa-scroll:before{content:\\\"\\\\f70e\\\"}.fa-sd-card:before{content:\\\"\\\\f7c2\\\"}.fa-search:before{content:\\\"\\\\f002\\\"}.fa-search-dollar:before{content:\\\"\\\\f688\\\"}.fa-search-location:before{content:\\\"\\\\f689\\\"}.fa-search-minus:before{content:\\\"\\\\f010\\\"}.fa-search-plus:before{content:\\\"\\\\f00e\\\"}.fa-searchengin:before{content:\\\"\\\\f3eb\\\"}.fa-seedling:before{content:\\\"\\\\f4d8\\\"}.fa-sellcast:before{content:\\\"\\\\f2da\\\"}.fa-sellsy:before{content:\\\"\\\\f213\\\"}.fa-server:before{content:\\\"\\\\f233\\\"}.fa-servicestack:before{content:\\\"\\\\f3ec\\\"}.fa-shapes:before{content:\\\"\\\\f61f\\\"}.fa-share:before{content:\\\"\\\\f064\\\"}.fa-share-alt:before{content:\\\"\\\\f1e0\\\"}.fa-share-alt-square:before{content:\\\"\\\\f1e1\\\"}.fa-share-square:before{content:\\\"\\\\f14d\\\"}.fa-shekel-sign:before{content:\\\"\\\\f20b\\\"}.fa-shield-alt:before{content:\\\"\\\\f3ed\\\"}.fa-shield-virus:before{content:\\\"\\\\e06c\\\"}.fa-ship:before{content:\\\"\\\\f21a\\\"}.fa-shipping-fast:before{content:\\\"\\\\f48b\\\"}.fa-shirtsinbulk:before{content:\\\"\\\\f214\\\"}.fa-shoe-prints:before{content:\\\"\\\\f54b\\\"}.fa-shopify:before{content:\\\"\\\\e057\\\"}.fa-shopping-bag:before{content:\\\"\\\\f290\\\"}.fa-shopping-basket:before{content:\\\"\\\\f291\\\"}.fa-shopping-cart:before{content:\\\"\\\\f07a\\\"}.fa-shopware:before{content:\\\"\\\\f5b5\\\"}.fa-shower:before{content:\\\"\\\\f2cc\\\"}.fa-shuttle-van:before{content:\\\"\\\\f5b6\\\"}.fa-sign:before{content:\\\"\\\\f4d9\\\"}.fa-sign-in-alt:before{content:\\\"\\\\f2f6\\\"}.fa-sign-language:before{content:\\\"\\\\f2a7\\\"}.fa-sign-out-alt:before{content:\\\"\\\\f2f5\\\"}.fa-signal:before{content:\\\"\\\\f012\\\"}.fa-signature:before{content:\\\"\\\\f5b7\\\"}.fa-sim-card:before{content:\\\"\\\\f7c4\\\"}.fa-simplybuilt:before{content:\\\"\\\\f215\\\"}.fa-sink:before{content:\\\"\\\\e06d\\\"}.fa-sistrix:before{content:\\\"\\\\f3ee\\\"}.fa-sitemap:before{content:\\\"\\\\f0e8\\\"}.fa-sith:before{content:\\\"\\\\f512\\\"}.fa-skating:before{content:\\\"\\\\f7c5\\\"}.fa-sketch:before{content:\\\"\\\\f7c6\\\"}.fa-skiing:before{content:\\\"\\\\f7c9\\\"}.fa-skiing-nordic:before{content:\\\"\\\\f7ca\\\"}.fa-skull:before{content:\\\"\\\\f54c\\\"}.fa-skull-crossbones:before{content:\\\"\\\\f714\\\"}.fa-skyatlas:before{content:\\\"\\\\f216\\\"}.fa-skype:before{content:\\\"\\\\f17e\\\"}.fa-slack:before{content:\\\"\\\\f198\\\"}.fa-slack-hash:before{content:\\\"\\\\f3ef\\\"}.fa-slash:before{content:\\\"\\\\f715\\\"}.fa-sleigh:before{content:\\\"\\\\f7cc\\\"}.fa-sliders-h:before{content:\\\"\\\\f1de\\\"}.fa-slideshare:before{content:\\\"\\\\f1e7\\\"}.fa-smile:before{content:\\\"\\\\f118\\\"}.fa-smile-beam:before{content:\\\"\\\\f5b8\\\"}.fa-smile-wink:before{content:\\\"\\\\f4da\\\"}.fa-smog:before{content:\\\"\\\\f75f\\\"}.fa-smoking:before{content:\\\"\\\\f48d\\\"}.fa-smoking-ban:before{content:\\\"\\\\f54d\\\"}.fa-sms:before{content:\\\"\\\\f7cd\\\"}.fa-snapchat:before{content:\\\"\\\\f2ab\\\"}.fa-snapchat-ghost:before{content:\\\"\\\\f2ac\\\"}.fa-snapchat-square:before{content:\\\"\\\\f2ad\\\"}.fa-snowboarding:before{content:\\\"\\\\f7ce\\\"}.fa-snowflake:before{content:\\\"\\\\f2dc\\\"}.fa-snowman:before{content:\\\"\\\\f7d0\\\"}.fa-snowplow:before{content:\\\"\\\\f7d2\\\"}.fa-soap:before{content:\\\"\\\\e06e\\\"}.fa-socks:before{content:\\\"\\\\f696\\\"}.fa-solar-panel:before{content:\\\"\\\\f5ba\\\"}.fa-sort:before{content:\\\"\\\\f0dc\\\"}.fa-sort-alpha-down:before{content:\\\"\\\\f15d\\\"}.fa-sort-alpha-down-alt:before{content:\\\"\\\\f881\\\"}.fa-sort-alpha-up:before{content:\\\"\\\\f15e\\\"}.fa-sort-alpha-up-alt:before{content:\\\"\\\\f882\\\"}.fa-sort-amount-down:before{content:\\\"\\\\f160\\\"}.fa-sort-amount-down-alt:before{content:\\\"\\\\f884\\\"}.fa-sort-amount-up:before{content:\\\"\\\\f161\\\"}.fa-sort-amount-up-alt:before{content:\\\"\\\\f885\\\"}.fa-sort-down:before{content:\\\"\\\\f0dd\\\"}.fa-sort-numeric-down:before{content:\\\"\\\\f162\\\"}.fa-sort-numeric-down-alt:before{content:\\\"\\\\f886\\\"}.fa-sort-numeric-up:before{content:\\\"\\\\f163\\\"}.fa-sort-numeric-up-alt:before{content:\\\"\\\\f887\\\"}.fa-sort-up:before{content:\\\"\\\\f0de\\\"}.fa-soundcloud:before{content:\\\"\\\\f1be\\\"}.fa-sourcetree:before{content:\\\"\\\\f7d3\\\"}.fa-spa:before{content:\\\"\\\\f5bb\\\"}.fa-space-shuttle:before{content:\\\"\\\\f197\\\"}.fa-speakap:before{content:\\\"\\\\f3f3\\\"}.fa-speaker-deck:before{content:\\\"\\\\f83c\\\"}.fa-spell-check:before{content:\\\"\\\\f891\\\"}.fa-spider:before{content:\\\"\\\\f717\\\"}.fa-spinner:before{content:\\\"\\\\f110\\\"}.fa-splotch:before{content:\\\"\\\\f5bc\\\"}.fa-spotify:before{content:\\\"\\\\f1bc\\\"}.fa-spray-can:before{content:\\\"\\\\f5bd\\\"}.fa-square:before{content:\\\"\\\\f0c8\\\"}.fa-square-full:before{content:\\\"\\\\f45c\\\"}.fa-square-root-alt:before{content:\\\"\\\\f698\\\"}.fa-squarespace:before{content:\\\"\\\\f5be\\\"}.fa-stack-exchange:before{content:\\\"\\\\f18d\\\"}.fa-stack-overflow:before{content:\\\"\\\\f16c\\\"}.fa-stackpath:before{content:\\\"\\\\f842\\\"}.fa-stamp:before{content:\\\"\\\\f5bf\\\"}.fa-star:before{content:\\\"\\\\f005\\\"}.fa-star-and-crescent:before{content:\\\"\\\\f699\\\"}.fa-star-half:before{content:\\\"\\\\f089\\\"}.fa-star-half-alt:before{content:\\\"\\\\f5c0\\\"}.fa-star-of-david:before{content:\\\"\\\\f69a\\\"}.fa-star-of-life:before{content:\\\"\\\\f621\\\"}.fa-staylinked:before{content:\\\"\\\\f3f5\\\"}.fa-steam:before{content:\\\"\\\\f1b6\\\"}.fa-steam-square:before{content:\\\"\\\\f1b7\\\"}.fa-steam-symbol:before{content:\\\"\\\\f3f6\\\"}.fa-step-backward:before{content:\\\"\\\\f048\\\"}.fa-step-forward:before{content:\\\"\\\\f051\\\"}.fa-stethoscope:before{content:\\\"\\\\f0f1\\\"}.fa-sticker-mule:before{content:\\\"\\\\f3f7\\\"}.fa-sticky-note:before{content:\\\"\\\\f249\\\"}.fa-stop:before{content:\\\"\\\\f04d\\\"}.fa-stop-circle:before{content:\\\"\\\\f28d\\\"}.fa-stopwatch:before{content:\\\"\\\\f2f2\\\"}.fa-stopwatch-20:before{content:\\\"\\\\e06f\\\"}.fa-store:before{content:\\\"\\\\f54e\\\"}.fa-store-alt:before{content:\\\"\\\\f54f\\\"}.fa-store-alt-slash:before{content:\\\"\\\\e070\\\"}.fa-store-slash:before{content:\\\"\\\\e071\\\"}.fa-strava:before{content:\\\"\\\\f428\\\"}.fa-stream:before{content:\\\"\\\\f550\\\"}.fa-street-view:before{content:\\\"\\\\f21d\\\"}.fa-strikethrough:before{content:\\\"\\\\f0cc\\\"}.fa-stripe:before{content:\\\"\\\\f429\\\"}.fa-stripe-s:before{content:\\\"\\\\f42a\\\"}.fa-stroopwafel:before{content:\\\"\\\\f551\\\"}.fa-studiovinari:before{content:\\\"\\\\f3f8\\\"}.fa-stumbleupon:before{content:\\\"\\\\f1a4\\\"}.fa-stumbleupon-circle:before{content:\\\"\\\\f1a3\\\"}.fa-subscript:before{content:\\\"\\\\f12c\\\"}.fa-subway:before{content:\\\"\\\\f239\\\"}.fa-suitcase:before{content:\\\"\\\\f0f2\\\"}.fa-suitcase-rolling:before{content:\\\"\\\\f5c1\\\"}.fa-sun:before{content:\\\"\\\\f185\\\"}.fa-superpowers:before{content:\\\"\\\\f2dd\\\"}.fa-superscript:before{content:\\\"\\\\f12b\\\"}.fa-supple:before{content:\\\"\\\\f3f9\\\"}.fa-surprise:before{content:\\\"\\\\f5c2\\\"}.fa-suse:before{content:\\\"\\\\f7d6\\\"}.fa-swatchbook:before{content:\\\"\\\\f5c3\\\"}.fa-swift:before{content:\\\"\\\\f8e1\\\"}.fa-swimmer:before{content:\\\"\\\\f5c4\\\"}.fa-swimming-pool:before{content:\\\"\\\\f5c5\\\"}.fa-symfony:before{content:\\\"\\\\f83d\\\"}.fa-synagogue:before{content:\\\"\\\\f69b\\\"}.fa-sync:before{content:\\\"\\\\f021\\\"}.fa-sync-alt:before{content:\\\"\\\\f2f1\\\"}.fa-syringe:before{content:\\\"\\\\f48e\\\"}.fa-table:before{content:\\\"\\\\f0ce\\\"}.fa-table-tennis:before{content:\\\"\\\\f45d\\\"}.fa-tablet:before{content:\\\"\\\\f10a\\\"}.fa-tablet-alt:before{content:\\\"\\\\f3fa\\\"}.fa-tablets:before{content:\\\"\\\\f490\\\"}.fa-tachometer-alt:before{content:\\\"\\\\f3fd\\\"}.fa-tag:before{content:\\\"\\\\f02b\\\"}.fa-tags:before{content:\\\"\\\\f02c\\\"}.fa-tape:before{content:\\\"\\\\f4db\\\"}.fa-tasks:before{content:\\\"\\\\f0ae\\\"}.fa-taxi:before{content:\\\"\\\\f1ba\\\"}.fa-teamspeak:before{content:\\\"\\\\f4f9\\\"}.fa-teeth:before{content:\\\"\\\\f62e\\\"}.fa-teeth-open:before{content:\\\"\\\\f62f\\\"}.fa-telegram:before{content:\\\"\\\\f2c6\\\"}.fa-telegram-plane:before{content:\\\"\\\\f3fe\\\"}.fa-temperature-high:before{content:\\\"\\\\f769\\\"}.fa-temperature-low:before{content:\\\"\\\\f76b\\\"}.fa-tencent-weibo:before{content:\\\"\\\\f1d5\\\"}.fa-tenge:before{content:\\\"\\\\f7d7\\\"}.fa-terminal:before{content:\\\"\\\\f120\\\"}.fa-text-height:before{content:\\\"\\\\f034\\\"}.fa-text-width:before{content:\\\"\\\\f035\\\"}.fa-th:before{content:\\\"\\\\f00a\\\"}.fa-th-large:before{content:\\\"\\\\f009\\\"}.fa-th-list:before{content:\\\"\\\\f00b\\\"}.fa-the-red-yeti:before{content:\\\"\\\\f69d\\\"}.fa-theater-masks:before{content:\\\"\\\\f630\\\"}.fa-themeco:before{content:\\\"\\\\f5c6\\\"}.fa-themeisle:before{content:\\\"\\\\f2b2\\\"}.fa-thermometer:before{content:\\\"\\\\f491\\\"}.fa-thermometer-empty:before{content:\\\"\\\\f2cb\\\"}.fa-thermometer-full:before{content:\\\"\\\\f2c7\\\"}.fa-thermometer-half:before{content:\\\"\\\\f2c9\\\"}.fa-thermometer-quarter:before{content:\\\"\\\\f2ca\\\"}.fa-thermometer-three-quarters:before{content:\\\"\\\\f2c8\\\"}.fa-think-peaks:before{content:\\\"\\\\f731\\\"}.fa-thumbs-down:before{content:\\\"\\\\f165\\\"}.fa-thumbs-up:before{content:\\\"\\\\f164\\\"}.fa-thumbtack:before{content:\\\"\\\\f08d\\\"}.fa-ticket-alt:before{content:\\\"\\\\f3ff\\\"}.fa-tiktok:before{content:\\\"\\\\e07b\\\"}.fa-times:before{content:\\\"\\\\f00d\\\"}.fa-times-circle:before{content:\\\"\\\\f057\\\"}.fa-tint:before{content:\\\"\\\\f043\\\"}.fa-tint-slash:before{content:\\\"\\\\f5c7\\\"}.fa-tired:before{content:\\\"\\\\f5c8\\\"}.fa-toggle-off:before{content:\\\"\\\\f204\\\"}.fa-toggle-on:before{content:\\\"\\\\f205\\\"}.fa-toilet:before{content:\\\"\\\\f7d8\\\"}.fa-toilet-paper:before{content:\\\"\\\\f71e\\\"}.fa-toilet-paper-slash:before{content:\\\"\\\\e072\\\"}.fa-toolbox:before{content:\\\"\\\\f552\\\"}.fa-tools:before{content:\\\"\\\\f7d9\\\"}.fa-tooth:before{content:\\\"\\\\f5c9\\\"}.fa-torah:before{content:\\\"\\\\f6a0\\\"}.fa-torii-gate:before{content:\\\"\\\\f6a1\\\"}.fa-tractor:before{content:\\\"\\\\f722\\\"}.fa-trade-federation:before{content:\\\"\\\\f513\\\"}.fa-trademark:before{content:\\\"\\\\f25c\\\"}.fa-traffic-light:before{content:\\\"\\\\f637\\\"}.fa-trailer:before{content:\\\"\\\\e041\\\"}.fa-train:before{content:\\\"\\\\f238\\\"}.fa-tram:before{content:\\\"\\\\f7da\\\"}.fa-transgender:before{content:\\\"\\\\f224\\\"}.fa-transgender-alt:before{content:\\\"\\\\f225\\\"}.fa-trash:before{content:\\\"\\\\f1f8\\\"}.fa-trash-alt:before{content:\\\"\\\\f2ed\\\"}.fa-trash-restore:before{content:\\\"\\\\f829\\\"}.fa-trash-restore-alt:before{content:\\\"\\\\f82a\\\"}.fa-tree:before{content:\\\"\\\\f1bb\\\"}.fa-trello:before{content:\\\"\\\\f181\\\"}.fa-trophy:before{content:\\\"\\\\f091\\\"}.fa-truck:before{content:\\\"\\\\f0d1\\\"}.fa-truck-loading:before{content:\\\"\\\\f4de\\\"}.fa-truck-monster:before{content:\\\"\\\\f63b\\\"}.fa-truck-moving:before{content:\\\"\\\\f4df\\\"}.fa-truck-pickup:before{content:\\\"\\\\f63c\\\"}.fa-tshirt:before{content:\\\"\\\\f553\\\"}.fa-tty:before{content:\\\"\\\\f1e4\\\"}.fa-tumblr:before{content:\\\"\\\\f173\\\"}.fa-tumblr-square:before{content:\\\"\\\\f174\\\"}.fa-tv:before{content:\\\"\\\\f26c\\\"}.fa-twitch:before{content:\\\"\\\\f1e8\\\"}.fa-twitter:before{content:\\\"\\\\f099\\\"}.fa-twitter-square:before{content:\\\"\\\\f081\\\"}.fa-typo3:before{content:\\\"\\\\f42b\\\"}.fa-uber:before{content:\\\"\\\\f402\\\"}.fa-ubuntu:before{content:\\\"\\\\f7df\\\"}.fa-uikit:before{content:\\\"\\\\f403\\\"}.fa-umbraco:before{content:\\\"\\\\f8e8\\\"}.fa-umbrella:before{content:\\\"\\\\f0e9\\\"}.fa-umbrella-beach:before{content:\\\"\\\\f5ca\\\"}.fa-uncharted:before{content:\\\"\\\\e084\\\"}.fa-underline:before{content:\\\"\\\\f0cd\\\"}.fa-undo:before{content:\\\"\\\\f0e2\\\"}.fa-undo-alt:before{content:\\\"\\\\f2ea\\\"}.fa-uniregistry:before{content:\\\"\\\\f404\\\"}.fa-unity:before{content:\\\"\\\\e049\\\"}.fa-universal-access:before{content:\\\"\\\\f29a\\\"}.fa-university:before{content:\\\"\\\\f19c\\\"}.fa-unlink:before{content:\\\"\\\\f127\\\"}.fa-unlock:before{content:\\\"\\\\f09c\\\"}.fa-unlock-alt:before{content:\\\"\\\\f13e\\\"}.fa-unsplash:before{content:\\\"\\\\e07c\\\"}.fa-untappd:before{content:\\\"\\\\f405\\\"}.fa-upload:before{content:\\\"\\\\f093\\\"}.fa-ups:before{content:\\\"\\\\f7e0\\\"}.fa-usb:before{content:\\\"\\\\f287\\\"}.fa-user:before{content:\\\"\\\\f007\\\"}.fa-user-alt:before{content:\\\"\\\\f406\\\"}.fa-user-alt-slash:before{content:\\\"\\\\f4fa\\\"}.fa-user-astronaut:before{content:\\\"\\\\f4fb\\\"}.fa-user-check:before{content:\\\"\\\\f4fc\\\"}.fa-user-circle:before{content:\\\"\\\\f2bd\\\"}.fa-user-clock:before{content:\\\"\\\\f4fd\\\"}.fa-user-cog:before{content:\\\"\\\\f4fe\\\"}.fa-user-edit:before{content:\\\"\\\\f4ff\\\"}.fa-user-friends:before{content:\\\"\\\\f500\\\"}.fa-user-graduate:before{content:\\\"\\\\f501\\\"}.fa-user-injured:before{content:\\\"\\\\f728\\\"}.fa-user-lock:before{content:\\\"\\\\f502\\\"}.fa-user-md:before{content:\\\"\\\\f0f0\\\"}.fa-user-minus:before{content:\\\"\\\\f503\\\"}.fa-user-ninja:before{content:\\\"\\\\f504\\\"}.fa-user-nurse:before{content:\\\"\\\\f82f\\\"}.fa-user-plus:before{content:\\\"\\\\f234\\\"}.fa-user-secret:before{content:\\\"\\\\f21b\\\"}.fa-user-shield:before{content:\\\"\\\\f505\\\"}.fa-user-slash:before{content:\\\"\\\\f506\\\"}.fa-user-tag:before{content:\\\"\\\\f507\\\"}.fa-user-tie:before{content:\\\"\\\\f508\\\"}.fa-user-times:before{content:\\\"\\\\f235\\\"}.fa-users:before{content:\\\"\\\\f0c0\\\"}.fa-users-cog:before{content:\\\"\\\\f509\\\"}.fa-users-slash:before{content:\\\"\\\\e073\\\"}.fa-usps:before{content:\\\"\\\\f7e1\\\"}.fa-ussunnah:before{content:\\\"\\\\f407\\\"}.fa-utensil-spoon:before{content:\\\"\\\\f2e5\\\"}.fa-utensils:before{content:\\\"\\\\f2e7\\\"}.fa-vaadin:before{content:\\\"\\\\f408\\\"}.fa-vector-square:before{content:\\\"\\\\f5cb\\\"}.fa-venus:before{content:\\\"\\\\f221\\\"}.fa-venus-double:before{content:\\\"\\\\f226\\\"}.fa-venus-mars:before{content:\\\"\\\\f228\\\"}.fa-vest:before{content:\\\"\\\\e085\\\"}.fa-vest-patches:before{content:\\\"\\\\e086\\\"}.fa-viacoin:before{content:\\\"\\\\f237\\\"}.fa-viadeo:before{content:\\\"\\\\f2a9\\\"}.fa-viadeo-square:before{content:\\\"\\\\f2aa\\\"}.fa-vial:before{content:\\\"\\\\f492\\\"}.fa-vials:before{content:\\\"\\\\f493\\\"}.fa-viber:before{content:\\\"\\\\f409\\\"}.fa-video:before{content:\\\"\\\\f03d\\\"}.fa-video-slash:before{content:\\\"\\\\f4e2\\\"}.fa-vihara:before{content:\\\"\\\\f6a7\\\"}.fa-vimeo:before{content:\\\"\\\\f40a\\\"}.fa-vimeo-square:before{content:\\\"\\\\f194\\\"}.fa-vimeo-v:before{content:\\\"\\\\f27d\\\"}.fa-vine:before{content:\\\"\\\\f1ca\\\"}.fa-virus:before{content:\\\"\\\\e074\\\"}.fa-virus-slash:before{content:\\\"\\\\e075\\\"}.fa-viruses:before{content:\\\"\\\\e076\\\"}.fa-vk:before{content:\\\"\\\\f189\\\"}.fa-vnv:before{content:\\\"\\\\f40b\\\"}.fa-voicemail:before{content:\\\"\\\\f897\\\"}.fa-volleyball-ball:before{content:\\\"\\\\f45f\\\"}.fa-volume-down:before{content:\\\"\\\\f027\\\"}.fa-volume-mute:before{content:\\\"\\\\f6a9\\\"}.fa-volume-off:before{content:\\\"\\\\f026\\\"}.fa-volume-up:before{content:\\\"\\\\f028\\\"}.fa-vote-yea:before{content:\\\"\\\\f772\\\"}.fa-vr-cardboard:before{content:\\\"\\\\f729\\\"}.fa-vuejs:before{content:\\\"\\\\f41f\\\"}.fa-walking:before{content:\\\"\\\\f554\\\"}.fa-wallet:before{content:\\\"\\\\f555\\\"}.fa-warehouse:before{content:\\\"\\\\f494\\\"}.fa-watchman-monitoring:before{content:\\\"\\\\e087\\\"}.fa-water:before{content:\\\"\\\\f773\\\"}.fa-wave-square:before{content:\\\"\\\\f83e\\\"}.fa-waze:before{content:\\\"\\\\f83f\\\"}.fa-weebly:before{content:\\\"\\\\f5cc\\\"}.fa-weibo:before{content:\\\"\\\\f18a\\\"}.fa-weight:before{content:\\\"\\\\f496\\\"}.fa-weight-hanging:before{content:\\\"\\\\f5cd\\\"}.fa-weixin:before{content:\\\"\\\\f1d7\\\"}.fa-whatsapp:before{content:\\\"\\\\f232\\\"}.fa-whatsapp-square:before{content:\\\"\\\\f40c\\\"}.fa-wheelchair:before{content:\\\"\\\\f193\\\"}.fa-whmcs:before{content:\\\"\\\\f40d\\\"}.fa-wifi:before{content:\\\"\\\\f1eb\\\"}.fa-wikipedia-w:before{content:\\\"\\\\f266\\\"}.fa-wind:before{content:\\\"\\\\f72e\\\"}.fa-window-close:before{content:\\\"\\\\f410\\\"}.fa-window-maximize:before{content:\\\"\\\\f2d0\\\"}.fa-window-minimize:before{content:\\\"\\\\f2d1\\\"}.fa-window-restore:before{content:\\\"\\\\f2d2\\\"}.fa-windows:before{content:\\\"\\\\f17a\\\"}.fa-wine-bottle:before{content:\\\"\\\\f72f\\\"}.fa-wine-glass:before{content:\\\"\\\\f4e3\\\"}.fa-wine-glass-alt:before{content:\\\"\\\\f5ce\\\"}.fa-wix:before{content:\\\"\\\\f5cf\\\"}.fa-wizards-of-the-coast:before{content:\\\"\\\\f730\\\"}.fa-wodu:before{content:\\\"\\\\e088\\\"}.fa-wolf-pack-battalion:before{content:\\\"\\\\f514\\\"}.fa-won-sign:before{content:\\\"\\\\f159\\\"}.fa-wordpress:before{content:\\\"\\\\f19a\\\"}.fa-wordpress-simple:before{content:\\\"\\\\f411\\\"}.fa-wpbeginner:before{content:\\\"\\\\f297\\\"}.fa-wpexplorer:before{content:\\\"\\\\f2de\\\"}.fa-wpforms:before{content:\\\"\\\\f298\\\"}.fa-wpressr:before{content:\\\"\\\\f3e4\\\"}.fa-wrench:before{content:\\\"\\\\f0ad\\\"}.fa-x-ray:before{content:\\\"\\\\f497\\\"}.fa-xbox:before{content:\\\"\\\\f412\\\"}.fa-xing:before{content:\\\"\\\\f168\\\"}.fa-xing-square:before{content:\\\"\\\\f169\\\"}.fa-y-combinator:before{content:\\\"\\\\f23b\\\"}.fa-yahoo:before{content:\\\"\\\\f19e\\\"}.fa-yammer:before{content:\\\"\\\\f840\\\"}.fa-yandex:before{content:\\\"\\\\f413\\\"}.fa-yandex-international:before{content:\\\"\\\\f414\\\"}.fa-yarn:before{content:\\\"\\\\f7e3\\\"}.fa-yelp:before{content:\\\"\\\\f1e9\\\"}.fa-yen-sign:before{content:\\\"\\\\f157\\\"}.fa-yin-yang:before{content:\\\"\\\\f6ad\\\"}.fa-yoast:before{content:\\\"\\\\f2b1\\\"}.fa-youtube:before{content:\\\"\\\\f167\\\"}.fa-youtube-square:before{content:\\\"\\\\f431\\\"}.fa-zhihu:before{content:\\\"\\\\f63f\\\"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:\\\"Font Awesome 5 Brands\\\";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format(\\\"embedded-opentype\\\"),url(../webfonts/fa-brands-400.woff2) format(\\\"woff2\\\"),url(../webfonts/fa-brands-400.woff) format(\\\"woff\\\"),url(../webfonts/fa-brands-400.ttf) format(\\\"truetype\\\"),url(../webfonts/fa-brands-400.svg#fontawesome) format(\\\"svg\\\")}.fab{font-family:\\\"Font Awesome 5 Brands\\\"}@font-face{font-family:\\\"Font Awesome 5 Free\\\";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format(\\\"embedded-opentype\\\"),url(../webfonts/fa-regular-400.woff2) format(\\\"woff2\\\"),url(../webfonts/fa-regular-400.woff) format(\\\"woff\\\"),url(../webfonts/fa-regular-400.ttf) format(\\\"truetype\\\"),url(../webfonts/fa-regular-400.svg#fontawesome) format(\\\"svg\\\")}.fab,.far{font-weight:400}@font-face{font-family:\\\"Font Awesome 5 Free\\\";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format(\\\"embedded-opentype\\\"),url(../webfonts/fa-solid-900.woff2) format(\\\"woff2\\\"),url(../webfonts/fa-solid-900.woff) format(\\\"woff\\\"),url(../webfonts/fa-solid-900.ttf) format(\\\"truetype\\\"),url(../webfonts/fa-solid-900.svg#fontawesome) format(\\\"svg\\\")}.fa,.far,.fas{font-family:\\\"Font Awesome 5 Free\\\"}.fa,.fas{font-weight:900}\");\n }, function(Bokeh) {\n inject_raw_css(\"\\nhtml { font-family: Roboto, sans-serif; }\\n#sidebar { background-color: #fafafa; }\\n#sidebar > .mdc-drawer__content > .mdc-list { box-sizing: border-box; height: 100%; }\\n#pn-Modal.mdc-dialog--open { background: rgba(0, 0, 0, 0.25); backdrop-filter: blur(2px); }\\n#pn-Modal .mdc-dialog__content { padding: 0; --mnn-debug-accordion-font: 0.75em monospace; }\\n#pn-Modal .mdc-dialog__surface { max-width: 75vw; }\\n:host(.card-title) h3 { font: var(--mnn-debug-accordion-font, inherit); }\\n\");\n }, function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n\tvar NewBokeh = root.Bokeh;\n\tif (Bokeh.versions === undefined) {\n\t Bokeh.versions = new Map();\n\t}\n\tif (NewBokeh.version !== Bokeh.version) {\n\t Bokeh.versions.set(NewBokeh.version, NewBokeh)\n\t}\n\troot.Bokeh = Bokeh;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n root._bokeh_is_initializing = false\n }\n\n function load_or_wait() {\n // Implement a backoff loop that tries to ensure we do not load multiple\n // versions of Bokeh and its dependencies at the same time.\n // In recent versions we use the root._bokeh_is_initializing flag\n // to determine whether there is an ongoing attempt to initialize\n // bokeh, however for backward compatibility we also try to ensure\n // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n // before older versions are fully initialized.\n if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n load_or_wait();\n } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n setTimeout(load_or_wait, 100);\n } else {\n Bokeh = root.Bokeh;\n bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n root._bokeh_is_initializing = true\n root._bokeh_onload_callbacks = []\n if (!reloading && (!bokeh_loaded || is_dev)) {\n\troot.Bokeh = undefined;\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n\tconsole.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n\trun_inline_js();\n });\n }\n }\n // Give older versions of the autoload script a head-start to ensure\n // they initialize before we start loading newer version.\n setTimeout(load_or_wait, 100)\n}(window));", "application/vnd.holoviews_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n console.log(message)\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n comm.open();\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n }) \n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n", "application/vnd.holoviews_load.v0+json": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "
\n", "
\n", "" ] }, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "6c8e2c7c-9bf4-4b75-b48f-faf23d9c4bb0" } }, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "4a278b390d6b48e19e1031346eb39904", "version_major": 2, "version_minor": 0 }, "text/plain": [ "BokehModel(combine_events=True, render_bundle={'docs_json': {'e81c3606-c0a7-4a6f-af21-4a1ac2098914': {'version…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import manganite\n", "%load_ext manganite" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Traveling Salesman Problem\n", "The Traveling Salesman Problem (TSP) is one of the most famous combinatorial optimization problems. \n", "The TSP goal is to find the shortest possible route that visits each city once and returns to the original city.\n", "It is classified as an NP-hard problem in the field of combinatorial optimization." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Problem Description\n", "The TSP can be defined as follows: for a given list of cities and the distances between each pair of them, we want to find the shortest possible route that goes to each city once and returns to the origin city.\n", "\n", "There is a class of Traveling Salesman Problems that assumes that the distance of going from city $$i$$ to city $j$ is the same as going form city $j$ to city $i$, this type of Traveling Salesman Problem is also known as the symmetric Traveling Salesman Problem. In this example, we use Euclidean distances, but the TSP model formulation is valid independent of the way in which the individual distances are determined.\n", "\n", "\n", "## Solution Approach\n", "\n", "Mathematical programming is a declarative approach where the modeler formulates a mathematical optimization model that captures the key aspects of a complex decision problem. The Gurobi Optimizer solves such models using state-of-the-art mathematics and computer science.\n", "\n", "A mathematical optimization model has five components, namely:\n", "\n", "* Sets and indices.\n", "* Parameters.\n", "* Decision variables.\n", "* Objective function(s).\n", "* Constraints.\n", "\n", "We now present a MIP formulation of the TSP that identifies the shortest route that goes to all the cities once and returns to the origin city.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Python Implementation\n", "\n", "Consider a salesperson that needs to visit customers at each state capital of the continental US. The salesperson wants to identify the shortest route that goes to all the state capitals.\n", "\n", "This modeling example requires the following libraries that are not part of the standard Python distribution:\n", "* **manganite**: to create the dashboard\n", "* **folium**: to create maps.\n", "* **gurobipy**: provides Gurobi algorithms to solve MIP models.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import json\n", "import math\n", "from itertools import combinations\n", "import gurobipy as gp\n", "from gurobipy import GRB\n", "import pandas as pd\n", "import plotly.express as px" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "capitals_json = json.load(open('capitals.json'))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "region_list = [ 'All', 'West', 'Pacific']" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "%%mnn widget --type radio region_list --tab \"Capitals\" --header \"Region\" --var r --position 0 0 1\n", "r = region_list[0]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%mnn widget --type plot --tab \"Capitals\" --header \"Map\" --var fig_select --position 0 1 4\n", "\n", "capitals = []\n", "coordinates_lat = []\n", "coordinates_long = []\n", "if r == 'All':\n", " for state in capitals_json:\n", " if state not in ['AK', 'HI']:\n", " capital = capitals_json[state]['capital']\n", " capitals.append(capital)\n", " coordinates_lat.append(float(capitals_json[state]['lat']))\n", " coordinates_long.append(float(capitals_json[state]['long']))\n", " marker_color = 'blue'\n", "elif r == 'West':\n", " west_states = ['AZ','CA','CO','ID' , 'MT', 'NV', 'NM', 'OR', 'UT', 'WA', 'WY']\n", " for state in capitals_json:\n", " if state in west_states:\n", " capital = capitals_json[state]['capital']\n", " capitals.append(capital)\n", " coordinates_lat.append(float(capitals_json[state]['lat']))\n", " coordinates_long.append(float(capitals_json[state]['long']))\n", " marker_color = 'green'\n", "elif r == 'Pacific':\n", " west_states = ['AZ','CA','CO','ID' , 'MT', 'NV', 'NM', 'OR', 'UT', 'WA', 'WY']\n", " for state in capitals_json:\n", " if state not in (west_states + ['AK', 'HI']):\n", " capital = capitals_json[state]['capital']\n", " capitals.append(capital)\n", " coordinates_lat.append(float(capitals_json[state]['lat']))\n", " coordinates_long.append(float(capitals_json[state]['long']))\n", " marker_color = 'red'\n", "\n", "\n", "\n", "df_cap = pd.DataFrame({'Capital' : capitals, 'coordinates_lat' : coordinates_lat, 'coordinates_long': coordinates_long})\n", "\n", "capitals = df_cap['Capital'].values.tolist()\n", "coordinates = {}\n", "\n", "for index, row in df_cap.iterrows():\n", " coordinates[row['Capital']] = (row['coordinates_lat'], row['coordinates_long'])\n", "\n", "fig_select = px.scatter_mapbox(df_cap, lat=\"coordinates_lat\", lon=\"coordinates_long\", zoom=3, hover_name = 'Capital')\n", "\n", "fig_select.update_layout(mapbox_style=\"open-street-map\", mapbox_zoom=3, mapbox_center_lat = 41,\n", " margin={\"r\":0,\"t\":0,\"l\":0,\"b\":0},\n", " )\n", "\n", "fig_select.update_traces(\n", " marker = {'color': marker_color, 'size': 10},\n", ")\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n", "\n", "# Compute pairwise distance matrix\n", "\n", "def distance(city1, city2):\n", " c1 = coordinates[city1]\n", " c2 = coordinates[city2]\n", " diff = (c1[0]-c2[0], c1[1]-c2[1])\n", " return math.sqrt(diff[0]*diff[0]+diff[1]*diff[1])\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Callback - use lazy constraints to eliminate sub-tours\n", "\n", "def subtourelim(model, where):\n", " if where == GRB.Callback.MIPSOL:\n", " # make a list of edges selected in the solution\n", " vals = model.cbGetSolution(model._vars)\n", " selected = gp.tuplelist((i, j) for i, j in model._vars.keys()\n", " if vals[i, j] > 0.5)\n", " # find the shortest cycle in the selected edge list\n", " tour = subtour(selected)\n", " if len(tour) < len(capitals):\n", " # add subtour elimination constr. for every pair of cities in subtour\n", " model.cbLazy(gp.quicksum(model._vars[i, j] for i, j in combinations(tour, 2))\n", " <= len(tour)-1)\n", "\n", "# Given a tuplelist of edges, find the shortest subtour\n", "\n", "def subtour(edges):\n", " unvisited = capitals[:]\n", " cycle = capitals[:] # Dummy - guaranteed to be replaced\n", " while unvisited: # true if list is non-empty\n", " thiscycle = []\n", " neighbors = unvisited\n", " while neighbors:\n", " current = neighbors[0]\n", " thiscycle.append(current)\n", " unvisited.remove(current)\n", " neighbors = [j for i, j in edges.select(current, '*')\n", " if j in unvisited]\n", " if len(thiscycle) <= len(cycle):\n", " cycle = thiscycle # New shortest subtour\n", " return cycle" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%mnn execute --on button \"Optimize routes\" --returns tour_df\n", "\n", "dist = {(c1, c2): distance(c1, c2) for c1, c2 in combinations(capitals, 2)}\n", "\n", "# tested with Python 3.7 & Gurobi 9.0.0\n", "\n", "m = gp.Model()\n", "\n", "# Variables: is city 'i' adjacent to city 'j' on the tour?\n", "vars = m.addVars(dist.keys(), obj=dist, vtype=GRB.BINARY, name='x')\n", "\n", "# Symmetric direction: Copy the object\n", "for i, j in vars.keys():\n", " vars[j, i] = vars[i, j] # edge in opposite direction\n", "\n", "# Constraints: two edges incident to each city\n", "cons = m.addConstrs(vars.sum(c, '*') == 2 for c in capitals)\n", "\n", "m._vars = vars\n", "m.Params.lazyConstraints = 1\n", "m.optimize(subtourelim)\n", "\n", "# Retrieve solution\n", "\n", "vals = m.getAttr('x', vars)\n", "selected = gp.tuplelist((i, j) for i, j in vals.keys() if vals[i, j] > 0.5)\n", "\n", "tour = subtour(selected)\n", "assert len(tour) == len(capitals)\n", "\n", "tour_lat = []\n", "tour_lon = []\n", "for city in tour:\n", " tour_lat.append(coordinates[city][0])\n", " tour_lon.append(coordinates[city][1])\n", "\n", "tour_df = pd.DataFrame({'Capital': tour, 'lat': tour_lat, 'lon':tour_lon}) \n", "\n", "print('Optimal solution found')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%mnn widget --type plot --var fig_map --tab \"Optimal Route\" --header \"Solution Map\" --position 0 0 6\n", "\n", "fig_map = px.line_mapbox(tour_df, lat=\"lat\", lon=\"lon\", zoom=3, hover_name = 'Capital')\n", "\n", "fig_map.update_layout(mapbox_style=\"open-street-map\", mapbox_zoom=3, mapbox_center_lat = 41,\n", " margin={\"r\":0,\"t\":0,\"l\":0,\"b\":0})\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conclusions\n", "\n", "The Traveling Salesman Problem (TSP) is the most popular combinatorial optimization problem. This problem is very easy to explain, although it is very complicated to solve. The largest TSP problem solved has 85,900 cities. The TSP is a source of discovery for new approaches to solve complex combinatorial optimization problems and has led to many applications.\n", "\n", "In this modeling example, we have shown how to formulate the symmetric Traveling Salesman Problem as a MIP problem. We also showed how to dynamically eliminate subtours by using lazy constraints. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "\n", "[1] D. L. Applegate, R. E. Bixby, V. Chvatal and W. J. Cook , The Traveling Salesman Problem: A Computational Study, Princeton University Press, Princeton, 2006.\n", "\n", "[2] http://www.math.uwaterloo.ca/tsp/index.html\n", "\n", "[3] https://www.youtube.com/watch?v=q8nQTNvCrjE&t=35s\n", "\n", "[4] http://www.math.uwaterloo.ca/tsp/concorde.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Copyright © 2020 Gurobi Optimization, LLC" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.4" } }, "nbformat": 4, "nbformat_minor": 2 }