diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index a23e8be..c2cff83 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -100,7 +100,7 @@ jobs: - name: Build demo docs run: | - task docs-build + task docs:build - name: Cache website id: cache-build diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1725b49..22ca06d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -110,7 +110,7 @@ jobs: - name: Run tests run: | - task test-all + task test:all task report - name: Codecov diff --git a/.gitignore b/.gitignore index 555e3c8..5c53baa 100644 --- a/.gitignore +++ b/.gitignore @@ -96,6 +96,7 @@ celerybeat-schedule .pydevproject # mkdocs documentation +site demo/dist # mypy diff --git a/Taskfile.yml b/Taskfile.yml index 5bd9e3b..c88b19e 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -6,7 +6,7 @@ env: tasks: build: cmds: - - hatch build + - rye build check: ignore_error: true @@ -27,7 +27,7 @@ tasks: cmds: - pytest -k "{{.PYTEST_K}}" - test-all: + test:all: cmds: - pytest . @@ -36,16 +36,11 @@ tasks: - coverage xml - coverage html - lockfiles: - cmds: - - pip-compile -q --resolver=backtracking -o requirements/pyproject.txt pyproject.toml --extra=test - - pip-compile -q --resolver=backtracking -o requirements/linting.txt requirements/linting.in - publish: cmds: - hatch publish - py-clean: + py:clean: cmds: - rm -rf .pytest_cache dist htmlcov test-results .ruff_cache - rm -f .coverage coverage.xml @@ -53,7 +48,7 @@ tasks: - find . -type d -name __pycache__ -exec rm -rf {} + - find . -type d -name .ipynb_checkpoints -exec rm -rf {} + - docs-build: + docs:build: dir: demo cmds: - mkdocs build @@ -61,22 +56,22 @@ tasks: # ------------------------------------------------------------------------------ # Javascript - js-install: + js:install: dir: js cmds: - - npm install + - pnpm install - js-build: + js:build: dir: js cmds: - - npm run build + - pnpm run build - js-dev: + js:dev: dir: js cmds: - - npm run dev + - pnpm run dev - js-clean: + js:clean: dir: js cmds: - - npm run clean + - pnpm run clean diff --git a/demo/site/404.html b/demo/site/404.html deleted file mode 100644 index c8caf87..0000000 --- a/demo/site/404.html +++ /dev/null @@ -1,535 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - mkdocs-jupyter demo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- -
- - - - -
- - -
- -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - -
-
-
- - - -
-
-
- - - -
-
-
- - - -
-
- -

404 - Not found

- -
-
- - -
- -
- - - -
-
-
-
- - - - - - - - - \ No newline at end of file diff --git a/demo/site/assets/images/favicon.png b/demo/site/assets/images/favicon.png deleted file mode 100644 index 1cf13b9..0000000 Binary files a/demo/site/assets/images/favicon.png and /dev/null differ diff --git a/demo/site/assets/javascripts/bundle.407015b8.min.js b/demo/site/assets/javascripts/bundle.407015b8.min.js deleted file mode 100644 index 4361bb7..0000000 --- a/demo/site/assets/javascripts/bundle.407015b8.min.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict";(()=>{var Ri=Object.create;var gr=Object.defineProperty;var ki=Object.getOwnPropertyDescriptor;var Hi=Object.getOwnPropertyNames,Ht=Object.getOwnPropertySymbols,Pi=Object.getPrototypeOf,yr=Object.prototype.hasOwnProperty,on=Object.prototype.propertyIsEnumerable;var nn=(e,t,r)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,P=(e,t)=>{for(var r in t||(t={}))yr.call(t,r)&&nn(e,r,t[r]);if(Ht)for(var r of Ht(t))on.call(t,r)&&nn(e,r,t[r]);return e};var an=(e,t)=>{var r={};for(var n in e)yr.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Ht)for(var n of Ht(e))t.indexOf(n)<0&&on.call(e,n)&&(r[n]=e[n]);return r};var Pt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var $i=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Hi(t))!yr.call(e,o)&&o!==r&&gr(e,o,{get:()=>t[o],enumerable:!(n=ki(t,o))||n.enumerable});return e};var yt=(e,t,r)=>(r=e!=null?Ri(Pi(e)):{},$i(t||!e||!e.__esModule?gr(r,"default",{value:e,enumerable:!0}):r,e));var cn=Pt((xr,sn)=>{(function(e,t){typeof xr=="object"&&typeof sn!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(xr,function(){"use strict";function e(r){var n=!0,o=!1,i=null,s={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function a(T){return!!(T&&T!==document&&T.nodeName!=="HTML"&&T.nodeName!=="BODY"&&"classList"in T&&"contains"in T.classList)}function c(T){var Qe=T.type,De=T.tagName;return!!(De==="INPUT"&&s[Qe]&&!T.readOnly||De==="TEXTAREA"&&!T.readOnly||T.isContentEditable)}function f(T){T.classList.contains("focus-visible")||(T.classList.add("focus-visible"),T.setAttribute("data-focus-visible-added",""))}function u(T){T.hasAttribute("data-focus-visible-added")&&(T.classList.remove("focus-visible"),T.removeAttribute("data-focus-visible-added"))}function p(T){T.metaKey||T.altKey||T.ctrlKey||(a(r.activeElement)&&f(r.activeElement),n=!0)}function m(T){n=!1}function d(T){a(T.target)&&(n||c(T.target))&&f(T.target)}function h(T){a(T.target)&&(T.target.classList.contains("focus-visible")||T.target.hasAttribute("data-focus-visible-added"))&&(o=!0,window.clearTimeout(i),i=window.setTimeout(function(){o=!1},100),u(T.target))}function v(T){document.visibilityState==="hidden"&&(o&&(n=!0),G())}function G(){document.addEventListener("mousemove",N),document.addEventListener("mousedown",N),document.addEventListener("mouseup",N),document.addEventListener("pointermove",N),document.addEventListener("pointerdown",N),document.addEventListener("pointerup",N),document.addEventListener("touchmove",N),document.addEventListener("touchstart",N),document.addEventListener("touchend",N)}function oe(){document.removeEventListener("mousemove",N),document.removeEventListener("mousedown",N),document.removeEventListener("mouseup",N),document.removeEventListener("pointermove",N),document.removeEventListener("pointerdown",N),document.removeEventListener("pointerup",N),document.removeEventListener("touchmove",N),document.removeEventListener("touchstart",N),document.removeEventListener("touchend",N)}function N(T){T.target.nodeName&&T.target.nodeName.toLowerCase()==="html"||(n=!1,oe())}document.addEventListener("keydown",p,!0),document.addEventListener("mousedown",m,!0),document.addEventListener("pointerdown",m,!0),document.addEventListener("touchstart",m,!0),document.addEventListener("visibilitychange",v,!0),G(),r.addEventListener("focus",d,!0),r.addEventListener("blur",h,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var fn=Pt(Er=>{(function(e){var t=function(){try{return!!Symbol.iterator}catch(f){return!1}},r=t(),n=function(f){var u={next:function(){var p=f.shift();return{done:p===void 0,value:p}}};return r&&(u[Symbol.iterator]=function(){return u}),u},o=function(f){return encodeURIComponent(f).replace(/%20/g,"+")},i=function(f){return decodeURIComponent(String(f).replace(/\+/g," "))},s=function(){var f=function(p){Object.defineProperty(this,"_entries",{writable:!0,value:{}});var m=typeof p;if(m!=="undefined")if(m==="string")p!==""&&this._fromString(p);else if(p instanceof f){var d=this;p.forEach(function(oe,N){d.append(N,oe)})}else if(p!==null&&m==="object")if(Object.prototype.toString.call(p)==="[object Array]")for(var h=0;hd[0]?1:0}),f._entries&&(f._entries={});for(var p=0;p1?i(d[1]):"")}})})(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:Er);(function(e){var t=function(){try{var o=new e.URL("b","http://a");return o.pathname="c d",o.href==="http://a/c%20d"&&o.searchParams}catch(i){return!1}},r=function(){var o=e.URL,i=function(c,f){typeof c!="string"&&(c=String(c)),f&&typeof f!="string"&&(f=String(f));var u=document,p;if(f&&(e.location===void 0||f!==e.location.href)){f=f.toLowerCase(),u=document.implementation.createHTMLDocument(""),p=u.createElement("base"),p.href=f,u.head.appendChild(p);try{if(p.href.indexOf(f)!==0)throw new Error(p.href)}catch(T){throw new Error("URL unable to set base "+f+" due to "+T)}}var m=u.createElement("a");m.href=c,p&&(u.body.appendChild(m),m.href=m.href);var d=u.createElement("input");if(d.type="url",d.value=c,m.protocol===":"||!/:/.test(m.href)||!d.checkValidity()&&!f)throw new TypeError("Invalid URL");Object.defineProperty(this,"_anchorElement",{value:m});var h=new e.URLSearchParams(this.search),v=!0,G=!0,oe=this;["append","delete","set"].forEach(function(T){var Qe=h[T];h[T]=function(){Qe.apply(h,arguments),v&&(G=!1,oe.search=h.toString(),G=!0)}}),Object.defineProperty(this,"searchParams",{value:h,enumerable:!0});var N=void 0;Object.defineProperty(this,"_updateSearchParams",{enumerable:!1,configurable:!1,writable:!1,value:function(){this.search!==N&&(N=this.search,G&&(v=!1,this.searchParams._fromString(this.search),v=!0))}})},s=i.prototype,a=function(c){Object.defineProperty(s,c,{get:function(){return this._anchorElement[c]},set:function(f){this._anchorElement[c]=f},enumerable:!0})};["hash","host","hostname","port","protocol"].forEach(function(c){a(c)}),Object.defineProperty(s,"search",{get:function(){return this._anchorElement.search},set:function(c){this._anchorElement.search=c,this._updateSearchParams()},enumerable:!0}),Object.defineProperties(s,{toString:{get:function(){var c=this;return function(){return c.href}}},href:{get:function(){return this._anchorElement.href.replace(/\?$/,"")},set:function(c){this._anchorElement.href=c,this._updateSearchParams()},enumerable:!0},pathname:{get:function(){return this._anchorElement.pathname.replace(/(^\/?)/,"/")},set:function(c){this._anchorElement.pathname=c},enumerable:!0},origin:{get:function(){var c={"http:":80,"https:":443,"ftp:":21}[this._anchorElement.protocol],f=this._anchorElement.port!=c&&this._anchorElement.port!=="";return this._anchorElement.protocol+"//"+this._anchorElement.hostname+(f?":"+this._anchorElement.port:"")},enumerable:!0},password:{get:function(){return""},set:function(c){},enumerable:!0},username:{get:function(){return""},set:function(c){},enumerable:!0}}),i.createObjectURL=function(c){return o.createObjectURL.apply(o,arguments)},i.revokeObjectURL=function(c){return o.revokeObjectURL.apply(o,arguments)},e.URL=i};if(t()||r(),e.location!==void 0&&!("origin"in e.location)){var n=function(){return e.location.protocol+"//"+e.location.hostname+(e.location.port?":"+e.location.port:"")};try{Object.defineProperty(e.location,"origin",{get:n,enumerable:!0})}catch(o){setInterval(function(){e.location.origin=n()},100)}}})(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:Er)});var Kr=Pt((Mt,qr)=>{/*! - * clipboard.js v2.0.11 - * https://clipboardjs.com/ - * - * Licensed MIT © Zeno Rocha - */(function(t,r){typeof Mt=="object"&&typeof qr=="object"?qr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Mt=="object"?Mt.ClipboardJS=r():t.ClipboardJS=r()})(Mt,function(){return function(){var e={686:function(n,o,i){"use strict";i.d(o,{default:function(){return Ci}});var s=i(279),a=i.n(s),c=i(370),f=i.n(c),u=i(817),p=i.n(u);function m(j){try{return document.execCommand(j)}catch(O){return!1}}var d=function(O){var E=p()(O);return m("cut"),E},h=d;function v(j){var O=document.documentElement.getAttribute("dir")==="rtl",E=document.createElement("textarea");E.style.fontSize="12pt",E.style.border="0",E.style.padding="0",E.style.margin="0",E.style.position="absolute",E.style[O?"right":"left"]="-9999px";var H=window.pageYOffset||document.documentElement.scrollTop;return E.style.top="".concat(H,"px"),E.setAttribute("readonly",""),E.value=j,E}var G=function(O,E){var H=v(O);E.container.appendChild(H);var I=p()(H);return m("copy"),H.remove(),I},oe=function(O){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},H="";return typeof O=="string"?H=G(O,E):O instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(O==null?void 0:O.type)?H=G(O.value,E):(H=p()(O),m("copy")),H},N=oe;function T(j){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?T=function(E){return typeof E}:T=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},T(j)}var Qe=function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=O.action,H=E===void 0?"copy":E,I=O.container,q=O.target,Me=O.text;if(H!=="copy"&&H!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(q!==void 0)if(q&&T(q)==="object"&&q.nodeType===1){if(H==="copy"&&q.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(H==="cut"&&(q.hasAttribute("readonly")||q.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(Me)return N(Me,{container:I});if(q)return H==="cut"?h(q):N(q,{container:I})},De=Qe;function $e(j){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$e=function(E){return typeof E}:$e=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},$e(j)}function wi(j,O){if(!(j instanceof O))throw new TypeError("Cannot call a class as a function")}function rn(j,O){for(var E=0;E0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof I.action=="function"?I.action:this.defaultAction,this.target=typeof I.target=="function"?I.target:this.defaultTarget,this.text=typeof I.text=="function"?I.text:this.defaultText,this.container=$e(I.container)==="object"?I.container:document.body}},{key:"listenClick",value:function(I){var q=this;this.listener=f()(I,"click",function(Me){return q.onClick(Me)})}},{key:"onClick",value:function(I){var q=I.delegateTarget||I.currentTarget,Me=this.action(q)||"copy",kt=De({action:Me,container:this.container,target:this.target(q),text:this.text(q)});this.emit(kt?"success":"error",{action:Me,text:kt,trigger:q,clearSelection:function(){q&&q.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(I){return vr("action",I)}},{key:"defaultTarget",value:function(I){var q=vr("target",I);if(q)return document.querySelector(q)}},{key:"defaultText",value:function(I){return vr("text",I)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(I){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return N(I,q)}},{key:"cut",value:function(I){return h(I)}},{key:"isSupported",value:function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],q=typeof I=="string"?[I]:I,Me=!!document.queryCommandSupported;return q.forEach(function(kt){Me=Me&&!!document.queryCommandSupported(kt)}),Me}}]),E}(a()),Ci=Ai},828:function(n){var o=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function s(a,c){for(;a&&a.nodeType!==o;){if(typeof a.matches=="function"&&a.matches(c))return a;a=a.parentNode}}n.exports=s},438:function(n,o,i){var s=i(828);function a(u,p,m,d,h){var v=f.apply(this,arguments);return u.addEventListener(m,v,h),{destroy:function(){u.removeEventListener(m,v,h)}}}function c(u,p,m,d,h){return typeof u.addEventListener=="function"?a.apply(null,arguments):typeof m=="function"?a.bind(null,document).apply(null,arguments):(typeof u=="string"&&(u=document.querySelectorAll(u)),Array.prototype.map.call(u,function(v){return a(v,p,m,d,h)}))}function f(u,p,m,d){return function(h){h.delegateTarget=s(h.target,p),h.delegateTarget&&d.call(u,h)}}n.exports=c},879:function(n,o){o.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},o.nodeList=function(i){var s=Object.prototype.toString.call(i);return i!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in i&&(i.length===0||o.node(i[0]))},o.string=function(i){return typeof i=="string"||i instanceof String},o.fn=function(i){var s=Object.prototype.toString.call(i);return s==="[object Function]"}},370:function(n,o,i){var s=i(879),a=i(438);function c(m,d,h){if(!m&&!d&&!h)throw new Error("Missing required arguments");if(!s.string(d))throw new TypeError("Second argument must be a String");if(!s.fn(h))throw new TypeError("Third argument must be a Function");if(s.node(m))return f(m,d,h);if(s.nodeList(m))return u(m,d,h);if(s.string(m))return p(m,d,h);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function f(m,d,h){return m.addEventListener(d,h),{destroy:function(){m.removeEventListener(d,h)}}}function u(m,d,h){return Array.prototype.forEach.call(m,function(v){v.addEventListener(d,h)}),{destroy:function(){Array.prototype.forEach.call(m,function(v){v.removeEventListener(d,h)})}}}function p(m,d,h){return a(document.body,m,d,h)}n.exports=c},817:function(n){function o(i){var s;if(i.nodeName==="SELECT")i.focus(),s=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var a=i.hasAttribute("readonly");a||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),a||i.removeAttribute("readonly"),s=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var c=window.getSelection(),f=document.createRange();f.selectNodeContents(i),c.removeAllRanges(),c.addRange(f),s=c.toString()}return s}n.exports=o},279:function(n){function o(){}o.prototype={on:function(i,s,a){var c=this.e||(this.e={});return(c[i]||(c[i]=[])).push({fn:s,ctx:a}),this},once:function(i,s,a){var c=this;function f(){c.off(i,f),s.apply(a,arguments)}return f._=s,this.on(i,f,a)},emit:function(i){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[i]||[]).slice(),c=0,f=a.length;for(c;c{"use strict";/*! - * escape-html - * Copyright(c) 2012-2013 TJ Holowaychuk - * Copyright(c) 2015 Andreas Lubbe - * Copyright(c) 2015 Tiancheng "Timothy" Gu - * MIT Licensed - */var ns=/["'&<>]/;Go.exports=os;function os(e){var t=""+e,r=ns.exec(t);if(!r)return t;var n,o="",i=0,s=0;for(i=r.index;i0&&i[i.length-1])&&(f[0]===6||f[0]===2)){r=0;continue}if(f[0]===3&&(!i||f[1]>i[0]&&f[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function W(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,i=[],s;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return i}function D(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,i;n1||a(m,d)})})}function a(m,d){try{c(n[m](d))}catch(h){p(i[0][3],h)}}function c(m){m.value instanceof et?Promise.resolve(m.value.v).then(f,u):p(i[0][2],m)}function f(m){a("next",m)}function u(m){a("throw",m)}function p(m,d){m(d),i.shift(),i.length&&a(i[0][0],i[0][1])}}function ln(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof Ee=="function"?Ee(e):e[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(i){r[i]=e[i]&&function(s){return new Promise(function(a,c){s=e[i](s),o(a,c,s.done,s.value)})}}function o(i,s,a,c){Promise.resolve(c).then(function(f){i({value:f,done:a})},s)}}function C(e){return typeof e=="function"}function at(e){var t=function(n){Error.call(n),n.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var It=at(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: -`+r.map(function(n,o){return o+1+") "+n.toString()}).join(` - `):"",this.name="UnsubscriptionError",this.errors=r}});function Ve(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Ie=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,n,o,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=Ee(s),c=a.next();!c.done;c=a.next()){var f=c.value;f.remove(this)}}catch(v){t={error:v}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var u=this.initialTeardown;if(C(u))try{u()}catch(v){i=v instanceof It?v.errors:[v]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var m=Ee(p),d=m.next();!d.done;d=m.next()){var h=d.value;try{mn(h)}catch(v){i=i!=null?i:[],v instanceof It?i=D(D([],W(i)),W(v.errors)):i.push(v)}}}catch(v){n={error:v}}finally{try{d&&!d.done&&(o=m.return)&&o.call(m)}finally{if(n)throw n.error}}}if(i)throw new It(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)mn(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Ve(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Ve(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Sr=Ie.EMPTY;function jt(e){return e instanceof Ie||e&&"closed"in e&&C(e.remove)&&C(e.add)&&C(e.unsubscribe)}function mn(e){C(e)?e():e.unsubscribe()}var Le={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var st={setTimeout:function(e,t){for(var r=[],n=2;n0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var n=this,o=this,i=o.hasError,s=o.isStopped,a=o.observers;return i||s?Sr:(this.currentObservers=null,a.push(r),new Ie(function(){n.currentObservers=null,Ve(a,r)}))},t.prototype._checkFinalizedStatuses=function(r){var n=this,o=n.hasError,i=n.thrownError,s=n.isStopped;o?r.error(i):s&&r.complete()},t.prototype.asObservable=function(){var r=new F;return r.source=this,r},t.create=function(r,n){return new En(r,n)},t}(F);var En=function(e){ie(t,e);function t(r,n){var o=e.call(this)||this;return o.destination=r,o.source=n,o}return t.prototype.next=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,r)},t.prototype.error=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.call(n,r)},t.prototype.complete=function(){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||n===void 0||n.call(r)},t.prototype._subscribe=function(r){var n,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(r))!==null&&o!==void 0?o:Sr},t}(x);var Et={now:function(){return(Et.delegate||Date).now()},delegate:void 0};var wt=function(e){ie(t,e);function t(r,n,o){r===void 0&&(r=1/0),n===void 0&&(n=1/0),o===void 0&&(o=Et);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=n,i._timestampProvider=o,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,n),i}return t.prototype.next=function(r){var n=this,o=n.isStopped,i=n._buffer,s=n._infiniteTimeWindow,a=n._timestampProvider,c=n._windowTime;o||(i.push(r),!s&&i.push(a.now()+c)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var n=this._innerSubscribe(r),o=this,i=o._infiniteTimeWindow,s=o._buffer,a=s.slice(),c=0;c0?e.prototype.requestAsyncId.call(this,r,n,o):(r.actions.push(this),r._scheduled||(r._scheduled=ut.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,n,o){var i;if(o===void 0&&(o=0),o!=null?o>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,n,o);var s=r.actions;n!=null&&((i=s[s.length-1])===null||i===void 0?void 0:i.id)!==n&&(ut.cancelAnimationFrame(n),r._scheduled=void 0)},t}(Wt);var Tn=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var n=this._scheduled;this._scheduled=void 0;var o=this.actions,i;r=r||o.shift();do if(i=r.execute(r.state,r.delay))break;while((r=o[0])&&r.id===n&&o.shift());if(this._active=!1,i){for(;(r=o[0])&&r.id===n&&o.shift();)r.unsubscribe();throw i}},t}(Dt);var Te=new Tn(Sn);var _=new F(function(e){return e.complete()});function Vt(e){return e&&C(e.schedule)}function Cr(e){return e[e.length-1]}function Ye(e){return C(Cr(e))?e.pop():void 0}function Oe(e){return Vt(Cr(e))?e.pop():void 0}function zt(e,t){return typeof Cr(e)=="number"?e.pop():t}var pt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Nt(e){return C(e==null?void 0:e.then)}function qt(e){return C(e[ft])}function Kt(e){return Symbol.asyncIterator&&C(e==null?void 0:e[Symbol.asyncIterator])}function Qt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Ni(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Yt=Ni();function Gt(e){return C(e==null?void 0:e[Yt])}function Bt(e){return pn(this,arguments,function(){var r,n,o,i;return $t(this,function(s){switch(s.label){case 0:r=e.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,et(r.read())];case 3:return n=s.sent(),o=n.value,i=n.done,i?[4,et(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,et(o)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function Jt(e){return C(e==null?void 0:e.getReader)}function U(e){if(e instanceof F)return e;if(e!=null){if(qt(e))return qi(e);if(pt(e))return Ki(e);if(Nt(e))return Qi(e);if(Kt(e))return On(e);if(Gt(e))return Yi(e);if(Jt(e))return Gi(e)}throw Qt(e)}function qi(e){return new F(function(t){var r=e[ft]();if(C(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Ki(e){return new F(function(t){for(var r=0;r=2;return function(n){return n.pipe(e?A(function(o,i){return e(o,i,n)}):de,ge(1),r?He(t):Vn(function(){return new Zt}))}}function zn(){for(var e=[],t=0;t=2,!0))}function pe(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new x}:t,n=e.resetOnError,o=n===void 0?!0:n,i=e.resetOnComplete,s=i===void 0?!0:i,a=e.resetOnRefCountZero,c=a===void 0?!0:a;return function(f){var u,p,m,d=0,h=!1,v=!1,G=function(){p==null||p.unsubscribe(),p=void 0},oe=function(){G(),u=m=void 0,h=v=!1},N=function(){var T=u;oe(),T==null||T.unsubscribe()};return y(function(T,Qe){d++,!v&&!h&&G();var De=m=m!=null?m:r();Qe.add(function(){d--,d===0&&!v&&!h&&(p=$r(N,c))}),De.subscribe(Qe),!u&&d>0&&(u=new rt({next:function($e){return De.next($e)},error:function($e){v=!0,G(),p=$r(oe,o,$e),De.error($e)},complete:function(){h=!0,G(),p=$r(oe,s),De.complete()}}),U(T).subscribe(u))})(f)}}function $r(e,t){for(var r=[],n=2;ne.next(document)),e}function K(e,t=document){return Array.from(t.querySelectorAll(e))}function z(e,t=document){let r=ce(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function ce(e,t=document){return t.querySelector(e)||void 0}function _e(){return document.activeElement instanceof HTMLElement&&document.activeElement||void 0}function tr(e){return L(b(document.body,"focusin"),b(document.body,"focusout")).pipe(ke(1),l(()=>{let t=_e();return typeof t!="undefined"?e.contains(t):!1}),V(e===_e()),B())}function Xe(e){return{x:e.offsetLeft,y:e.offsetTop}}function Qn(e){return L(b(window,"load"),b(window,"resize")).pipe(Ce(0,Te),l(()=>Xe(e)),V(Xe(e)))}function rr(e){return{x:e.scrollLeft,y:e.scrollTop}}function dt(e){return L(b(e,"scroll"),b(window,"resize")).pipe(Ce(0,Te),l(()=>rr(e)),V(rr(e)))}var Gn=function(){if(typeof Map!="undefined")return Map;function e(t,r){var n=-1;return t.some(function(o,i){return o[0]===r?(n=i,!0):!1}),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(r){var n=e(this.__entries__,r),o=this.__entries__[n];return o&&o[1]},t.prototype.set=function(r,n){var o=e(this.__entries__,r);~o?this.__entries__[o][1]=n:this.__entries__.push([r,n])},t.prototype.delete=function(r){var n=this.__entries__,o=e(n,r);~o&&n.splice(o,1)},t.prototype.has=function(r){return!!~e(this.__entries__,r)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(r,n){n===void 0&&(n=null);for(var o=0,i=this.__entries__;o0},e.prototype.connect_=function(){!Dr||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),ga?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){!Dr||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(t){var r=t.propertyName,n=r===void 0?"":r,o=va.some(function(i){return!!~n.indexOf(i)});o&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),Bn=function(e,t){for(var r=0,n=Object.keys(t);r0},e}(),Xn=typeof WeakMap!="undefined"?new WeakMap:new Gn,Zn=function(){function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=ya.getInstance(),n=new Aa(t,r,this);Xn.set(this,n)}return e}();["observe","unobserve","disconnect"].forEach(function(e){Zn.prototype[e]=function(){var t;return(t=Xn.get(this))[e].apply(t,arguments)}});var Ca=function(){return typeof nr.ResizeObserver!="undefined"?nr.ResizeObserver:Zn}(),eo=Ca;var to=new x,Ra=$(()=>k(new eo(e=>{for(let t of e)to.next(t)}))).pipe(g(e=>L(ze,k(e)).pipe(R(()=>e.disconnect()))),J(1));function he(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ye(e){return Ra.pipe(S(t=>t.observe(e)),g(t=>to.pipe(A(({target:r})=>r===e),R(()=>t.unobserve(e)),l(()=>he(e)))),V(he(e)))}function bt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function ar(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}var ro=new x,ka=$(()=>k(new IntersectionObserver(e=>{for(let t of e)ro.next(t)},{threshold:0}))).pipe(g(e=>L(ze,k(e)).pipe(R(()=>e.disconnect()))),J(1));function sr(e){return ka.pipe(S(t=>t.observe(e)),g(t=>ro.pipe(A(({target:r})=>r===e),R(()=>t.unobserve(e)),l(({isIntersecting:r})=>r))))}function no(e,t=16){return dt(e).pipe(l(({y:r})=>{let n=he(e),o=bt(e);return r>=o.height-n.height-t}),B())}var cr={drawer:z("[data-md-toggle=drawer]"),search:z("[data-md-toggle=search]")};function oo(e){return cr[e].checked}function Ke(e,t){cr[e].checked!==t&&cr[e].click()}function Ue(e){let t=cr[e];return b(t,"change").pipe(l(()=>t.checked),V(t.checked))}function Ha(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function Pa(){return L(b(window,"compositionstart").pipe(l(()=>!0)),b(window,"compositionend").pipe(l(()=>!1))).pipe(V(!1))}function io(){let e=b(window,"keydown").pipe(A(t=>!(t.metaKey||t.ctrlKey)),l(t=>({mode:oo("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),A(({mode:t,type:r})=>{if(t==="global"){let n=_e();if(typeof n!="undefined")return!Ha(n,r)}return!0}),pe());return Pa().pipe(g(t=>t?_:e))}function le(){return new URL(location.href)}function ot(e){location.href=e.href}function ao(){return new x}function so(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)so(e,r)}function M(e,t,...r){let n=document.createElement(e);if(t)for(let o of Object.keys(t))typeof t[o]!="undefined"&&(typeof t[o]!="boolean"?n.setAttribute(o,t[o]):n.setAttribute(o,""));for(let o of r)so(n,o);return n}function fr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function co(){return location.hash.substring(1)}function Vr(e){let t=M("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function $a(e){return L(b(window,"hashchange"),e).pipe(l(co),V(co()),A(t=>t.length>0),J(1))}function fo(e){return $a(e).pipe(l(t=>ce(`[id="${t}"]`)),A(t=>typeof t!="undefined"))}function zr(e){let t=matchMedia(e);return er(r=>t.addListener(()=>r(t.matches))).pipe(V(t.matches))}function uo(){let e=matchMedia("print");return L(b(window,"beforeprint").pipe(l(()=>!0)),b(window,"afterprint").pipe(l(()=>!1))).pipe(V(e.matches))}function Nr(e,t){return e.pipe(g(r=>r?t():_))}function ur(e,t={credentials:"same-origin"}){return ue(fetch(`${e}`,t)).pipe(fe(()=>_),g(r=>r.status!==200?Tt(()=>new Error(r.statusText)):k(r)))}function We(e,t){return ur(e,t).pipe(g(r=>r.json()),J(1))}function po(e,t){let r=new DOMParser;return ur(e,t).pipe(g(n=>n.text()),l(n=>r.parseFromString(n,"text/xml")),J(1))}function pr(e){let t=M("script",{src:e});return $(()=>(document.head.appendChild(t),L(b(t,"load"),b(t,"error").pipe(g(()=>Tt(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(l(()=>{}),R(()=>document.head.removeChild(t)),ge(1))))}function lo(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function mo(){return L(b(window,"scroll",{passive:!0}),b(window,"resize",{passive:!0})).pipe(l(lo),V(lo()))}function ho(){return{width:innerWidth,height:innerHeight}}function bo(){return b(window,"resize",{passive:!0}).pipe(l(ho),V(ho()))}function vo(){return Q([mo(),bo()]).pipe(l(([e,t])=>({offset:e,size:t})),J(1))}function lr(e,{viewport$:t,header$:r}){let n=t.pipe(Z("size")),o=Q([n,r]).pipe(l(()=>Xe(e)));return Q([r,t,o]).pipe(l(([{height:i},{offset:s,size:a},{x:c,y:f}])=>({offset:{x:s.x-c,y:s.y-f+i},size:a})))}(()=>{function e(n,o){parent.postMessage(n,o||"*")}function t(...n){return n.reduce((o,i)=>o.then(()=>new Promise(s=>{let a=document.createElement("script");a.src=i,a.onload=s,document.body.appendChild(a)})),Promise.resolve())}var r=class extends EventTarget{constructor(n){super(),this.url=n,this.m=i=>{i.source===this.w&&(this.dispatchEvent(new MessageEvent("message",{data:i.data})),this.onmessage&&this.onmessage(i))},this.e=(i,s,a,c,f)=>{if(s===`${this.url}`){let u=new ErrorEvent("error",{message:i,filename:s,lineno:a,colno:c,error:f});this.dispatchEvent(u),this.onerror&&this.onerror(u)}};let o=document.createElement("iframe");o.hidden=!0,document.body.appendChild(this.iframe=o),this.w.document.open(),this.w.document.write(` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - -
- - -
- -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - -
-
-
- - - -
-
-
- - - -
-
-
- - - -
-
- - - - -

This is a MD file

-

Text can be bold, italic, or strikethrough. Links should be blue with no underlines (unless hovered over).

-

Even LaTex expression work: $\delta_{\alpha}$.

-

There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.

-

There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.

-
-

There should be no margin above this first sentence.

-

Blockquotes should be a lighter gray with a gray border along the left side.

-

There should be no margin below this final sentence.

-
-

Header 2

-

This is a normal paragraph following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.

-

Header 2

-
-

This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.

-
-

Header 3

-
This is a code block following a header.
-
-

Header 4

-
    -
  • This is an unordered list following a header.
  • -
  • This is an unordered list following a header.
  • -
  • This is an unordered list following a header.
  • -
-
Header 5
-
    -
  1. This is an ordered list following a header.
  2. -
  3. This is an ordered list following a header.
  4. -
  5. This is an ordered list following a header.
  6. -
-
Header 6
- - - - - - - - - - - - - - - - - - - - - -
WhatFollows
A tableA header
A tableA header
A tableA header
-
-

There's a horizontal rule above and below this.

-
-

Here is an unordered list:

-
    -
  • Salt-n-Pepa
  • -
  • Bel Biv DeVoe
  • -
  • Kid 'N Play
  • -
-

And an ordered list:

-
    -
  1. Michael Jackson
  2. -
  3. Michael Bolton
  4. -
  5. Michael Bublé
  6. -
-

And an unordered task list:

-
    -
  • [x] Create a sample markdown document
  • -
  • [x] Add task lists to it
  • -
  • [ ] Take a vacation
  • -
-

And a "mixed" task list:

-
    -
  • [ ] Steal underpants
  • -
  • ?
  • -
  • [ ] Profit!
  • -
-

And a nested list:

-
    -
  • Jackson 5
  • -
  • Michael
  • -
  • Tito
  • -
  • Jackie
  • -
  • Marlon
  • -
  • Jermaine
  • -
  • TMNT
  • -
  • Leonardo
  • -
  • Michelangelo
  • -
  • Donatello
  • -
  • Raphael
  • -
-

Definition lists can be used with HTML syntax. Definition terms are bold and italic.

-
-
Name
-
Godzilla
-
Born
-
1952
-
Birthplace
-
Japan
-
Color
-
Green
-
- -
-

Tables should have bold headings and alternating shaded rows.

- - - - - - - - - - - - - - - - - - - - - - - - - -
ArtistAlbumYear
Michael JacksonThriller1982
PrincePurple Rain1984
Beastie BoysLicense to Ill1986
-

If a table is too wide, it should condense down and/or scroll horizontally.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ArtistAlbumYearLabelAwardsSongs
Michael JacksonThriller1982Epic RecordsGrammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-ClassicalWanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life
PrincePurple Rain1984Warner Brothers RecordsGrammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with VocalLet's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain
Beastie BoysLicense to Ill1986Mercury RecordsnoawardsbutthistablecelliswideRhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill
-
-

Code snippets like var foo = "bar"; can be shown inline.

-

Also, this should vertically align ~~with this~~ ~~and this~~.

-

Code can also be shown in a block element.

-
var foo = "bar";
-
-
| Language    | Code               |
-|-------------|--------------------|
-| Javascript  | `var foo = "bar";` |
-| Ruby        | `foo = "bar"`      |
-
-

Code can also use syntax highlighting.

-
var foo = "bar";
-
-
Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
-
-
var foo = "The same thing is true for code with syntax highlighting. A single line of code should horizontally scroll if it is really long.";
-
-
class CustomMarkdownRendered(IPythonRenderer):
-    def block_code(self, code, lang):
-        if lang:
-            try:
-                lexer = get_lexer_by_name(lang, stripall=True)
-            except ClassNotFound:
-                code = lang + "\n" + code
-                lang = None
-                lexer = None
-
-        if not lang:
-            return "\n<pre><code>%s</code></pre>\n" % mistune.escape(code)
-
-        formatter = CodeHtmlFormatter()
-        return highlight(code, lexer, formatter)
-
-

Inline code inside table cells should still be distinguishable.

- - - - - - - - - - - - - - - - - -
LanguageCode
Javascriptvar foo = "bar";
Rubyfoo = "bar"
-
-

Small images should be shown at their actual size.

-

-

Large images should always scale down and fit in the content container.

-

-

This is the final element on the page and there should be no margin below this.

- - - - - - - - -
-
- - -
- -
- - - -
-
-
-
- - - - - - - - - \ No newline at end of file diff --git a/demo/site/demo-nb-md.ipynb b/demo/site/demo-nb-md.ipynb deleted file mode 100644 index 46520e8..0000000 --- a/demo/site/demo-nb-md.ipynb +++ /dev/null @@ -1,251 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Jupyter Notebook with Markdown\n", - "\n", - "Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://github.com) should be blue with no underlines (unless hovered over).\n", - "\n", - "Even LaTex expression work: $\\delta_{\\alpha}$.\n", - "\n", - "There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.\n", - "\n", - "There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.\n", - "\n", - "> There should be no margin above this first sentence.\n", - ">\n", - "> Blockquotes should be a lighter gray with a gray border along the left side.\n", - ">\n", - "> There should be no margin below this final sentence.\n", - "\n", - "## Header 2\n", - "\n", - "This is a normal paragraph following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.\n", - "\n", - "## Header 2\n", - "\n", - "> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.\n", - "\n", - "### Header 3\n", - "\n", - "```\n", - "This is a code block following a header.\n", - "```\n", - "\n", - "#### Header 4\n", - "\n", - "* This is an unordered list following a header.\n", - "* This is an unordered list following a header.\n", - "* This is an unordered list following a header.\n", - "\n", - "##### Header 5\n", - "\n", - "1. This is an ordered list following a header.\n", - "2. This is an ordered list following a header.\n", - "3. This is an ordered list following a header.\n", - "\n", - "###### Header 6\n", - "\n", - "| What | Follows |\n", - "|-----------|-----------------|\n", - "| A table | A header |\n", - "| A table | A header |\n", - "| A table | A header |\n", - "\n", - "----------------\n", - "\n", - "There's a horizontal rule above and below this.\n", - "\n", - "----------------\n", - "\n", - "Here is an unordered list:\n", - "\n", - "* Salt-n-Pepa\n", - "* Bel Biv DeVoe\n", - "* Kid 'N Play\n", - "\n", - "And an ordered list:\n", - "\n", - "1. Michael Jackson\n", - "2. Michael Bolton\n", - "3. Michael Bublé\n", - "\n", - "And an unordered task list:\n", - "\n", - "- [x] Create a sample markdown document\n", - "- [x] Add task lists to it\n", - "- [ ] Take a vacation\n", - "\n", - "And a \"mixed\" task list:\n", - "\n", - "- [ ] Steal underpants\n", - "- ?\n", - "- [ ] Profit!\n", - "\n", - "And a nested list:\n", - "\n", - "* Jackson 5\n", - " * Michael\n", - " * Tito\n", - " * Jackie\n", - " * Marlon\n", - " * Jermaine\n", - "* TMNT\n", - " * Leonardo\n", - " * Michelangelo\n", - " * Donatello\n", - " * Raphael\n", - "\n", - "Definition lists can be used with HTML syntax. Definition terms are bold and italic.\n", - "\n", - "
\n", - "
Name
\n", - "
Godzilla
\n", - "
Born
\n", - "
1952
\n", - "
Birthplace
\n", - "
Japan
\n", - "
Color
\n", - "
Green
\n", - "
\n", - "\n", - "----------------\n", - "\n", - "Tables should have bold headings and alternating shaded rows.\n", - "\n", - "| Artist | Album | Year |\n", - "|-------------------|-----------------|------|\n", - "| Michael Jackson | Thriller | 1982 |\n", - "| Prince | Purple Rain | 1984 |\n", - "| Beastie Boys | License to Ill | 1986 |\n", - "\n", - "If a table is too wide, it should condense down and/or scroll horizontally.\n", - "\n", - "| Artist | Album | Year | Label | Awards | Songs |\n", - "|-------------------|-----------------|------|-------------|----------|-----------|\n", - "| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life |\n", - "| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain |\n", - "| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill |\n", - "\n", - "----------------\n", - "\n", - "Code snippets like `var foo = \"bar\";` can be shown inline.\n", - "\n", - "Also, `this should vertically align` ~~`with this`~~ ~~and this~~.\n", - "\n", - "Code can also be shown in a block element.\n", - "\n", - "```\n", - "var foo = \"bar\";\n", - "```\n", - "\n", - "```\n", - "| Language | Code |\n", - "|-------------|--------------------|\n", - "| Javascript | `var foo = \"bar\";` |\n", - "| Ruby | `foo = \"bar\"` |\n", - "```\n", - "\n", - "Code can also use syntax highlighting.\n", - "\n", - "```javascript\n", - "var foo = \"bar\";\n", - "```\n", - "\n", - "```\n", - "Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.\n", - "```\n", - "\n", - "```javascript\n", - "var foo = \"The same thing is true for code with syntax highlighting. A single line of code should horizontally scroll if it is really long.\";\n", - "```\n", - "\n", - "```python\n", - "class CustomMarkdownRendered(IPythonRenderer):\n", - " def block_code(self, code, lang):\n", - " if lang:\n", - " try:\n", - " lexer = get_lexer_by_name(lang, stripall=True)\n", - " except ClassNotFound:\n", - " code = lang + \"\\n\" + code\n", - " lang = None\n", - " lexer = None\n", - "\n", - " if not lang:\n", - " return \"\\n
%s
\\n\" % mistune.escape(code)\n", - "\n", - " formatter = CodeHtmlFormatter()\n", - " return highlight(code, lexer, formatter)\n", - "```\n", - "\n", - "\n", - "Inline code inside table cells should still be distinguishable.\n", - "\n", - "| Language | Code |\n", - "|-------------|--------------------|\n", - "| Javascript | `var foo = \"bar\";` |\n", - "| Ruby | `foo = \"bar\"` |\n", - "\n", - "----------------\n", - "\n", - "Small images should be shown at their actual size.\n", - "\n", - "![](http://placekitten.com/g/300/200/)\n", - "\n", - "Large images should always scale down and fit in the content container.\n", - "\n", - "![](http://placekitten.com/g/1200/800/)\n", - "\n", - "This is the final element on the page and there should be no margin below this.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Image on the docs\n", - "\n", - "If you have an image in mkdocs just add it in markdown, it won't be displayed in the Juptyer IDE but it will work on the mkdocs site.\n", - "\n", - "![Screenshot](/img/jupyter.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## mkdocs-material things\n", - "\n", - "
\n", - "

Note

\n", - "

\n", - " If two distributions are similar, then their entropies are similar, implies the KL divergence with respect to two distributions will be smaller. And vica versa. In Variational Inference, the whole idea is to minimize KL divergence so that our approximating distribution $q(\\theta)$ can be made similar to $p(\\theta|D)$.\n", - "

\n", - "
" - ] - } - ], - "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.8.8" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/demo/site/demo-nb.ipynb b/demo/site/demo-nb.ipynb deleted file mode 100644 index 8b1fad6..0000000 --- a/demo/site/demo-nb.ipynb +++ /dev/null @@ -1,1875 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Jupyter Notebook with cells\n", - "\n", - "Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://github.com) should be blue with no underlines (unless hovered over)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Code cells\n", - "\n", - "This first code cells have some tags" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "tags": [ - "tag1" - ] - }, - "outputs": [], - "source": [ - "a = 1" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "tags": [ - "tag1", - "tag2" - ] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "1" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "a" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "tags": [ - "tag1", - "tag2", - "tag3" - ] - }, - "outputs": [], - "source": [ - "b = 'pew'" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'pew'" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "b" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "import re" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "text = 'foo bar\\t baz \\tqux'" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['foo', 'bar', 'baz', 'qux']" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "re.split('\\s+', text)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Equations" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "\\begin{align}\n", - "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n", - "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n", - "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n", - "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0\n", - "\\end{align}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "%%latex\n", - "\\begin{align}\n", - "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n", - "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n", - "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n", - "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0\n", - "\\end{align}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Pandas DataFrames" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
ABCD
2013-01-01-0.381074-0.4613640.3372760.749400
2013-01-020.9719300.7903640.863955-2.754741
2013-01-03-0.9526071.059292-0.003268-1.314800
2013-01-04-0.0973680.4287090.0020231.227811
2013-01-05-0.550313-1.212144-0.776761-2.175846
2013-01-06-0.7629080.3393521.0505170.964249
\n", - "
" - ], - "text/plain": [ - " A B C D\n", - "2013-01-01 -0.381074 -0.461364 0.337276 0.749400\n", - "2013-01-02 0.971930 0.790364 0.863955 -2.754741\n", - "2013-01-03 -0.952607 1.059292 -0.003268 -1.314800\n", - "2013-01-04 -0.097368 0.428709 0.002023 1.227811\n", - "2013-01-05 -0.550313 -1.212144 -0.776761 -2.175846\n", - "2013-01-06 -0.762908 0.339352 1.050517 0.964249" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dates = pd.date_range('20130101', periods=6)\n", - "df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Plots" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "from pylab import *" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "x = linspace(0, 5, 10)\n", - "y = x ** 2" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "figure()\n", - "plot(x, y, 'r')\n", - "xlabel('x')\n", - "ylabel('y')\n", - "title('title')\n", - "show()" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "num_points = 130\n", - "y = np.random.random(num_points)\n", - "plt.plot(y)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This is some text, here comes some latex" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### bokeh" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "from bokeh.plotting import figure, output_notebook, show" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " Loading BokehJS ...\n", - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n var JS_MIME_TYPE = 'application/javascript';\n var HTML_MIME_TYPE = 'text/html';\n var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n var CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n var script = document.createElement(\"script\");\n node.appendChild(script);\n }\n\n /**\n * Handle when an output is cleared or removed\n */\n function handleClearOutput(event, handle) {\n var cell = handle.cell;\n\n var id = cell.output_area._bokeh_element_id;\n var server_id = cell.output_area._bokeh_server_id;\n // Clean up Bokeh references\n if (id != null && id in Bokeh.index) {\n Bokeh.index[id].model.document.clear();\n delete Bokeh.index[id];\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n cell.notebook.kernel.execute(cmd, {\n iopub: {\n output: function(msg) {\n var id = msg.content.text.trim();\n if (id in Bokeh.index) {\n Bokeh.index[id].model.document.clear();\n delete Bokeh.index[id];\n }\n }\n }\n });\n // Destroy server and session\n var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n\n if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n // store reference to embed id on output_area\n output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n }\n 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].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 function register_renderer(events, OutputArea) {\n\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[toinsert.length - 1]);\n element.append(toinsert);\n return toinsert\n }\n\n /* Handle when an output is cleared or removed */\n events.on('clear_output.CodeCell', handleClearOutput);\n events.on('delete.Cell', handleClearOutput);\n\n /* Handle when a new output is added */\n events.on('output_added.OutputArea', handleAddOutput);\n\n /**\n * Register the mime type and append_mime function with output_area\n */\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n /* Is output safe? */\n safe: true,\n /* Index of renderer in `output_area.display_order` */\n index: 0\n });\n }\n\n // register the mime type if in Jupyter Notebook environment and previously unregistered\n if (root.Jupyter !== undefined) {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n }\n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"
    \\n\"+\n \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n \"
  • use INLINE resources instead, as so:
  • \\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"1002\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\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, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\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 == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\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\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 }\n\n const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.1.min.js\": \"YF85VygJKMVnHE+lLv2AM93Vbstr0yo2TbIu5v8se5Rq3UQAUmcuh4aaJwNlpKwa\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.1.min.js\": \"KKuas3gevv3PvrlkyCMzffFeaMq5we/a2QsP5AUoS3mJ0jmaCL7jirFJN3GoE/lM\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.1.min.js\": \"MK/uFc3YT18pkvvXRl66tTHjP0/dxoSH2e/eiNMFIguKlun2+WVqaPTWmUy/zvh4\"};\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n if (url in hashes) {\n element.crossOrigin = \"anonymous\";\n element.integrity = \"sha384-\" + hashes[url];\n }\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\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 \n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.1.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\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 } else if (force !== true) {\n var cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));", - "application/vnd.bokehjs_load.v0+json": "" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "output_notebook()" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": "(function(root) {\n function embed_document(root) {\n \n var docs_json = {\"69bab273-f5cb-4d2a-b3fa-8eaf8ea76607\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1012\"}],\"center\":[{\"id\":\"1015\"},{\"id\":\"1019\"}],\"left\":[{\"id\":\"1016\"}],\"renderers\":[{\"id\":\"1037\"}],\"title\":{\"id\":\"1040\"},\"toolbar\":{\"id\":\"1027\"},\"x_range\":{\"id\":\"1004\"},\"x_scale\":{\"id\":\"1008\"},\"y_range\":{\"id\":\"1006\"},\"y_scale\":{\"id\":\"1010\"}},\"id\":\"1003\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"formatter\":{\"id\":\"1041\"},\"major_label_policy\":{\"id\":\"1043\"},\"ticker\":{\"id\":\"1017\"}},\"id\":\"1016\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1016\"},\"dimension\":1,\"ticker\":null},\"id\":\"1019\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"1034\"},\"glyph\":{\"id\":\"1035\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1036\"},\"view\":{\"id\":\"1038\"}},\"id\":\"1037\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1017\",\"type\":\"BasicTicker\"},{\"attributes\":{\"active_multi\":null,\"tools\":[{\"id\":\"1020\"},{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"}]},\"id\":\"1027\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1041\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1043\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1020\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1026\"}},\"id\":\"1022\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1023\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"ResetTool\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1035\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x\":[1,2,3,4,5],\"y\":[6,7,2,4,5]},\"selected\":{\"id\":\"1048\"},\"selection_policy\":{\"id\":\"1047\"}},\"id\":\"1034\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1010\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1034\"}},\"id\":\"1038\",\"type\":\"CDSView\"},{\"attributes\":{\"axis\":{\"id\":\"1012\"},\"ticker\":null},\"id\":\"1015\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1036\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1013\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1044\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1046\",\"type\":\"AllLabels\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1026\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1040\",\"type\":\"Title\"},{\"attributes\":{\"formatter\":{\"id\":\"1044\"},\"major_label_policy\":{\"id\":\"1046\"},\"ticker\":{\"id\":\"1013\"}},\"id\":\"1012\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1047\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1008\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1048\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1006\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1004\",\"type\":\"DataRange1d\"}],\"root_ids\":[\"1003\"]},\"title\":\"Bokeh Application\",\"version\":\"2.3.1\"}};\n var render_items = [{\"docid\":\"69bab273-f5cb-4d2a-b3fa-8eaf8ea76607\",\"root_ids\":[\"1003\"],\"roots\":{\"1003\":\"1a75c6e6-3377-4931-83b4-86fc3ce384a5\"}}];\n root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n var attempts = 0;\n var timer = setInterval(function(root) {\n if (root.Bokeh !== undefined) {\n clearInterval(timer);\n embed_document(root);\n } else {\n attempts++;\n if (attempts > 100) {\n clearInterval(timer);\n console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n }\n }\n }, 10, root)\n }\n})(window);", - "application/vnd.bokehjs_exec.v0+json": "" - }, - "metadata": { - "application/vnd.bokehjs_exec.v0+json": { - "id": "1003" - } - }, - "output_type": "display_data" - } - ], - "source": [ - "p = figure()\n", - "p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=2)\n", - "show(p)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### plotly\n", - "\n", - "This requires a theme modification to include Require.JS" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "import plotly.express as px" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - " \n", - " " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "hovertemplate": "sepal_width=%{x}
sepal_length=%{y}", - "legendgroup": "", - "marker": { - "color": "#636efa", - "symbol": "circle" - }, - "mode": "markers", - "name": "", - "orientation": "v", - "showlegend": false, - "type": "scatter", - "x": [ - 3.5, - 3, - 3.2, - 3.1, - 3.6, - 3.9, - 3.4, - 3.4, - 2.9, - 3.1, - 3.7, - 3.4, - 3, - 3, - 4, - 4.4, - 3.9, - 3.5, - 3.8, - 3.8, - 3.4, - 3.7, - 3.6, - 3.3, - 3.4, - 3, - 3.4, - 3.5, - 3.4, - 3.2, - 3.1, - 3.4, - 4.1, - 4.2, - 3.1, - 3.2, - 3.5, - 3.1, - 3, - 3.4, - 3.5, - 2.3, - 3.2, - 3.5, - 3.8, - 3, - 3.8, - 3.2, - 3.7, - 3.3, - 3.2, - 3.2, - 3.1, - 2.3, - 2.8, - 2.8, - 3.3, - 2.4, - 2.9, - 2.7, - 2, - 3, - 2.2, - 2.9, - 2.9, - 3.1, - 3, - 2.7, - 2.2, - 2.5, - 3.2, - 2.8, - 2.5, - 2.8, - 2.9, - 3, - 2.8, - 3, - 2.9, - 2.6, - 2.4, - 2.4, - 2.7, - 2.7, - 3, - 3.4, - 3.1, - 2.3, - 3, - 2.5, - 2.6, - 3, - 2.6, - 2.3, - 2.7, - 3, - 2.9, - 2.9, - 2.5, - 2.8, - 3.3, - 2.7, - 3, - 2.9, - 3, - 3, - 2.5, - 2.9, - 2.5, - 3.6, - 3.2, - 2.7, - 3, - 2.5, - 2.8, - 3.2, - 3, - 3.8, - 2.6, - 2.2, - 3.2, - 2.8, - 2.8, - 2.7, - 3.3, - 3.2, - 2.8, - 3, - 2.8, - 3, - 2.8, - 3.8, - 2.8, - 2.8, - 2.6, - 3, - 3.4, - 3.1, - 3, - 3.1, - 3.1, - 3.1, - 2.7, - 3.2, - 3.3, - 3, - 2.5, - 3, - 3.4, - 3 - ], - "xaxis": "x", - "y": [ - 5.1, - 4.9, - 4.7, - 4.6, - 5, - 5.4, - 4.6, - 5, - 4.4, - 4.9, - 5.4, - 4.8, - 4.8, - 4.3, - 5.8, - 5.7, - 5.4, - 5.1, - 5.7, - 5.1, - 5.4, - 5.1, - 4.6, - 5.1, - 4.8, - 5, - 5, - 5.2, - 5.2, - 4.7, - 4.8, - 5.4, - 5.2, - 5.5, - 4.9, - 5, - 5.5, - 4.9, - 4.4, - 5.1, - 5, - 4.5, - 4.4, - 5, - 5.1, - 4.8, - 5.1, - 4.6, - 5.3, - 5, - 7, - 6.4, - 6.9, - 5.5, - 6.5, - 5.7, - 6.3, - 4.9, - 6.6, - 5.2, - 5, - 5.9, - 6, - 6.1, - 5.6, - 6.7, - 5.6, - 5.8, - 6.2, - 5.6, - 5.9, - 6.1, - 6.3, - 6.1, - 6.4, - 6.6, - 6.8, - 6.7, - 6, - 5.7, - 5.5, - 5.5, - 5.8, - 6, - 5.4, - 6, - 6.7, - 6.3, - 5.6, - 5.5, - 5.5, - 6.1, - 5.8, - 5, - 5.6, - 5.7, - 5.7, - 6.2, - 5.1, - 5.7, - 6.3, - 5.8, - 7.1, - 6.3, - 6.5, - 7.6, - 4.9, - 7.3, - 6.7, - 7.2, - 6.5, - 6.4, - 6.8, - 5.7, - 5.8, - 6.4, - 6.5, - 7.7, - 7.7, - 6, - 6.9, - 5.6, - 7.7, - 6.3, - 6.7, - 7.2, - 6.2, - 6.1, - 6.4, - 7.2, - 7.4, - 7.9, - 6.4, - 6.3, - 6.1, - 7.7, - 6.3, - 6.4, - 6, - 6.9, - 6.7, - 6.9, - 5.8, - 6.8, - 6.7, - 6.7, - 6.3, - 6.5, - 6.2, - 5.9 - ], - "yaxis": "y" - } - ], - "layout": { - "legend": { - "tracegroupgap": 0 - }, - "margin": { - "t": 60 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], - "histogram": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - }, - "xaxis": { - "anchor": "y", - "domain": [ - 0, - 1 - ], - "title": { - "text": "sepal_width" - } - }, - "yaxis": { - "anchor": "x", - "domain": [ - 0, - 1 - ], - "title": { - "text": "sepal_length" - } - } - } - }, - "text/html": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "df = px.data.iris()\n", - "fig = px.scatter(df, x=\"sepal_width\", y=\"sepal_length\")\n", - "fig.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Widgets" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [ - "import ipywidgets as widgets\n" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e13102dc40ec4c109ed8a4f4a8447654", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "IntSlider(value=7, continuous_update=False, max=10)" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "599dfc4ff50247fb8cdd68e6741cbd5f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HBox(children=(Label(value='Current Value:'), Label(value='')))" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "widget = widgets.IntSlider(\n", - " value=7,\n", - " min=0,\n", - " max=10,\n", - " step=1,\n", - " description='',\n", - " disabled=False,\n", - " continuous_update=False,\n", - " orientation='horizontal',\n", - " readout=True,\n", - " readout_format='d'\n", - ")\n", - "\n", - "value_lbl = widgets.Label()\n", - "widgets.jslink((widget, 'value'), (value_lbl, 'value'))\n", - "\n", - "display(widget, widgets.HBox([widgets.Label(\"Current Value:\"), value_lbl]) )" - ] - } - ], - "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.8.8" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/demo/site/demo-script.py b/demo/site/demo-script.py deleted file mode 100644 index ed11522..0000000 --- a/demo/site/demo-script.py +++ /dev/null @@ -1,166 +0,0 @@ -# --- -# jupyter: -# jupytext: -# text_representation: -# extension: .py -# format_name: percent -# format_version: '1.3' -# jupytext_version: 1.11.0 -# kernelspec: -# display_name: Python 3 -# language: python -# name: python3 -# --- - -# %% [markdown] -# # Jupytext demo (.py) -# -# ## Header 2 -# -# Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur purus mi, sollicitudin ac justo a, dapibus ultrices dolor. Curabitur id eros mattis, tincidunt ligula at, condimentum urna. -# -# ### Header 3 -# -# A regular markdown code block -# -# ```python -# id_ = 0 -# for directory in directories: -# rootdir = os.path.join('/Users/drodriguez/Downloads/aclImdb', directory) -# for subdir, dirs, files in os.walk(rootdir): -# for file_ in files: -# with open(os.path.join(subdir, file_), 'r') as f: -# doc_id = '_*%i' % id_ -# id_ = id_ + 1 -# -# text = f.read() -# text = text.decode('utf-8') -# tokens = nltk.word_tokenize(text) -# doc = ' '.join(tokens).lower() -# doc = doc.encode('ascii', 'ignore') -# input_file.write('%s %s\n' % (doc_id, doc)) -# ``` -# -# ### More markdown things -# -# > Pellentesque pretium euismod laoreet. Nullam eget mauris ut tellus vehicula consequat. In sed molestie metus. Nulla at varius nunc, sit amet semper arcu. Integer tristique augue eget auctor aliquam. Donec ornare consectetur lectus et viverra. Duis vel elit ac lectus accumsan gravida non ac erat. -# -# Ut in ipsum id neque pellentesque iaculis. Pellentesque massa erat, rhoncus id auctor vel, tempor id neque. Nunc nec iaculis enim. Duis eget tincidunt tellus. Proin vitae ultrices velit. -# -# 1. Item 1 -# 2. Curabitur vel enim at mi dictum venenatis eget eu nulla. Suspendisse potenti. Etiam vitae nibh a odio dictum aliquam. Sed sit amet adipiscing leo, vitae euismod arcu. -# 3. Item 3 -# -# Sed vestibulum justo et turpis ullamcorper, a interdum sapien tristique. Donec ullamcorper ipsum ac scelerisque lacinia. Quisque et eleifend odio. Curabitur vel enim at mi dictum venenatis eget eu nulla. Suspendisse potenti. Etiam vitae nibh a odio dictum aliquam. Sed sit amet adipiscing leo, vitae euismod arcu. -# -# - Item 1 -# - Curabitur vel enim at mi dictum venenatis eget eu nulla. Suspendisse potenti. Etiam vitae nibh a odio dictum aliquam. Sed sit amet adipiscing leo, vitae euismod arcu. -# - Item 3 -# -# ![Alt text](http://img3.wikia.nocookie.net/__cb20130524024810/logopedia/images/f/fa/Apple_logo_black.svg "Image") -# -#
-# -# Sed vestibulum justo et turpis ullamcorper, a interdum sapien tristique. Donec ullamcorper ipsum ac scelerisque lacinia. Quisque et eleifend odio. Curabitur vel enim at mi dictum venenatis eget eu nulla. Suspendisse potenti. Etiam vitae nibh a odio dictum aliquam. Sed sit amet adipiscing leo, vitae euismod arcu. - -# %% [markdown] -# ## Code cells -# -# This first code cells have some tags - -# %% tags=["tag1"] -a = 1 - -# %% tags=["tag1", "tag2"] -a - -# %% tags=["tag1", "tag2", "tag3"] -b = "pew" - -# %% -b - -# %% -import re - -# %% -text = "foo bar\t baz \tqux" - -# %% -re.split("\s+", text) - -# %% language="latex" -# \begin{align} -# \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\ -# \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\ -# \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\ -# \nabla \cdot \vec{\mathbf{B}} & = 0 -# \end{align} - -# %% -import numpy as np -import pandas as pd - -# %% -dates = pd.date_range("20130101", periods=6) -df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list("ABCD")) -df - -# %% -# %matplotlib inline - -# %% -import matplotlib.pyplot as plt - -# %% -from pylab import * - -# %% -x = linspace(0, 5, 10) -y = x**2 - -# %% -figure() -plot(x, y, "r") -xlabel("x") -ylabel("y") -title("title") -show() - -# %% -num_points = 130 -y = np.random.random(num_points) -plt.plot(y) - -# %% [markdown] -# This is some text, here comes some latex - -# %% [markdown] -# ## Javascript plots - -# %% [markdown] -# ### plotly - -# %% -import plotly.express as px - -# %% -df = px.data.iris() -fig = px.scatter(df, x="sepal_width", y="sepal_length") -fig.show() - -# %% [markdown] -# ### bokeh - -# %% -from bokeh.plotting import figure, output_notebook, show - -# %% -output_notebook() - -# %% -p = figure() -p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=2) -show(p) - -# %% diff --git a/demo/site/fail.ipynb b/demo/site/fail.ipynb deleted file mode 100644 index 0dfe56d..0000000 --- a/demo/site/fail.ipynb +++ /dev/null @@ -1,32 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": ["raise Exception('failing notebook')"] - } - ], - "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.10.3" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/demo/site/img/jupyter.png b/demo/site/img/jupyter.png deleted file mode 100644 index 9ef7a6e..0000000 Binary files a/demo/site/img/jupyter.png and /dev/null differ diff --git a/demo/site/index.html b/demo/site/index.html deleted file mode 100644 index 851151b..0000000 --- a/demo/site/index.html +++ /dev/null @@ -1,570 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - mkdocs-jupyter demo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - -
- - -
- -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - -
-
-
- - - -
-
-
- - - -
-
-
- - - -
-
- - - - -

mkdocs-jupyter demo website

-

mkdocs-jupyter

-

Look at the sidebar to see the demo notebooks

- - - - - - - - -
-
- - -
- -
- - - -
-
-
-
- - - - - - - - - \ No newline at end of file diff --git a/demo/site/ruby.ipynb b/demo/site/ruby.ipynb deleted file mode 100644 index b4eaae6..0000000 --- a/demo/site/ruby.ipynb +++ /dev/null @@ -1,743 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Jupyter NB - Ruby kernel" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "I am developing [IRuby](https://github.com/SciRuby/iruby) a kernel in Ruby that adheres to the [Jupyter](http://jupyter.org/)/[IPython](http://ipython.org/) messaging protocol. It integrates nicely with different Rubygems as will be shown later." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## What does this give you?" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This gives us a very fancy web notebook interface for Ruby. It's a very good tool for programming presentations. It's basically an in-browser REPL loop, with some extra goodies." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Usage" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Install IRuby with:\n", - "\n", - "~~~\n", - "gem install iruby\n", - "~~~\n", - "\n", - "Start the IRuby notebook with:\n", - "\n", - "~~~\n", - "iruby notebook\n", - "~~~" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Example" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "`$stdout` and `$stderr` are redirected to the notebook" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Hello, world!\n" - ] - } - ], - "source": [ - "puts 'Hello, world!'" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Error!\n" - ] - } - ], - "source": [ - "$stderr.puts 'Error!'" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The last computed result is returned." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "1.4142135623730951" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Math.sqrt(2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This works even for images." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/svg+xml": "\n\n\nimage/svg+xml\n\n\t\n\t\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n\t\n\t\n\n\n\n\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n\t\n\n\n\n\n\t\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n\t\n\t\n\n\n", - "text/plain": [ - "#" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "File.open('IRuby Examples/ruby.svg')" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "#" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "File.open('IRuby Examples/ruby.png')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Display" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "IRuby provides a method to display objects `IRuby.display` and methods to create $\\LaTeX$ and HTML representations." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "Hello, world!" - ], - "text/plain": [ - "\"Hello, world!\"" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "IRuby.display 'Hello, world!', mime: 'text/html'" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "\"\"" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "IRuby.html ''" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "$\\LaTeX$ is rendered using MathJax." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/latex": [ - "\\begin{eqnarray}\n", - "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n", - "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n", - "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n", - "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0 \n", - "\\end{eqnarray}\n" - ], - "text/plain": [ - "\"\\\\begin{eqnarray}\\n\\\\nabla \\\\times \\\\vec{\\\\mathbf{B}} -\\\\, \\\\frac1c\\\\, \\\\frac{\\\\partial\\\\vec{\\\\mathbf{E}}}{\\\\partial t} & = \\\\frac{4\\\\pi}{c}\\\\vec{\\\\mathbf{j}} \\\\\\\\\\n\\\\nabla \\\\cdot \\\\vec{\\\\mathbf{E}} & = 4 \\\\pi \\\\rho \\\\\\\\\\n\\\\nabla \\\\times \\\\vec{\\\\mathbf{E}}\\\\, +\\\\, \\\\frac1c\\\\, \\\\frac{\\\\partial\\\\vec{\\\\mathbf{B}}}{\\\\partial t} & = \\\\vec{\\\\mathbf{0}} \\\\\\\\\\n\\\\nabla \\\\cdot \\\\vec{\\\\mathbf{B}} & = 0 \\n\\\\end{eqnarray}\\n\"" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/latex": [ - "$$F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx$$" - ], - "text/plain": [ - "\"$$F(k) = \\\\int_{-\\\\infty}^{\\\\infty} f(x) e^{2\\\\pi i k} dx$$\"" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "IRuby.display IRuby.latex <<-'TEX'\n", - "\\begin{eqnarray}\n", - "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n", - "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n", - "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n", - "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0 \n", - "\\end{eqnarray}\n", - "TEX\n", - "\n", - "IRuby.math('F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Arrays and Hashes can be printed as HTML tables." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
1
2
3
" - ], - "text/plain": [ - "\"
1
2
3
\"" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
abc
123
" - ], - "text/plain": [ - "\"
abc
123
\"" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
11121314
212223
not an Array
31323334
" - ], - "text/plain": [ - "\"
11121314
212223
not an Array
31323334
\"" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
abc
112131
122232
132333
1434
" - ], - "text/plain": [ - "\"
abc
112131
122232
132333
1434
\"" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
abce
123
not an Array
2345
" - ], - "text/plain": [ - "\"
abce
123
not an Array
2345
\"" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
abcd012
123
2345
xy
abc
" - ], - "text/plain": [ - "\"
abcd012
123
2345
xy
abc
\"" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "IRuby.display IRuby.table([1,2,[],3])\n", - "IRuby.display IRuby.table({a:1,b:2,c:3})\n", - "IRuby.display IRuby.table([[11,12,13,14],[21,22,23],'not an Array',[31,32,33,34]])\n", - "IRuby.display IRuby.table({a:[11,12,13,14],b:[21,22,23],c:[31,32,33,34]})\n", - "IRuby.display IRuby.table([{a:1,b:2,c:3},'not an Array',{a:2,b:3,c:4,e:5}])\n", - "IRuby.display IRuby.table([{a:1,b:2,c:3},{a:2,b:3,c:4,d:5},{0=>:x,1=>:y},[:a,:b,:c]])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Integration with Ruby gems" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Pry" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "[Pry](https://github.com/pry/pry) is an enhanced Ruby REPL. It will be automatically used by IRuby if available. You can use the code browsing utilities for example." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1m\u001b[1;34mObject.methods\u001b[0m\u001b[0m: yaml_tag\n", - "\u001b[1m\u001b[1;34mArray.methods\u001b[0m\u001b[0m: [] try_convert\n", - "\u001b[1m\u001b[1;34mArray#methods\u001b[0m\u001b[0m: \n", - " & concat hash reject slice \n", - " * count include? reject! slice! \n", - " + cycle index repeated_combination sort \n", - " - delete insert repeated_permutation sort! \n", - " << delete_at inspect replace sort_by! \n", - " <=> delete_if join reverse take \n", - " == drop keep_if reverse! take_while\n", - " [] drop_while last reverse_each to_a \n", - " []= each length rindex to_ary \n", - " any? each_index map rotate to_h \n", - " assoc empty? map! rotate! to_s \n", - " at eql? pack sample transpose \n", - " bsearch fetch permutation select uniq \n", - " clear fill pop select! uniq! \n", - " collect find_index pretty_print shelljoin unshift \n", - " collect! first pretty_print_cycle shift values_at \n", - " combination flatten product shuffle zip \n", - " compact flatten! push shuffle! | \n", - " compact! frozen? rassoc size \n" - ] - } - ], - "source": [ - "ls Array" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Gnuplot" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "`Gnuplot::Plot` objects are automatically displayed inline as SVG." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/svg+xml": "\n\n\n\nGnuplot\nProduced by GNUPLOT 5.0 patchlevel 3 \n\n\n\n\n\n\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t \n\t \n\t\n\t\n\t \n\t \n\t\n\n\n\n\n\t\t\n\t\t-1\n\t\n\n\n\t\t\n\t\t-0.8\n\t\n\n\n\t\t\n\t\t-0.6\n\t\n\n\n\t\t\n\t\t-0.4\n\t\n\n\n\t\t\n\t\t-0.2\n\t\n\n\n\t\t\n\t\t 0\n\t\n\n\n\t\t\n\t\t 0.2\n\t\n\n\n\t\t\n\t\t 0.4\n\t\n\n\n\t\t\n\t\t 0.6\n\t\n\n\n\t\t\n\t\t 0.8\n\t\n\n\n\t\t\n\t\t 1\n\t\n\n\n\t\t\n\t\t-0.4\n\t\n\n\n\t\t\n\t\t-0.2\n\t\n\n\n\t\t\n\t\t 0\n\t\n\n\n\t\t\n\t\t 0.2\n\t\n\n\n\t\t\n\t\t 0.4\n\t\n\n\n\n\n\t\n\n\t\n\t\tx\n\t\n\n\n\t\n\t\tsin(1/x)\n\t\n\n\n\t\n\t\tExample plot\n\t\n\n\tsin(1/x)\n\n\n\n\t\n\t\tsin(1/x)\n\t\n\n\n\t\n\t\n\n\n\n\n\n\t\n\n\n\n\n\n", - "text/plain": [ - "#]>" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "require 'gnuplot'\n", - "\n", - "Gnuplot::Plot.new do |plot| \n", - " plot.xrange '[-0.5:0.5]'\n", - " plot.title 'Example plot'\n", - " plot.ylabel 'x'\n", - " plot.xlabel 'sin(1/x)'\n", - " plot.samples 10000\n", - " plot.data << Gnuplot::DataSet.new('sin(1/x)') do |ds|\n", - " ds.with = 'lines'\n", - " ds.linewidth = 2\n", - " end\n", - "end" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can also create nice 3D plots" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/svg+xml": "\n\n\n\nGnuplot\nProduced by GNUPLOT 5.0 patchlevel 3 \n\n\n\n\n\n\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t \n\t \n\t\n\t\n\t \n\t \n\t\n\n\n\n\n\t\n\t\tSpiral\n\t\n\n\tgnuplot_plot_1\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\t\n\tgnuplot_plot_2\n\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\n\n\t\t\n\t\t-8\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t-6\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t-4\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t-2\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t 0\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t 2\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t 4\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t 6\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t 8\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t-8\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t-6\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t-4\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t-2\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t 0\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t 2\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t 4\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t 6\n\t\n\n\n\n\n\t\n\n\t\t\n\t\t 8\n\t\n\n\n\n\n\t\t\n\t\t-8\n\t\n\n\n\n\n\t\t\n\t\t-6\n\t\n\n\n\n\n\t\t\n\t\t-4\n\t\n\n\n\n\n\t\t\n\t\t-2\n\t\n\n\n\n\n\t\t\n\t\t 0\n\t\n\n\n\n\n\t\t\n\t\t 2\n\t\n\n\n\n\n\t\t\n\t\t 4\n\t\n\n\n\n\n\t\t\n\t\t 6\n\t\n\n\n\n\n\t\t\n\t\t 8\n\t\n\n\n\n\n\n\n", - "text/plain": [ - "#]>" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Gnuplot::SPlot.new do |plot|\n", - " plot.title 'Spiral'\n", - " plot.nokey\n", - " plot.parametric\n", - " plot.hidden3d\n", - " plot.view '80,50'\n", - " plot.isosamples '60,15'\n", - " plot.xrange '[-8:8]'\n", - " plot.yrange '[-8:8]'\n", - " plot.zrange '[-8:8]'\n", - " plot.urange '[-2*pi:2*pi]'\n", - " plot.vrange '[-pi:pi]'\n", - " plot.data << Gnuplot::DataSet.new('cos(u)*(cos(v)+3), sin(u)*(cos(v)+3), sin(v)+u') do |ds|\n", - " ds.with = 'lines'\n", - " end\n", - "end" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Rubyvis" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "`Rubyvis` objects are automatically displayed inline as SVG." - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/svg+xml": "\n \n \n \n \n \n \n \n \n", - "text/plain": [ - "#, #, #, @_type=3, @fixed=nil>, #, #, @_type=3, @fixed=nil>], @defs={}, @child_index=0, @index=nil, @index_defined=false, @scale=nil, @scene=nil, @parent=#, @root=#, @seen={:left=>#, @_type=3, @fixed=nil>, :bottom=>#, :height=>#, @_type=3, @fixed=nil>, :width=>#, :data=>#, :fill_style=>#, @_type=3, @fixed=nil>, :line_width=>#, :events=>#, :antialias=>#, :visible=>#, :right=>#, :top=>#, :cursor=>#, :title=>#, :reverse=>#, :id=>#, :stroke_style=>#}, @types={1=>[], 2=>[#, #, #, #, #, #, #, #, #, #, #, #], 3=>[#, @_type=3, @fixed=nil>, #, @_type=3, @fixed=nil>, #, @_type=3, @fixed=nil>]}, @_data=#, @_required=[#], @binds=##, @_type=3, @fixed=nil>, :bottom=>#, :height=>#, @_type=3, @fixed=nil>, :width=>#, :data=>#, :fill_style=>#, @_type=3, @fixed=nil>, :line_width=>#, :events=>#, :antialias=>#, :visible=>#, :right=>#, :top=>#, :cursor=>#, :title=>#, :reverse=>#, :id=>#, :stroke_style=>#}, data=#, required=[#], optional=[#, #, #, #, #, #, #, #, #, #, #, #, #, @_type=3, @fixed=nil>, #, @_type=3, @fixed=nil>, #, @_type=3, @fixed=nil>]>>], @root=#, @_properties=[#, #], @defs={}, @child_index=-1, @index=nil, @index_defined=false, @scale=nil, @scene=), children: 0, data: >, @stack=[], @indexes=[], @seen={:height=>#, :width=>#, :overflow=>#, :fill_style=>#, :line_width=>#, :events=>#, :antialias=>#, :visible=>#, :data=>#, @_type=3, @fixed=nil>, :left=>#, :right=>#, :top=>#, :bottom=>#, :cursor=>#, :title=>#, :reverse=>#, :id=>#, :stroke_style=>#, :transform=>#, :canvas=>#}, @types={1=>[], 2=>[#, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #], 3=>[]}, @_data=#, @_type=3, @fixed=nil>, @_required=[#], @binds=##, :width=>#, :overflow=>#, :fill_style=>#, :line_width=>#, :events=>#, :antialias=>#, :visible=>#, :data=>#, @_type=3, @fixed=nil>, :left=>#, :right=>#, :top=>#, :bottom=>#, :cursor=>#, :title=>#, :reverse=>#, :id=>#, :stroke_style=>#, :transform=>#, :canvas=>#}, data=#, @_type=3, @fixed=nil>, required=[#], optional=[#, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #]>, @_canvas={0=># attributes=[#, #, #, #, #, #, #] children=[# attributes=[#] children=[# attributes=[#, #, #, #]>, # attributes=[#, #, #, #, #]>, # attributes=[#, #, #, #, #]>, # attributes=[#, #, #, #, #]>, # attributes=[#, #, #, #, #]>, # attributes=[#, #, #, #, #]>]>]>]>}>" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "require 'rubyvis'\n", - " \n", - "Rubyvis::Panel.new do \n", - " width 150\n", - " height 150\n", - " bar do\n", - " data [1, 1.2, 1.7, 1.5, 0.7, 0.3]\n", - " width 20\n", - " height {|d| d * 80}\n", - " bottom(0)\n", - " left {index * 25}\n", - " end\n", - "end" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Matrix & GSL" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "`Matrix` and `GSL::Matrix` objects are automatically displayed as $\\LaTeX$." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/latex": [ - "$$\\left(\\begin{array}{ccc}\n", - " 1&2&3\\\\\n", - " 1&2&3\\\\\n", - "\\end{array}\\right)$$" - ], - "text/plain": [ - "Matrix[[1, 2, 3], [1, 2, 3]]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "require 'matrix'\n", - "Matrix[[1,2,3],[1,2,3]]" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": true - }, - "source": [ - "### Nyaplot" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "application/javascript": "if(window['d3'] === undefined ||\n window['Nyaplot'] === undefined){\n var path = {\"d3\":\"https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min\",\"downloadable\":\"https://cdn.rawgit.com/domitry/d3-downloadable/master/d3-downloadable\"};\n\n\n\n var shim = {\"d3\":{\"exports\":\"d3\"},\"downloadable\":{\"exports\":\"downloadable\"}};\n\n require.config({paths: path, shim:shim});\n\n\nrequire(['d3'], function(d3){window['d3']=d3;console.log('finished loading d3');require(['downloadable'], function(downloadable){window['downloadable']=downloadable;console.log('finished loading downloadable');\n\n\tvar script = d3.select(\"head\")\n\t .append(\"script\")\n\t .attr(\"src\", \"https://cdn.rawgit.com/domitry/Nyaplotjs/master/release/nyaplot.js\")\n\t .attr(\"async\", true);\n\n\tscript[0][0].onload = script[0][0].onreadystatechange = function(){\n\n\n\t var event = document.createEvent(\"HTMLEvents\");\n\t event.initEvent(\"load_nyaplot\",false,false);\n\t window.dispatchEvent(event);\n\t console.log('Finished loading Nyaplotjs');\n\n\t};\n\n\n});});\n}\n", - "text/plain": [ - "\"if(window['d3'] === undefined ||\\n window['Nyaplot'] === undefined){\\n var path = {\\\"d3\\\":\\\"https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min\\\",\\\"downloadable\\\":\\\"https://cdn.rawgit.com/domitry/d3-downloadable/master/d3-downloadable\\\"};\\n\\n\\n\\n var shim = {\\\"d3\\\":{\\\"exports\\\":\\\"d3\\\"},\\\"downloadable\\\":{\\\"exports\\\":\\\"downloadable\\\"}};\\n\\n require.config({paths: path, shim:shim});\\n\\n\\nrequire(['d3'], function(d3){window['d3']=d3;console.log('finished loading d3');require(['downloadable'], function(downloadable){window['downloadable']=downloadable;console.log('finished loading downloadable');\\n\\n\\tvar script = d3.select(\\\"head\\\")\\n\\t .append(\\\"script\\\")\\n\\t .attr(\\\"src\\\", \\\"https://cdn.rawgit.com/domitry/Nyaplotjs/master/release/nyaplot.js\\\")\\n\\t .attr(\\\"async\\\", true);\\n\\n\\tscript[0][0].onload = script[0][0].onreadystatechange = function(){\\n\\n\\n\\t var event = document.createEvent(\\\"HTMLEvents\\\");\\n\\t event.initEvent(\\\"load_nyaplot\\\",false,false);\\n\\t window.dispatchEvent(event);\\n\\t console.log('Finished loading Nyaplotjs');\\n\\n\\t};\\n\\n\\n});});\\n}\\n\"" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n" - ], - "text/plain": [ - "#[#[#:line, :options=>{:x=>\"data0\", :y=>\"data1\"}, :data=>\"a329c558-0f4a-43fe-a9c8-53b7023034a0\"}, @xrange=[-0.33650797881023503, 1.3755593581827972], @yrange=[-0.21722891503668823, 0.9410707889917257]>], :options=>{:zoom=>true, :width=>700, :xrange=>[-0.33650797881023503, 1.3755593581827972], :yrange=>[-0.21722891503668823, 0.9410707889917257]}}>], :data=>{\"a329c558-0f4a-43fe-a9c8-53b7023034a0\"=>#1.3755593581827972, :data1=>0.9410707889917257}, {:data0=>1.0926316961206979, :data1=>0.9203109817681301}, {:data0=>0.8708833866839569, :data1=>0.8966951136244035}, {:data0=>0.6906777425229607, :data1=>0.870363232919426}, {:data0=>0.5403023058681399, :data1=>0.8414709848078965}, {:data0=>0.4123601103868887, :data1=>0.8101885091467594}, {:data0=>0.30196479539722804, :data1=>0.7766992383060219}, {:data0=>0.20576832971122103, :data1=>0.7411986041670715}, {:data0=>0.12140510207160057, :data1=>0.7038926642774715}, {:data0=>0.047158134445135114, :data1=>0.6649966577360362}, {:data0=>-0.018249701438305645, :data1=>0.6247335019009406}, {:data0=>-0.07579087899736768, :data1=>0.5833322414426284}, {:data0=>-0.12622338594060414, :data1=>0.5410264615989971}, {:data0=>-0.17015240361237047, :data1=>0.4980526777302179}, {:data0=>-0.20807341827357134, :data1=>0.45464871341284063}, {:data0=>-0.24040290695231323, :data1=>0.4110520793566063}, {:data0=>-0.2675005078433391, :data1=>0.36749836537254077}, {:data0=>-0.28968522664340196, :data1=>0.3242196574681389}, {:data0=>-0.30724738147551905, :data1=>0.2814429918963125}, {:data0=>-0.3204574462187736, :data1=>0.23938885764158221}, {:data0=>-0.32957259744959516, :data1=>0.19826975839287045}, {:data0=>-0.3348415340803931, :data1=>0.1582888445310477}, {:data0=>-0.33650797881023503, :data1=>0.11963862505567989}, {:data0=>-0.33481316039641046, :data1=>0.08249976869447621}, {:data0=>-0.32999749886681506, :data1=>0.04704000268662195}, {:data0=>-0.3223016613784771, :data1=>0.013413116913964239}, {:data0=>-0.31196711743586014, :data1=>-0.018241919821119185}, {:data0=>-0.29923629391177703, :data1=>-0.04780172549795451}, {:data0=>-0.28435240958219415, :data1=>-0.07515914765495083}, {:data0=>-0.26755905351165576, :data1=>-0.10022377933989181}, {:data0=>-0.24909956009281825, :data1=>-0.12292234535968162}, {:data0=>-0.2292162247865964, :data1=>-0.14319895700229582}, {:data0=>-0.20814939787221448, :data1=>-0.16101523445861063}, {:data0=>-0.18613648825644571, :data1=>-0.17635029722666024}, {:data0=>-0.16341090521590257, :data1=>-0.18920062382698227}, {:data0=>-0.14020096256908965, :data1=>-0.19957978318644173}, {:data0=>-0.1167287669858806, :data1=>-0.2075180410508544}, {:data0=>-0.09320910978604059, :data1=>-0.21306184575568723}, {:data0=>-0.06984837954054984, :data1=>-0.21627319861125363}, {:data0=>-0.04684351098461771, :data1=>-0.21722891503668823}, {:data0=>-0.024380984116316277, :data1=>-0.21601978339857925}, {:data0=>-0.0026358858431683933, :data1=>-0.21274962926895766}, {:data0=>0.018228954883217817, :data1=>-0.20753429350746688}, {:data0=>0.03806374886174981, :data1=>-0.20050053318863942}, {:data0=>0.05673243709264494, :data1=>-0.19178485493262787}, {:data0=>0.0741132828848978, :data1=>-0.18153229065249676}, {:data0=>0.09009935986545672, :data1=>-0.1698951261000298}, {:data0=>0.10459893135455828, :data1=>-0.15703159287243457}, {:data0=>0.11753571776715413, :data1=>-0.14310453473259072}, {:data0=>0.12884904987113782, :data1=>-0.12828005919461727}, {:data0=>0.13849390687682997, :data1=>-0.1127261853343437}, {:data0=>0.14644083944546632, :data1=>-0.09661149870134066}, {:data0=>0.15267577878298577, :data1=>-0.08010382403685547}, {:data0=>0.15719973402441265, :data1=>-0.06336892624241378}, {:data0=>0.16002838110839424, :data1=>-0.04656924969982187}, {:data0=>0.1611915472856696, :data1=>-0.029862705618377262}, {:data0=>0.16073259629406741, :data1=>-0.013401516583468174}, {:data0=>0.15870772006085973, :data1=>0.0026688730927529386}, {:data0=>0.1551851435559679, :data1=>0.01821081325788855}, {:data0=>0.150244250112004, :data1=>0.03309538278273982}, {:data0=>0.14397463514523226, :data1=>0.04720323689596537}, {:data0=>0.13647509675154085, :data1=>0.06042536128605843}, {:data0=>0.12785257211026915, :data1=>0.07266372810861792}, {:data0=>0.1182210290036758, :data1=>0.08383184991133241}, {:data0=>0.10770032204904449, :data1=>0.0938552283883976}, {:data0=>0.09641502344264985, :data1=>0.10267169579237617}, {:data0=>0.084493238129481, :data1=>0.11023164775682615}, {:data0=>0.07206541333987868, :data1=>0.11649816720939184}, {:data0=>0.05926315237491899, :data1=>0.12144703997454372}, {:data0=>0.046218042378004844, :data1=>0.12506666356996485}, {:data0=>0.033060505602929786, :data1=>0.12735785158309013}, {:data0=>0.019918683381542335, :data1=>0.12833353686714286}, {:data0=>0.006917361610597611, :data1=>0.12801837761212895}, {:data0=>-0.005823053878420835, :data1=>0.12644827111895873}, {:data0=>-0.01818750422607518, :data1=>0.12366978082792314}, {:data0=>-0.03006717947355302, :data1=>0.1197394828203816}, {:data0=>-0.04136034890046627, :data1=>0.11472323861948523}, {:data0=>-0.05197311385188057, :data1=>0.10869540165738566}, {:data0=>-0.06182007787103266, :data1=>0.10173796524860587}, {:data0=>-0.0708249297276251, :data1=>0.09393966030864707}, {:data0=>-0.0789209357348841, :data1=>0.08539501138071212}, {:data0=>-0.0860513385744127, :data1=>0.07620335977956266}, {:data0=>-0.09216966068882364, :data1=>0.06646786282861088}, {:data0=>-0.09723991115068603, :data1=>0.05629447825369656}, {:data0=>-0.10123669576496355, :data1=>0.04579094280464132}, {:data0=>-0.10414523100341852, :data1=>0.035065754104326136}, {:data0=>-0.10596126319610455, :data1=>0.024227164576115612}, {:data0=>-0.10669089520995732, :data1=>0.01338219607603006}, {:data0=>-0.1063503236207668, :data1=>0.0026356835588697415}, {:data0=>-0.10496549012593491, :data1=>-0.007910644259135973}, {:data0=>-0.10257165164522208, :data1=>-0.018159039710725258}, {:data0=>-0.0992128742094141, :data1=>-0.02801655942380679}, {:data0=>-0.09494145633722063, :data1=>-0.03739582951550111}, {:data0=>-0.08981728814397692, :data1=>-0.04621574684599039}, {:data0=>-0.08390715290764647, :data1=>-0.05440211108893545}, {:data0=>-0.077283978234574, :data1=>-0.0618881830586998}, {:data0=>-0.07002604431639366, :data1=>-0.06861516545034606}, {:data0=>-0.062216157048059315, :data1=>-0.07453260288966702}, {:data0=>-0.05394079398338919, :data1=>-0.07959869895054264}, {:data0=>-0.04528923123771545, :data1=>-0.08378054856872968}, {:data0=>-0.036352659506778316, :data1=>-0.08705428505781135}, {:data0=>-0.027223297357137057, :data1=>-0.0894051417074938}, {:data0=>-0.017993509856977577, :data1=>-0.09082742870986009}, {:data0=>-0.00875494045880494, :data1=>-0.09132442690884195}, {:data0=>0.00040233618072979115, :data1=>-0.0909082005955187}, {:data0=>0.009390633050961633, :data1=>-0.08959933227063006}, {:data0=>0.018125434269529304, :data1=>-0.08742658295993966}, {:data0=>0.02652613657318512, :data1=>-0.0844264822922211}, {:data0=>0.034516742662093765, :data1=>-0.08064285312848135}, {:data0=>0.04202650076112915, :data1=>-0.07612627605986455}, {:data0=>0.048990485324823654, :data1=>-0.07093349956626938}, {:data0=>0.055350114414859694, :data1=>-0.06512680204436334}, {:data0=>0.06105359991447642, :data1=>-0.058773312269249416}, {:data0=>0.06605632740680879, :data1=>-0.05194429514597106}, {:data0=>0.07032116322770664, :data1=>-0.044714409833371556}, {:data0=>0.07381868690159607, :data1=>-0.03716094748220052}, {:data0=>0.07652734787496966, :data1=>-0.02936305592105364}, {:data0=>0.07843354616964264, :data1=>-0.02140095864762837}, {:data0=>0.07953163728055332, :data1=>-0.01335517543938208}, {:data0=>0.07982386233428648, :data1=>-0.005305751788098336}, {:data0=>0.0793202051984927, :data1=>0.0026684958111990766}, {:data0=>0.07803817888301255, :data1=>0.0104907119228279}, {:data0=>0.07600254419511286, :data1=>0.018086705086055477}, {:data0=>0.07324496419843975, :data1=>0.025385615437028313}, {:data0=>0.06980359857309315, :data1=>0.03232054129435496}, {:data0=>0.06572264247804, :data1=>0.038829119417736556}, {:data0=>0.061051814972762915, :data1=>0.04485405414448486}, {:data0=>0.05584580245892426, :data1=>0.050343591142600015}, {:data0=>0.05016366295175323, :data1=>0.05525193208600215}, {:data0=>0.04406819728221623, :data1=>0.05953958715197065}, {:data0=>0.03762529356273365, :data1=>0.06317366285709423}, {:data0=>0.030903251419758793, :data1=>0.06612808338017886}, {:data0=>0.023972092605005768, :data1=>0.06838374416261565}, {:data0=>0.01690286464315514, :data1=>0.06992859722265975}, {:data0=>0.00976694415770481, :data1=>0.07075766826391915}, {:data0=>0.0026353464390681007, :data1=>0.07087300629417864}, {:data0=>-0.004421952318594946, :data1=>0.07028356709270185}, {:data0=>-0.011336673881096757, :data1=>0.06900503246675675}, {:data0=>-0.018042871959286264, :data1=>0.06705956781592286}, {:data0=>-0.024477535640598114, :data1=>0.06447552107066883}, {:data0=>-0.03058115694604349, :data1=>0.06128706658496728}, {:data0=>-0.03629825759109449, :data1=>0.057533798036935736}, {:data0=>-0.04157787046991168, :data1=>0.05326027482265818}, {:data0=>-0.046373971860342325, :data1=>0.048515526812886144}, {:data0=>-0.05064586085725326, :data1=>0.043352522677143124}, {:data0=>-0.054358483078983375, :data1=>0.037827607262253024}, {:data0=>-0.057482696250727904, :data1=>0.03199991374038379}, {:data0=>-0.05999547584407059, :data1=>0.025930756413767905}, {:data0=>-0.061880059538127974, :data1=>0.019683010178294824}, {:data0=>-0.06312602985928249, :data1=>0.013320482705666796}, {:data0=>-0.06372933494768035, :data1=>0.006907285403813025}, {:data0=>-0.06369224798403453, :data1=>0.0005072091583424485}, {:data0=>-0.06302326638438575, :data1=>-0.005816889254913999}, {:data0=>-0.061736952428075136, :data1=>-0.012003684363154073}, {:data0=>-0.05985371752021243, :data1=>-0.01799395729156418}, {:data0=>-0.05739955279957443, :data1=>-0.02373114392447023}, {:data0=>-0.0544057092816207, :data1=>-0.02916185101224894}, {:data0=>-0.05090833116997993, :data1=>-0.0342363356617637}, {:data0=>-0.046948046374518056, :data1=>-0.03890894404560497}, {:data0=>-0.04256951863652972, :data1=>-0.04313850559812725}, {:data0=>-0.037820965978699696, :data1=>-0.04688867942977577}, {:data0=>-0.032753650466722364, :data1=>-0.05012825018082221}, {:data0=>-0.027421344488773317, :data1=>-0.05283137104651735}, {:data0=>-0.02187977892681658, :data1=>-0.05497775223280234}, {:data0=>-0.0161860787089191, :data1=>-0.056552793639973564}, {:data0=>-0.010398191293751106, :data1=>-0.05754766111588537}, {:data0=>-0.0045743136472014565, :data1=>-0.05795930616520904}, {:data0=>0.0012276767730416867, :data1=>-0.057790429541792664}, {:data0=>0.006950781605083513, :data1=>-0.05704938968222052}, {:data0=>0.012539426469225073, :data1=>-0.055750057455323625}, {:data0=>0.017939986074955876, :data1=>-0.05391161919989385}, {:data0=>0.02310128471180023, :data1=>-0.05155833049667755}, {:data0=>0.02797506757238205, :data1=>-0.04871922356660624}, {:data0=>0.0325164386816822, :data1=>-0.04542777160120098}, {:data0=>0.036684261569115, :data1=>-0.04172151370953812}, {:data0=>0.0404415192159634, :data1=>-0.03764164450582933}, {:data0=>0.043755630235819624, :data1=>-0.03323257265968643}, {:data0=>0.04659871869567585, :data1=>-0.02854145298506781}, {:data0=>0.04894783545569379, :data1=>-0.02361769685173388}, {:data0=>0.05078512939179751, :data1=>-0.01851246586322267}, {:data0=>0.05209796736231443, :data1=>-0.013278153856807948}, {:data0=>0.05287900228310939, :data1=>-0.007967862343005474}, {:data0=>0.05312618918017076, :data1=>-0.0026348745148069667}, {:data0=>0.05284274958960326, :data1=>0.002667867079725462}, {:data0=>0.05203708516771943, :data1=>0.007888274192786966}, {:data0=>0.05072264185378063, :data1=>0.012975612983401037}, {:data0=>0.04891772639046195, :data1=>0.017880985876036388}, {:data0=>0.04664527744804677, :data1=>0.022557790692896183}, {:data0=>0.043932594013683525, :data1=>0.026962152843180535}, {:data0=>0.040811024093022535, :data1=>0.03105332665228751}, {:data0=>0.037315617124769974, :data1=>0.03479406224837451}, {:data0=>0.03348474382606363, :data1=>0.03815093478944949}, {:data0=>0.029359687465375085, :data1=>0.041094633207429856}, {:data0=>0.024984210797547368, :data1=>0.04360020606239567}, {:data0=>0.020404103090668937, :data1=>0.04564726253638164}, {:data0=>0.015666711825269675, :data1=>0.04722012704715912}, {:data0=>0.010820463751744808, :data1=>0.04830794642410785}, {:data0=>0.005914380051350196, :data1=>0.04890474905595608}, {:data0=>0.000997590359395179, :data1=>0.04900945588934651}, {:data0=>-0.0038811496233444502, :data1=>0.04862584362335593}, {:data0=>-0.008673932282755113, :data1=>0.04776246090381608}, {:data0=>-0.013334159480651721, :data1=>0.046432498768217804}, {:data0=>-0.017816986819118464, :data1=>0.04465361702294375}, {:data0=>-0.02207974662277196, :data1=>0.042447728645566354}, {:data0=>-0.02608234572496626, :data1=>0.03984074469219235}, {:data0=>-0.029787634422735035, :data1=>0.03686228254981393}, {:data0=>-0.03316174327667017, :data1=>0.03354534070311127}, {:data0=>-0.03617438477270366, :data1=>0.02992594348123067}, {:data0=>-0.038799117229371204, :data1=>0.026042759510169673}, {:data0=>-0.041013568722853, :data1=>0.021936697818333212}, {:data0=>-0.04279961920898767, :data1=>0.017650485724764197}, {:data0=>-0.044143539442475815, :data1=>0.013228232780077905}, {:data0=>-0.045036085724462493, :data1=>0.008714985128229312}, {:data0=>-0.045472549946382716, :data1=>0.004156274712319874}, {:data0=>-0.04545276483611976, :data1=>-0.00040233224047484044}, {:data0=>-0.044981064747930094, :data1=>-0.004915683050865246}, {:data0=>-0.04406620276605837, :data1=>-0.00933947840571187}, {:data0=>-0.04272122530942836, :data1=>-0.013630699946685669}, {:data0=>-0.04096330582731426, :data1=>-0.01774802156792311}, {:data0=>-0.03881353955971064, :data1=>-0.021652200553802306}, {:data0=>-0.03629670169767516, :data1=>-0.025306444916354132}, {:data0=>-0.03344097161490544, :data1=>-0.02867675355358087}, {:data0=>-0.030277626149190013, :data1=>-0.031732226142292985}, {:data0=>-0.026840705188402772, :data1=>-0.034445339998927925}, {:data0=>-0.023166653057971658, :data1=>-0.036792191485878215}, {:data0=>-0.019293939413172343, :data1=>-0.03875269990561493}, {:data0=>-0.015262663508461274, :data1=>-0.04031077220666198}, {:data0=>-0.011114145846032285, :data1=>-0.04145442722043277}, {:data0=>-0.006890511295902791, :data1=>-0.0421758785521648}, {:data0=>-0.0026342678295470873, :data1=>-0.04247157565869777}, {:data0=>0.0016121149817726389, :data1=>-0.042342203056636545}, {:data0=>0.005806623584048197, :data1=>-0.041792638012537735}, {:data0=>0.009908110123974266, :data1=>-0.04083186746822876}, {:data0=>0.01387669025955295, :data1=>-0.039472865345377785}, {:data0=>0.017674125305710837, :data1=>-0.037732431750274624}, {:data0=>0.021264185105578027, :data1=>-0.03563099595891662}, {:data0=>0.024612988234515156, :data1=>-0.0331923854005747}, {:data0=>0.0276893163917037, :data1=>-0.03044356317192761}, {:data0=>0.030464900110500938, :data1=>-0.027414336900736233}, {:data0=>0.03291467322091013, :data1=>-0.02413704203530855}, {:data0=>0.0350169938223065, :data1=>-0.0206462028614046}, {:data0=>0.03675382986867314, :data1=>-0.016978174739803877}, {:data0=>0.03811090782855624, :data1=>-0.013170771213896933}, {:data0=>0.03907782325413718, :data1=>-0.009262879756116945}, {:data0=>0.03964811247453926, :data1=>-0.005294070003907522}, {:data0=>0.03981928501397987, :data1=>-0.0013041983797115533}, {:data0=>0.03959281672186988, :data1=>0.002666987004982671}, {:data0=>0.03897410398568952, :data1=>0.006580237293962302}, {:data0=>0.037972379774729205, :data1=>0.010397185881281794}, {:data0=>0.03660059262995629, :data1=>0.014080719765578557}, {:data0=>0.034875250068861906, :data1=>0.01759533571388555}, {:data0=>0.032816228210816666, :data1=>0.02090747786017707}, {:data0=>0.03044654974507149, :data1=>0.02398585357054699}, {:data0=>0.027792132657144943, :data1=>0.02680172464294637}, {:data0=>0.024881512397252385, :data1=>0.029329171172294777}, {:data0=>0.021745540414232174, :data1=>0.03154532569877911}, {:data0=>0.018417062187977583, :data1=>0.033430575565302885}, {:data0=>0.014930578070866141, :data1=>0.034968731736199875}, {:data0=>0.011321890392589724, :data1=>0.03614716267017898}, {:data0=>0.007627740391965162, :data1=>0.03695689219260131}, {:data0=>0.0038854386129272343, :data1=>0.03739266067209944}, {:data0=>0.00013249243950561038, :data1=>0.03745294917067479}, {:data0=>-0.003593765553950366, :data1=>0.03713996660117703}, {:data0=>-0.007256544795473344, :data1=>0.03645960028792292}, {:data0=>-0.010819955879034952, :data1=>0.03542133068164688}, {:data0=>-0.014249358231034535, :data1=>0.034038111325573356}, {:data0=>-0.017511692949085157, :data1=>0.032326215501862675}, {:data0=>-0.020575797651327634, :data1=>0.03030505130385748}, {:data0=>-0.02341270037308295, :data1=>0.02799694717647625}, {:data0=>-0.02599588977380896, :data1=>0.025426910242000306}, {:data0=>-0.02830155916866617, :data1=>0.02262235997885124}, {:data0=>-0.03030882217289834, :data1=>0.019612840044481626}, {:data0=>-0.03199989804087271, :data1=>0.016429711228204323}, {:data0=>-0.03336026509200453, :data1=>0.013105828683960596}, {:data0=>-0.034378780939771314, :data1=>0.009675206725276596}, {:data0=>-0.03504776857435075, :data1=>0.006172674563906241}, {:data0=>-0.03536306769076166, :data1=>0.0026335264391570876}, {:data0=>-0.03532405099937108, :data1=>-0.0009068303837699921}, {:data0=>-0.03493360560086018, :data1=>-0.0044132262710057215}, {:data0=>-0.034198079849846415, :data1=>-0.007851075094278138}, {:data0=>-0.03312719646701783, :data1=>-0.01118671195399736}, {:data0=>-0.031733932985612744, :data1=>-0.014387719485737433}, {:data0=>-0.030034370931253992, :data1=>-0.01742323961877401}, {:data0=>-0.028047515431544826, :data1=>-0.020264267819183737}, {:data0=>-0.025795087230651804, :data1=>-0.022883927041830017}, {:data0=>-0.023301289341733707, :data1=>-0.025257718833294515}, {:data0=>-0.020592550804145047, :data1=>-0.027363749269167716}, {:data0=>-0.017697250220711672, :data1=>-0.029182927671574793}, {:data0=>-0.014645421931173236, :data1=>-0.030699136333681806}, {:data0=>-0.011468447829522478, :data1=>-0.03189936977433896}, {:data0=>-0.008198737954147777, :data1=>-0.032773842354973534}, {:data0=>-0.004869403069413179, :data1=>-0.03331606340924418}, {:data0=>-0.0015139225149113592, :data1=>-0.03352287936063594}, {:data0=>0.0018341893762598733, :data1=>-0.03339448263089635}, {:data0=>0.005141714996257924, :data1=>-0.03293438746976108}, {:data0=>0.008376060064012527, :data1=>-0.03214937316059006}, {:data0=>0.01150557192653669, :data1=>-0.031049395374179493}, {:data0=>0.014499846479146612, :data1=>-0.029647466751065336}, {:data0=>0.017330020755353462, :data1=>-0.02795950808813281}, {:data0=>0.019969048396933854, :data1=>-0.026004171785481353}, {:data0=>0.022391955400787655, :data1=>-0.023802639471616913}, {:data0=>0.024576073749665524, :data1=>-0.02137839596669905}, {:data0=>0.026501250766482545, :data1=>-0.018756981962519233}, {:data0=>0.028150032284313543, :data1=>-0.01596572799212386}, {:data0=>0.02950781799369662, :data1=>-0.013033472429771188}, {:data0=>0.03056298761280836, :data1=>-0.009990266401743038}, {:data0=>0.03130699682154785, :data1=>-0.0068670685992216806}, {:data0=>0.03173444220461047, :data1=>-0.0036954330650818966}, {:data0=>0.03184309475821592, :data1=>-0.0005071930764307037}, {:data0=>0.03163390182720966, :data1=>0.0026658557362515354}, {:data0=>0.031110957650709332, :data1=>0.005792269904454481}, {:data0=>0.030281443002268746, :data1=>0.008841267185148008}, {:data0=>0.029155534711685242, :data1=>0.011783027158793329}, {:data0=>0.02774628614716924, :data1=>0.014588980450003647}, {:data0=>0.026069480015825115, :data1=>0.017232083788807546}, {:data0=>0.024143455104595275, :data1=>0.019687078286823194}, {:data0=>0.02198890883049289, :data1=>0.02193072848386525}, {:data0=>0.019628677695776576, :data1=>0.023942039924654417}, {:data0=>0.01708749794859543, :data1=>0.02570245325024324}, {:data0=>0.014391748930673886, :data1=>0.027196013032182005}, {:data0=>0.011569181749176496, :data1=>0.028409509836828082}, {:data0=>0.008648636038616203, :data1=>0.0293325942799122}, {:data0=>0.005659747679438863, :data1=>0.0299578621147613}, {:data0=>0.0026326504119060425, :data1=>0.03028090968859802}, {:data0=>-0.0004023256734320707, :data1=>0.03030035939718965}, {:data0=>-0.0034149557742803563, :data1=>0.0300178550658721}, {:data0=>-0.006375419166190321, :data1=>0.029438027481693087}, {:data0=>-0.009254592210849889, :data1=>0.028568430594195598}, {:data0=>-0.012024332724919531, :data1=>0.02741944918834523}, {:data0=>-0.014657752953146775, :data1=>0.02600417910952447}, {:data0=>-0.01712947851790203, :data1=>0.02433828138471185}, {:data0=>-0.019415890870804253, :data1=>0.02243981183341019}, {:data0=>-0.02149535094909383, :data1=>0.020329027994218495}, {:data0=>-0.023348401937990624, :data1=>0.018028175405971198}, {:data0=>-0.0249579492583739, :data1=>0.015561255474112929}, {:data0=>-0.026309416134484856, :data1=>0.012953777321672428}, {:data0=>-0.027390873346571296, :data1=>0.010232496168317552}, {:data0=>-0.02819314203592568, :data1=>0.007425140899236749}, {:data0=>-0.02870986870196237, :data1=>0.004560133576982309}, {:data0=>-0.028937571810108653, :data1=>0.0016663037131798347}, {:data0=>-0.028875659712563884, :data1=>-0.00122739984731709}, {:data0=>-0.0285264198686042, :data1=>-0.004092196569862213}, {:data0=>-0.027894979634270733, :data1=>-0.00689975856189637}, {:data0=>-0.026989239170200904, :data1=>-0.009622488802789509}, {:data0=>-0.025819777288325813, :data1=>-0.012233790557038677}, {:data0=>-0.024399731320525617, :data1=>-0.01470832535840793}, {:data0=>-0.022744652342581027, :data1=>-0.017022257079955777}, {:data0=>-0.02087233732248808, :data1=>-0.019153479756032085}, {:data0=>-0.01880263998117458, :data1=>-0.021081826995623377}, {:data0=>-0.016557262353808264, :data1=>-0.022789261020057433}, {:data0=>-0.014159529219350535, :data1=>-0.024260039570030013}, {:data0=>-0.011634147723132798, :data1=>-0.02548085915500335}, {:data0=>-0.009006954650588771, :data1=>-0.026440973359917096}, {:data0=>-0.0063046539186818054, :data1=>-0.027132285177392048}, {:data0=>-0.003554546934087895, :data1=>-0.027549412595642777}, {:data0=>-0.0007842585231598053, :data1=>-0.02768972694052086}, {:data0=>0.001978538832304169, :data1=>-0.027553363741812817}, {:data0=>0.004706399717572825, :data1=>-0.027143206166422993}, {:data0=>0.007372376754954244, :data1=>-0.026464841331694713}, {:data0=>0.00995028516209018, :data1=>-0.025526490078208463}, {:data0=>0.012414958317062501, :data1=>-0.02433891104034815}, {:data0=>0.014742491851470387, :data1=>-0.022915280102233277}, {:data0=>0.01691047391920453, :data1=>-0.021271046563872006}, {:data0=>0.01889819943773913, :data1=>-0.019423767565324504}, {:data0=>0.020686866268797368, :data1=>-0.017392922523156735}, {:data0=>0.022259751494437697, :data1=>-0.015199709521564617}, {:data0=>0.023602366150992652, :data1=>-0.012866825768499653}, {:data0=>0.024702587004747357, :data1=>-0.010418234373380655}, {:data0=>0.02555076418751097, :data1=>-0.007878919826203324}, {:data0=>0.026139803754937418, :data1=>-0.005274634656965418}, {:data0=>0.02646522448312654, :data1=>-0.0026316398284581713}, {:data0=>0.026525188477152763, :data1=>2.3558535967652164e-05}, {:data0=>0.026320505426154484, :data1=>0.002664473465417155}, {:data0=>0.025854610600886088, :data1=>0.005264899874381281}, {:data0=>0.025133516948610737, :data1=>0.007799173123937923}, {:data0=>0.024165741894353967, :data1=>0.01024242087423076}, {:data0=>0.022962209704366025, :data1=>0.012570805770641163}, {:data0=>0.021536130504758628, :data1=>0.01476175660932761}, {:data0=>0.01990285727340094, :data1=>0.01679418575377798}, {:data0=>0.01807972233412171, :data1=>0.018648690721346284}, {:data0=>0.016085855077060618, :data1=>0.020307738025866825}, {:data0=>0.013941982805803062, :data1=>0.021755827547608485}, {:data0=>0.011670216769065217, :data1=>0.022979635903133063}, {:data0=>0.009293825570720005, :data1=>0.02396813750298933}, {:data0=>0.006836998265632342, :data1=>0.02471270221241427}, {:data0=>0.004324599539094928, :data1=>0.025207168767024907}, {:data0=>0.0017819194338480426, :data1=>0.025447893339485144}, {:data0=>-0.0007655798698042863, :data1=>0.025433772901879793}, {:data0=>-0.003292517698692222, :data1=>0.025166243279545582}, {:data0=>-0.005773846442617254, :data1=>0.024649252042908975}, {:data0=>-0.008185098540854465, :data1=>0.023889206631990068}, {:data0=>-0.01050262647638368, :data1=>0.02289489835121626}, {:data0=>-0.01270383343610124, :data1=>0.02167740310767642}, {:data0=>-0.014767392399185942, :data1=>0.020249959991649205}, {:data0=>-0.016673451541311984, :data1=>0.018627829011978604}, {:data0=>-0.01840382398817506, :data1=>0.016828129498594552}, {:data0=>-0.01994216011628862, :data1=>0.014869660868283858}, {:data0=>-0.021274100780501223, :data1=>0.012772707615969535}, {:data0=>-0.0223874100443104, :data1=>0.010558830540700337}, {:data0=>-0.02327208619878958, :data1=>0.008250646341929136}, {:data0=>-0.023920450076668858, :data1=>0.005871597826320038}, {:data0=>-0.024327209897587257, :data1=>0.003445717047340738}, {:data0=>-0.024489502116455484, :data1=>0.000997383758567455}, {:data0=>-0.024406907986875066, :data1=>-0.0014489184035133976}, {:data0=>-0.024081445793262664, :data1=>-0.0038688455806101573}, {:data0=>-0.023517538946333426, :data1=>-0.006238434784265651}, {:data0=>-0.022721960374527773, :data1=>-0.008534340041677337}, {:data0=>-0.021703753876487566, :data1=>-0.010734061279675642}, {:data0=>-0.02047413332452915, :data1=>-0.012816163713779482}, {:data0=>-0.019046360824038884, :data1=>-0.014760485613872719}, {:data0=>-0.017435605136753983, :data1=>-0.01654833244321868}, {:data0=>-0.015658781865038867, :data1=>-0.018162655511919274}, {:data0=>-0.013734377067721707, :data1=>-0.01958821344801495}, {:data0=>-0.011682256134177147, :data1=>-0.02081171496752809}, {:data0=>-0.009523459880667825, :data1=>-0.021821941617041842}, {:data0=>-0.0072799899502204385, :data1=>-0.022609849366913477}, {:data0=>-0.004974585693445686, :data1=>-0.02316864814786924}, {:data0=>-0.002630494781863884, :data1=>-0.023493858646349293}, {:data0=>-0.0002712398568379915, :data1=>-0.02358334590233018}, {:data0=>0.002079616454262059, :data1=>-0.02343732948516604}, {:data0=>0.004398705817711398, :data1=>-0.02305837025595221}, {:data0=>0.006663085449758154, :data1=>-0.022451333956718736}, {:data0=>0.008850464071157128, :data1=>-0.021623332095121357}, {:data0=>0.010939420344461685, :data1=>-0.020583640815973234}, {:data0=>0.012909611663276858, :data1=>-0.019343598665776802}, {:data0=>0.014741971268020132, :data1=>-0.017916484361285023}, {:data0=>0.01641889178763814, :data1=>-0.016317375866064826}, {:data0=>0.017924393449864573, :data1=>-0.014562992258199833}, {:data0=>0.019244275362479905, :data1=>-0.012671520035945912}, {:data0=>0.020366248442991636, :data1=>-0.010662425654793454}, {:data0=>0.02128004876239727, :data1=>-0.008556256217621471}, {:data0=>0.021977530268301154, :data1=>-0.0063744303482657595}, {:data0=>0.022452736061605933, :data1=>-0.004139021366879999}, {:data0=>0.022701947617183058, :data1=>-0.001872534952166029}]>}, :extension=>[]}>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "require 'nyaplot'\n", - "\n", - "x = []; y = []; theta = 0.6; a=1\n", - "while theta < 14*Math::PI do\n", - " x.push(a*Math::cos(theta)/theta)\n", - " y.push(a*Math::sin(theta)/theta)\n", - " theta += 0.1\n", - "end\n", - "plot1 = Nyaplot::Plot.new\n", - "plot1.add(:line, x, y)\n", - "plot1.show" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Ruby 2.2.1", - "language": "ruby", - "name": "ruby" - }, - "language_info": { - "file_extension": ".rb", - "mimetype": "application/x-ruby", - "name": "ruby", - "version": "2.2.1" - } - }, - "nbformat": 4, - "nbformat_minor": 0 -} diff --git a/demo/site/search/search_index.json b/demo/site/search/search_index.json deleted file mode 100644 index e41fa37..0000000 --- a/demo/site/search/search_index.json +++ /dev/null @@ -1 +0,0 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"mkdocs-jupyter demo website","text":"

Look at the sidebar to see the demo notebooks

"},{"location":"demo-md/","title":"This is a MD file","text":"

Text can be bold, italic, or strikethrough. Links should be blue with no underlines (unless hovered over).

Even LaTex expression work: $\\delta_{\\alpha}$.

There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.

There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.

There should be no margin above this first sentence.

Blockquotes should be a lighter gray with a gray border along the left side.

There should be no margin below this final sentence.

"},{"location":"demo-md/#header-2","title":"Header 2","text":"

This is a normal paragraph following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.

"},{"location":"demo-md/#header-2_1","title":"Header 2","text":"

This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.

"},{"location":"demo-md/#header-3","title":"Header 3","text":"
This is a code block following a header.\n
"},{"location":"demo-md/#header-4","title":"Header 4","text":"
  • This is an unordered list following a header.
  • This is an unordered list following a header.
  • This is an unordered list following a header.
"},{"location":"demo-md/#header-5","title":"Header 5","text":"
  1. This is an ordered list following a header.
  2. This is an ordered list following a header.
  3. This is an ordered list following a header.
"},{"location":"demo-md/#header-6","title":"Header 6","text":"What Follows A table A header A table A header A table A header

There's a horizontal rule above and below this.

Here is an unordered list:

  • Salt-n-Pepa
  • Bel Biv DeVoe
  • Kid 'N Play

And an ordered list:

  1. Michael Jackson
  2. Michael Bolton
  3. Michael Bubl\u00e9

And an unordered task list:

  • [x] Create a sample markdown document
  • [x] Add task lists to it
  • [ ] Take a vacation

And a \"mixed\" task list:

  • [ ] Steal underpants
  • ?
  • [ ] Profit!

And a nested list:

  • Jackson 5
  • Michael
  • Tito
  • Jackie
  • Marlon
  • Jermaine
  • TMNT
  • Leonardo
  • Michelangelo
  • Donatello
  • Raphael

Definition lists can be used with HTML syntax. Definition terms are bold and italic.

Name Godzilla Born 1952 Birthplace Japan Color Green

Tables should have bold headings and alternating shaded rows.

Artist Album Year Michael Jackson Thriller 1982 Prince Purple Rain 1984 Beastie Boys License to Ill 1986

If a table is too wide, it should condense down and/or scroll horizontally.

Artist Album Year Label Awards Songs Michael Jackson Thriller 1982 Epic Records Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life Prince Purple Rain 1984 Warner Brothers Records Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain Beastie Boys License to Ill 1986 Mercury Records noawardsbutthistablecelliswide Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill

Code snippets like var foo = \"bar\"; can be shown inline.

Also, this should vertically align ~~with this~~ ~~and this~~.

Code can also be shown in a block element.

var foo = \"bar\";\n
| Language    | Code               |\n|-------------|--------------------|\n| Javascript  | `var foo = \"bar\";` |\n| Ruby        | `foo = \"bar\"`      |\n

Code can also use syntax highlighting.

var foo = \"bar\";\n
Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.\n
var foo = \"The same thing is true for code with syntax highlighting. A single line of code should horizontally scroll if it is really long.\";\n
class CustomMarkdownRendered(IPythonRenderer):\ndef block_code(self, code, lang):\nif lang:\ntry:\nlexer = get_lexer_by_name(lang, stripall=True)\nexcept ClassNotFound:\ncode = lang + \"\\n\" + code\nlang = None\nlexer = None\nif not lang:\nreturn \"\\n<pre><code>%s</code></pre>\\n\" % mistune.escape(code)\nformatter = CodeHtmlFormatter()\nreturn highlight(code, lexer, formatter)\n

Inline code inside table cells should still be distinguishable.

Language Code Javascript var foo = \"bar\"; Ruby foo = \"bar\"

Small images should be shown at their actual size.

Large images should always scale down and fit in the content container.

This is the final element on the page and there should be no margin below this.

"}]} \ No newline at end of file diff --git a/demo/site/sitemap.xml b/demo/site/sitemap.xml deleted file mode 100644 index 57a0686..0000000 --- a/demo/site/sitemap.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - https://mkdocs-jupyter.danielfrg.com/ - 2023-04-01 - daily - - - https://mkdocs-jupyter.danielfrg.com/demo-md/ - 2023-04-01 - daily - - \ No newline at end of file diff --git a/demo/site/sitemap.xml.gz b/demo/site/sitemap.xml.gz deleted file mode 100644 index 3bbd0b8..0000000 Binary files a/demo/site/sitemap.xml.gz and /dev/null differ diff --git a/demo/site/variational-inference-nb.ipynb b/demo/site/variational-inference-nb.ipynb deleted file mode 100644 index ed7c9c8..0000000 --- a/demo/site/variational-inference-nb.ipynb +++ /dev/null @@ -1,703 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Variational Inference (NB)\n", - "\n", - "## Intro to Bayesian Networks\n", - "\n", - "### Random Variables\n", - "\n", - "Random Variables are simply variables whose values are uncertain. Eg -\n", - "\n", - "1. In case of flipping a coin $n$ times, a random variable $X$ can be number of heads shown up.\n", - "\n", - "2. In COVID-19 pandemic situation, random variable can be number of patients found positive with virus daily.\n", - "\n", - "### Probability Distributions\n", - "\n", - "Probability Distributions governs the amount of uncertainty of random variables. They have a math function with which they assign probabilities to different values taken by random variables. The associated math function is called probability density function (pdf). For simplicity, let's denote any random variable as $X$ and its corresponding pdf as $P\\left (X\\right )$. Eg - Following figure shows the probability distribution for number of heads when an unbiased coin is flipped 5 times.\n", - "\n", - "### Bayesian Networks\n", - "\n", - "Bayesian Networks are graph based representations to acccount for randomness while modelling our data. The nodes of the graph are random variables and the connections between nodes denote the direct influence from parent to child.\n", - "\n", - "### Bayesian Network Example\n", - "\n", - "\n", - "Let's say a student is taking a class during school. The `difficulty` of the class and the `intelligence` of the student together directly influence student's `grades`. And the `grades` affects his/her acceptance to the university. Also, the `intelligence` factor influences student's `SAT` score. Keep this example in mind.\n", - "\n", - "More formally, Bayesian Networks represent joint probability distribution over all the nodes of graph -\n", - "$P\\left (X_1, X_2, X_3, ..., X_n\\right )$ or $P\\left (\\bigcap_{i=1}^{n}X_i\\right )$ where $X_i$ is a random variable. Also Bayesian Networks follow local Markov property by which every node in the graph is independent on its **non-descendants** given its **parents**. In this way, the joint probability distribution can be decomposed as -\n", - "\n", - "$$\n", - "P\\left (X_1, X_2, X_3, ..., X_n\\right ) = \\prod_{i=1}^{n} P\\left (X_i | Par\\left (X_i\\right )\\right )\n", - "$$\n", - "\n", - "
\n", - " Extra: Proof of decomposition\n", - "


First, let's recall conditional probability,
\n", - " $$P\\left (A|B\\right ) = \\frac{P\\left (A, B\\right )}{P\\left (B\\right )}$$\n", - " The above equation is so derived because of reduction of sample space of $A$ when $B$ has already occured.\n", - " Now, adjusting terms -
\n", - " $$P\\left (A, B\\right ) = P\\left (A|B\\right )*P\\left (B\\right )$$\n", - " This equation is called chain rule of probability. Let's generalize this rule for Bayesian Networks. The ordering of names of nodes is such that parent(s) of nodes lie above them (Breadth First Ordering).
\n", - " $$P\\left (X_1, X_2, X_3, ..., X_n\\right ) = P\\left (X_n, X_{n-1}, X_{n-2}, ..., X_1\\right )\\\\\n", - " = P\\left (X_n|X_{n-1}, X_{n-2}, X_{n-3}, ..., X_1\\right ) * P \\left (X_{n-1}, X_{n-2}, X_{n-3}, ..., X_1\\right ) \\left (Chain Rule\\right )\\\\ \n", - " = P\\left (X_n|X_{n-1}, X_{n-2}, X_{n-3}, ..., X_1\\right ) * P \\left (X_{n-1}|X_{n-2}, X_{n-3}, X_{n-4}, ..., X_1\\right ) * P \\left (X_{n-2}, X_{n-3}, X_{n-4}, ..., X_1\\right )$$\n", - " Applying chain rule repeatedly, we get the following equation -
\n", - " $$P\\left (\\bigcap_{i=1}^{n}X_i\\right ) = \\prod_{i=1}^{n} P\\left (X_i | P\\left (\\bigcap_{j=1}^{i-1}X_j\\right )\\right )$$\n", - " Keep the above equation in mind. Let's bring back Markov property. To bring some intuition behind Markov property, let's reuse Bayesian Network Example. If we say, the student scored very good grades, then it is highly likely the student gets acceptance letter to university. No matter how difficult the class was, how much intelligent the student was, and no matter what his/her SAT score was. The key thing to note here is by observing the node's parent, the influence by non-descendants towards the node gets eliminated. Now, the equation becomes -
\n", - " $$P\\left (\\bigcap_{i=1}^{n}X_i\\right ) = \\prod_{i=1}^{n} P\\left (X_i | Par\\left (X_i\\right )\\right )$$\n", - " Bingo, with the above equation, we have proved Factorization Theorem in Probability.\n", - "

\n", - "
\n", - "\n", - "The decomposition of running [Bayesian Network Example](#bayesian-network-example) can be written as -\n", - "\n", - "$$\n", - "P\\left (Difficulty, Intelligence, Grade, SAT, Acceptance Letter\\right ) = P\\left (Difficulty\\right )*P\\left (Intelligence\\right )*\\left (Grade|Difficulty, Intelligence\\right )*P\\left (SAT|Intelligence\\right )*P\\left (Acceptance Letter|Grade\\right )\n", - "$$\n", - "\n", - "### Why care about Bayesian Networks\n", - "\n", - "Bayesian Networks allow us to determine the distribution of parameters given the data (Posterior Distribution). The whole idea is to model the underlying data generative process and estimate unobservable quantities. Regarding this, Bayes formula can be written as -\n", - "\n", - "$$\n", - "P\\left (\\theta | D\\right ) = \\frac{P\\left (D|\\theta\\right ) * P\\left (\\theta\\right )}{P\\left (D\\right )}\n", - "$$\n", - "\n", - "$\\theta$ = Parameters of the model\n", - "\n", - "$P\\left (\\theta\\right )$ = Prior Distribution over the parameters\n", - "\n", - "$P\\left (D|\\theta\\right )$ = Likelihood of the data\n", - "\n", - "$P\\left (\\theta|D\\right )$ = Posterior Distribution\n", - "\n", - "$P\\left (D\\right )$ = Probability of Data. This term is calculated by marginalising out the effect of parameters.\n", - "\n", - "$$\n", - "P\\left (D\\right ) = \\int P\\left (D, \\theta\\right ) d\\left (\\theta\\right )\\\\\n", - "P\\left (D\\right ) = \\int P\\left (D|\\theta\\right ) P\\left (\\theta\\right ) d\\left (\\theta\\right )\n", - "$$\n", - "\n", - "So, the Bayes formula becomes -\n", - "\n", - "$$\n", - "P\\left (\\theta | D\\right ) = \\frac{P\\left (D|\\theta\\right ) * P\\left (\\theta\\right )}{\\int P\\left (D|\\theta\\right ) P\\left (\\theta\\right ) d\\left (\\theta\\right )}\n", - "$$\n", - "\n", - "The devil is in the denominator. The integration over all the parameters is **intractable**. So we resort to sampling and optimization techniques.\n", - "\n", - "## Intro to Variational Inference\n", - "\n", - "### Information\n", - "\n", - "Variational Inference has its origin in Information Theory. So first, let's understand the basic terms - Information and Entropy . Simply, **Information** quantifies how much useful the data is. It is related to Probability Distributions as -\n", - "\n", - "$$\n", - "I = -\\log \\left (P\\left (X\\right )\\right )\n", - "$$\n", - "\n", - "The negative sign in the formula has high intuitive meaning. In words, it signifies whenever the probability of certain events is high, the related information is less and vica versa. For example -\n", - "\n", - "1. Consider the statement - It never snows in deserts. The probability of this statement being true is significantly high because we already know that it is hardly possible to snow in deserts. So, the related information is very small.\n", - "2. Now consider - There was a snowfall in Sahara Desert in late December 2019. Wow, thats a great news because some unlikely event occured (probability was less). In turn, the information is high.\n", - "\n", - "### Entropy\n", - "\n", - "Entropy quantifies how much **average** Information is present in occurence of events. It is denoted by $H$. It is named Differential Entropy in case of Real Continuous Domain.\n", - "\n", - "$$\n", - "H = E_{P\\left (X\\right )} \\left [-\\log\\left (P\\left (X\\right )\\right )\\right ]\\\\\n", - "H = -\\int_X P_X\\left (x\\right ) \\log\\left (P_X\\left (x\\right )\\right ) dx\n", - "$$\n", - "\n", - "### Entropy of Normal Distribution\n", - "\n", - "As an exercise, let's calculate entropy of Normal Distribution. Let's denote $\\mu$ as mean nd $\\sigma$ as standard deviation of Normal Distribution. Remember the results, we will need them further.\n", - "\n", - "$$\n", - "X \\sim Normal\\left (\\mu, \\sigma^2\\right )\\\\\n", - "P_X\\left (x\\right ) = \\frac{1}{\\sigma \\sqrt{2 \\pi}} e^{ - \\frac{1}{2} \\left ({\\frac{x- \\mu}{ \\sigma}}\\right )^2}\\\\\n", - "H = -\\int_X P_X\\left (x\\right ) \\log\\left (P_X\\left (x\\right )\\right ) dx\n", - "$$\n", - "\n", - "Only expanding $\\log\\left (P_X\\left (x\\right )\\right )$ -\n", - "\n", - "$$\n", - "H = -\\int_X P_X\\left (x\\right ) \\log\\left (\\frac{1}{\\sigma \\sqrt{2 \\pi}} e^{ - \\frac{1}{2} \\left ({\\frac{x- \\mu}{ \\sigma}}\\right )^2}\\right ) dx\\\\\n", - "H = -\\frac{1}{2}\\int_X P_X\\left (x\\right ) \\log\\left (\\frac{1}{2 \\pi {\\sigma}^2}\\right )dx - \\int_X P_X\\left (x\\right ) \\log\\left (e^{ - \\frac{1}{2} \\left ({\\frac{x- \\mu}{ \\sigma}}\\right )^2}\\right ) dx\\\\\n", - "H = \\frac{1}{2}\\log \\left ( 2 \\pi {\\sigma}^2 \\right)\\int_X P_X\\left (x\\right ) dx + \\frac{1}{2{\\sigma}^2} \\int_X \\left ( x-\\mu \\right)^2 P_X\\left (x\\right ) dx\n", - "$$\n", - "\n", - "Identifying terms -\n", - "\n", - "$$\n", - "\\int_X P_X\\left (x\\right ) dx = 1\\\\\n", - "\\int_X \\left ( x-\\mu \\right)^2 P_X\\left (x\\right ) dx = \\sigma^2\n", - "$$\n", - "\n", - "Substituting back, the entropy becomes -\n", - "\n", - "$$\n", - "H = \\frac{1}{2}\\log \\left ( 2 \\pi {\\sigma}^2 \\right) + \\frac{1}{2\\sigma^2} \\sigma^2\\\\\n", - "H = \\frac{1}{2}\\left ( \\log \\left ( 2 \\pi {\\sigma}^2 \\right) + 1 \\right )\n", - "$$\n", - "\n", - "### KL divergence\n", - "\n", - "This mathematical tool serves as the backbone of Variational Inference. Kullback–Leibler (KL) divergence measures the mutual information between two probability distributions. Let's say, we have two probability distributions $P$ and $Q$, then KL divergence quantifies how much similar these distributions are. Mathematically, it is just the difference between entropies of probabilities distributions. In terms of notation, $KL(Q||P)$ represents KL divergence with respect to $Q$ against $P$.\n", - "\n", - "$$\n", - "KL(Q||P) = H_P - H_Q\\\\\n", - "= -\\int_X P_X\\left (x\\right ) \\log\\left (P_X\\left (x\\right )\\right ) dx + \\int_X Q_X\\left (x\\right ) \\log\\left (Q_X\\left (x\\right )\\right ) dx\n", - "$$\n", - "\n", - "Changing $-\\int_X P_X\\left (x\\right ) \\log\\left (P_X\\left (x\\right )\\right ) dx$ to $-\\int_X Q_X\\left (x\\right ) \\log\\left (P_X\\left (x\\right )\\right ) dx$ as the KL divergence is with respect to $Q$.\n", - "\n", - "$$\n", - "= -\\int_X Q_X\\left (x\\right ) \\log\\left (P_X\\left (x\\right )\\right ) dx + \\int_X Q_X\\left (x\\right ) \\log\\left (Q_X\\left (x\\right )\\right ) dx\\\\\n", - "= \\int_X Q_X\\left (x \\right) \\log \\left( \\frac{Q_X\\left (x \\right)}{P_X\\left (x \\right)} \\right) dx\n", - "$$\n", - "\n", - "Remember? We were stuck upon Bayesian Equation because of denominator term but now, we can estimate the posterior distribution $p(\\theta|D)$ by another distribution $q(\\theta)$ over all the parameters of the model.\n", - "\n", - "$$\n", - "KL(q(\\theta)||p(\\theta|D)) = \\int q(\\theta) \\log \\left( \\frac{q(\\theta)}{p(\\theta|D)} \\right) d\\theta\\\\\n", - "$$\n", - "\n", - "
\n", - "

Note

\n", - "

\n", - " If two distributions are similar, then their entropies are similar, implies the KL divergence with respect to two distributions will be smaller. And vica versa. In Variational Inference, the whole idea is to minimize KL divergence so that our approximating distribution $q(\\theta)$ can be made similar to $p(\\theta|D)$.\n", - "

\n", - "
\n", - "\n", - "
\n", - " Extra: What are latent variables?\n", - "


\n", - " If you go about exploring any paper talking about Variational Inference, then most certainly, the papers mention about latent variables instead of parameters. The parameters are fixed quantities for the model whereas latent variables are unobserved quantities of the model conditioned on parameters. Also, we model parameters by probability distributions. For simplicity, let's consider the running terminology of parameters only.\n", - "

\n", - "
\n", - "\n", - "### Evidence Lower Bound\n", - "\n", - "There is again an issue with KL divergence formula as it still involves posterior term i.e. $p(\\theta|D)$. Let's get rid of it -\n", - "\n", - "$$\n", - "KL(q(\\theta)||p(\\theta|D)) = \\int q(\\theta) \\log \\left( \\frac{q(\\theta)}{p(\\theta|D)} \\right) d\\theta\\\\\n", - "KL = \\int q(\\theta) \\log \\left( \\frac{q(\\theta) p(D)}{p(\\theta, D)} \\right) d\\theta\\\\\n", - "KL = \\int q(\\theta) \\log \\left( \\frac{q(\\theta)}{p(\\theta, D)} \\right) d\\theta + \\int q(\\theta) \\log \\left(p(D) \\right) d\\theta\\\\\n", - "KL + \\int q(\\theta) \\log \\left( \\frac{p(\\theta, D)}{q(\\theta)} \\right) d\\theta = \\log \\left(p(D) \\right) \\int q(\\theta) d\\theta\\\\\n", - "$$\n", - "\n", - "Identifying terms -\n", - "\n", - "$$\n", - "\\int q(\\theta) d\\theta = 1\n", - "$$\n", - "\n", - "So, substituting back, our running equation becomes -\n", - "\n", - "$$\n", - "KL + \\int q(\\theta) \\log \\left( \\frac{p(\\theta, D)}{q(\\theta)} \\right) d\\theta = \\log \\left(p(D) \\right)\n", - "$$\n", - "\n", - "The term $\\int q(\\theta) \\log \\left( \\frac{p(\\theta, D)}{q(\\theta)} \\right) d\\theta$ is called Evidence Lower Bound (ELBO). The right side of the equation $\\log \\left(p(D) \\right)$ is constant.\n", - "\n", - "
\n", - "

Observe

\n", - "

\n", - " Minimizing the KL divergence is equivalent to maximizing the ELBO. Also, the ELBO does not depend on posterior distribution.\n", - "

\n", - "
\n", - "\n", - "Also,\n", - "\n", - "$$\n", - "ELBO = \\int q(\\theta) \\log \\left( \\frac{p(\\theta, D)}{q(\\theta)} \\right) d\\theta\\\\\n", - "ELBO = E_{q(\\theta)}\\left [\\log \\left( \\frac{p(\\theta, D)}{q(\\theta)} \\right) \\right]\\\\\n", - "ELBO = E_{q(\\theta)}\\left [\\log \\left(p(\\theta, D) \\right) \\right] + E_{q(\\theta)} \\left [-\\log(q(\\theta)) \\right]\n", - "$$\n", - "\n", - "The term $E_{q(\\theta)} \\left [-\\log(q(\\theta)) \\right]$ is entropy of $q(\\theta)$. Our running equation becomes -\n", - "\n", - "$$\n", - "ELBO = E_{q(\\theta)}\\left [\\log \\left(p(\\theta, D) \\right) \\right] + H_{q(\\theta)}\n", - "$$\n", - "\n", - "## Mean Field ADVI\n", - "\n", - "So far, the whole crux of the story is - To approximate the posterior, maximize the ELBO term. ADVI = Automatic Differentiation Variational Inference. I think the term **Automatic Differentiation** deals with maximizing the ELBO (or minimizing the negative ELBO) using any autograd differentiation library. Coming to Mean Field ADVI (MF ADVI), we simply assume that the parameters of approximating distribution $q(\\theta)$ are independent and posit Normal distributions over all parameters in **transformed** space to maximize ELBO.\n", - "\n", - "### Transformed Space\n", - "\n", - "To freely optimize ELBO, without caring about matching the **support** of model parameters, we **transform** the support of parameters to Real Coordinate Space. In other words, we optimize ELBO in transformed/unconstrained/unbounded space which automatically maps to minimization of KL divergence in original space. In terms of notation, let's denote a transformation over parameters $\\theta$ as $T$ and the transformed parameters as $\\zeta$. Mathematically, $\\zeta=T(\\theta)$. Also, since we are approximating by Normal Distributions, $q(\\zeta)$ can be written as -\n", - "\n", - "$$\n", - "q(\\zeta) = \\prod_{i=1}^{k} N(\\zeta_k; \\mu_k, \\sigma^2_k)\n", - "$$\n", - "\n", - "Now, the transformed joint probability distribution of the model becomes -\n", - "\n", - "$$\n", - "p\\left (D, \\zeta \\right) = p\\left (D, T^{-1}\\left (\\zeta \\right) \\right) \\left | det J_{T^{-1}}(\\zeta) \\right |\\\\\n", - "$$\n", - "\n", - "
\n", - " Extra: Proof of transformation equation\n", - "


To simplify notations, let's use $Y=T(X)$ instead of $\\zeta=T(\\theta)$. After reaching the results, we will put the values back. Also, let's denote cummulative distribution function (cdf) as $F$. There are two cases which respect to properties of function $T$.

Case 1 - When $T$ is an increasing function $$F_Y(y) = P(Y <= y) = P(T(X) <= y)\\\\\n", - " = P\\left(X <= T^{-1}(y) \\right) = F_X\\left(T^{-1}(y) \\right)\\\\\n", - " F_Y(y) = F_X\\left(T^{-1}(y) \\right)$$Let's differentiate with respect to $y$ both sides - $$\\frac{\\mathrm{d} (F_Y(y))}{\\mathrm{d} y} = \\frac{\\mathrm{d} (F_X\\left(T^{-1}(y) \\right))}{\\mathrm{d} y}\\\\\n", - " P_Y(y) = P_X\\left(T^{-1}(y) \\right) \\frac{\\mathrm{d} (T^{-1}(y))}{\\mathrm{d} y}$$Case 2 - When $T$ is a descreasing function $$F_Y(y) = P(Y <= y) = P(T(X) <= y) = P\\left(X >= T^{-1}(y) \\right)\\\\\n", - " = 1-P\\left(X < T^{-1}(y) \\right) = 1-P\\left(X <= T^{-1}(y) \\right) = 1-F_X\\left(T^{-1}(y) \\right)\\\\\n", - " F_Y(y) = 1-F_X\\left(T^{-1}(y) \\right)$$Let's differentiate with respect to $y$ both sides - $$\\frac{\\mathrm{d} (F_Y(y))}{\\mathrm{d} y} = \\frac{\\mathrm{d} (1-F_X\\left(T^{-1}(y) \\right))}{\\mathrm{d} y}\\\\\n", - " P_Y(y) = (-1) P_X\\left(T^{-1}(y) \\right) (-1) \\frac{\\mathrm{d} (T^{-1}(y))}{\\mathrm{d} y}\\\\\n", - " P_Y(y) = P_X\\left(T^{-1}(y) \\right) \\frac{\\mathrm{d} (T^{-1}(y))}{\\mathrm{d} y}$$Combining both results - $$P_Y(y) = P_X\\left(T^{-1}(y) \\right) \\left | \\frac{\\mathrm{d} (T^{-1}(y))}{\\mathrm{d} y} \\right |$$Now comes the role of Jacobians to deal with multivariate parameters $X$ and $Y$. $$J_{T^{-1}}(Y) = \\begin{vmatrix}\n", - " \\frac{\\partial (T_1^{-1})}{\\partial y_1} & ... & \\frac{\\partial (T_1^{-1})}{\\partial y_k}\\\\\n", - " . & & .\\\\\n", - " . & & .\\\\\n", - " \\frac{\\partial (T_k^{-1})}{\\partial y_1} & ... &\\frac{\\partial (T_k^{-1})}{\\partial y_k}\n", - " \\end{vmatrix}$$Concluding - $$P(Y) = P(T^{-1}(Y)) |det J_{T^{-1}}(Y)|\\\\P(Y) = P(X) |det J_{T^{-1}}(Y)|\n", - " $$Substitute $X$ as $\\theta$ and $Y$ as $\\zeta$, we will get - $$P(\\zeta) = P(T^{-1}(\\zeta)) |det J_{T^{-1}}(\\zeta)|\\\\$$\n", - "

\n", - "
\n", - " \n", - "### ELBO in transformed Space\n", - "\n", - "Let's bring back the equation formed at [ELBO](#evidence-lower-bound). Expressing ELBO in terms of $\\zeta$ -\n", - "\n", - "$$\n", - "ELBO = E_{q(\\theta)}\\left [\\log \\left(p(\\theta, D) \\right) \\right] + H_{q(\\theta)}\\\\\n", - "ELBO = E_{q(\\zeta)}\\left [\\log \\left(p\\left (D, T^{-1}\\left (\\zeta \\right) \\right) \\left | det J_{T^{-1}}(\\zeta) \\right | \\right) \\right] + H_{q(\\zeta)}\n", - "$$\n", - "\n", - "Since, we are optimizing ELBO by factorized Normal Distributions, let's bring back the results of [Entropy of Normal Distribution](#entropy-of-normal-distribution). Our running equation becomes -\n", - "\n", - "$$\n", - "ELBO = E_{q(\\zeta)}\\left [\\log \\left(p\\left (D, T^{-1}\\left (\\zeta \\right) \\right) \\left | det J_{T^{-1}}(\\zeta) \\right | \\right) \\right] + H_{q(\\zeta)}\\\\\n", - "ELBO = E_{q(\\zeta)}\\left [\\log \\left(p\\left (D, T^{-1}\\left (\\zeta \\right) \\right) \\left | det J_{T^{-1}}(\\zeta) \\right | \\right) \\right] + \\frac{1}{2}\\left ( \\log \\left ( 2 \\pi {\\sigma}^2 \\right) + 1 \\right )\n", - "$$\n", - "\n", - "
\n", - "

Success

\n", - "

\n", - " The above ELBO equation is the final one which needs to be optimized.\n", - "

\n", - "
\n", - " \n", - "### Let's Code" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "# Imports\n", - "%matplotlib inline\n", - "import numpy as np\n", - "import scipy as sp\n", - "import pandas as pd\n", - "import tensorflow as tf\n", - "from scipy.stats import expon, uniform\n", - "import arviz as az\n", - "import pymc3 as pm\n", - "import matplotlib.pyplot as plt\n", - "import tensorflow_probability as tfp\n", - "from pprint import pprint\n", - "\n", - "plt.style.use(\"seaborn-darkgrid\")\n", - "\n", - "from tensorflow_probability.python.mcmc.transformed_kernel import (\n", - " make_transform_fn, make_transformed_log_prob)\n", - "\n", - "tfb = tfp.bijectors\n", - "tfd = tfp.distributions\n", - "dtype = tf.float32" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Plot functions\n", - "def plot_transformation(theta, zeta, p_theta, p_zeta):\n", - " fig, (const, trans) = plt.subplots(nrows=2, ncols=1, figsize=(6.5, 12))\n", - " const.plot(theta, p_theta, color='blue', lw=2)\n", - " const.set_xlabel(r\"$\\theta$\")\n", - " const.set_ylabel(r\"$P(\\theta)$\")\n", - " const.set_title(\"Constrained Space\")\n", - "\n", - " trans.plot(zeta, p_zeta, color='blue', lw=2)\n", - " trans.set_xlabel(r\"$\\zeta$\")\n", - " trans.set_ylabel(r\"$P(\\zeta)$\")\n", - " trans.set_title(\"Transfomed Space\");\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Transformed Space Example-1\n", - "\n", - "Transformation of Standard Exponential Distribution\n", - "\n", - "$$\n", - "P_X(x) = e^{-x}\n", - "$$\n", - "\n", - "The support of Exponential Distribution is $x>=0$. Let's use **log** transformation to map the support to real number line. Mathematically, $\\zeta=\\log(\\theta)$. Now, let's bring back our transformed joint probability distribution equation -\n", - "\n", - "$$\n", - "P(\\zeta) = P(T^{-1}(\\zeta)) |det J_{T^{-1}}(\\zeta)|\\\\\n", - "P(\\zeta) = P(e^{\\zeta}) * e^{\\zeta}\n", - "$$\n", - "\n", - "Converting this directly into Python code -" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "theta = np.linspace(0, 5, 100)\n", - "zeta = np.linspace(-5, 5, 100)\n", - "\n", - "dist = expon()\n", - "p_theta = dist.pdf(theta)\n", - "p_zeta = dist.pdf(np.exp(zeta)) * np.exp(zeta)\n", - "\n", - "plot_transformation(theta, zeta, p_theta, p_zeta)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Transformed Space Example-2\n", - "\n", - "Transformation of Uniform Distribution (with support $0<=x<=1$)\n", - "\n", - "$$\n", - "P_X(x) = 1\n", - "$$\n", - "\n", - "Let's use **logit** or **inverse sigmoid** transformation to map the support to real number line. Mathematically, $\\zeta=logit(\\theta)$.\n", - "\n", - "$$\n", - "P(\\zeta) = P(T^{-1}(\\zeta)) |det J_{T^{-1}}(\\zeta)|\\\\\n", - "P(\\zeta) = P(sig(\\zeta)) * sig(\\zeta) * (1-sig(\\zeta))\n", - "$$\n", - "\n", - "where $sig$ is the sigmoid function.\n", - "\n", - "Converting this directly into Python code -" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaEAAALHCAYAAAAn7f0YAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeViU5f4/8PfMMwzbILhvhbnhmpKY5IIEKrhvpGCK+s2lTuXJKNdyPebu6RwttxYty9QszeWUqbnligsupWiYqOVCKsqAMsw89++P+c2oiYDCzA0z79d1eV3O9syHD8O8577nfp5HI4QQICIikkAruwAiInJfDCEiIpKGIURERNIwhIiISBqGEBERScMQIiIiaRhC5DIsFguWLFmCnj17olu3bujYsSNmzZoFk8lU5M+VkZGB/v37P/Ljtm7diilTphRZHZ988glGjx6d623bt29HbGwsunbtik6dOuGNN97A5cuXi+y5iYqCTnYBREVl4sSJuHnzJj777DP4+fkhKysLb7/9Nt555x3MmjWrSJ/r5s2bOH78+CM/rk2bNmjTpk2R1pKbK1euYNSoUfj2229RtWpVAMCCBQswfPhwrFixwuHPT1RQDCFyCRcuXMD69evx888/w2AwAAB8fHwwadIkHDlyBIB19DJp0iScOnUKGo0GYWFhSEhIgE6nw9NPP42hQ4di9+7duHr1Kvr374+BAwciLS0No0aNwo0bNwAA4eHhGD58OMaMGYM7d+6gW7du+Pbbb9G4cWO0adMGp06dwuzZs5GcnIyVK1ciJycHN2/exJAhQ/Diiy/i22+/xaZNm7Bo0SLEx8cjODgYhw8fxqVLlxASEoIZM2ZAq9Xi8OHDmD17Nm7fvg2NRoNhw4YhIiICOTk5mDJlCvbs2YOyZcuibNmy8PPze6AfN27cQE5ODrKysuzXDRgwAPXq1QMAfPvtt9i4cSNUVcWVK1dQsWJFTJ8+HRUrVkRSUpJ9BJmWloYWLVpg6tSpAIBt27bhP//5D1RVtfe3bt26D62XKF+CyAX88MMPIiYmJs/7jBw5UvzrX/8SqqqK7Oxs8dJLL4lFixYJIYQICgoSy5YtE0IIcfz4cdGwYUNx584d8cEHH4hx48YJIYTIzMwUw4cPF7du3RIXLlwQwcHB9m0HBQWJNWvWCCGEMBqNonfv3uL69etCCCGOHDliv+8333wjhg4dKoQQol+/fuKf//ynsFgsIiMjQ7Rq1Urs3btXpKeni6ioKHHhwgUhhBCXL18WrVu3Fn/88YdYunSp6N+/v8jOzhaZmZmiR48eYtSoUbn+vNOmTRMNGjQQHTp0EO+8847YsGGDyMnJsdcRHBwszp49K4QQYtasWWLYsGFCCCHefPNNsW/fPvvPEhoaKo4fPy7S0tJESEiI+PXXX4UQQmzatEkMGjQoz3qJ8sORELkErVYLVVXzvM/OnTvx1VdfQaPRQK/XIy4uDp999hmGDh0KAPZpsgYNGsBkMiErKwthYWEYOnQoLl26hBYtWuCtt96Cn58fbt68+cD2mzZtCgDw9fXFwoULsWPHDpw7dw6nTp26b0Ryr4iICGi1WhgMBlSrVg03b95EUlIS0tLS8Nprr9nvp9FokJycjL1796Jz587Q6/XQ6/Xo0qULkpOTc9326NGj8fLLL+PAgQNITEzEzJkzsWzZMnz55ZcAgJYtW6J69eoAgN69e6Nbt24AgOnTp2Pnzp1YuHAhzp49izt37iArKwuHDx9G7dq17aOpqKgoREVFYceOHQ+tt0qVKnn+TogYQuQSGjVqhLNnz8JoNNqn4wDrdyPjxo3D3LlzHwgpVVVhNpvtlz09PQFY30ABQAiBRo0aYevWrdi7dy/27duHXr164cMPP0SFChUeqMHHxwcAcPnyZcTGxqJ3794ICQlB+/btsW3btlzr9vLysv9fo9FACAGLxYKaNWvi66+/vu/nKFOmDFauXHnf4xVFyXW7W7duRXp6OmJiYhAdHY3o6Gi8+eabeP755/Hrr78+8FhVVe2X+/bti7p16yIsLAwdOnTA0aNHIYSAoij23tj6k5ycnGe9RPnh6jhyCRUrVkSXLl0wduxYGI1GAIDRaMTEiRMREBAALy8vtGrVCl9++SWEEDCZTFi1ahVatGiR53Znz56N+fPno23btnjnnXdQq1YtnDt3DjqdDhaLBSKX4/+eOHECZcqUwauvvoqwsDB7AFkslgL9LMHBwUhNTUViYiIA4OTJk4iOjsbVq1cRFhaGtWvXIjs7G9nZ2fjf//6X6zZ8fX3x73//G7/99pv9uosXL8LT0xOBgYEAgH379uHKlSsAgBUrViAiIgI3b97EiRMn8PbbbyMqKgpXrlzB+fPnoaoqGjdujJSUFJw5cwaANehGjBiRZ71E+eFIiFzGhAkTMH/+fMTFxUFRFJhMJrRt2xbDhg0DALz77ruYMmUKunTpgpycHISFheGVV17Jc5sDBgzA6NGj7VNgderUQefOnaEoCurXr48OHTrgq6++uu8xLVu2xOrVq9G+fXt4e3ujUaNGKFOmDFJTUwv0c5QpUwZz587FzJkzkZ2dDSEEZs6ciapVqyIuLg7nz59H586dERAQgGrVquW6jeeeew7jxo3DqFGjkJGRAUVRUL58ecyfPx/+/v4ArME9YsQIpKWloVatWpg8eTL8/f0xdOhQ9OjRAwEBAShdujSaNGmC1NRUNG/eHLNnz8aoUaNgsVhgMBjw/vvv51kvUX40IrePckTk0u5dpUckE6fjiIhIGo6EiIhIGo6EiIhIGoYQERFJwxAiIiJpSvwS7bS0jEJvw2DwhNGYXQTVlGzsA3tgwz5YsQ9WRdGH8uUfPMYhwJEQAECny32vc3fDPrAHNuyDFftg5cg+MISIiEgahhAREUnDECIiImkYQkREJA1DiIiIpGEIERGRNAwhIiKShiFERETSMISIiEgahhAREUnDECIiImkYQkREJA1DiIiIpGEIERGRNAwhIiKShiFERETSMISIiEgahhAREUnDECIiImkYQkREJA1DiIiIpGEIERGRNAwhIiKShiFERETSMISIiEgahhAREUnDECIiImkYQkREJA1DiIiIpGEIERGRNAwhIiKShiFERETSMISIiEgahhAREUnDECIiImmcGkJHjx5FfHz8A9f/9NNPiImJQWxsLFatWnXfbSkpKQgJCUF2drazyiQiIifROeuJPvroI6xbtw7e3t73XZ+Tk4Np06Zh9erV8Pb2Rp8+fRAZGYly5crBaDRixowZ0Ov1ziqTiIicyGkjocDAQMybN++B61NSUhAYGAh/f3/o9XqEhIQgMTERQgiMGzcOCQkJDwQXERG5BqeNhKKjo3Hx4sUHrjcajfDz87Nf9vX1hdFoxAcffIDw8HDUrVs3z+0aDJ7Q6ZRC1aYoWgQE+BRqG66AfWAPbNgHK/bBypF9cFoIPYzBYEBmZqb9cmZmJvz8/LB48WJUqlQJ33zzDdLS0vDSSy/hyy+/fODxRmPhvysKCPBBenpWobdT0rEP7IEN+2DFPlgVRR/Kl/fL9XrpIVSzZk2kpqYiPT0dPj4+OHjwIAYNGoTNmzfb7xMZGYlPP/1UYpVEROQI0kJo/fr1yMrKQmxsLEaPHo1BgwZBCIGYmBhUrFhRVllEROREGiGEkF1EYaSlZRR6GxxyW7EP7IEN+2DFPlg5cjqOO6sSEZE0DCEiIpKGIURERNIwhIiISBqGEBERScMQIiIiaRhCREQkDUOIiIikYQgREZE0DCEiIpKGIURERNIwhIiISBqGEBERScMQIiIiaRhCREQkDUOIiIikYQgREZE0DCEiIpKGIURERNIwhIiISBqGEBERScMQIiIiaRhCREQkDUOIiIikYQgREZE0DCEiIpKGIURERNIwhIiISBqGEBERScMQIiIiaRhCREQkDUOIiIikYQgREZE0DCEiIpKGIURERNIwhIiISBqGEBERScMQIiIiaRhCREQkDUOIiIikYQgREZE0DCEiIpKGIURERNIwhIiISBqGEBERScMQIiIiaZwaQkePHkV8fPwD1//000+IiYlBbGwsVq1aBQDIyMjAK6+8gn79+iE2NhZHjhxxZqlEROQEOmc90UcffYR169bB29v7vutzcnIwbdo0rF69Gt7e3ujTpw8iIyOxfPlyPPfccxg4cCDOnj2Lt956C2vWrHFWuURE5AROGwkFBgZi3rx5D1yfkpKCwMBA+Pv7Q6/XIyQkBImJiRg4cCDi4uIAABaLBZ6ens4qlYiInMRpI6Ho6GhcvHjxgeuNRiP8/Pzsl319fWE0GlGqVCkAQFpaGkaMGIGxY8fmul2DwRM6nVKo2hRFi4AAn0JtwxWwD+yBDftgxT5YObIPTguhhzEYDMjMzLRfzszMtIdScnIyEhISMHLkSDRr1izXxxuN2YWuISDAB+npWYXeTknHPrAHNuyDFftgVRR9KF/eL9frpa+Oq1mzJlJTU5Geng6TyYSDBw/imWeewW+//YY33ngDc+bMQXh4uOwyiYjIAaSNhNavX4+srCzExsZi9OjRGDRoEIQQiImJQcWKFTFx4kSYTCa89957AKwjpgULFsgql4iIHEAjhBCyiyiMtLSMQm+DQ24r9oE9sGEfrNgHK5eejiMiIvfFECIiImkYQkREJA1DiIiIpGEIERGRNAwhIiKShiFERETSMISIiEgahhAREUnDECIiImkYQkREJA1DiIiIpGEIERGRNAwhIiKShiFERETSMISIiEgahhAREUnDECIi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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "theta = np.linspace(0, 1, 100)\n", - "zeta = np.linspace(-5, 5, 100)\n", - "\n", - "dist = uniform()\n", - "p_theta = dist.pdf(theta)\n", - "sigmoid = sp.special.expit\n", - "p_zeta = dist.pdf(sigmoid(zeta)) * sigmoid(zeta) * (1-sigmoid(zeta))\n", - "\n", - "plot_transformation(theta, zeta, p_theta, p_zeta)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Mean Field ADVI Example\n", - "\n", - "Infer $\\mu$ and $\\sigma$ for Normal distribution." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "# Generating data\n", - "mu = 12\n", - "sigma = 2.2\n", - "data = np.random.normal(mu, sigma, size=200)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "# Defining the model\n", - "model = tfd.JointDistributionSequential([\n", - " # sigma_prior\n", - " tfd.Exponential(1, name='sigma'), \n", - "\n", - " # mu_prior\n", - " tfd.Normal(loc=0, scale=10, name='mu'),\n", - "\n", - " # likelihood\n", - " lambda mu, sigma: tfd.Normal(loc=mu, scale=sigma)\n", - "])" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(('sigma', ()), ('mu', ()), ('x', ('mu', 'sigma')))\n" - ] - } - ], - "source": [ - "print(model.resolve_graph())" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# Let's generate joint log probability\n", - "joint_log_prob = lambda *x: model.log_prob(x + (data,))" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# Build Mean Field ADVI\n", - "def build_mf_advi():\n", - " parameters = model.sample(1)\n", - " parameters.pop()\n", - " dists = []\n", - " for i, parameter in enumerate(parameters):\n", - " shape = parameter[0].shape\n", - " loc = tf.Variable(\n", - " tf.random.normal(shape, dtype=dtype),\n", - " name=f'meanfield_{i}_loc',\n", - " dtype=dtype\n", - " )\n", - " scale = tfp.util.TransformedVariable(\n", - " tf.fill(shape, value=tf.constant(0.02, dtype=dtype)),\n", - " tfb.Softplus(), # For positive values of scale\n", - " name=f'meanfield_{i}_scale'\n", - " )\n", - "\n", - " approx_parameter = tfd.Normal(loc=loc, scale=scale)\n", - " dists.append(approx_parameter)\n", - " return tfd.JointDistributionSequential(dists)\n", - "\n", - "meanfield_advi = build_mf_advi()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "TFP handles transformations differently as it transforms unconstrained space to match the support of distributions." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "unconstraining_bijectors = [\n", - " tfb.Exp(),\n", - " tfb.Identity()\n", - "]\n", - "\n", - "posterior = make_transformed_log_prob(\n", - " joint_log_prob,\n", - " unconstraining_bijectors,\n", - " direction='forward',\n", - " enable_bijector_caching=False\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "opt = tf.optimizers.Adam(learning_rate=.1)\n", - "\n", - "@tf.function(autograph=False)\n", - "def run_approximation():\n", - " elbo_loss = tfp.vi.fit_surrogate_posterior(\n", - " posterior,\n", - " surrogate_posterior=meanfield_advi,\n", - " optimizer=opt,\n", - " sample_size=200,\n", - " num_steps=10000)\n", - " return elbo_loss\n", - "\n", - "elbo_loss = run_approximation()" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.plot(elbo_loss, color='blue')\n", - "plt.xlabel(\"No of iterations\")\n", - "plt.ylabel(\"Negative ELBO\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "graph_info = model.resolve_graph()\n", - "approx_param = dict()\n", - "free_param = meanfield_advi.trainable_variables\n", - "for i, (rvname, param) in enumerate(graph_info[:-1]):\n", - " approx_param[rvname] = {\"mu\": free_param[i*2].numpy(),\n", - " \"sd\": free_param[i*2+1].numpy()}" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'sigma': {'mu': 0.82331234, 'sd': -0.6924289}, 'mu': {'mu': 11.906398, 'sd': 1.6057507}}\n" - ] - } - ], - "source": [ - "print(approx_param)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We got pretty good estimates of sigma and mu. We need to transform sigma via exp and I believe it will be something close to 2.2" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Drawbacks of this blog post\n", - "\n", - "1. I have not used consistent notation for probability density functions (pdfs). Because I like equations handled this way.\n", - "2. Coming up with more good examples using minibatches.\n", - "3. The ADVI papers also mention Elliptical standardization and Adaptive step size for optimizers. I have not understood those sections well and thus, haven't tried to implement them.\n", - "\n", - "## References\n", - "\n", - "- Chapter 1 and 2: [Probabilistic Graphical Model Book]()\n", - "- Blog Post: [An Introduction to Probability and Computational Bayesian Statistics](https://ericmjl.github.io/essays-on-data-science/machine-learning/computational-bayesian-stats/) by [Ericmjl](https://github.com/ericmjl)\n", - "- Section 10.1: Variational Inference [Pattern Recognition and Machine Learning Book](http://users.isr.ist.utl.pt/~wurmd/Livros/school/Bishop%20-%20Pattern%20Recognition%20And%20Machine%20Learning%20-%20Springer%20%202006.pdf)\n", - "- Section 2.5: Transformations [Statistical Theory and Inference Book](http://www.ru.ac.bd/stat/wp-content/uploads/sites/25/2019/03/501_09_00_Olive-Statistical-Theory-and-Inference-2014.pdf)\n", - "- YouTube: [Variational Inference in Python](https://www.youtube.com/watch?v=3KGZDC3-_iY) by [Austin Rochford](https://github.com/AustinRochford)\n", - "- PyMC4: [Basic Usage Notebook](https://github.com/pymc-devs/pymc4/blob/master/notebooks/basic-usage.ipynb)\n", - "- TFP: [Joint Modelling Notebook](https://github.com/tensorflow/probability/blob/master/tensorflow_probability/examples/jupyter_notebooks/Modeling_with_JointDistribution.ipynb)\n", - "- Papers:\n", - " - [Automatic Differentiation Variational Inference](https://arxiv.org/pdf/1603.00788.pdf). Kucukelbir, A., Tran, D., Ranganath, R., Gelman, A., and Blei, D. M. (2016).\n", - " - [Automatic Variational Inference in Stan](https://arxiv.org/abs/1506.03431). Kucukelbir, A., Ranganath, R., Gelman, A., & Blei, D. (2015).\n", - "\n", - "## Special Thanks\n", - "\n", - "- Website: [codecogs.com](https://www.codecogs.com/latex/eqneditor.php) to help me generate LaTeX equations.\n", - "- Comments: [#1](https://github.com/pymc-devs/pymc4/issues/258#issue-626833042) and [#2](https://github.com/pymc-devs/pymc4/pull/246#issuecomment-632051325) by [Luciano Paz](https://github.com/lucianopaz) that cleared my all doubts regarding transformations." - ] - } - ], - "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.8.8" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/demo/site/variational-inference-script.py b/demo/site/variational-inference-script.py deleted file mode 100644 index 43c0a78..0000000 --- a/demo/site/variational-inference-script.py +++ /dev/null @@ -1,533 +0,0 @@ -# -*- coding: utf-8 -*- -# --- -# jupyter: -# jupytext: -# text_representation: -# extension: .py -# format_name: light -# format_version: '1.5' -# jupytext_version: 1.10.3 -# kernelspec: -# display_name: Python 3 -# language: python -# name: python3 -# --- - -# # Variational Inference (.py) -# -# ## Intro to Bayesian Networks -# -# ### Random Variables -# -# Random Variables are simply variables whose values are uncertain. Eg - -# -# 1. In case of flipping a coin $n$ times, a random variable $X$ can be number of heads shown up. -# -# 2. In COVID-19 pandemic situation, random variable can be number of patients found positive with virus daily. -# -# ### Probability Distributions -# -# Probability Distributions governs the amount of uncertainty of random variables. They have a math function with which they assign probabilities to different values taken by random variables. The associated math function is called probability density function (pdf). For simplicity, let's denote any random variable as $X$ and its corresponding pdf as $P\left (X\right )$. Eg - Following figure shows the probability distribution for number of heads when an unbiased coin is flipped 5 times. -# -# ### Bayesian Networks -# -# Bayesian Networks are graph based representations to acccount for randomness while modelling our data. The nodes of the graph are random variables and the connections between nodes denote the direct influence from parent to child. -# -# ### Bayesian Network Example -# -# -# Let's say a student is taking a class during school. The `difficulty` of the class and the `intelligence` of the student together directly influence student's `grades`. And the `grades` affects his/her acceptance to the university. Also, the `intelligence` factor influences student's `SAT` score. Keep this example in mind. -# -# More formally, Bayesian Networks represent joint probability distribution over all the nodes of graph - -# $P\left (X_1, X_2, X_3, ..., X_n\right )$ or $P\left (\bigcap_{i=1}^{n}X_i\right )$ where $X_i$ is a random variable. Also Bayesian Networks follow local Markov property by which every node in the graph is independent on its **non-descendants** given its **parents**. In this way, the joint probability distribution can be decomposed as - -# -# $$ -# P\left (X_1, X_2, X_3, ..., X_n\right ) = \prod_{i=1}^{n} P\left (X_i | Par\left (X_i\right )\right ) -# $$ -# -#
-# Extra: Proof of decomposition -#


First, let's recall conditional probability,
-# $$P\left (A|B\right ) = \frac{P\left (A, B\right )}{P\left (B\right )}$$ -# The above equation is so derived because of reduction of sample space of $A$ when $B$ has already occured. -# Now, adjusting terms -
-# $$P\left (A, B\right ) = P\left (A|B\right )*P\left (B\right )$$ -# This equation is called chain rule of probability. Let's generalize this rule for Bayesian Networks. The ordering of names of nodes is such that parent(s) of nodes lie above them (Breadth First Ordering).
-# $$P\left (X_1, X_2, X_3, ..., X_n\right ) = P\left (X_n, X_{n-1}, X_{n-2}, ..., X_1\right )\\ -# = P\left (X_n|X_{n-1}, X_{n-2}, X_{n-3}, ..., X_1\right ) * P \left (X_{n-1}, X_{n-2}, X_{n-3}, ..., X_1\right ) \left (Chain Rule\right )\\ -# = P\left (X_n|X_{n-1}, X_{n-2}, X_{n-3}, ..., X_1\right ) * P \left (X_{n-1}|X_{n-2}, X_{n-3}, X_{n-4}, ..., X_1\right ) * P \left (X_{n-2}, X_{n-3}, X_{n-4}, ..., X_1\right )$$ -# Applying chain rule repeatedly, we get the following equation -
-# $$P\left (\bigcap_{i=1}^{n}X_i\right ) = \prod_{i=1}^{n} P\left (X_i | P\left (\bigcap_{j=1}^{i-1}X_j\right )\right )$$ -# Keep the above equation in mind. Let's bring back Markov property. To bring some intuition behind Markov property, let's reuse Bayesian Network Example. If we say, the student scored very good grades, then it is highly likely the student gets acceptance letter to university. No matter how difficult the class was, how much intelligent the student was, and no matter what his/her SAT score was. The key thing to note here is by observing the node's parent, the influence by non-descendants towards the node gets eliminated. Now, the equation becomes -
-# $$P\left (\bigcap_{i=1}^{n}X_i\right ) = \prod_{i=1}^{n} P\left (X_i | Par\left (X_i\right )\right )$$ -# Bingo, with the above equation, we have proved Factorization Theorem in Probability. -#

-#
-# -# The decomposition of running [Bayesian Network Example](#bayesian-network-example) can be written as - -# -# $$ -# P\left (Difficulty, Intelligence, Grade, SAT, Acceptance Letter\right ) = P\left (Difficulty\right )*P\left (Intelligence\right )*\left (Grade|Difficulty, Intelligence\right )*P\left (SAT|Intelligence\right )*P\left (Acceptance Letter|Grade\right ) -# $$ -# -# ### Why care about Bayesian Networks -# -# Bayesian Networks allow us to determine the distribution of parameters given the data (Posterior Distribution). The whole idea is to model the underlying data generative process and estimate unobservable quantities. Regarding this, Bayes formula can be written as - -# -# $$ -# P\left (\theta | D\right ) = \frac{P\left (D|\theta\right ) * P\left (\theta\right )}{P\left (D\right )} -# $$ -# -# $\theta$ = Parameters of the model -# -# $P\left (\theta\right )$ = Prior Distribution over the parameters -# -# $P\left (D|\theta\right )$ = Likelihood of the data -# -# $P\left (\theta|D\right )$ = Posterior Distribution -# -# $P\left (D\right )$ = Probability of Data. This term is calculated by marginalising out the effect of parameters. -# -# $$ -# P\left (D\right ) = \int P\left (D, \theta\right ) d\left (\theta\right )\\ -# P\left (D\right ) = \int P\left (D|\theta\right ) P\left (\theta\right ) d\left (\theta\right ) -# $$ -# -# So, the Bayes formula becomes - -# -# $$ -# P\left (\theta | D\right ) = \frac{P\left (D|\theta\right ) * P\left (\theta\right )}{\int P\left (D|\theta\right ) P\left (\theta\right ) d\left (\theta\right )} -# $$ -# -# The devil is in the denominator. The integration over all the parameters is **intractable**. So we resort to sampling and optimization techniques. -# -# ## Intro to Variational Inference -# -# ### Information -# -# Variational Inference has its origin in Information Theory. So first, let's understand the basic terms - Information and Entropy . Simply, **Information** quantifies how much useful the data is. It is related to Probability Distributions as - -# -# $$ -# I = -\log \left (P\left (X\right )\right ) -# $$ -# -# The negative sign in the formula has high intuitive meaning. In words, it signifies whenever the probability of certain events is high, the related information is less and vica versa. For example - -# -# 1. Consider the statement - It never snows in deserts. The probability of this statement being true is significantly high because we already know that it is hardly possible to snow in deserts. So, the related information is very small. -# 2. Now consider - There was a snowfall in Sahara Desert in late December 2019. Wow, thats a great news because some unlikely event occured (probability was less). In turn, the information is high. -# -# ### Entropy -# -# Entropy quantifies how much **average** Information is present in occurence of events. It is denoted by $H$. It is named Differential Entropy in case of Real Continuous Domain. -# -# $$ -# H = E_{P\left (X\right )} \left [-\log\left (P\left (X\right )\right )\right ]\\ -# H = -\int_X P_X\left (x\right ) \log\left (P_X\left (x\right )\right ) dx -# $$ -# -# ### Entropy of Normal Distribution -# -# As an exercise, let's calculate entropy of Normal Distribution. Let's denote $\mu$ as mean nd $\sigma$ as standard deviation of Normal Distribution. Remember the results, we will need them further. -# -# $$ -# X \sim Normal\left (\mu, \sigma^2\right )\\ -# P_X\left (x\right ) = \frac{1}{\sigma \sqrt{2 \pi}} e^{ - \frac{1}{2} \left ({\frac{x- \mu}{ \sigma}}\right )^2}\\ -# H = -\int_X P_X\left (x\right ) \log\left (P_X\left (x\right )\right ) dx -# $$ -# -# Only expanding $\log\left (P_X\left (x\right )\right )$ - -# -# $$ -# H = -\int_X P_X\left (x\right ) \log\left (\frac{1}{\sigma \sqrt{2 \pi}} e^{ - \frac{1}{2} \left ({\frac{x- \mu}{ \sigma}}\right )^2}\right ) dx\\ -# H = -\frac{1}{2}\int_X P_X\left (x\right ) \log\left (\frac{1}{2 \pi {\sigma}^2}\right )dx - \int_X P_X\left (x\right ) \log\left (e^{ - \frac{1}{2} \left ({\frac{x- \mu}{ \sigma}}\right )^2}\right ) dx\\ -# H = \frac{1}{2}\log \left ( 2 \pi {\sigma}^2 \right)\int_X P_X\left (x\right ) dx + \frac{1}{2{\sigma}^2} \int_X \left ( x-\mu \right)^2 P_X\left (x\right ) dx -# $$ -# -# Identifying terms - -# -# $$ -# \int_X P_X\left (x\right ) dx = 1\\ -# \int_X \left ( x-\mu \right)^2 P_X\left (x\right ) dx = \sigma^2 -# $$ -# -# Substituting back, the entropy becomes - -# -# $$ -# H = \frac{1}{2}\log \left ( 2 \pi {\sigma}^2 \right) + \frac{1}{2\sigma^2} \sigma^2\\ -# H = \frac{1}{2}\left ( \log \left ( 2 \pi {\sigma}^2 \right) + 1 \right ) -# $$ -# -# ### KL divergence -# -# This mathematical tool serves as the backbone of Variational Inference. Kullback–Leibler (KL) divergence measures the mutual information between two probability distributions. Let's say, we have two probability distributions $P$ and $Q$, then KL divergence quantifies how much similar these distributions are. Mathematically, it is just the difference between entropies of probabilities distributions. In terms of notation, $KL(Q||P)$ represents KL divergence with respect to $Q$ against $P$. -# -# $$ -# KL(Q||P) = H_P - H_Q\\ -# = -\int_X P_X\left (x\right ) \log\left (P_X\left (x\right )\right ) dx + \int_X Q_X\left (x\right ) \log\left (Q_X\left (x\right )\right ) dx -# $$ -# -# Changing $-\int_X P_X\left (x\right ) \log\left (P_X\left (x\right )\right ) dx$ to $-\int_X Q_X\left (x\right ) \log\left (P_X\left (x\right )\right ) dx$ as the KL divergence is with respect to $Q$. -# -# $$ -# = -\int_X Q_X\left (x\right ) \log\left (P_X\left (x\right )\right ) dx + \int_X Q_X\left (x\right ) \log\left (Q_X\left (x\right )\right ) dx\\ -# = \int_X Q_X\left (x \right) \log \left( \frac{Q_X\left (x \right)}{P_X\left (x \right)} \right) dx -# $$ -# -# Remember? We were stuck upon Bayesian Equation because of denominator term but now, we can estimate the posterior distribution $p(\theta|D)$ by another distribution $q(\theta)$ over all the parameters of the model. -# -# $$ -# KL(q(\theta)||p(\theta|D)) = \int q(\theta) \log \left( \frac{q(\theta)}{p(\theta|D)} \right) d\theta\\ -# $$ -# -#
-#

Note

-#

-# If two distributions are similar, then their entropies are similar, implies the KL divergence with respect to two distributions will be smaller. And vica versa. In Variational Inference, the whole idea is to minimize KL divergence so that our approximating distribution $q(\theta)$ can be made similar to $p(\theta|D)$. -#

-#
-# -#
-# Extra: What are latent variables? -#


-# If you go about exploring any paper talking about Variational Inference, then most certainly, the papers mention about latent variables instead of parameters. The parameters are fixed quantities for the model whereas latent variables are unobserved quantities of the model conditioned on parameters. Also, we model parameters by probability distributions. For simplicity, let's consider the running terminology of parameters only. -#

-#
-# -# ### Evidence Lower Bound -# -# There is again an issue with KL divergence formula as it still involves posterior term i.e. $p(\theta|D)$. Let's get rid of it - -# -# $$ -# KL(q(\theta)||p(\theta|D)) = \int q(\theta) \log \left( \frac{q(\theta)}{p(\theta|D)} \right) d\theta\\ -# KL = \int q(\theta) \log \left( \frac{q(\theta) p(D)}{p(\theta, D)} \right) d\theta\\ -# KL = \int q(\theta) \log \left( \frac{q(\theta)}{p(\theta, D)} \right) d\theta + \int q(\theta) \log \left(p(D) \right) d\theta\\ -# KL + \int q(\theta) \log \left( \frac{p(\theta, D)}{q(\theta)} \right) d\theta = \log \left(p(D) \right) \int q(\theta) d\theta\\ -# $$ -# -# Identifying terms - -# -# $$ -# \int q(\theta) d\theta = 1 -# $$ -# -# So, substituting back, our running equation becomes - -# -# $$ -# KL + \int q(\theta) \log \left( \frac{p(\theta, D)}{q(\theta)} \right) d\theta = \log \left(p(D) \right) -# $$ -# -# The term $\int q(\theta) \log \left( \frac{p(\theta, D)}{q(\theta)} \right) d\theta$ is called Evidence Lower Bound (ELBO). The right side of the equation $\log \left(p(D) \right)$ is constant. -# -#
-#

Observe

-#

-# Minimizing the KL divergence is equivalent to maximizing the ELBO. Also, the ELBO does not depend on posterior distribution. -#

-#
-# -# Also, -# -# $$ -# ELBO = \int q(\theta) \log \left( \frac{p(\theta, D)}{q(\theta)} \right) d\theta\\ -# ELBO = E_{q(\theta)}\left [\log \left( \frac{p(\theta, D)}{q(\theta)} \right) \right]\\ -# ELBO = E_{q(\theta)}\left [\log \left(p(\theta, D) \right) \right] + E_{q(\theta)} \left [-\log(q(\theta)) \right] -# $$ -# -# The term $E_{q(\theta)} \left [-\log(q(\theta)) \right]$ is entropy of $q(\theta)$. Our running equation becomes - -# -# $$ -# ELBO = E_{q(\theta)}\left [\log \left(p(\theta, D) \right) \right] + H_{q(\theta)} -# $$ -# -# ## Mean Field ADVI -# -# So far, the whole crux of the story is - To approximate the posterior, maximize the ELBO term. ADVI = Automatic Differentiation Variational Inference. I think the term **Automatic Differentiation** deals with maximizing the ELBO (or minimizing the negative ELBO) using any autograd differentiation library. Coming to Mean Field ADVI (MF ADVI), we simply assume that the parameters of approximating distribution $q(\theta)$ are independent and posit Normal distributions over all parameters in **transformed** space to maximize ELBO. -# -# ### Transformed Space -# -# To freely optimize ELBO, without caring about matching the **support** of model parameters, we **transform** the support of parameters to Real Coordinate Space. In other words, we optimize ELBO in transformed/unconstrained/unbounded space which automatically maps to minimization of KL divergence in original space. In terms of notation, let's denote a transformation over parameters $\theta$ as $T$ and the transformed parameters as $\zeta$. Mathematically, $\zeta=T(\theta)$. Also, since we are approximating by Normal Distributions, $q(\zeta)$ can be written as - -# -# $$ -# q(\zeta) = \prod_{i=1}^{k} N(\zeta_k; \mu_k, \sigma^2_k) -# $$ -# -# Now, the transformed joint probability distribution of the model becomes - -# -# $$ -# p\left (D, \zeta \right) = p\left (D, T^{-1}\left (\zeta \right) \right) \left | det J_{T^{-1}}(\zeta) \right |\\ -# $$ -# -#
-# Extra: Proof of transformation equation -#


To simplify notations, let's use $Y=T(X)$ instead of $\zeta=T(\theta)$. After reaching the results, we will put the values back. Also, let's denote cummulative distribution function (cdf) as $F$. There are two cases which respect to properties of function $T$.

Case 1 - When $T$ is an increasing function $$F_Y(y) = P(Y <= y) = P(T(X) <= y)\\ -# = P\left(X <= T^{-1}(y) \right) = F_X\left(T^{-1}(y) \right)\\ -# F_Y(y) = F_X\left(T^{-1}(y) \right)$$Let's differentiate with respect to $y$ both sides - $$\frac{\mathrm{d} (F_Y(y))}{\mathrm{d} y} = \frac{\mathrm{d} (F_X\left(T^{-1}(y) \right))}{\mathrm{d} y}\\ -# P_Y(y) = P_X\left(T^{-1}(y) \right) \frac{\mathrm{d} (T^{-1}(y))}{\mathrm{d} y}$$Case 2 - When $T$ is a descreasing function $$F_Y(y) = P(Y <= y) = P(T(X) <= y) = P\left(X >= T^{-1}(y) \right)\\ -# = 1-P\left(X < T^{-1}(y) \right) = 1-P\left(X <= T^{-1}(y) \right) = 1-F_X\left(T^{-1}(y) \right)\\ -# F_Y(y) = 1-F_X\left(T^{-1}(y) \right)$$Let's differentiate with respect to $y$ both sides - $$\frac{\mathrm{d} (F_Y(y))}{\mathrm{d} y} = \frac{\mathrm{d} (1-F_X\left(T^{-1}(y) \right))}{\mathrm{d} y}\\ -# P_Y(y) = (-1) P_X\left(T^{-1}(y) \right) (-1) \frac{\mathrm{d} (T^{-1}(y))}{\mathrm{d} y}\\ -# P_Y(y) = P_X\left(T^{-1}(y) \right) \frac{\mathrm{d} (T^{-1}(y))}{\mathrm{d} y}$$Combining both results - $$P_Y(y) = P_X\left(T^{-1}(y) \right) \left | \frac{\mathrm{d} (T^{-1}(y))}{\mathrm{d} y} \right |$$Now comes the role of Jacobians to deal with multivariate parameters $X$ and $Y$. $$J_{T^{-1}}(Y) = \begin{vmatrix} -# \frac{\partial (T_1^{-1})}{\partial y_1} & ... & \frac{\partial (T_1^{-1})}{\partial y_k}\\ -# . & & .\\ -# . & & .\\ -# \frac{\partial (T_k^{-1})}{\partial y_1} & ... &\frac{\partial (T_k^{-1})}{\partial y_k} -# \end{vmatrix}$$Concluding - $$P(Y) = P(T^{-1}(Y)) |det J_{T^{-1}}(Y)|\\P(Y) = P(X) |det J_{T^{-1}}(Y)| -# $$Substitute $X$ as $\theta$ and $Y$ as $\zeta$, we will get - $$P(\zeta) = P(T^{-1}(\zeta)) |det J_{T^{-1}}(\zeta)|\\$$ -#

-#
-# -# ### ELBO in transformed Space -# -# Let's bring back the equation formed at [ELBO](#evidence-lower-bound). Expressing ELBO in terms of $\zeta$ - -# -# $$ -# ELBO = E_{q(\theta)}\left [\log \left(p(\theta, D) \right) \right] + H_{q(\theta)}\\ -# ELBO = E_{q(\zeta)}\left [\log \left(p\left (D, T^{-1}\left (\zeta \right) \right) \left | det J_{T^{-1}}(\zeta) \right | \right) \right] + H_{q(\zeta)} -# $$ -# -# Since, we are optimizing ELBO by factorized Normal Distributions, let's bring back the results of [Entropy of Normal Distribution](#entropy-of-normal-distribution). Our running equation becomes - -# -# $$ -# ELBO = E_{q(\zeta)}\left [\log \left(p\left (D, T^{-1}\left (\zeta \right) \right) \left | det J_{T^{-1}}(\zeta) \right | \right) \right] + H_{q(\zeta)}\\ -# ELBO = E_{q(\zeta)}\left [\log \left(p\left (D, T^{-1}\left (\zeta \right) \right) \left | det J_{T^{-1}}(\zeta) \right | \right) \right] + \frac{1}{2}\left ( \log \left ( 2 \pi {\sigma}^2 \right) + 1 \right ) -# $$ -# -#
-#

Success

-#

-# The above ELBO equation is the final one which needs to be optimized. -#

-#
-# -# ### Let's Code - -from pprint import pprint - -import arviz as az -import matplotlib.pyplot as plt - -# + -# Imports -# %matplotlib inline -import numpy as np -import pandas as pd -import pymc3 as pm -import scipy as sp -import tensorflow as tf -import tensorflow_probability as tfp -from scipy.stats import expon, uniform - -plt.style.use("seaborn-darkgrid") - -from tensorflow_probability.python.mcmc.transformed_kernel import ( - make_transform_fn, - make_transformed_log_prob, -) - -tfb = tfp.bijectors -tfd = tfp.distributions -dtype = tf.float32 - - -# - - - -# Plot functions -def plot_transformation(theta, zeta, p_theta, p_zeta): - fig, (const, trans) = plt.subplots(nrows=2, ncols=1, figsize=(6.5, 12)) - const.plot(theta, p_theta, color="blue", lw=2) - const.set_xlabel(r"$\theta$") - const.set_ylabel(r"$P(\theta)$") - const.set_title("Constrained Space") - - trans.plot(zeta, p_zeta, color="blue", lw=2) - trans.set_xlabel(r"$\zeta$") - trans.set_ylabel(r"$P(\zeta)$") - trans.set_title("Transfomed Space") - - -# ### Transformed Space Example-1 -# -# Transformation of Standard Exponential Distribution -# -# $$ -# P_X(x) = e^{-x} -# $$ -# -# The support of Exponential Distribution is $x>=0$. Let's use **log** transformation to map the support to real number line. Mathematically, $\zeta=\log(\theta)$. Now, let's bring back our transformed joint probability distribution equation - -# -# $$ -# P(\zeta) = P(T^{-1}(\zeta)) |det J_{T^{-1}}(\zeta)|\\ -# P(\zeta) = P(e^{\zeta}) * e^{\zeta} -# $$ -# -# Converting this directly into Python code - - -# + -theta = np.linspace(0, 5, 100) -zeta = np.linspace(-5, 5, 100) - -dist = expon() -p_theta = dist.pdf(theta) -p_zeta = dist.pdf(np.exp(zeta)) * np.exp(zeta) - -plot_transformation(theta, zeta, p_theta, p_zeta) -# - - -# ### Transformed Space Example-2 -# -# Transformation of Uniform Distribution (with support $0<=x<=1$) -# -# $$ -# P_X(x) = 1 -# $$ -# -# Let's use **logit** or **inverse sigmoid** transformation to map the support to real number line. Mathematically, $\zeta=logit(\theta)$. -# -# $$ -# P(\zeta) = P(T^{-1}(\zeta)) |det J_{T^{-1}}(\zeta)|\\ -# P(\zeta) = P(sig(\zeta)) * sig(\zeta) * (1-sig(\zeta)) -# $$ -# -# where $sig$ is the sigmoid function. -# -# Converting this directly into Python code - - -# + -theta = np.linspace(0, 1, 100) -zeta = np.linspace(-5, 5, 100) - -dist = uniform() -p_theta = dist.pdf(theta) -sigmoid = sp.special.expit -p_zeta = dist.pdf(sigmoid(zeta)) * sigmoid(zeta) * (1 - sigmoid(zeta)) - -plot_transformation(theta, zeta, p_theta, p_zeta) -# - - -# ### Mean Field ADVI Example -# -# Infer $\mu$ and $\sigma$ for Normal distribution. - -# Generating data -mu = 12 -sigma = 2.2 -data = np.random.normal(mu, sigma, size=200) - -# Defining the model -model = tfd.JointDistributionSequential( - [ - # sigma_prior - tfd.Exponential(1, name="sigma"), - # mu_prior - tfd.Normal(loc=0, scale=10, name="mu"), - # likelihood - lambda mu, sigma: tfd.Normal(loc=mu, scale=sigma), - ] -) - -print(model.resolve_graph()) - -# Let's generate joint log probability -joint_log_prob = lambda *x: model.log_prob(x + (data,)) - - -# + -# Build Mean Field ADVI -def build_mf_advi(): - parameters = model.sample(1) - parameters.pop() - dists = [] - for i, parameter in enumerate(parameters): - shape = parameter[0].shape - loc = tf.Variable( - tf.random.normal(shape, dtype=dtype), - name=f"meanfield_{i}_loc", - dtype=dtype, - ) - scale = tfp.util.TransformedVariable( - tf.fill(shape, value=tf.constant(0.02, dtype=dtype)), - tfb.Softplus(), # For positive values of scale - name=f"meanfield_{i}_scale", - ) - - approx_parameter = tfd.Normal(loc=loc, scale=scale) - dists.append(approx_parameter) - return tfd.JointDistributionSequential(dists) - - -meanfield_advi = build_mf_advi() -# - - -# TFP handles transformations differently as it transforms unconstrained space to match the support of distributions. - -# + -unconstraining_bijectors = [tfb.Exp(), tfb.Identity()] - -posterior = make_transformed_log_prob( - joint_log_prob, - unconstraining_bijectors, - direction="forward", - enable_bijector_caching=False, -) - -# + -opt = tf.optimizers.Adam(learning_rate=0.1) - - -@tf.function(autograph=False) -def run_approximation(): - elbo_loss = tfp.vi.fit_surrogate_posterior( - posterior, - surrogate_posterior=meanfield_advi, - optimizer=opt, - sample_size=200, - num_steps=10000, - ) - return elbo_loss - - -elbo_loss = run_approximation() -# - - -plt.plot(elbo_loss, color="blue") -plt.xlabel("No of iterations") -plt.ylabel("Negative ELBO") -plt.show() - -graph_info = model.resolve_graph() -approx_param = dict() -free_param = meanfield_advi.trainable_variables -for i, (rvname, param) in enumerate(graph_info[:-1]): - approx_param[rvname] = { - "mu": free_param[i * 2].numpy(), - "sd": free_param[i * 2 + 1].numpy(), - } - -print(approx_param) - -# We got pretty good estimates of sigma and mu. We need to transform sigma via exp and I believe it will be something close to 2.2 - -# ## Drawbacks of this blog post -# -# 1. I have not used consistent notation for probability density functions (pdfs). Because I like equations handled this way. -# 2. Coming up with more good examples using minibatches. -# 3. The ADVI papers also mention Elliptical standardization and Adaptive step size for optimizers. I have not understood those sections well and thus, haven't tried to implement them. -# -# ## References -# -# - Chapter 1 and 2: [Probabilistic Graphical Model Book]() -# - Blog Post: [An Introduction to Probability and Computational Bayesian Statistics](https://ericmjl.github.io/essays-on-data-science/machine-learning/computational-bayesian-stats/) by [Ericmjl](https://github.com/ericmjl) -# - Section 10.1: Variational Inference [Pattern Recognition and Machine Learning Book](http://users.isr.ist.utl.pt/~wurmd/Livros/school/Bishop%20-%20Pattern%20Recognition%20And%20Machine%20Learning%20-%20Springer%20%202006.pdf) -# - Section 2.5: Transformations [Statistical Theory and Inference Book](http://www.ru.ac.bd/stat/wp-content/uploads/sites/25/2019/03/501_09_00_Olive-Statistical-Theory-and-Inference-2014.pdf) -# - YouTube: [Variational Inference in Python](https://www.youtube.com/watch?v=3KGZDC3-_iY) by [Austin Rochford](https://github.com/AustinRochford) -# - PyMC4: [Basic Usage Notebook](https://github.com/pymc-devs/pymc4/blob/master/notebooks/basic-usage.ipynb) -# - TFP: [Joint Modelling Notebook](https://github.com/tensorflow/probability/blob/master/tensorflow_probability/examples/jupyter_notebooks/Modeling_with_JointDistribution.ipynb) -# - Papers: -# - [Automatic Differentiation Variational Inference](https://arxiv.org/pdf/1603.00788.pdf). Kucukelbir, A., Tran, D., Ranganath, R., Gelman, A., and Blei, D. M. (2016). -# - [Automatic Variational Inference in Stan](https://arxiv.org/abs/1506.03431). Kucukelbir, A., Ranganath, R., Gelman, A., & Blei, D. (2015). -# -# ## Special Thanks -# -# - Website: [codecogs.com](https://www.codecogs.com/latex/eqneditor.php) to help me generate LaTeX equations. -# - Comments: [#1](https://github.com/pymc-devs/pymc4/issues/258#issue-626833042) and [#2](https://github.com/pymc-devs/pymc4/pull/246#issuecomment-632051325) by [Luciano Paz](https://github.com/lucianopaz) that cleared my all doubts regarding transformations. diff --git a/js/.gitignore b/js/.gitignore index 1f22b9c..a547bf3 100644 --- a/js/.gitignore +++ b/js/.gitignore @@ -4,113 +4,21 @@ logs npm-debug.log* yarn-debug.log* yarn-error.log* +pnpm-debug.log* lerna-debug.log* -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env -.env.test - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt +node_modules dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/js/package-lock.json b/js/package-lock.json deleted file mode 100644 index ed4d3f5..0000000 --- a/js/package-lock.json +++ /dev/null @@ -1,2868 +0,0 @@ -{ - "name": "mkdocs-jupyter", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "mkdocs-jupyter", - "version": "1.0.0", - "license": "Apache-2.0", - "devDependencies": { - "css-loader": "^5.2.4", - "filemanager-webpack-plugin": "^8.0.0", - "mini-css-extract-plugin": "^1.5.0", - "sass": "^1.32.11", - "sass-loader": "^11.0.1", - "style-loader": "^2.0.0", - "webpack": "^5.76.0", - "webpack-cli": "^4.8.0", - "webpack-fix-style-only-entries": "^0.6.1" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@types/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-IctHreBuWE5dvBDz/0WeKtyVKVRs4h75IblxOACL92wU66v+HGAfEYAOyXkOFphvRJMhuXdI9huDXpX0FC6lCw==", - "dev": true, - "dependencies": { - "@types/readdir-glob": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.21.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.2.tgz", - "integrity": "sha512-EMpxUyystd3uZVByZap1DACsMXvb82ypQnGn89e1Y0a+LYu3JJscUd/gqhRsVFDkaD2MIiWo0MT8EfXr3DGRKw==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "18.15.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz", - "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==", - "dev": true - }, - "node_modules/@types/readdir-glob": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@types/readdir-glob/-/readdir-glob-1.1.0.tgz", - "integrity": "sha512-taqbpEGEu0Vx6+9PQ4XtqAUAMRyLCE7H6p4Pkp+R/90y/phddtCwb7XRLa8MYf1OxmiL2ZqXwZF1gOT7LyGGCg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", - "dev": true, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", - "dev": true, - "dependencies": { - "envinfo": "^7.7.3" - }, - "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", - "dev": true, - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/archiver": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz", - "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==", - "dev": true, - "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.3", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.0.0", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "dev": true, - "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/archiver-utils/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001466", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001466.tgz", - "integrity": "sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/compress-commons": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", - "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", - "dev": true, - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "dev": true, - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/crc32-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", - "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", - "dev": true, - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", - "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "dev": true, - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.330", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.330.tgz", - "integrity": "sha512-PqyefhybrVdjAJ45HaPLtuVaehiSw7C3ya0aad+rvmV53IVyXmYRk3pwIOb2TxTDTnmgQdn46NjMMaysx79/6Q==", - "dev": true - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/filemanager-webpack-plugin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/filemanager-webpack-plugin/-/filemanager-webpack-plugin-8.0.0.tgz", - "integrity": "sha512-TYwu62wgq2O2c3K80Sfj8vEys/tP5wdgYoySHgUwWoc2hPbQY3Mq3ahcAW634JvHCTcSV7IAfRxMI3wTXRt2Vw==", - "dev": true, - "dependencies": { - "@types/archiver": "^5.3.1", - "archiver": "^5.3.1", - "del": "^6.1.1", - "fast-glob": "^3.2.12", - "fs-extra": "^10.1.0", - "is-glob": "^4.0.3", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": "^14.13.1 || >=16.0.0" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/filemanager-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/filemanager-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/filemanager-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/filemanager-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/immutable": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", - "dev": true - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/lazystream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", - "dev": true - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==", - "dev": true - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", - "dev": true - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true - }, - "node_modules/lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==", - "dev": true - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", - "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.4.0 || ^5.0.0" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdir-glob": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.2.tgz", - "integrity": "sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==", - "dev": true, - "dependencies": { - "minimatch": "^5.1.0" - } - }, - "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/sass": { - "version": "1.59.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.59.3.tgz", - "integrity": "sha512-QCq98N3hX1jfTCoUAsF3eyGuXLsY7BCnCEg9qAact94Yc21npG2/mVOqoDvE0fCbWDqiM4WlcJQla0gWG2YlxQ==", - "dev": true, - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/sass-loader": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.1.1.tgz", - "integrity": "sha512-fOCp/zLmj1V1WHDZbUbPgrZhA7HKXHEqkslzB+05U5K9SbSbcmH91C7QLW31AsXikxUMaxXRhhcqWZAxUMLDyA==", - "dev": true, - "dependencies": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0", - "sass": "^1.3.0", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.16.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.6.tgz", - "integrity": "sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", - "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.5" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack": { - "version": "5.76.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz", - "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "cross-spawn": "^7.0.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-fix-style-only-entries": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/webpack-fix-style-only-entries/-/webpack-fix-style-only-entries-0.6.1.tgz", - "integrity": "sha512-wyIhoxS3DD3Fr9JA8hQPA+ZmaWnqPxx12Nv166wcsI/0fbReqyEtiIk2llOFYIg57WVS3XX5cZJxw2ji70R0sA==", - "dev": true - }, - "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack/node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/zip-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", - "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", - "dev": true, - "dependencies": { - "archiver-utils": "^2.1.0", - "compress-commons": "^4.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - } - } -} diff --git a/js/package.json b/js/package.json index f0322af..0950220 100644 --- a/js/package.json +++ b/js/package.json @@ -1,26 +1,15 @@ { - "name": "mkdocs-jupyter", - "version": "1.0.0", - "description": "Utilities for mkdocs-jupyter", - "author": "Daniel Rodriguez", - "license": "Apache-2.0", - "main": "index.js", - "scripts": { - "build": "webpack --mode=production", - "dev": "webpack --mode=development --watch", - "clean": "rm -rf .cache/ dist/ lib/", - "reset": "npm run clean && rm -rf node_modules" - }, - "dependencies": {}, - "devDependencies": { - "css-loader": "^5.2.4", - "filemanager-webpack-plugin": "^8.0.0", - "mini-css-extract-plugin": "^1.5.0", - "sass": "^1.32.11", - "sass-loader": "^11.0.1", - "style-loader": "^2.0.0", - "webpack": "^5.76.0", - "webpack-cli": "^4.8.0", - "webpack-fix-style-only-entries": "^0.6.1" - } + "name": "js", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "devDependencies": { + "sass": "^1.68.0", + "vite": "^4.4.5" + } } diff --git a/js/pnpm-lock.yaml b/js/pnpm-lock.yaml new file mode 100644 index 0000000..91b9a41 --- /dev/null +++ b/js/pnpm-lock.yaml @@ -0,0 +1,430 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +devDependencies: + sass: + specifier: ^1.68.0 + version: 1.68.0 + vite: + specifier: ^4.4.5 + version: 4.4.9(sass@1.68.0) + +packages: + + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /postcss@8.4.30: + resolution: {integrity: sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /rollup@3.29.2: + resolution: {integrity: sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /sass@1.68.0: + resolution: {integrity: sha512-Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.3.4 + source-map-js: 1.0.2 + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /vite@4.4.9(sass@1.68.0): + resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.18.20 + postcss: 8.4.30 + rollup: 3.29.2 + sass: 1.68.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true diff --git a/js/src/index.js b/js/src/index.js index fd4156d..db20d47 100644 --- a/js/src/index.js +++ b/js/src/index.js @@ -1 +1 @@ -import "./styles/index.scss" +import "./styles/index.scss"; diff --git a/js/src/styles/jupyter-lab.scss b/js/src/styles/bu_jupyter-lab-index.scss similarity index 99% rename from js/src/styles/jupyter-lab.scss rename to js/src/styles/bu_jupyter-lab-index.scss index f1f6b1a..0cffa71 100644 --- a/js/src/styles/jupyter-lab.scss +++ b/js/src/styles/bu_jupyter-lab-index.scss @@ -1,10 +1,9 @@ /* -This file is taken from the built JupyterLab index.css -Found on share/nbconvert/templates/lab/static +This file is taken from the built JupyterLab found on: + share/nbconvert/templates/lab/static Some changes have been made and marked with CHANGE */ - /*----------------------------------------------------------------------------- | Copyright (c) Jupyter Development Team. | Distributed under the terms of the Modified BSD License. @@ -3252,19 +3251,29 @@ a.bp3-button.bp3-disabled { -webkit-transition-delay: 0; transition-delay: 0; } -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical) { +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right):not(.bp3-vertical) { top: 0; right: 0; bottom: 0; width: 50%; } -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-enter, -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-appear { +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-enter, +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-appear { -webkit-transform: translateX(100%); transform: translateX(100%); } -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-enter-active, -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-appear-active { +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-enter-active, +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-appear-active { -webkit-transform: translateX(0); transform: translateX(0); -webkit-transition-property: -webkit-transform; @@ -3278,11 +3287,15 @@ a.bp3-button.bp3-disabled { -webkit-transition-delay: 0; transition-delay: 0; } -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-exit { +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-exit { -webkit-transform: translateX(0); transform: translateX(0); } -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-exit-active { +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-exit-active { -webkit-transform: translateX(100%); transform: translateX(100%); -webkit-transition-property: -webkit-transform; @@ -3296,19 +3309,29 @@ a.bp3-button.bp3-disabled { -webkit-transition-delay: 0; transition-delay: 0; } -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical { +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right).bp3-vertical { right: 0; bottom: 0; left: 0; height: 50%; } -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical.bp3-overlay-enter, -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical.bp3-overlay-appear { +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right).bp3-vertical.bp3-overlay-enter, +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right).bp3-vertical.bp3-overlay-appear { -webkit-transform: translateY(100%); transform: translateY(100%); } -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical.bp3-overlay-enter-active, -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical.bp3-overlay-appear-active { +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right).bp3-vertical.bp3-overlay-enter-active, +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right).bp3-vertical.bp3-overlay-appear-active { -webkit-transform: translateY(0); transform: translateY(0); -webkit-transition-property: -webkit-transform; @@ -3322,11 +3345,15 @@ a.bp3-button.bp3-disabled { -webkit-transition-delay: 0; transition-delay: 0; } -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical.bp3-overlay-exit { +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right).bp3-vertical.bp3-overlay-exit { -webkit-transform: translateY(0); transform: translateY(0); } -.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical.bp3-overlay-exit-active { +.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not( + .bp3-position-left + ):not(.bp3-position-right).bp3-vertical.bp3-overlay-exit-active { -webkit-transform: translateY(100%); transform: translateY(100%); -webkit-transition-property: -webkit-transform; diff --git a/js/src/styles/index.scss b/js/src/styles/index.scss index 5e2213e..bf6c788 100644 --- a/js/src/styles/index.scss +++ b/js/src/styles/index.scss @@ -1,286 +1,7 @@ -/* -These variables are taken from jupyter-lab.scss -We duplicated them to the root so they work in the cells -*/ -:root { - --md-red-50: #ffebee; - --md-red-100: #ffcdd2; - --md-red-200: #ef9a9a; - --md-red-300: #e57373; - --md-red-400: #ef5350; - --md-red-500: #f44336; - --md-red-600: #e53935; - --md-red-700: #d32f2f; - --md-red-800: #c62828; - --md-red-900: #b71c1c; - --md-red-A100: #ff8a80; - --md-red-A200: #ff5252; - --md-red-A400: #ff1744; - --md-red-A700: #d50000; - - --md-pink-50: #fce4ec; - --md-pink-100: #f8bbd0; - --md-pink-200: #f48fb1; - --md-pink-300: #f06292; - --md-pink-400: #ec407a; - --md-pink-500: #e91e63; - --md-pink-600: #d81b60; - --md-pink-700: #c2185b; - --md-pink-800: #ad1457; - --md-pink-900: #880e4f; - --md-pink-A100: #ff80ab; - --md-pink-A200: #ff4081; - --md-pink-A400: #f50057; - --md-pink-A700: #c51162; - - --md-purple-50: #f3e5f5; - --md-purple-100: #e1bee7; - --md-purple-200: #ce93d8; - --md-purple-300: #ba68c8; - --md-purple-400: #ab47bc; - --md-purple-500: #9c27b0; - --md-purple-600: #8e24aa; - --md-purple-700: #7b1fa2; - --md-purple-800: #6a1b9a; - --md-purple-900: #4a148c; - --md-purple-A100: #ea80fc; - --md-purple-A200: #e040fb; - --md-purple-A400: #d500f9; - --md-purple-A700: #aa00ff; - - --md-deep-purple-50: #ede7f6; - --md-deep-purple-100: #d1c4e9; - --md-deep-purple-200: #b39ddb; - --md-deep-purple-300: #9575cd; - --md-deep-purple-400: #7e57c2; - --md-deep-purple-500: #673ab7; - --md-deep-purple-600: #5e35b1; - --md-deep-purple-700: #512da8; - --md-deep-purple-800: #4527a0; - --md-deep-purple-900: #311b92; - --md-deep-purple-A100: #b388ff; - --md-deep-purple-A200: #7c4dff; - --md-deep-purple-A400: #651fff; - --md-deep-purple-A700: #6200ea; - - --md-indigo-50: #e8eaf6; - --md-indigo-100: #c5cae9; - --md-indigo-200: #9fa8da; - --md-indigo-300: #7986cb; - --md-indigo-400: #5c6bc0; - --md-indigo-500: #3f51b5; - --md-indigo-600: #3949ab; - --md-indigo-700: #303f9f; - --md-indigo-800: #283593; - --md-indigo-900: #1a237e; - --md-indigo-A100: #8c9eff; - --md-indigo-A200: #536dfe; - --md-indigo-A400: #3d5afe; - --md-indigo-A700: #304ffe; - - --md-blue-50: #e3f2fd; - --md-blue-100: #bbdefb; - --md-blue-200: #90caf9; - --md-blue-300: #64b5f6; - --md-blue-400: #42a5f5; - --md-blue-500: #2196f3; - --md-blue-600: #1e88e5; - --md-blue-700: #1976d2; - --md-blue-800: #1565c0; - --md-blue-900: #0d47a1; - --md-blue-A100: #82b1ff; - --md-blue-A200: #448aff; - --md-blue-A400: #2979ff; - --md-blue-A700: #2962ff; - - --md-light-blue-50: #e1f5fe; - --md-light-blue-100: #b3e5fc; - --md-light-blue-200: #81d4fa; - --md-light-blue-300: #4fc3f7; - --md-light-blue-400: #29b6f6; - --md-light-blue-500: #03a9f4; - --md-light-blue-600: #039be5; - --md-light-blue-700: #0288d1; - --md-light-blue-800: #0277bd; - --md-light-blue-900: #01579b; - --md-light-blue-A100: #80d8ff; - --md-light-blue-A200: #40c4ff; - --md-light-blue-A400: #00b0ff; - --md-light-blue-A700: #0091ea; - - --md-cyan-50: #e0f7fa; - --md-cyan-100: #b2ebf2; - --md-cyan-200: #80deea; - --md-cyan-300: #4dd0e1; - --md-cyan-400: #26c6da; - --md-cyan-500: #00bcd4; - --md-cyan-600: #00acc1; - --md-cyan-700: #0097a7; - --md-cyan-800: #00838f; - --md-cyan-900: #006064; - --md-cyan-A100: #84ffff; - --md-cyan-A200: #18ffff; - --md-cyan-A400: #00e5ff; - --md-cyan-A700: #00b8d4; - - --md-teal-50: #e0f2f1; - --md-teal-100: #b2dfdb; - --md-teal-200: #80cbc4; - --md-teal-300: #4db6ac; - --md-teal-400: #26a69a; - --md-teal-500: #009688; - --md-teal-600: #00897b; - --md-teal-700: #00796b; - --md-teal-800: #00695c; - --md-teal-900: #004d40; - --md-teal-A100: #a7ffeb; - --md-teal-A200: #64ffda; - --md-teal-A400: #1de9b6; - --md-teal-A700: #00bfa5; - - --md-green-50: #e8f5e9; - --md-green-100: #c8e6c9; - --md-green-200: #a5d6a7; - --md-green-300: #81c784; - --md-green-400: #66bb6a; - --md-green-500: #4caf50; - --md-green-600: #43a047; - --md-green-700: #388e3c; - --md-green-800: #2e7d32; - --md-green-900: #1b5e20; - --md-green-A100: #b9f6ca; - --md-green-A200: #69f0ae; - --md-green-A400: #00e676; - --md-green-A700: #00c853; - - --md-light-green-50: #f1f8e9; - --md-light-green-100: #dcedc8; - --md-light-green-200: #c5e1a5; - --md-light-green-300: #aed581; - --md-light-green-400: #9ccc65; - --md-light-green-500: #8bc34a; - --md-light-green-600: #7cb342; - --md-light-green-700: #689f38; - --md-light-green-800: #558b2f; - --md-light-green-900: #33691e; - --md-light-green-A100: #ccff90; - --md-light-green-A200: #b2ff59; - --md-light-green-A400: #76ff03; - --md-light-green-A700: #64dd17; - - --md-lime-50: #f9fbe7; - --md-lime-100: #f0f4c3; - --md-lime-200: #e6ee9c; - --md-lime-300: #dce775; - --md-lime-400: #d4e157; - --md-lime-500: #cddc39; - --md-lime-600: #c0ca33; - --md-lime-700: #afb42b; - --md-lime-800: #9e9d24; - --md-lime-900: #827717; - --md-lime-A100: #f4ff81; - --md-lime-A200: #eeff41; - --md-lime-A400: #c6ff00; - --md-lime-A700: #aeea00; - - --md-yellow-50: #fffde7; - --md-yellow-100: #fff9c4; - --md-yellow-200: #fff59d; - --md-yellow-300: #fff176; - --md-yellow-400: #ffee58; - --md-yellow-500: #ffeb3b; - --md-yellow-600: #fdd835; - --md-yellow-700: #fbc02d; - --md-yellow-800: #f9a825; - --md-yellow-900: #f57f17; - --md-yellow-A100: #ffff8d; - --md-yellow-A200: #ffff00; - --md-yellow-A400: #ffea00; - --md-yellow-A700: #ffd600; - - --md-amber-50: #fff8e1; - --md-amber-100: #ffecb3; - --md-amber-200: #ffe082; - --md-amber-300: #ffd54f; - --md-amber-400: #ffca28; - --md-amber-500: #ffc107; - --md-amber-600: #ffb300; - --md-amber-700: #ffa000; - --md-amber-800: #ff8f00; - --md-amber-900: #ff6f00; - --md-amber-A100: #ffe57f; - --md-amber-A200: #ffd740; - --md-amber-A400: #ffc400; - --md-amber-A700: #ffab00; - - --md-orange-50: #fff3e0; - --md-orange-100: #ffe0b2; - --md-orange-200: #ffcc80; - --md-orange-300: #ffb74d; - --md-orange-400: #ffa726; - --md-orange-500: #ff9800; - --md-orange-600: #fb8c00; - --md-orange-700: #f57c00; - --md-orange-800: #ef6c00; - --md-orange-900: #e65100; - --md-orange-A100: #ffd180; - --md-orange-A200: #ffab40; - --md-orange-A400: #ff9100; - --md-orange-A700: #ff6d00; - - --md-deep-orange-50: #fbe9e7; - --md-deep-orange-100: #ffccbc; - --md-deep-orange-200: #ffab91; - --md-deep-orange-300: #ff8a65; - --md-deep-orange-400: #ff7043; - --md-deep-orange-500: #ff5722; - --md-deep-orange-600: #f4511e; - --md-deep-orange-700: #e64a19; - --md-deep-orange-800: #d84315; - --md-deep-orange-900: #bf360c; - --md-deep-orange-A100: #ff9e80; - --md-deep-orange-A200: #ff6e40; - --md-deep-orange-A400: #ff3d00; - --md-deep-orange-A700: #dd2c00; - - --md-brown-50: #efebe9; - --md-brown-100: #d7ccc8; - --md-brown-200: #bcaaa4; - --md-brown-300: #a1887f; - --md-brown-400: #8d6e63; - --md-brown-500: #795548; - --md-brown-600: #6d4c41; - --md-brown-700: #5d4037; - --md-brown-800: #4e342e; - --md-brown-900: #3e2723; - - --md-grey-50: #fafafa; - --md-grey-100: #f5f5f5; - --md-grey-200: #eeeeee; - --md-grey-300: #e0e0e0; - --md-grey-400: #bdbdbd; - --md-grey-500: #9e9e9e; - --md-grey-600: #757575; - --md-grey-700: #616161; - --md-grey-800: #424242; - --md-grey-900: #212121; - - --md-blue-grey-50: #eceff1; - --md-blue-grey-100: #cfd8dc; - --md-blue-grey-200: #b0bec5; - --md-blue-grey-300: #90a4ae; - --md-blue-grey-400: #78909c; - --md-blue-grey-500: #607d8b; - --md-blue-grey-600: #546e7a; - --md-blue-grey-700: #455a64; - --md-blue-grey-800: #37474f; - --md-blue-grey-900: #263238; -} - -@import "./theme.css"; +@import "./variables.scss"; .jupyter-wrapper { - @import "./jupyter-lab.scss"; + @import "./jupyter-lab-index.scss"; .jp-DownloadNB { // TODO @@ -384,6 +105,8 @@ We duplicated them to the root so they work in the cells } .celltoolbar .tags_button_container .tag-container .cell-tag { + display: inline-flex; + align-items: center; background-color: #fff; white-space: nowrap; margin: 3px 4px; @@ -394,9 +117,7 @@ We duplicated them to the root so they work in the cells width: inherit; font-size: 11px; font-family: "Roboto Mono", SFMono-Regular, Consolas, Menlo, monospace; - height: 22px; - /* line-height: 22px; */ - display: inline-block; + height: 17px; } // diff --git a/js/src/styles/jupyter-lab-index.scss b/js/src/styles/jupyter-lab-index.scss new file mode 100644 index 0000000..07a1294 --- /dev/null +++ b/js/src/styles/jupyter-lab-index.scss @@ -0,0 +1,14480 @@ +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* + * Mozilla scrollbar styling + */ + +/* use standard opaque scrollbars for most nodes */ +[data-jp-theme-scrollbars='true'] { + scrollbar-color: rgb(var(--jp-scrollbar-thumb-color)) + var(--jp-scrollbar-background-color); + } + + /* for code nodes, use a transparent style of scrollbar. These selectors + * will match lower in the tree, and so will override the above */ + [data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar, + [data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar { + scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent; + } + + /* tiny scrollbar */ + + .jp-scrollbar-tiny { + scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent; + scrollbar-width: thin; + } + + /* + * Webkit scrollbar styling + */ + + /* use standard opaque scrollbars for most nodes */ + + [data-jp-theme-scrollbars='true'] ::-webkit-scrollbar, + [data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-corner { + background: var(--jp-scrollbar-background-color); + } + + [data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-thumb { + background: rgb(var(--jp-scrollbar-thumb-color)); + border: var(--jp-scrollbar-thumb-margin) solid transparent; + background-clip: content-box; + border-radius: var(--jp-scrollbar-thumb-radius); + } + + [data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:horizontal { + border-left: var(--jp-scrollbar-endpad) solid + var(--jp-scrollbar-background-color); + border-right: var(--jp-scrollbar-endpad) solid + var(--jp-scrollbar-background-color); + } + + [data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:vertical { + border-top: var(--jp-scrollbar-endpad) solid + var(--jp-scrollbar-background-color); + border-bottom: var(--jp-scrollbar-endpad) solid + var(--jp-scrollbar-background-color); + } + + /* for code nodes, use a transparent style of scrollbar */ + + [data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar::-webkit-scrollbar, + [data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar::-webkit-scrollbar, + [data-jp-theme-scrollbars='true'] + .CodeMirror-hscrollbar::-webkit-scrollbar-corner, + [data-jp-theme-scrollbars='true'] + .CodeMirror-vscrollbar::-webkit-scrollbar-corner { + background-color: transparent; + } + + [data-jp-theme-scrollbars='true'] + .CodeMirror-hscrollbar::-webkit-scrollbar-thumb, + [data-jp-theme-scrollbars='true'] + .CodeMirror-vscrollbar::-webkit-scrollbar-thumb { + background: rgba(var(--jp-scrollbar-thumb-color), 0.5); + border: var(--jp-scrollbar-thumb-margin) solid transparent; + background-clip: content-box; + border-radius: var(--jp-scrollbar-thumb-radius); + } + + [data-jp-theme-scrollbars='true'] + .CodeMirror-hscrollbar::-webkit-scrollbar-track:horizontal { + border-left: var(--jp-scrollbar-endpad) solid transparent; + border-right: var(--jp-scrollbar-endpad) solid transparent; + } + + [data-jp-theme-scrollbars='true'] + .CodeMirror-vscrollbar::-webkit-scrollbar-track:vertical { + border-top: var(--jp-scrollbar-endpad) solid transparent; + border-bottom: var(--jp-scrollbar-endpad) solid transparent; + } + + /* tiny scrollbar */ + + .jp-scrollbar-tiny::-webkit-scrollbar, + .jp-scrollbar-tiny::-webkit-scrollbar-corner { + background-color: transparent; + height: 4px; + width: 4px; + } + + .jp-scrollbar-tiny::-webkit-scrollbar-thumb { + background: rgba(var(--jp-scrollbar-thumb-color), 0.5); + } + + .jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal { + border-left: 0px solid transparent; + border-right: 0px solid transparent; + } + + .jp-scrollbar-tiny::-webkit-scrollbar-track:vertical { + border-top: 0px solid transparent; + border-bottom: 0px solid transparent; + } + + /* + * Phosphor + */ + + .lm-ScrollBar[data-orientation='horizontal'] { + min-height: 16px; + max-height: 16px; + min-width: 45px; + border-top: 1px solid #a0a0a0; + } + + .lm-ScrollBar[data-orientation='vertical'] { + min-width: 16px; + max-width: 16px; + min-height: 45px; + border-left: 1px solid #a0a0a0; + } + + .lm-ScrollBar-button { + background-color: #f0f0f0; + background-position: center center; + min-height: 15px; + max-height: 15px; + min-width: 15px; + max-width: 15px; + } + + .lm-ScrollBar-button:hover { + background-color: #dadada; + } + + .lm-ScrollBar-button.lm-mod-active { + background-color: #cdcdcd; + } + + .lm-ScrollBar-track { + background: #f0f0f0; + } + + .lm-ScrollBar-thumb { + background: #cdcdcd; + } + + .lm-ScrollBar-thumb:hover { + background: #bababa; + } + + .lm-ScrollBar-thumb.lm-mod-active { + background: #a0a0a0; + } + + .lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb { + height: 100%; + min-width: 15px; + border-left: 1px solid #a0a0a0; + border-right: 1px solid #a0a0a0; + } + + .lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb { + width: 100%; + min-height: 15px; + border-top: 1px solid #a0a0a0; + border-bottom: 1px solid #a0a0a0; + } + + .lm-ScrollBar[data-orientation='horizontal'] + .lm-ScrollBar-button[data-action='decrement'] { + background-image: var(--jp-icon-caret-left); + background-size: 17px; + } + + .lm-ScrollBar[data-orientation='horizontal'] + .lm-ScrollBar-button[data-action='increment'] { + background-image: var(--jp-icon-caret-right); + background-size: 17px; + } + + .lm-ScrollBar[data-orientation='vertical'] + .lm-ScrollBar-button[data-action='decrement'] { + background-image: var(--jp-icon-caret-up); + background-size: 17px; + } + + .lm-ScrollBar[data-orientation='vertical'] + .lm-ScrollBar-button[data-action='increment'] { + background-image: var(--jp-icon-caret-down); + background-size: 17px; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Copyright (c) 2014-2017, PhosphorJS Contributors + | + | Distributed under the terms of the BSD 3-Clause License. + | + | The full license is in the file LICENSE, distributed with this software. + |----------------------------------------------------------------------------*/ + + /* */ + .p-Widget, /* */ + .lm-Widget { + box-sizing: border-box; + position: relative; + overflow: hidden; + cursor: default; + } + + /* */ + .p-Widget.p-mod-hidden, /* */ + .lm-Widget.lm-mod-hidden { + display: none !important; + } + + .lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title { + /* Title is rotated for horizontal accordion panel using CSS */ + display: block; + transform-origin: top left; + transform: rotate(-90deg) translate(-100%); + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Copyright (c) 2014-2017, PhosphorJS Contributors + | + | Distributed under the terms of the BSD 3-Clause License. + | + | The full license is in the file LICENSE, distributed with this software. + |----------------------------------------------------------------------------*/ + + /* */ + .p-CommandPalette, /* */ + .lm-CommandPalette { + display: flex; + flex-direction: column; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + /* */ + .p-CommandPalette-search, /* */ + .lm-CommandPalette-search { + flex: 0 0 auto; + } + + /* */ + .p-CommandPalette-content, /* */ + .lm-CommandPalette-content { + flex: 1 1 auto; + margin: 0; + padding: 0; + min-height: 0; + overflow: auto; + list-style-type: none; + } + + /* */ + .p-CommandPalette-header, /* */ + .lm-CommandPalette-header { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + + /* */ + .p-CommandPalette-item, /* */ + .lm-CommandPalette-item { + display: flex; + flex-direction: row; + } + + /* */ + .p-CommandPalette-itemIcon, /* */ + .lm-CommandPalette-itemIcon { + flex: 0 0 auto; + } + + /* */ + .p-CommandPalette-itemContent, /* */ + .lm-CommandPalette-itemContent { + flex: 1 1 auto; + overflow: hidden; + } + + /* */ + .p-CommandPalette-itemShortcut, /* */ + .lm-CommandPalette-itemShortcut { + flex: 0 0 auto; + } + + /* */ + .p-CommandPalette-itemLabel, /* */ + .lm-CommandPalette-itemLabel { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + + .lm-close-icon { + border: 1px solid transparent; + background-color: transparent; + position: absolute; + z-index: 1; + right: 3%; + top: 0; + bottom: 0; + margin: auto; + padding: 7px 0; + display: none; + vertical-align: middle; + outline: 0; + cursor: pointer; + } + .lm-close-icon:after { + content: 'X'; + display: block; + width: 15px; + height: 15px; + text-align: center; + color: #000; + font-weight: normal; + font-size: 12px; + cursor: pointer; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Copyright (c) 2014-2017, PhosphorJS Contributors + | + | Distributed under the terms of the BSD 3-Clause License. + | + | The full license is in the file LICENSE, distributed with this software. + |----------------------------------------------------------------------------*/ + + /* */ + .p-DockPanel, /* */ + .lm-DockPanel { + z-index: 0; + } + + /* */ + .p-DockPanel-widget, /* */ + .lm-DockPanel-widget { + z-index: 0; + } + + /* */ + .p-DockPanel-tabBar, /* */ + .lm-DockPanel-tabBar { + z-index: 1; + } + + /* */ + .p-DockPanel-handle, /* */ + .lm-DockPanel-handle { + z-index: 2; + } + + /* */ + .p-DockPanel-handle.p-mod-hidden, /* */ + .lm-DockPanel-handle.lm-mod-hidden { + display: none !important; + } + + /* */ + .p-DockPanel-handle:after, /* */ + .lm-DockPanel-handle:after { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + content: ''; + } + + /* */ + .p-DockPanel-handle[data-orientation='horizontal'], + /* */ + .lm-DockPanel-handle[data-orientation='horizontal'] { + cursor: ew-resize; + } + + /* */ + .p-DockPanel-handle[data-orientation='vertical'], + /* */ + .lm-DockPanel-handle[data-orientation='vertical'] { + cursor: ns-resize; + } + + /* */ + .p-DockPanel-handle[data-orientation='horizontal']:after, + /* */ + .lm-DockPanel-handle[data-orientation='horizontal']:after { + left: 50%; + min-width: 8px; + transform: translateX(-50%); + } + + /* */ + .p-DockPanel-handle[data-orientation='vertical']:after, + /* */ + .lm-DockPanel-handle[data-orientation='vertical']:after { + top: 50%; + min-height: 8px; + transform: translateY(-50%); + } + + /* */ + .p-DockPanel-overlay, /* */ + .lm-DockPanel-overlay { + z-index: 3; + box-sizing: border-box; + pointer-events: none; + } + + /* */ + .p-DockPanel-overlay.p-mod-hidden, /* */ + .lm-DockPanel-overlay.lm-mod-hidden { + display: none !important; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Copyright (c) 2014-2017, PhosphorJS Contributors + | + | Distributed under the terms of the BSD 3-Clause License. + | + | The full license is in the file LICENSE, distributed with this software. + |----------------------------------------------------------------------------*/ + + /* */ + .p-Menu, /* */ + .lm-Menu { + z-index: 10000; + position: absolute; + white-space: nowrap; + overflow-x: hidden; + overflow-y: auto; + outline: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + /* */ + .p-Menu-content, /* */ + .lm-Menu-content { + margin: 0; + padding: 0; + display: table; + list-style-type: none; + } + + /* */ + .p-Menu-item, /* */ + .lm-Menu-item { + display: table-row; + } + + /* */ + .p-Menu-item.p-mod-hidden, + .p-Menu-item.p-mod-collapsed, + /* */ + .lm-Menu-item.lm-mod-hidden, + .lm-Menu-item.lm-mod-collapsed { + display: none !important; + } + + /* */ + .p-Menu-itemIcon, + .p-Menu-itemSubmenuIcon, + /* */ + .lm-Menu-itemIcon, + .lm-Menu-itemSubmenuIcon { + display: table-cell; + text-align: center; + } + + /* */ + .p-Menu-itemLabel, /* */ + .lm-Menu-itemLabel { + display: table-cell; + text-align: left; + } + + /* */ + .p-Menu-itemShortcut, /* */ + .lm-Menu-itemShortcut { + display: table-cell; + text-align: right; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Copyright (c) 2014-2017, PhosphorJS Contributors + | + | Distributed under the terms of the BSD 3-Clause License. + | + | The full license is in the file LICENSE, distributed with this software. + |----------------------------------------------------------------------------*/ + + /* */ + .p-MenuBar, /* */ + .lm-MenuBar { + outline: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + /* */ + .p-MenuBar-content, /* */ + .lm-MenuBar-content { + margin: 0; + padding: 0; + display: flex; + flex-direction: row; + list-style-type: none; + } + + /* */ + .p--MenuBar-item, /* */ + .lm-MenuBar-item { + box-sizing: border-box; + } + + /* */ + .p-MenuBar-itemIcon, + .p-MenuBar-itemLabel, + /* */ + .lm-MenuBar-itemIcon, + .lm-MenuBar-itemLabel { + display: inline-block; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Copyright (c) 2014-2017, PhosphorJS Contributors + | + | Distributed under the terms of the BSD 3-Clause License. + | + | The full license is in the file LICENSE, distributed with this software. + |----------------------------------------------------------------------------*/ + + /* */ + .p-ScrollBar, /* */ + .lm-ScrollBar { + display: flex; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + /* */ + .p-ScrollBar[data-orientation='horizontal'], + /* */ + .lm-ScrollBar[data-orientation='horizontal'] { + flex-direction: row; + } + + /* */ + .p-ScrollBar[data-orientation='vertical'], + /* */ + .lm-ScrollBar[data-orientation='vertical'] { + flex-direction: column; + } + + /* */ + .p-ScrollBar-button, /* */ + .lm-ScrollBar-button { + box-sizing: border-box; + flex: 0 0 auto; + } + + /* */ + .p-ScrollBar-track, /* */ + .lm-ScrollBar-track { + box-sizing: border-box; + position: relative; + overflow: hidden; + flex: 1 1 auto; + } + + /* */ + .p-ScrollBar-thumb, /* */ + .lm-ScrollBar-thumb { + box-sizing: border-box; + position: absolute; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Copyright (c) 2014-2017, PhosphorJS Contributors + | + | Distributed under the terms of the BSD 3-Clause License. + | + | The full license is in the file LICENSE, distributed with this software. + |----------------------------------------------------------------------------*/ + + /* */ + .p-SplitPanel-child, /* */ + .lm-SplitPanel-child { + z-index: 0; + } + + /* */ + .p-SplitPanel-handle, /* */ + .lm-SplitPanel-handle { + z-index: 1; + } + + /* */ + .p-SplitPanel-handle.p-mod-hidden, /* */ + .lm-SplitPanel-handle.lm-mod-hidden { + display: none !important; + } + + /* */ + .p-SplitPanel-handle:after, /* */ + .lm-SplitPanel-handle:after { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + content: ''; + } + + /* */ + .p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle, + /* */ + .lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle { + cursor: ew-resize; + } + + /* */ + .p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle, + /* */ + .lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle { + cursor: ns-resize; + } + + /* */ + .p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle:after, + /* */ + .lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after { + left: 50%; + min-width: 8px; + transform: translateX(-50%); + } + + /* */ + .p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle:after, + /* */ + .lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after { + top: 50%; + min-height: 8px; + transform: translateY(-50%); + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Copyright (c) 2014-2017, PhosphorJS Contributors + | + | Distributed under the terms of the BSD 3-Clause License. + | + | The full license is in the file LICENSE, distributed with this software. + |----------------------------------------------------------------------------*/ + + /* */ + .p-TabBar, /* */ + .lm-TabBar { + display: flex; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + /* */ + .p-TabBar[data-orientation='horizontal'], /* */ + .lm-TabBar[data-orientation='horizontal'] { + flex-direction: row; + align-items: flex-end; + } + + /* */ + .p-TabBar[data-orientation='vertical'], /* */ + .lm-TabBar[data-orientation='vertical'] { + flex-direction: column; + align-items: flex-end; + } + + /* */ + .p-TabBar-content, /* */ + .lm-TabBar-content { + margin: 0; + padding: 0; + display: flex; + flex: 1 1 auto; + list-style-type: none; + } + + /* */ + .p-TabBar[data-orientation='horizontal'] > .p-TabBar-content, + /* */ + .lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content { + flex-direction: row; + } + + /* */ + .p-TabBar[data-orientation='vertical'] > .p-TabBar-content, + /* */ + .lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content { + flex-direction: column; + } + + /* */ + .p-TabBar-tab, /* */ + .lm-TabBar-tab { + display: flex; + flex-direction: row; + box-sizing: border-box; + overflow: hidden; + touch-action: none; /* Disable native Drag/Drop */ + } + + /* */ + .p-TabBar-tabIcon, + .p-TabBar-tabCloseIcon, + /* */ + .lm-TabBar-tabIcon, + .lm-TabBar-tabCloseIcon { + flex: 0 0 auto; + } + + /* */ + .p-TabBar-tabLabel, /* */ + .lm-TabBar-tabLabel { + flex: 1 1 auto; + overflow: hidden; + white-space: nowrap; + } + + .lm-TabBar-tabInput { + user-select: all; + width: 100%; + box-sizing: border-box; + } + + /* */ + .p-TabBar-tab.p-mod-hidden, /* */ + .lm-TabBar-tab.lm-mod-hidden { + display: none !important; + } + + .lm-TabBar-addButton.lm-mod-hidden { + display: none !important; + } + + /* */ + .p-TabBar.p-mod-dragging .p-TabBar-tab, /* */ + .lm-TabBar.lm-mod-dragging .lm-TabBar-tab { + position: relative; + } + + /* */ + .p-TabBar.p-mod-dragging[data-orientation='horizontal'] .p-TabBar-tab, + /* */ + .lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab { + left: 0; + transition: left 150ms ease; + } + + /* */ + .p-TabBar.p-mod-dragging[data-orientation='vertical'] .p-TabBar-tab, + /* */ + .lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab { + top: 0; + transition: top 150ms ease; + } + + /* */ + .p-TabBar.p-mod-dragging .p-TabBar-tab.p-mod-dragging, + /* */ + .lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging { + transition: none; + } + + .lm-TabBar-tabLabel .lm-TabBar-tabInput { + user-select: all; + width: 100%; + box-sizing: border-box; + background: inherit; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Copyright (c) 2014-2017, PhosphorJS Contributors + | + | Distributed under the terms of the BSD 3-Clause License. + | + | The full license is in the file LICENSE, distributed with this software. + |----------------------------------------------------------------------------*/ + + /* */ + .p-TabPanel-tabBar, /* */ + .lm-TabPanel-tabBar { + z-index: 1; + } + + /* */ + .p-TabPanel-stackedPanel, /* */ + .lm-TabPanel-stackedPanel { + z-index: 0; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Copyright (c) 2014-2017, PhosphorJS Contributors + | + | Distributed under the terms of the BSD 3-Clause License. + | + | The full license is in the file LICENSE, distributed with this software. + |----------------------------------------------------------------------------*/ + + @charset "UTF-8"; + html{ + -webkit-box-sizing:border-box; + box-sizing:border-box; } + + *, + *::before, + *::after{ + -webkit-box-sizing:inherit; + box-sizing:inherit; } + + body{ + font-size:14px; + font-weight:400; + letter-spacing:0; + line-height:1.28581; + text-transform:none; + color:#182026; + font-family:-apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", "Icons16", sans-serif; } + + p{ + margin-bottom:10px; + margin-top:0; } + + small{ + font-size:12px; } + + strong{ + font-weight:600; } + + ::-moz-selection{ + background:rgba(125, 188, 255, 0.6); } + + ::selection{ + background:rgba(125, 188, 255, 0.6); } + .bp3-heading{ + color:#182026; + font-weight:600; + margin:0 0 10px; + padding:0; } + .bp3-dark .bp3-heading{ + color:#f5f8fa; } + + h1.bp3-heading, .bp3-running-text h1{ + font-size:36px; + line-height:40px; } + + h2.bp3-heading, .bp3-running-text h2{ + font-size:28px; + line-height:32px; } + + h3.bp3-heading, .bp3-running-text h3{ + font-size:22px; + line-height:25px; } + + h4.bp3-heading, .bp3-running-text h4{ + font-size:18px; + line-height:21px; } + + h5.bp3-heading, .bp3-running-text h5{ + font-size:16px; + line-height:19px; } + + h6.bp3-heading, .bp3-running-text h6{ + font-size:14px; + line-height:16px; } + .bp3-ui-text{ + font-size:14px; + font-weight:400; + letter-spacing:0; + line-height:1.28581; + text-transform:none; } + + .bp3-monospace-text{ + font-family:monospace; + text-transform:none; } + + .bp3-text-muted{ + color:#5c7080; } + .bp3-dark .bp3-text-muted{ + color:#a7b6c2; } + + .bp3-text-disabled{ + color:rgba(92, 112, 128, 0.6); } + .bp3-dark .bp3-text-disabled{ + color:rgba(167, 182, 194, 0.6); } + + .bp3-text-overflow-ellipsis{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; } + .bp3-running-text{ + font-size:14px; + line-height:1.5; } + .bp3-running-text h1{ + color:#182026; + font-weight:600; + margin-bottom:20px; + margin-top:40px; } + .bp3-dark .bp3-running-text h1{ + color:#f5f8fa; } + .bp3-running-text h2{ + color:#182026; + font-weight:600; + margin-bottom:20px; + margin-top:40px; } + .bp3-dark .bp3-running-text h2{ + color:#f5f8fa; } + .bp3-running-text h3{ + color:#182026; + font-weight:600; + margin-bottom:20px; + margin-top:40px; } + .bp3-dark .bp3-running-text h3{ + color:#f5f8fa; } + .bp3-running-text h4{ + color:#182026; + font-weight:600; + margin-bottom:20px; + margin-top:40px; } + .bp3-dark .bp3-running-text h4{ + color:#f5f8fa; } + .bp3-running-text h5{ + color:#182026; + font-weight:600; + margin-bottom:20px; + margin-top:40px; } + .bp3-dark .bp3-running-text h5{ + color:#f5f8fa; } + .bp3-running-text h6{ + color:#182026; + font-weight:600; + margin-bottom:20px; + margin-top:40px; } + .bp3-dark .bp3-running-text h6{ + color:#f5f8fa; } + .bp3-running-text hr{ + border:none; + border-bottom:1px solid rgba(16, 22, 26, 0.15); + margin:20px 0; } + .bp3-dark .bp3-running-text hr{ + border-color:rgba(255, 255, 255, 0.15); } + .bp3-running-text p{ + margin:0 0 10px; + padding:0; } + + .bp3-text-large{ + font-size:16px; } + + .bp3-text-small{ + font-size:12px; } + a{ + color:#106ba3; + text-decoration:none; } + a:hover{ + color:#106ba3; + cursor:pointer; + text-decoration:underline; } + a .bp3-icon, a .bp3-icon-standard, a .bp3-icon-large{ + color:inherit; } + a code, + .bp3-dark a code{ + color:inherit; } + .bp3-dark a, + .bp3-dark a:hover{ + color:#48aff0; } + .bp3-dark a .bp3-icon, .bp3-dark a .bp3-icon-standard, .bp3-dark a .bp3-icon-large, + .bp3-dark a:hover .bp3-icon, + .bp3-dark a:hover .bp3-icon-standard, + .bp3-dark a:hover .bp3-icon-large{ + color:inherit; } + .bp3-running-text code, .bp3-code{ + font-family:monospace; + text-transform:none; + background:rgba(255, 255, 255, 0.7); + border-radius:3px; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2); + color:#5c7080; + font-size:smaller; + padding:2px 5px; } + .bp3-dark .bp3-running-text code, .bp3-running-text .bp3-dark code, .bp3-dark .bp3-code{ + background:rgba(16, 22, 26, 0.3); + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + color:#a7b6c2; } + .bp3-running-text a > code, a > .bp3-code{ + color:#137cbd; } + .bp3-dark .bp3-running-text a > code, .bp3-running-text .bp3-dark a > code, .bp3-dark a > .bp3-code{ + color:inherit; } + + .bp3-running-text pre, .bp3-code-block{ + font-family:monospace; + text-transform:none; + background:rgba(255, 255, 255, 0.7); + border-radius:3px; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + color:#182026; + display:block; + font-size:13px; + line-height:1.4; + margin:10px 0; + padding:13px 15px 12px; + word-break:break-all; + word-wrap:break-word; } + .bp3-dark .bp3-running-text pre, .bp3-running-text .bp3-dark pre, .bp3-dark .bp3-code-block{ + background:rgba(16, 22, 26, 0.3); + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + color:#f5f8fa; } + .bp3-running-text pre > code, .bp3-code-block > code{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:inherit; + font-size:inherit; + padding:0; } + + .bp3-running-text kbd, .bp3-key{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + background:#ffffff; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + color:#5c7080; + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + font-family:inherit; + font-size:12px; + height:24px; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + line-height:24px; + min-width:24px; + padding:3px 6px; + vertical-align:middle; } + .bp3-running-text kbd .bp3-icon, .bp3-key .bp3-icon, .bp3-running-text kbd .bp3-icon-standard, .bp3-key .bp3-icon-standard, .bp3-running-text kbd .bp3-icon-large, .bp3-key .bp3-icon-large{ + margin-right:5px; } + .bp3-dark .bp3-running-text kbd, .bp3-running-text .bp3-dark kbd, .bp3-dark .bp3-key{ + background:#394b59; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + color:#a7b6c2; } + .bp3-running-text blockquote, .bp3-blockquote{ + border-left:solid 4px rgba(167, 182, 194, 0.5); + margin:0 0 10px; + padding:0 20px; } + .bp3-dark .bp3-running-text blockquote, .bp3-running-text .bp3-dark blockquote, .bp3-dark .bp3-blockquote{ + border-color:rgba(115, 134, 148, 0.5); } + .bp3-running-text ul, + .bp3-running-text ol, .bp3-list{ + margin:10px 0; + padding-left:30px; } + .bp3-running-text ul li:not(:last-child), .bp3-running-text ol li:not(:last-child), .bp3-list li:not(:last-child){ + margin-bottom:5px; } + .bp3-running-text ul ol, .bp3-running-text ol ol, .bp3-list ol, + .bp3-running-text ul ul, + .bp3-running-text ol ul, + .bp3-list ul{ + margin-top:5px; } + + .bp3-list-unstyled{ + list-style:none; + margin:0; + padding:0; } + .bp3-list-unstyled li{ + padding:0; } + .bp3-rtl{ + text-align:right; } + + .bp3-dark{ + color:#f5f8fa; } + + :focus{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:2px; + -moz-outline-radius:6px; } + + .bp3-focus-disabled :focus{ + outline:none !important; } + .bp3-focus-disabled :focus ~ .bp3-control-indicator{ + outline:none !important; } + + .bp3-alert{ + max-width:400px; + padding:20px; } + + .bp3-alert-body{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; } + .bp3-alert-body .bp3-icon{ + font-size:40px; + margin-right:20px; + margin-top:0; } + + .bp3-alert-contents{ + word-break:break-word; } + + .bp3-alert-footer{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:reverse; + -ms-flex-direction:row-reverse; + flex-direction:row-reverse; + margin-top:10px; } + .bp3-alert-footer .bp3-button{ + margin-left:10px; } + .bp3-breadcrumbs{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + cursor:default; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -ms-flex-wrap:wrap; + flex-wrap:wrap; + height:30px; + list-style:none; + margin:0; + padding:0; } + .bp3-breadcrumbs > li{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + display:-webkit-box; + display:-ms-flexbox; + display:flex; } + .bp3-breadcrumbs > li::after{ + background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.71 7.29l-4-4a1.003 1.003 0 00-1.42 1.42L8.59 8 5.3 11.29c-.19.18-.3.43-.3.71a1.003 1.003 0 001.71.71l4-4c.18-.18.29-.43.29-.71 0-.28-.11-.53-.29-.71z' fill='%235C7080'/%3e%3c/svg%3e"); + content:""; + display:block; + height:16px; + margin:0 5px; + width:16px; } + .bp3-breadcrumbs > li:last-of-type::after{ + display:none; } + + .bp3-breadcrumb, + .bp3-breadcrumb-current, + .bp3-breadcrumbs-collapsed{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + font-size:16px; } + + .bp3-breadcrumb, + .bp3-breadcrumbs-collapsed{ + color:#5c7080; } + + .bp3-breadcrumb:hover{ + text-decoration:none; } + + .bp3-breadcrumb.bp3-disabled{ + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; } + + .bp3-breadcrumb .bp3-icon{ + margin-right:5px; } + + .bp3-breadcrumb-current{ + color:inherit; + font-weight:600; } + .bp3-breadcrumb-current .bp3-input{ + font-size:inherit; + font-weight:inherit; + vertical-align:baseline; } + + .bp3-breadcrumbs-collapsed{ + background:#ced9e0; + border:none; + border-radius:3px; + cursor:pointer; + margin-right:2px; + padding:1px 5px; + vertical-align:text-bottom; } + .bp3-breadcrumbs-collapsed::before{ + background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cg fill='%235C7080'%3e%3ccircle cx='2' cy='8.03' r='2'/%3e%3ccircle cx='14' cy='8.03' r='2'/%3e%3ccircle cx='8' cy='8.03' r='2'/%3e%3c/g%3e%3c/svg%3e") center no-repeat; + content:""; + display:block; + height:16px; + width:16px; } + .bp3-breadcrumbs-collapsed:hover{ + background:#bfccd6; + color:#182026; + text-decoration:none; } + + .bp3-dark .bp3-breadcrumb, + .bp3-dark .bp3-breadcrumbs-collapsed{ + color:#a7b6c2; } + + .bp3-dark .bp3-breadcrumbs > li::after{ + color:#a7b6c2; } + + .bp3-dark .bp3-breadcrumb.bp3-disabled{ + color:rgba(167, 182, 194, 0.6); } + + .bp3-dark .bp3-breadcrumb-current{ + color:#f5f8fa; } + + .bp3-dark .bp3-breadcrumbs-collapsed{ + background:rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-breadcrumbs-collapsed:hover{ + background:rgba(16, 22, 26, 0.6); + color:#f5f8fa; } + .bp3-button{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + border:none; + border-radius:3px; + cursor:pointer; + font-size:14px; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + padding:5px 10px; + text-align:left; + vertical-align:middle; + min-height:30px; + min-width:30px; } + .bp3-button > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-button > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-button::before, + .bp3-button > *{ + margin-right:7px; } + .bp3-button:empty::before, + .bp3-button > :last-child{ + margin-right:0; } + .bp3-button:empty{ + padding:0 !important; } + .bp3-button:disabled, .bp3-button.bp3-disabled{ + cursor:not-allowed; } + .bp3-button.bp3-fill{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + width:100%; } + .bp3-button.bp3-align-right, + .bp3-align-right .bp3-button{ + text-align:right; } + .bp3-button.bp3-align-left, + .bp3-align-left .bp3-button{ + text-align:left; } + .bp3-button:not([class*="bp3-intent-"]){ + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + color:#182026; } + .bp3-button:not([class*="bp3-intent-"]):hover{ + background-clip:padding-box; + background-color:#ebf1f5; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } + .bp3-button:not([class*="bp3-intent-"]):active, .bp3-button:not([class*="bp3-intent-"]).bp3-active{ + background-color:#d8e1e8; + background-image:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{ + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; + outline:none; } + .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active:hover, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-button.bp3-intent-primary{ + background-color:#137cbd; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + color:#ffffff; } + .bp3-button.bp3-intent-primary:hover, .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-primary:hover{ + background-color:#106ba3; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); } + .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{ + background-color:#0e5a8a; + background-image:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-button.bp3-intent-primary:disabled, .bp3-button.bp3-intent-primary.bp3-disabled{ + background-color:rgba(19, 124, 189, 0.5); + background-image:none; + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button.bp3-intent-success{ + background-color:#0f9960; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + color:#ffffff; } + .bp3-button.bp3-intent-success:hover, .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-success:hover{ + background-color:#0d8050; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); } + .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{ + background-color:#0a6640; + background-image:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-button.bp3-intent-success:disabled, .bp3-button.bp3-intent-success.bp3-disabled{ + background-color:rgba(15, 153, 96, 0.5); + background-image:none; + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button.bp3-intent-warning{ + background-color:#d9822b; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + color:#ffffff; } + .bp3-button.bp3-intent-warning:hover, .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-warning:hover{ + background-color:#bf7326; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); } + .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{ + background-color:#a66321; + background-image:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-button.bp3-intent-warning:disabled, .bp3-button.bp3-intent-warning.bp3-disabled{ + background-color:rgba(217, 130, 43, 0.5); + background-image:none; + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button.bp3-intent-danger{ + background-color:#db3737; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + color:#ffffff; } + .bp3-button.bp3-intent-danger:hover, .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-danger:hover{ + background-color:#c23030; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); } + .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{ + background-color:#a82a2a; + background-image:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-button.bp3-intent-danger:disabled, .bp3-button.bp3-intent-danger.bp3-disabled{ + background-color:rgba(219, 55, 55, 0.5); + background-image:none; + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{ + stroke:#ffffff; } + .bp3-button.bp3-large, + .bp3-large .bp3-button{ + min-height:40px; + min-width:40px; + font-size:16px; + padding:5px 15px; } + .bp3-button.bp3-large::before, + .bp3-button.bp3-large > *, + .bp3-large .bp3-button::before, + .bp3-large .bp3-button > *{ + margin-right:10px; } + .bp3-button.bp3-large:empty::before, + .bp3-button.bp3-large > :last-child, + .bp3-large .bp3-button:empty::before, + .bp3-large .bp3-button > :last-child{ + margin-right:0; } + .bp3-button.bp3-small, + .bp3-small .bp3-button{ + min-height:24px; + min-width:24px; + padding:0 7px; } + .bp3-button.bp3-loading{ + position:relative; } + .bp3-button.bp3-loading[class*="bp3-icon-"]::before{ + visibility:hidden; } + .bp3-button.bp3-loading .bp3-button-spinner{ + margin:0; + position:absolute; } + .bp3-button.bp3-loading > :not(.bp3-button-spinner){ + visibility:hidden; } + .bp3-button[class*="bp3-icon-"]::before{ + font-family:"Icons16", sans-serif; + font-size:16px; + font-style:normal; + font-weight:400; + line-height:1; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + color:#5c7080; } + .bp3-button .bp3-icon, .bp3-button .bp3-icon-standard, .bp3-button .bp3-icon-large{ + color:#5c7080; } + .bp3-button .bp3-icon.bp3-align-right, .bp3-button .bp3-icon-standard.bp3-align-right, .bp3-button .bp3-icon-large.bp3-align-right{ + margin-left:7px; } + .bp3-button .bp3-icon:first-child:last-child, + .bp3-button .bp3-spinner + .bp3-icon:last-child{ + margin:0 -7px; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]){ + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + color:#f5f8fa; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover, .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover{ + background-color:#30404d; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{ + background-color:#202b33; + background-image:none; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{ + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"])[class*="bp3-icon-"]::before{ + color:#a7b6c2; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-large{ + color:#a7b6c2; } + .bp3-dark .bp3-button[class*="bp3-intent-"]{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-button[class*="bp3-intent-"]:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-button[class*="bp3-intent-"]:active, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-button[class*="bp3-intent-"]:disabled, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-disabled{ + background-image:none; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(255, 255, 255, 0.3); } + .bp3-dark .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{ + stroke:#8a9ba8; } + .bp3-button:disabled::before, + .bp3-button:disabled .bp3-icon, .bp3-button:disabled .bp3-icon-standard, .bp3-button:disabled .bp3-icon-large, .bp3-button.bp3-disabled::before, + .bp3-button.bp3-disabled .bp3-icon, .bp3-button.bp3-disabled .bp3-icon-standard, .bp3-button.bp3-disabled .bp3-icon-large, .bp3-button[class*="bp3-intent-"]::before, + .bp3-button[class*="bp3-intent-"] .bp3-icon, .bp3-button[class*="bp3-intent-"] .bp3-icon-standard, .bp3-button[class*="bp3-intent-"] .bp3-icon-large{ + color:inherit !important; } + .bp3-button.bp3-minimal{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-button.bp3-minimal:hover{ + background:rgba(167, 182, 194, 0.3); + -webkit-box-shadow:none; + box-shadow:none; + color:#182026; + text-decoration:none; } + .bp3-button.bp3-minimal:active, .bp3-button.bp3-minimal.bp3-active{ + background:rgba(115, 134, 148, 0.3); + -webkit-box-shadow:none; + box-shadow:none; + color:#182026; } + .bp3-button.bp3-minimal:disabled, .bp3-button.bp3-minimal:disabled:hover, .bp3-button.bp3-minimal.bp3-disabled, .bp3-button.bp3-minimal.bp3-disabled:hover{ + background:none; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; } + .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-button.bp3-minimal{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:inherit; } + .bp3-dark .bp3-button.bp3-minimal:hover, .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-button.bp3-minimal:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-button.bp3-minimal:disabled, .bp3-dark .bp3-button.bp3-minimal:disabled:hover, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover{ + background:none; + color:rgba(167, 182, 194, 0.6); + cursor:not-allowed; } + .bp3-dark .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-primary{ + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:hover, .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-success{ + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:hover, .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-warning{ + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:hover, .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-danger{ + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:hover, .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button.bp3-outlined{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + border:1px solid rgba(24, 32, 38, 0.2); + -webkit-box-sizing:border-box; + box-sizing:border-box; } + .bp3-button.bp3-outlined:hover{ + background:rgba(167, 182, 194, 0.3); + -webkit-box-shadow:none; + box-shadow:none; + color:#182026; + text-decoration:none; } + .bp3-button.bp3-outlined:active, .bp3-button.bp3-outlined.bp3-active{ + background:rgba(115, 134, 148, 0.3); + -webkit-box-shadow:none; + box-shadow:none; + color:#182026; } + .bp3-button.bp3-outlined:disabled, .bp3-button.bp3-outlined:disabled:hover, .bp3-button.bp3-outlined.bp3-disabled, .bp3-button.bp3-outlined.bp3-disabled:hover{ + background:none; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; } + .bp3-button.bp3-outlined:disabled.bp3-active, .bp3-button.bp3-outlined:disabled:hover.bp3-active, .bp3-button.bp3-outlined.bp3-disabled.bp3-active, .bp3-button.bp3-outlined.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-button.bp3-outlined{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:inherit; } + .bp3-dark .bp3-button.bp3-outlined:hover, .bp3-dark .bp3-button.bp3-outlined:active, .bp3-dark .bp3-button.bp3-outlined.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-button.bp3-outlined:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-button.bp3-outlined:active, .bp3-dark .bp3-button.bp3-outlined.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-button.bp3-outlined:disabled, .bp3-dark .bp3-button.bp3-outlined:disabled:hover, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover{ + background:none; + color:rgba(167, 182, 194, 0.6); + cursor:not-allowed; } + .bp3-dark .bp3-button.bp3-outlined:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined:disabled:hover.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-primary{ + color:#106ba3; } + .bp3-button.bp3-outlined.bp3-intent-primary:hover, .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#106ba3; } + .bp3-button.bp3-outlined.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-button.bp3-outlined.bp3-intent-primary:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-success{ + color:#0d8050; } + .bp3-button.bp3-outlined.bp3-intent-success:hover, .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#0d8050; } + .bp3-button.bp3-outlined.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-button.bp3-outlined.bp3-intent-success:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-warning{ + color:#bf7326; } + .bp3-button.bp3-outlined.bp3-intent-warning:hover, .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#bf7326; } + .bp3-button.bp3-outlined.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-button.bp3-outlined.bp3-intent-warning:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-danger{ + color:#c23030; } + .bp3-button.bp3-outlined.bp3-intent-danger:hover, .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#c23030; } + .bp3-button.bp3-outlined.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-button.bp3-outlined.bp3-intent-danger:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button.bp3-outlined.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button.bp3-outlined:disabled, .bp3-button.bp3-outlined.bp3-disabled, .bp3-button.bp3-outlined:disabled:hover, .bp3-button.bp3-outlined.bp3-disabled:hover{ + border-color:rgba(92, 112, 128, 0.1); } + .bp3-dark .bp3-button.bp3-outlined{ + border-color:rgba(255, 255, 255, 0.4); } + .bp3-dark .bp3-button.bp3-outlined:disabled, .bp3-dark .bp3-button.bp3-outlined:disabled:hover, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover{ + border-color:rgba(255, 255, 255, 0.2); } + .bp3-button.bp3-outlined.bp3-intent-primary{ + border-color:rgba(16, 107, 163, 0.6); } + .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{ + border-color:rgba(16, 107, 163, 0.2); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary{ + border-color:rgba(72, 175, 240, 0.6); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{ + border-color:rgba(72, 175, 240, 0.2); } + .bp3-button.bp3-outlined.bp3-intent-success{ + border-color:rgba(13, 128, 80, 0.6); } + .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{ + border-color:rgba(13, 128, 80, 0.2); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success{ + border-color:rgba(61, 204, 145, 0.6); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{ + border-color:rgba(61, 204, 145, 0.2); } + .bp3-button.bp3-outlined.bp3-intent-warning{ + border-color:rgba(191, 115, 38, 0.6); } + .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{ + border-color:rgba(191, 115, 38, 0.2); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning{ + border-color:rgba(255, 179, 102, 0.6); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{ + border-color:rgba(255, 179, 102, 0.2); } + .bp3-button.bp3-outlined.bp3-intent-danger{ + border-color:rgba(194, 48, 48, 0.6); } + .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{ + border-color:rgba(194, 48, 48, 0.2); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger{ + border-color:rgba(255, 115, 115, 0.6); } + .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{ + border-color:rgba(255, 115, 115, 0.2); } + + a.bp3-button{ + text-align:center; + text-decoration:none; + -webkit-transition:none; + transition:none; } + a.bp3-button, a.bp3-button:hover, a.bp3-button:active{ + color:#182026; } + a.bp3-button.bp3-disabled{ + color:rgba(92, 112, 128, 0.6); } + + .bp3-button-text{ + -webkit-box-flex:0; + -ms-flex:0 1 auto; + flex:0 1 auto; } + + .bp3-button.bp3-align-left .bp3-button-text, .bp3-button.bp3-align-right .bp3-button-text, + .bp3-button-group.bp3-align-left .bp3-button-text, + .bp3-button-group.bp3-align-right .bp3-button-text{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-button-group{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; } + .bp3-button-group .bp3-button{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + position:relative; + z-index:4; } + .bp3-button-group .bp3-button:focus{ + z-index:5; } + .bp3-button-group .bp3-button:hover{ + z-index:6; } + .bp3-button-group .bp3-button:active, .bp3-button-group .bp3-button.bp3-active{ + z-index:7; } + .bp3-button-group .bp3-button:disabled, .bp3-button-group .bp3-button.bp3-disabled{ + z-index:3; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]{ + z-index:9; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:focus{ + z-index:10; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:hover{ + z-index:11; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:active, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-active{ + z-index:12; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:disabled, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-disabled{ + z-index:8; } + .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:first-child) .bp3-button, + .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:first-child){ + border-bottom-left-radius:0; + border-top-left-radius:0; } + .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){ + border-bottom-right-radius:0; + border-top-right-radius:0; + margin-right:-1px; } + .bp3-button-group.bp3-minimal .bp3-button{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-button-group.bp3-minimal .bp3-button:hover{ + background:rgba(167, 182, 194, 0.3); + -webkit-box-shadow:none; + box-shadow:none; + color:#182026; + text-decoration:none; } + .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ + background:rgba(115, 134, 148, 0.3); + -webkit-box-shadow:none; + box-shadow:none; + color:#182026; } + .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{ + background:none; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; } + .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:inherit; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{ + background:none; + color:rgba(167, 182, 194, 0.6); + cursor:not-allowed; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{ + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{ + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{ + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{ + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button-group .bp3-popover-wrapper, + .bp3-button-group .bp3-popover-target{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-button-group.bp3-fill{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + width:100%; } + .bp3-button-group .bp3-button.bp3-fill, + .bp3-button-group.bp3-fill .bp3-button:not(.bp3-fixed){ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-button-group.bp3-vertical{ + -webkit-box-align:stretch; + -ms-flex-align:stretch; + align-items:stretch; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + vertical-align:top; } + .bp3-button-group.bp3-vertical.bp3-fill{ + height:100%; + width:unset; } + .bp3-button-group.bp3-vertical .bp3-button{ + margin-right:0 !important; + width:100%; } + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:first-child .bp3-button, + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:first-child{ + border-radius:3px 3px 0 0; } + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:last-child .bp3-button, + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:last-child{ + border-radius:0 0 3px 3px; } + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:not(:last-child){ + margin-bottom:-1px; } + .bp3-button-group.bp3-align-left .bp3-button{ + text-align:left; } + .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){ + margin-right:1px; } + .bp3-dark .bp3-button-group.bp3-vertical > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-dark .bp3-button-group.bp3-vertical > .bp3-button:not(:last-child){ + margin-bottom:1px; } + .bp3-callout{ + font-size:14px; + line-height:1.5; + background-color:rgba(138, 155, 168, 0.15); + border-radius:3px; + padding:10px 12px 9px; + position:relative; + width:100%; } + .bp3-callout[class*="bp3-icon-"]{ + padding-left:40px; } + .bp3-callout[class*="bp3-icon-"]::before{ + font-family:"Icons20", sans-serif; + font-size:20px; + font-style:normal; + font-weight:400; + line-height:1; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + color:#5c7080; + left:10px; + position:absolute; + top:10px; } + .bp3-callout.bp3-callout-icon{ + padding-left:40px; } + .bp3-callout.bp3-callout-icon > .bp3-icon:first-child{ + color:#5c7080; + left:10px; + position:absolute; + top:10px; } + .bp3-callout .bp3-heading{ + line-height:20px; + margin-bottom:5px; + margin-top:0; } + .bp3-callout .bp3-heading:last-child{ + margin-bottom:0; } + .bp3-dark .bp3-callout{ + background-color:rgba(138, 155, 168, 0.2); } + .bp3-dark .bp3-callout[class*="bp3-icon-"]::before{ + color:#a7b6c2; } + .bp3-callout.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.15); } + .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-primary > .bp3-icon:first-child, + .bp3-callout.bp3-intent-primary .bp3-heading{ + color:#106ba3; } + .bp3-dark .bp3-callout.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-primary > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-primary .bp3-heading{ + color:#48aff0; } + .bp3-callout.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.15); } + .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-success > .bp3-icon:first-child, + .bp3-callout.bp3-intent-success .bp3-heading{ + color:#0d8050; } + .bp3-dark .bp3-callout.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-success > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-success .bp3-heading{ + color:#3dcc91; } + .bp3-callout.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.15); } + .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-warning > .bp3-icon:first-child, + .bp3-callout.bp3-intent-warning .bp3-heading{ + color:#bf7326; } + .bp3-dark .bp3-callout.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-warning > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-warning .bp3-heading{ + color:#ffb366; } + .bp3-callout.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.15); } + .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-danger > .bp3-icon:first-child, + .bp3-callout.bp3-intent-danger .bp3-heading{ + color:#c23030; } + .bp3-dark .bp3-callout.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-danger > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-danger .bp3-heading{ + color:#ff7373; } + .bp3-running-text .bp3-callout{ + margin:20px 0; } + .bp3-card{ + background-color:#ffffff; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + padding:20px; + -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-card.bp3-dark, + .bp3-dark .bp3-card{ + background-color:#30404d; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); } + + .bp3-elevation-0{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); } + .bp3-elevation-0.bp3-dark, + .bp3-dark .bp3-elevation-0{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); } + + .bp3-elevation-1{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-elevation-1.bp3-dark, + .bp3-dark .bp3-elevation-1{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + + .bp3-elevation-2{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2); } + .bp3-elevation-2.bp3-dark, + .bp3-dark .bp3-elevation-2{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4); } + + .bp3-elevation-3{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); } + .bp3-elevation-3.bp3-dark, + .bp3-dark .bp3-elevation-3{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + + .bp3-elevation-4{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); } + .bp3-elevation-4.bp3-dark, + .bp3-dark .bp3-elevation-4{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); } + + .bp3-card.bp3-interactive:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + cursor:pointer; } + .bp3-card.bp3-interactive:hover.bp3-dark, + .bp3-dark .bp3-card.bp3-interactive:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + + .bp3-card.bp3-interactive:active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + opacity:0.9; + -webkit-transition-duration:0; + transition-duration:0; } + .bp3-card.bp3-interactive:active.bp3-dark, + .bp3-dark .bp3-card.bp3-interactive:active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + + .bp3-collapse{ + height:0; + overflow-y:hidden; + -webkit-transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-collapse .bp3-collapse-body{ + -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-collapse .bp3-collapse-body[aria-hidden="true"]{ + display:none; } + + .bp3-context-menu .bp3-popover-target{ + display:block; } + + .bp3-context-menu-popover-target{ + position:fixed; } + + .bp3-divider{ + border-bottom:1px solid rgba(16, 22, 26, 0.15); + border-right:1px solid rgba(16, 22, 26, 0.15); + margin:5px; } + .bp3-dark .bp3-divider{ + border-color:rgba(16, 22, 26, 0.4); } + .bp3-dialog-container{ + opacity:1; + -webkit-transform:scale(1); + transform:scale(1); + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + min-height:100%; + pointer-events:none; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; + width:100%; } + .bp3-dialog-container.bp3-overlay-enter > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear > .bp3-dialog{ + opacity:0; + -webkit-transform:scale(0.5); + transform:scale(0.5); } + .bp3-dialog-container.bp3-overlay-enter-active > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear-active > .bp3-dialog{ + opacity:1; + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:opacity, transform; + transition-property:opacity, transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); } + .bp3-dialog-container.bp3-overlay-exit > .bp3-dialog{ + opacity:1; + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-dialog-container.bp3-overlay-exit-active > .bp3-dialog{ + opacity:0; + -webkit-transform:scale(0.5); + transform:scale(0.5); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:opacity, transform; + transition-property:opacity, transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); } + + .bp3-dialog{ + background:#ebf1f5; + border-radius:6px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin:30px 0; + padding-bottom:20px; + pointer-events:all; + -webkit-user-select:text; + -moz-user-select:text; + -ms-user-select:text; + user-select:text; + width:500px; } + .bp3-dialog:focus{ + outline:0; } + .bp3-dialog.bp3-dark, + .bp3-dark .bp3-dialog{ + background:#293742; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + color:#f5f8fa; } + + .bp3-dialog-header{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + background:#ffffff; + border-radius:6px 6px 0 0; + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + min-height:40px; + padding-left:20px; + padding-right:5px; + z-index:30; } + .bp3-dialog-header .bp3-icon-large, + .bp3-dialog-header .bp3-icon{ + color:#5c7080; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + margin-right:10px; } + .bp3-dialog-header .bp3-heading{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + line-height:inherit; + margin:0; } + .bp3-dialog-header .bp3-heading:last-child{ + margin-right:20px; } + .bp3-dark .bp3-dialog-header{ + background:#30404d; + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-dialog-header .bp3-icon-large, + .bp3-dark .bp3-dialog-header .bp3-icon{ + color:#a7b6c2; } + + .bp3-dialog-body{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + line-height:18px; + margin:20px; } + + .bp3-dialog-footer{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + margin:0 20px; } + + .bp3-dialog-footer-actions{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-pack:end; + -ms-flex-pack:end; + justify-content:flex-end; } + .bp3-dialog-footer-actions .bp3-button{ + margin-left:10px; } + .bp3-multistep-dialog-panels{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; } + + .bp3-multistep-dialog-left-panel{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:1; + -ms-flex:1; + flex:1; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; } + .bp3-dark .bp3-multistep-dialog-left-panel{ + background:#202b33; } + + .bp3-multistep-dialog-right-panel{ + background-color:#f5f8fa; + border-left:1px solid rgba(16, 22, 26, 0.15); + border-radius:0 0 6px 0; + -webkit-box-flex:3; + -ms-flex:3; + flex:3; + min-width:0; } + .bp3-dark .bp3-multistep-dialog-right-panel{ + background-color:#293742; + border-left:1px solid rgba(16, 22, 26, 0.4); } + + .bp3-multistep-dialog-footer{ + background-color:#ffffff; + border-radius:0 0 6px 0; + border-top:1px solid rgba(16, 22, 26, 0.15); + padding:10px; } + .bp3-dark .bp3-multistep-dialog-footer{ + background:#30404d; + border-top:1px solid rgba(16, 22, 26, 0.4); } + + .bp3-dialog-step-container{ + background-color:#f5f8fa; + border-bottom:1px solid rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-dialog-step-container{ + background:#293742; + border-bottom:1px solid rgba(16, 22, 26, 0.4); } + .bp3-dialog-step-container.bp3-dialog-step-viewed{ + background-color:#ffffff; } + .bp3-dark .bp3-dialog-step-container.bp3-dialog-step-viewed{ + background:#30404d; } + + .bp3-dialog-step{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + background-color:#f5f8fa; + border-radius:6px; + cursor:not-allowed; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + margin:4px; + padding:6px 14px; } + .bp3-dark .bp3-dialog-step{ + background:#293742; } + .bp3-dialog-step-viewed .bp3-dialog-step{ + background-color:#ffffff; + cursor:pointer; } + .bp3-dark .bp3-dialog-step-viewed .bp3-dialog-step{ + background:#30404d; } + .bp3-dialog-step:hover{ + background-color:#f5f8fa; } + .bp3-dark .bp3-dialog-step:hover{ + background:#293742; } + + .bp3-dialog-step-icon{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + background-color:rgba(92, 112, 128, 0.6); + border-radius:50%; + color:#ffffff; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + height:25px; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + width:25px; } + .bp3-dark .bp3-dialog-step-icon{ + background-color:rgba(167, 182, 194, 0.6); } + .bp3-active.bp3-dialog-step-viewed .bp3-dialog-step-icon{ + background-color:#2b95d6; } + .bp3-dialog-step-viewed .bp3-dialog-step-icon{ + background-color:#8a9ba8; } + + .bp3-dialog-step-title{ + color:rgba(92, 112, 128, 0.6); + -webkit-box-flex:1; + -ms-flex:1; + flex:1; + padding-left:10px; } + .bp3-dark .bp3-dialog-step-title{ + color:rgba(167, 182, 194, 0.6); } + .bp3-active.bp3-dialog-step-viewed .bp3-dialog-step-title{ + color:#2b95d6; } + .bp3-dialog-step-viewed:not(.bp3-active) .bp3-dialog-step-title{ + color:#182026; } + .bp3-dark .bp3-dialog-step-viewed:not(.bp3-active) .bp3-dialog-step-title{ + color:#f5f8fa; } + .bp3-drawer{ + background:#ffffff; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin:0; + padding:0; } + .bp3-drawer:focus{ + outline:0; } + .bp3-drawer.bp3-position-top{ + height:50%; + left:0; + right:0; + top:0; } + .bp3-drawer.bp3-position-top.bp3-overlay-enter, .bp3-drawer.bp3-position-top.bp3-overlay-appear{ + -webkit-transform:translateY(-100%); + transform:translateY(-100%); } + .bp3-drawer.bp3-position-top.bp3-overlay-enter-active, .bp3-drawer.bp3-position-top.bp3-overlay-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-drawer.bp3-position-top.bp3-overlay-exit{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-drawer.bp3-position-top.bp3-overlay-exit-active{ + -webkit-transform:translateY(-100%); + transform:translateY(-100%); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-drawer.bp3-position-bottom{ + bottom:0; + height:50%; + left:0; + right:0; } + .bp3-drawer.bp3-position-bottom.bp3-overlay-enter, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear{ + -webkit-transform:translateY(100%); + transform:translateY(100%); } + .bp3-drawer.bp3-position-bottom.bp3-overlay-enter-active, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-drawer.bp3-position-bottom.bp3-overlay-exit{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-drawer.bp3-position-bottom.bp3-overlay-exit-active{ + -webkit-transform:translateY(100%); + transform:translateY(100%); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-drawer.bp3-position-left{ + bottom:0; + left:0; + top:0; + width:50%; } + .bp3-drawer.bp3-position-left.bp3-overlay-enter, .bp3-drawer.bp3-position-left.bp3-overlay-appear{ + -webkit-transform:translateX(-100%); + transform:translateX(-100%); } + .bp3-drawer.bp3-position-left.bp3-overlay-enter-active, .bp3-drawer.bp3-position-left.bp3-overlay-appear-active{ + -webkit-transform:translateX(0); + transform:translateX(0); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-drawer.bp3-position-left.bp3-overlay-exit{ + -webkit-transform:translateX(0); + transform:translateX(0); } + .bp3-drawer.bp3-position-left.bp3-overlay-exit-active{ + -webkit-transform:translateX(-100%); + transform:translateX(-100%); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-drawer.bp3-position-right{ + bottom:0; + right:0; + top:0; + width:50%; } + .bp3-drawer.bp3-position-right.bp3-overlay-enter, .bp3-drawer.bp3-position-right.bp3-overlay-appear{ + -webkit-transform:translateX(100%); + transform:translateX(100%); } + .bp3-drawer.bp3-position-right.bp3-overlay-enter-active, .bp3-drawer.bp3-position-right.bp3-overlay-appear-active{ + -webkit-transform:translateX(0); + transform:translateX(0); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-drawer.bp3-position-right.bp3-overlay-exit{ + -webkit-transform:translateX(0); + transform:translateX(0); } + .bp3-drawer.bp3-position-right.bp3-overlay-exit-active{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical){ + bottom:0; + right:0; + top:0; + width:50%; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear{ + -webkit-transform:translateX(100%); + transform:translateX(100%); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear-active{ + -webkit-transform:translateX(0); + transform:translateX(0); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit{ + -webkit-transform:translateX(0); + transform:translateX(0); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit-active{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical{ + bottom:0; + height:50%; + left:0; + right:0; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-appear{ + -webkit-transform:translateY(100%); + transform:translateY(100%); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-exit{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-exit-active{ + -webkit-transform:translateY(100%); + transform:translateY(100%); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-drawer.bp3-dark, + .bp3-dark .bp3-drawer{ + background:#30404d; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + color:#f5f8fa; } + + .bp3-drawer-header{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + border-radius:0; + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + min-height:40px; + padding:5px; + padding-left:20px; + position:relative; } + .bp3-drawer-header .bp3-icon-large, + .bp3-drawer-header .bp3-icon{ + color:#5c7080; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + margin-right:10px; } + .bp3-drawer-header .bp3-heading{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + line-height:inherit; + margin:0; } + .bp3-drawer-header .bp3-heading:last-child{ + margin-right:20px; } + .bp3-dark .bp3-drawer-header{ + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-drawer-header .bp3-icon-large, + .bp3-dark .bp3-drawer-header .bp3-icon{ + color:#a7b6c2; } + + .bp3-drawer-body{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + line-height:18px; + overflow:auto; } + + .bp3-drawer-footer{ + -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + padding:10px 20px; + position:relative; } + .bp3-dark .bp3-drawer-footer{ + -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4); + box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4); } + .bp3-editable-text{ + cursor:text; + display:inline-block; + max-width:100%; + position:relative; + vertical-align:top; + white-space:nowrap; } + .bp3-editable-text::before{ + bottom:-3px; + left:-3px; + position:absolute; + right:-3px; + top:-3px; + border-radius:3px; + content:""; + -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-editable-text:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15); } + .bp3-editable-text.bp3-editable-text-editing::before{ + background-color:#ffffff; + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-editable-text.bp3-disabled::before{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-editable-text.bp3-intent-primary .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{ + color:#137cbd; } + .bp3-editable-text.bp3-intent-primary:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4); } + .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-editable-text.bp3-intent-success .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{ + color:#0f9960; } + .bp3-editable-text.bp3-intent-success:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4); } + .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-editable-text.bp3-intent-warning .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{ + color:#d9822b; } + .bp3-editable-text.bp3-intent-warning:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4); } + .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-editable-text.bp3-intent-danger .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{ + color:#db3737; } + .bp3-editable-text.bp3-intent-danger:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4); } + .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-editable-text:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15); } + .bp3-dark .bp3-editable-text.bp3-editable-text-editing::before{ + background-color:rgba(16, 22, 26, 0.3); + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-editable-text.bp3-disabled::before{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{ + color:#48aff0; } + .bp3-dark .bp3-editable-text.bp3-intent-primary:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4); + box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{ + color:#3dcc91; } + .bp3-dark .bp3-editable-text.bp3-intent-success:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4); + box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{ + color:#ffb366; } + .bp3-dark .bp3-editable-text.bp3-intent-warning:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4); + box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{ + color:#ff7373; } + .bp3-dark .bp3-editable-text.bp3-intent-danger:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4); + box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + + .bp3-editable-text-input, + .bp3-editable-text-content{ + color:inherit; + display:inherit; + font:inherit; + letter-spacing:inherit; + max-width:inherit; + min-width:inherit; + position:relative; + resize:none; + text-transform:inherit; + vertical-align:top; } + + .bp3-editable-text-input{ + background:none; + border:none; + -webkit-box-shadow:none; + box-shadow:none; + padding:0; + white-space:pre-wrap; + width:100%; } + .bp3-editable-text-input::-webkit-input-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-editable-text-input::-moz-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-editable-text-input:-ms-input-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-editable-text-input::-ms-input-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-editable-text-input::placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-editable-text-input:focus{ + outline:none; } + .bp3-editable-text-input::-ms-clear{ + display:none; } + + .bp3-editable-text-content{ + overflow:hidden; + padding-right:2px; + text-overflow:ellipsis; + white-space:pre; } + .bp3-editable-text-editing > .bp3-editable-text-content{ + left:0; + position:absolute; + visibility:hidden; } + .bp3-editable-text-placeholder > .bp3-editable-text-content{ + color:rgba(92, 112, 128, 0.6); } + .bp3-dark .bp3-editable-text-placeholder > .bp3-editable-text-content{ + color:rgba(167, 182, 194, 0.6); } + + .bp3-editable-text.bp3-multiline{ + display:block; } + .bp3-editable-text.bp3-multiline .bp3-editable-text-content{ + overflow:auto; + white-space:pre-wrap; + word-wrap:break-word; } + .bp3-divider{ + border-bottom:1px solid rgba(16, 22, 26, 0.15); + border-right:1px solid rgba(16, 22, 26, 0.15); + margin:5px; } + .bp3-dark .bp3-divider{ + border-color:rgba(16, 22, 26, 0.4); } + .bp3-control-group{ + -webkit-transform:translateZ(0); + transform:translateZ(0); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:stretch; + -ms-flex-align:stretch; + align-items:stretch; } + .bp3-control-group > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-control-group > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-control-group .bp3-button, + .bp3-control-group .bp3-html-select, + .bp3-control-group .bp3-input, + .bp3-control-group .bp3-select{ + position:relative; } + .bp3-control-group .bp3-input{ + border-radius:inherit; + z-index:2; } + .bp3-control-group .bp3-input:focus{ + border-radius:3px; + z-index:14; } + .bp3-control-group .bp3-input[class*="bp3-intent"]{ + z-index:13; } + .bp3-control-group .bp3-input[class*="bp3-intent"]:focus{ + z-index:15; } + .bp3-control-group .bp3-input[readonly], .bp3-control-group .bp3-input:disabled, .bp3-control-group .bp3-input.bp3-disabled{ + z-index:1; } + .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input{ + z-index:13; } + .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input:focus{ + z-index:15; } + .bp3-control-group .bp3-button, + .bp3-control-group .bp3-html-select select, + .bp3-control-group .bp3-select select{ + -webkit-transform:translateZ(0); + transform:translateZ(0); + border-radius:inherit; + z-index:4; } + .bp3-control-group .bp3-button:focus, + .bp3-control-group .bp3-html-select select:focus, + .bp3-control-group .bp3-select select:focus{ + z-index:5; } + .bp3-control-group .bp3-button:hover, + .bp3-control-group .bp3-html-select select:hover, + .bp3-control-group .bp3-select select:hover{ + z-index:6; } + .bp3-control-group .bp3-button:active, + .bp3-control-group .bp3-html-select select:active, + .bp3-control-group .bp3-select select:active{ + z-index:7; } + .bp3-control-group .bp3-button[readonly], .bp3-control-group .bp3-button:disabled, .bp3-control-group .bp3-button.bp3-disabled, + .bp3-control-group .bp3-html-select select[readonly], + .bp3-control-group .bp3-html-select select:disabled, + .bp3-control-group .bp3-html-select select.bp3-disabled, + .bp3-control-group .bp3-select select[readonly], + .bp3-control-group .bp3-select select:disabled, + .bp3-control-group .bp3-select select.bp3-disabled{ + z-index:3; } + .bp3-control-group .bp3-button[class*="bp3-intent"], + .bp3-control-group .bp3-html-select select[class*="bp3-intent"], + .bp3-control-group .bp3-select select[class*="bp3-intent"]{ + z-index:9; } + .bp3-control-group .bp3-button[class*="bp3-intent"]:focus, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:focus, + .bp3-control-group .bp3-select select[class*="bp3-intent"]:focus{ + z-index:10; } + .bp3-control-group .bp3-button[class*="bp3-intent"]:hover, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:hover, + .bp3-control-group .bp3-select select[class*="bp3-intent"]:hover{ + z-index:11; } + .bp3-control-group .bp3-button[class*="bp3-intent"]:active, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:active, + .bp3-control-group .bp3-select select[class*="bp3-intent"]:active{ + z-index:12; } + .bp3-control-group .bp3-button[class*="bp3-intent"][readonly], .bp3-control-group .bp3-button[class*="bp3-intent"]:disabled, .bp3-control-group .bp3-button[class*="bp3-intent"].bp3-disabled, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"][readonly], + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:disabled, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"].bp3-disabled, + .bp3-control-group .bp3-select select[class*="bp3-intent"][readonly], + .bp3-control-group .bp3-select select[class*="bp3-intent"]:disabled, + .bp3-control-group .bp3-select select[class*="bp3-intent"].bp3-disabled{ + z-index:8; } + .bp3-control-group .bp3-input-group > .bp3-icon, + .bp3-control-group .bp3-input-group > .bp3-button, + .bp3-control-group .bp3-input-group > .bp3-input-left-container, + .bp3-control-group .bp3-input-group > .bp3-input-action{ + z-index:16; } + .bp3-control-group .bp3-select::after, + .bp3-control-group .bp3-html-select::after, + .bp3-control-group .bp3-select > .bp3-icon, + .bp3-control-group .bp3-html-select > .bp3-icon{ + z-index:17; } + .bp3-control-group .bp3-select:focus-within{ + z-index:5; } + .bp3-control-group:not(.bp3-vertical) > *:not(.bp3-divider){ + margin-right:-1px; } + .bp3-control-group:not(.bp3-vertical) > .bp3-divider:not(:first-child){ + margin-left:6px; } + .bp3-dark .bp3-control-group:not(.bp3-vertical) > *:not(.bp3-divider){ + margin-right:0; } + .bp3-dark .bp3-control-group:not(.bp3-vertical) > .bp3-button + .bp3-button{ + margin-left:1px; } + .bp3-control-group .bp3-popover-wrapper, + .bp3-control-group .bp3-popover-target{ + border-radius:inherit; } + .bp3-control-group > :first-child{ + border-radius:3px 0 0 3px; } + .bp3-control-group > :last-child{ + border-radius:0 3px 3px 0; + margin-right:0; } + .bp3-control-group > :only-child{ + border-radius:3px; + margin-right:0; } + .bp3-control-group .bp3-input-group .bp3-button{ + border-radius:3px; } + .bp3-control-group .bp3-numeric-input:not(:first-child) .bp3-input-group{ + border-bottom-left-radius:0; + border-top-left-radius:0; } + .bp3-control-group.bp3-fill{ + width:100%; } + .bp3-control-group > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-control-group.bp3-fill > *:not(.bp3-fixed){ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-control-group.bp3-vertical{ + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; } + .bp3-control-group.bp3-vertical > *{ + margin-top:-1px; } + .bp3-control-group.bp3-vertical > :first-child{ + border-radius:3px 3px 0 0; + margin-top:0; } + .bp3-control-group.bp3-vertical > :last-child{ + border-radius:0 0 3px 3px; } + .bp3-control{ + cursor:pointer; + display:block; + margin-bottom:10px; + position:relative; + text-transform:none; } + .bp3-control input:checked ~ .bp3-control-indicator{ + background-color:#137cbd; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + color:#ffffff; } + .bp3-control:hover input:checked ~ .bp3-control-indicator{ + background-color:#106ba3; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); } + .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{ + background:#0e5a8a; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-control input:disabled:checked ~ .bp3-control-indicator{ + background:rgba(19, 124, 189, 0.5); + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-control input:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control:hover input:checked ~ .bp3-control-indicator{ + background-color:#106ba3; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{ + background-color:#0e5a8a; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-control input:disabled:checked ~ .bp3-control-indicator{ + background:rgba(14, 90, 138, 0.5); + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-control:not(.bp3-align-right){ + padding-left:26px; } + .bp3-control:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-26px; } + .bp3-control.bp3-align-right{ + padding-right:26px; } + .bp3-control.bp3-align-right .bp3-control-indicator{ + margin-right:-26px; } + .bp3-control.bp3-disabled{ + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; } + .bp3-control.bp3-inline{ + display:inline-block; + margin-right:20px; } + .bp3-control input{ + left:0; + opacity:0; + position:absolute; + top:0; + z-index:-1; } + .bp3-control .bp3-control-indicator{ + background-clip:padding-box; + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + border:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + cursor:pointer; + display:inline-block; + font-size:16px; + height:1em; + margin-right:10px; + margin-top:-3px; + position:relative; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; + vertical-align:middle; + width:1em; } + .bp3-control .bp3-control-indicator::before{ + content:""; + display:block; + height:1em; + width:1em; } + .bp3-control:hover .bp3-control-indicator{ + background-color:#ebf1f5; } + .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{ + background:#d8e1e8; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-control input:disabled ~ .bp3-control-indicator{ + background:rgba(206, 217, 224, 0.5); + -webkit-box-shadow:none; + box-shadow:none; + cursor:not-allowed; } + .bp3-control input:focus ~ .bp3-control-indicator{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:2px; + -moz-outline-radius:6px; } + .bp3-control.bp3-align-right .bp3-control-indicator{ + float:right; + margin-left:10px; + margin-top:1px; } + .bp3-control.bp3-large{ + font-size:16px; } + .bp3-control.bp3-large:not(.bp3-align-right){ + padding-left:30px; } + .bp3-control.bp3-large:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-30px; } + .bp3-control.bp3-large.bp3-align-right{ + padding-right:30px; } + .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{ + margin-right:-30px; } + .bp3-control.bp3-large .bp3-control-indicator{ + font-size:20px; } + .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{ + margin-top:0; } + .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{ + background-color:#137cbd; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + color:#ffffff; } + .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{ + background-color:#106ba3; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); } + .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{ + background:#0e5a8a; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ + background:rgba(19, 124, 189, 0.5); + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{ + background-color:#106ba3; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{ + background-color:#0e5a8a; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ + background:rgba(14, 90, 138, 0.5); + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-control.bp3-checkbox .bp3-control-indicator{ + border-radius:3px; } + .bp3-control.bp3-checkbox input:checked ~ .bp3-control-indicator::before{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 1.003 0 00-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0012 5z' fill='white'/%3e%3c/svg%3e"); } + .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator::before{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 7H5c-.55 0-1 .45-1 1s.45 1 1 1h6c.55 0 1-.45 1-1s-.45-1-1-1z' fill='white'/%3e%3c/svg%3e"); } + .bp3-control.bp3-radio .bp3-control-indicator{ + border-radius:50%; } + .bp3-control.bp3-radio input:checked ~ .bp3-control-indicator::before{ + background-image:radial-gradient(#ffffff, #ffffff 28%, transparent 32%); } + .bp3-control.bp3-radio input:checked:disabled ~ .bp3-control-indicator::before{ + opacity:0.5; } + .bp3-control.bp3-radio input:focus ~ .bp3-control-indicator{ + -moz-outline-radius:16px; } + .bp3-control.bp3-switch input ~ .bp3-control-indicator{ + background:rgba(167, 182, 194, 0.5); } + .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{ + background:rgba(115, 134, 148, 0.5); } + .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{ + background:rgba(92, 112, 128, 0.5); } + .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{ + background:rgba(206, 217, 224, 0.5); } + .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{ + background:rgba(255, 255, 255, 0.8); } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{ + background:#137cbd; } + .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{ + background:#106ba3; } + .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{ + background:#0e5a8a; } + .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{ + background:rgba(19, 124, 189, 0.5); } + .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{ + background:rgba(255, 255, 255, 0.8); } + .bp3-control.bp3-switch:not(.bp3-align-right){ + padding-left:38px; } + .bp3-control.bp3-switch:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-38px; } + .bp3-control.bp3-switch.bp3-align-right{ + padding-right:38px; } + .bp3-control.bp3-switch.bp3-align-right .bp3-control-indicator{ + margin-right:-38px; } + .bp3-control.bp3-switch .bp3-control-indicator{ + border:none; + border-radius:1.75em; + -webkit-box-shadow:none !important; + box-shadow:none !important; + min-width:1.75em; + -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + width:auto; } + .bp3-control.bp3-switch .bp3-control-indicator::before{ + background:#ffffff; + border-radius:50%; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + height:calc(1em - 4px); + left:0; + margin:2px; + position:absolute; + -webkit-transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + width:calc(1em - 4px); } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{ + left:calc(100% - 1em); } + .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right){ + padding-left:45px; } + .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-45px; } + .bp3-control.bp3-switch.bp3-large.bp3-align-right{ + padding-right:45px; } + .bp3-control.bp3-switch.bp3-large.bp3-align-right .bp3-control-indicator{ + margin-right:-45px; } + .bp3-dark .bp3-control.bp3-switch input ~ .bp3-control-indicator{ + background:rgba(16, 22, 26, 0.5); } + .bp3-dark .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{ + background:rgba(16, 22, 26, 0.7); } + .bp3-dark .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{ + background:rgba(16, 22, 26, 0.9); } + .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{ + background:rgba(57, 75, 89, 0.5); } + .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{ + background:rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{ + background:#137cbd; } + .bp3-dark .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{ + background:#106ba3; } + .bp3-dark .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{ + background:#0e5a8a; } + .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{ + background:rgba(14, 90, 138, 0.5); } + .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{ + background:rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-switch .bp3-control-indicator::before{ + background:#394b59; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-control.bp3-switch .bp3-switch-inner-text{ + font-size:0.7em; + text-align:center; } + .bp3-control.bp3-switch .bp3-control-indicator-child:first-child{ + line-height:0; + margin-left:0.5em; + margin-right:1.2em; + visibility:hidden; } + .bp3-control.bp3-switch .bp3-control-indicator-child:last-child{ + line-height:1em; + margin-left:1.2em; + margin-right:0.5em; + visibility:visible; } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:first-child{ + line-height:1em; + visibility:visible; } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:last-child{ + line-height:0; + visibility:hidden; } + .bp3-dark .bp3-control{ + color:#f5f8fa; } + .bp3-dark .bp3-control.bp3-disabled{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-control .bp3-control-indicator{ + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control:hover .bp3-control-indicator{ + background-color:#30404d; } + .bp3-dark .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{ + background:#202b33; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-control input:disabled ~ .bp3-control-indicator{ + background:rgba(57, 75, 89, 0.5); + -webkit-box-shadow:none; + box-shadow:none; + cursor:not-allowed; } + .bp3-dark .bp3-control.bp3-checkbox input:disabled:checked ~ .bp3-control-indicator, .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ + color:rgba(167, 182, 194, 0.6); } + .bp3-file-input{ + cursor:pointer; + display:inline-block; + height:30px; + position:relative; } + .bp3-file-input input{ + margin:0; + min-width:200px; + opacity:0; } + .bp3-file-input input:disabled + .bp3-file-upload-input, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{ + background:rgba(206, 217, 224, 0.5); + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; + resize:none; } + .bp3-file-input input:disabled + .bp3-file-upload-input::after, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{ + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; + outline:none; } + .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active:hover, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input, .bp3-dark + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{ + background:rgba(57, 75, 89, 0.5); + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after, .bp3-dark + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{ + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-dark + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{ + color:#182026; } + .bp3-dark .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{ + color:#f5f8fa; } + .bp3-file-input.bp3-fill{ + width:100%; } + .bp3-file-input.bp3-large, + .bp3-large .bp3-file-input{ + height:40px; } + .bp3-file-input .bp3-file-upload-input-custom-text::after{ + content:attr(bp3-button-text); } + + .bp3-file-upload-input{ + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + background:#ffffff; + border:none; + border-radius:3px; + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + color:#182026; + font-size:14px; + font-weight:400; + height:30px; + line-height:30px; + outline:none; + padding:0 10px; + -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + vertical-align:middle; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + color:rgba(92, 112, 128, 0.6); + left:0; + padding-right:80px; + position:absolute; + right:0; + top:0; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-file-upload-input::-webkit-input-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-file-upload-input::-moz-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-file-upload-input:-ms-input-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-file-upload-input::-ms-input-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-file-upload-input::placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-file-upload-input:focus, .bp3-file-upload-input.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-file-upload-input[type="search"], .bp3-file-upload-input.bp3-round{ + border-radius:30px; + -webkit-box-sizing:border-box; + box-sizing:border-box; + padding-left:10px; } + .bp3-file-upload-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); } + .bp3-file-upload-input:disabled, .bp3-file-upload-input.bp3-disabled{ + background:rgba(206, 217, 224, 0.5); + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; + resize:none; } + .bp3-file-upload-input::after{ + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + color:#182026; + min-height:24px; + min-width:24px; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + border-radius:3px; + content:"Browse"; + line-height:24px; + margin:3px; + position:absolute; + right:0; + text-align:center; + top:0; + width:70px; } + .bp3-file-upload-input::after:hover{ + background-clip:padding-box; + background-color:#ebf1f5; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } + .bp3-file-upload-input::after:active, .bp3-file-upload-input::after.bp3-active{ + background-color:#d8e1e8; + background-image:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-file-upload-input::after:disabled, .bp3-file-upload-input::after.bp3-disabled{ + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; + outline:none; } + .bp3-file-upload-input::after:disabled.bp3-active, .bp3-file-upload-input::after:disabled.bp3-active:hover, .bp3-file-upload-input::after.bp3-disabled.bp3-active, .bp3-file-upload-input::after.bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-file-upload-input:hover::after{ + background-clip:padding-box; + background-color:#ebf1f5; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } + .bp3-file-upload-input:active::after{ + background-color:#d8e1e8; + background-image:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-large .bp3-file-upload-input{ + font-size:16px; + height:40px; + line-height:40px; + padding-right:95px; } + .bp3-large .bp3-file-upload-input[type="search"], .bp3-large .bp3-file-upload-input.bp3-round{ + padding:0 15px; } + .bp3-large .bp3-file-upload-input::after{ + min-height:30px; + min-width:30px; + line-height:30px; + margin:5px; + width:85px; } + .bp3-dark .bp3-file-upload-input{ + background:rgba(16, 22, 26, 0.3); + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + color:#f5f8fa; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-file-upload-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-file-upload-input:disabled, .bp3-dark .bp3-file-upload-input.bp3-disabled{ + background:rgba(57, 75, 89, 0.5); + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::after{ + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + color:#f5f8fa; } + .bp3-dark .bp3-file-upload-input::after:hover, .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-file-upload-input::after:hover{ + background-color:#30404d; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{ + background-color:#202b33; + background-image:none; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-file-upload-input::after:disabled, .bp3-dark .bp3-file-upload-input::after.bp3-disabled{ + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::after:disabled.bp3-active, .bp3-dark .bp3-file-upload-input::after.bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-file-upload-input::after .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + .bp3-dark .bp3-file-upload-input:hover::after{ + background-color:#30404d; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-file-upload-input:active::after{ + background-color:#202b33; + background-image:none; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-file-upload-input::after{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } + .bp3-form-group{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin:0 0 15px; } + .bp3-form-group label.bp3-label{ + margin-bottom:5px; } + .bp3-form-group .bp3-control{ + margin-top:7px; } + .bp3-form-group .bp3-form-helper-text{ + color:#5c7080; + font-size:12px; + margin-top:5px; } + .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{ + color:#106ba3; } + .bp3-form-group.bp3-intent-success .bp3-form-helper-text{ + color:#0d8050; } + .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{ + color:#bf7326; } + .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{ + color:#c23030; } + .bp3-form-group.bp3-inline{ + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; } + .bp3-form-group.bp3-inline.bp3-large label.bp3-label{ + line-height:40px; + margin:0 10px 0 0; } + .bp3-form-group.bp3-inline label.bp3-label{ + line-height:30px; + margin:0 10px 0 0; } + .bp3-form-group.bp3-disabled .bp3-label, + .bp3-form-group.bp3-disabled .bp3-text-muted, + .bp3-form-group.bp3-disabled .bp3-form-helper-text{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-dark .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{ + color:#48aff0; } + .bp3-dark .bp3-form-group.bp3-intent-success .bp3-form-helper-text{ + color:#3dcc91; } + .bp3-dark .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{ + color:#ffb366; } + .bp3-dark .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{ + color:#ff7373; } + .bp3-dark .bp3-form-group .bp3-form-helper-text{ + color:#a7b6c2; } + .bp3-dark .bp3-form-group.bp3-disabled .bp3-label, + .bp3-dark .bp3-form-group.bp3-disabled .bp3-text-muted, + .bp3-dark .bp3-form-group.bp3-disabled .bp3-form-helper-text{ + color:rgba(167, 182, 194, 0.6) !important; } + .bp3-input-group{ + display:block; + position:relative; } + .bp3-input-group .bp3-input{ + position:relative; + width:100%; } + .bp3-input-group .bp3-input:not(:first-child){ + padding-left:30px; } + .bp3-input-group .bp3-input:not(:last-child){ + padding-right:30px; } + .bp3-input-group .bp3-input-action, + .bp3-input-group > .bp3-input-left-container, + .bp3-input-group > .bp3-button, + .bp3-input-group > .bp3-icon{ + position:absolute; + top:0; } + .bp3-input-group .bp3-input-action:first-child, + .bp3-input-group > .bp3-input-left-container:first-child, + .bp3-input-group > .bp3-button:first-child, + .bp3-input-group > .bp3-icon:first-child{ + left:0; } + .bp3-input-group .bp3-input-action:last-child, + .bp3-input-group > .bp3-input-left-container:last-child, + .bp3-input-group > .bp3-button:last-child, + .bp3-input-group > .bp3-icon:last-child{ + right:0; } + .bp3-input-group .bp3-button{ + min-height:24px; + min-width:24px; + margin:3px; + padding:0 7px; } + .bp3-input-group .bp3-button:empty{ + padding:0; } + .bp3-input-group > .bp3-input-left-container, + .bp3-input-group > .bp3-icon{ + z-index:1; } + .bp3-input-group > .bp3-input-left-container > .bp3-icon, + .bp3-input-group > .bp3-icon{ + color:#5c7080; } + .bp3-input-group > .bp3-input-left-container > .bp3-icon:empty, + .bp3-input-group > .bp3-icon:empty{ + font-family:"Icons16", sans-serif; + font-size:16px; + font-style:normal; + font-weight:400; + line-height:1; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; } + .bp3-input-group > .bp3-input-left-container > .bp3-icon, + .bp3-input-group > .bp3-icon, + .bp3-input-group .bp3-input-action > .bp3-spinner{ + margin:7px; } + .bp3-input-group .bp3-tag{ + margin:5px; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus), + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){ + color:#5c7080; } + .bp3-dark .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus), .bp3-dark + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){ + color:#a7b6c2; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large{ + color:#5c7080; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-large, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-standard, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-large{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-input-group.bp3-disabled{ + cursor:not-allowed; } + .bp3-input-group.bp3-disabled .bp3-icon{ + color:rgba(92, 112, 128, 0.6); } + .bp3-input-group.bp3-large .bp3-button{ + min-height:30px; + min-width:30px; + margin:5px; } + .bp3-input-group.bp3-large > .bp3-input-left-container > .bp3-icon, + .bp3-input-group.bp3-large > .bp3-icon, + .bp3-input-group.bp3-large .bp3-input-action > .bp3-spinner{ + margin:12px; } + .bp3-input-group.bp3-large .bp3-input{ + font-size:16px; + height:40px; + line-height:40px; } + .bp3-input-group.bp3-large .bp3-input[type="search"], .bp3-input-group.bp3-large .bp3-input.bp3-round{ + padding:0 15px; } + .bp3-input-group.bp3-large .bp3-input:not(:first-child){ + padding-left:40px; } + .bp3-input-group.bp3-large .bp3-input:not(:last-child){ + padding-right:40px; } + .bp3-input-group.bp3-small .bp3-button{ + min-height:20px; + min-width:20px; + margin:2px; } + .bp3-input-group.bp3-small .bp3-tag{ + min-height:20px; + min-width:20px; + margin:2px; } + .bp3-input-group.bp3-small > .bp3-input-left-container > .bp3-icon, + .bp3-input-group.bp3-small > .bp3-icon, + .bp3-input-group.bp3-small .bp3-input-action > .bp3-spinner{ + margin:4px; } + .bp3-input-group.bp3-small .bp3-input{ + font-size:12px; + height:24px; + line-height:24px; + padding-left:8px; + padding-right:8px; } + .bp3-input-group.bp3-small .bp3-input[type="search"], .bp3-input-group.bp3-small .bp3-input.bp3-round{ + padding:0 12px; } + .bp3-input-group.bp3-small .bp3-input:not(:first-child){ + padding-left:24px; } + .bp3-input-group.bp3-small .bp3-input:not(:last-child){ + padding-right:24px; } + .bp3-input-group.bp3-fill{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + width:100%; } + .bp3-input-group.bp3-round .bp3-button, + .bp3-input-group.bp3-round .bp3-input, + .bp3-input-group.bp3-round .bp3-tag{ + border-radius:30px; } + .bp3-dark .bp3-input-group .bp3-icon{ + color:#a7b6c2; } + .bp3-dark .bp3-input-group.bp3-disabled .bp3-icon{ + color:rgba(167, 182, 194, 0.6); } + .bp3-input-group.bp3-intent-primary .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-primary .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-primary .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #137cbd; + box-shadow:inset 0 0 0 1px #137cbd; } + .bp3-input-group.bp3-intent-primary .bp3-input:disabled, .bp3-input-group.bp3-intent-primary .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-primary > .bp3-icon{ + color:#106ba3; } + .bp3-dark .bp3-input-group.bp3-intent-primary > .bp3-icon{ + color:#48aff0; } + .bp3-input-group.bp3-intent-success .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-success .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-success .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #0f9960; + box-shadow:inset 0 0 0 1px #0f9960; } + .bp3-input-group.bp3-intent-success .bp3-input:disabled, .bp3-input-group.bp3-intent-success .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-success > .bp3-icon{ + color:#0d8050; } + .bp3-dark .bp3-input-group.bp3-intent-success > .bp3-icon{ + color:#3dcc91; } + .bp3-input-group.bp3-intent-warning .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-warning .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-warning .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #d9822b; + box-shadow:inset 0 0 0 1px #d9822b; } + .bp3-input-group.bp3-intent-warning .bp3-input:disabled, .bp3-input-group.bp3-intent-warning .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-warning > .bp3-icon{ + color:#bf7326; } + .bp3-dark .bp3-input-group.bp3-intent-warning > .bp3-icon{ + color:#ffb366; } + .bp3-input-group.bp3-intent-danger .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-danger .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-danger .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #db3737; + box-shadow:inset 0 0 0 1px #db3737; } + .bp3-input-group.bp3-intent-danger .bp3-input:disabled, .bp3-input-group.bp3-intent-danger .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-danger > .bp3-icon{ + color:#c23030; } + .bp3-dark .bp3-input-group.bp3-intent-danger > .bp3-icon{ + color:#ff7373; } + .bp3-input{ + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + background:#ffffff; + border:none; + border-radius:3px; + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + color:#182026; + font-size:14px; + font-weight:400; + height:30px; + line-height:30px; + outline:none; + padding:0 10px; + -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + vertical-align:middle; } + .bp3-input::-webkit-input-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-input::-moz-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-input:-ms-input-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-input::-ms-input-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-input::placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-input:focus, .bp3-input.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input[type="search"], .bp3-input.bp3-round{ + border-radius:30px; + -webkit-box-sizing:border-box; + box-sizing:border-box; + padding-left:10px; } + .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); } + .bp3-input:disabled, .bp3-input.bp3-disabled{ + background:rgba(206, 217, 224, 0.5); + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; + resize:none; } + .bp3-input.bp3-large{ + font-size:16px; + height:40px; + line-height:40px; } + .bp3-input.bp3-large[type="search"], .bp3-input.bp3-large.bp3-round{ + padding:0 15px; } + .bp3-input.bp3-small{ + font-size:12px; + height:24px; + line-height:24px; + padding-left:8px; + padding-right:8px; } + .bp3-input.bp3-small[type="search"], .bp3-input.bp3-small.bp3-round{ + padding:0 12px; } + .bp3-input.bp3-fill{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + width:100%; } + .bp3-dark .bp3-input{ + background:rgba(16, 22, 26, 0.3); + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + color:#f5f8fa; } + .bp3-dark .bp3-input::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input:disabled, .bp3-dark .bp3-input.bp3-disabled{ + background:rgba(57, 75, 89, 0.5); + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-input.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-primary:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-primary[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #137cbd; + box-shadow:inset 0 0 0 1px #137cbd; } + .bp3-input.bp3-intent-primary:disabled, .bp3-input.bp3-intent-primary.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-primary:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-primary[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #137cbd; + box-shadow:inset 0 0 0 1px #137cbd; } + .bp3-dark .bp3-input.bp3-intent-primary:disabled, .bp3-dark .bp3-input.bp3-intent-primary.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input.bp3-intent-success{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-success:focus{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-success[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #0f9960; + box-shadow:inset 0 0 0 1px #0f9960; } + .bp3-input.bp3-intent-success:disabled, .bp3-input.bp3-intent-success.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-success{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-success:focus{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-success[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #0f9960; + box-shadow:inset 0 0 0 1px #0f9960; } + .bp3-dark .bp3-input.bp3-intent-success:disabled, .bp3-dark .bp3-input.bp3-intent-success.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-warning:focus{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-warning[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #d9822b; + box-shadow:inset 0 0 0 1px #d9822b; } + .bp3-input.bp3-intent-warning:disabled, .bp3-input.bp3-intent-warning.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-warning:focus{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-warning[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #d9822b; + box-shadow:inset 0 0 0 1px #d9822b; } + .bp3-dark .bp3-input.bp3-intent-warning:disabled, .bp3-dark .bp3-input.bp3-intent-warning.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-danger:focus{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-danger[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #db3737; + box-shadow:inset 0 0 0 1px #db3737; } + .bp3-input.bp3-intent-danger:disabled, .bp3-input.bp3-intent-danger.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-danger:focus{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-danger[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #db3737; + box-shadow:inset 0 0 0 1px #db3737; } + .bp3-dark .bp3-input.bp3-intent-danger:disabled, .bp3-dark .bp3-input.bp3-intent-danger.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input::-ms-clear{ + display:none; } + textarea.bp3-input{ + max-width:100%; + padding:10px; } + textarea.bp3-input, textarea.bp3-input.bp3-large, textarea.bp3-input.bp3-small{ + height:auto; + line-height:inherit; } + textarea.bp3-input.bp3-small{ + padding:8px; } + .bp3-dark textarea.bp3-input{ + background:rgba(16, 22, 26, 0.3); + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + color:#f5f8fa; } + .bp3-dark textarea.bp3-input::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark textarea.bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark textarea.bp3-input:disabled, .bp3-dark textarea.bp3-input.bp3-disabled{ + background:rgba(57, 75, 89, 0.5); + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(167, 182, 194, 0.6); } + label.bp3-label{ + display:block; + margin-bottom:15px; + margin-top:0; } + label.bp3-label .bp3-html-select, + label.bp3-label .bp3-input, + label.bp3-label .bp3-select, + label.bp3-label .bp3-slider, + label.bp3-label .bp3-popover-wrapper{ + display:block; + margin-top:5px; + text-transform:none; } + label.bp3-label .bp3-button-group{ + margin-top:5px; } + label.bp3-label .bp3-select select, + label.bp3-label .bp3-html-select select{ + font-weight:400; + vertical-align:top; + width:100%; } + label.bp3-label.bp3-disabled, + label.bp3-label.bp3-disabled .bp3-text-muted{ + color:rgba(92, 112, 128, 0.6); } + label.bp3-label.bp3-inline{ + line-height:30px; } + label.bp3-label.bp3-inline .bp3-html-select, + label.bp3-label.bp3-inline .bp3-input, + label.bp3-label.bp3-inline .bp3-input-group, + label.bp3-label.bp3-inline .bp3-select, + label.bp3-label.bp3-inline .bp3-popover-wrapper{ + display:inline-block; + margin:0 0 0 5px; + vertical-align:top; } + label.bp3-label.bp3-inline .bp3-button-group{ + margin:0 0 0 5px; } + label.bp3-label.bp3-inline .bp3-input-group .bp3-input{ + margin-left:0; } + label.bp3-label.bp3-inline.bp3-large{ + line-height:40px; } + label.bp3-label:not(.bp3-inline) .bp3-popover-target{ + display:block; } + .bp3-dark label.bp3-label{ + color:#f5f8fa; } + .bp3-dark label.bp3-label.bp3-disabled, + .bp3-dark label.bp3-label.bp3-disabled .bp3-text-muted{ + color:rgba(167, 182, 194, 0.6); } + .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button{ + -webkit-box-flex:1; + -ms-flex:1 1 14px; + flex:1 1 14px; + min-height:0; + padding:0; + width:30px; } + .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:first-child{ + border-radius:0 3px 0 0; } + .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:last-child{ + border-radius:0 0 3px 0; } + + .bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:first-child{ + border-radius:3px 0 0 0; } + + .bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:last-child{ + border-radius:0 0 0 3px; } + + .bp3-numeric-input.bp3-large .bp3-button-group.bp3-vertical > .bp3-button{ + width:40px; } + + form{ + display:block; } + .bp3-html-select select, + .bp3-select select{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + border:none; + border-radius:3px; + cursor:pointer; + font-size:14px; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + padding:5px 10px; + text-align:left; + vertical-align:middle; + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + color:#182026; + -moz-appearance:none; + -webkit-appearance:none; + border-radius:3px; + height:30px; + padding:0 25px 0 10px; + width:100%; } + .bp3-html-select select > *, .bp3-select select > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-html-select select > .bp3-fill, .bp3-select select > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-html-select select::before, + .bp3-select select::before, .bp3-html-select select > *, .bp3-select select > *{ + margin-right:7px; } + .bp3-html-select select:empty::before, + .bp3-select select:empty::before, + .bp3-html-select select > :last-child, + .bp3-select select > :last-child{ + margin-right:0; } + .bp3-html-select select:hover, + .bp3-select select:hover{ + background-clip:padding-box; + background-color:#ebf1f5; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } + .bp3-html-select select:active, + .bp3-select select:active, .bp3-html-select select.bp3-active, + .bp3-select select.bp3-active{ + background-color:#d8e1e8; + background-image:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-html-select select:disabled, + .bp3-select select:disabled, .bp3-html-select select.bp3-disabled, + .bp3-select select.bp3-disabled{ + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; + outline:none; } + .bp3-html-select select:disabled.bp3-active, + .bp3-select select:disabled.bp3-active, .bp3-html-select select:disabled.bp3-active:hover, + .bp3-select select:disabled.bp3-active:hover, .bp3-html-select select.bp3-disabled.bp3-active, + .bp3-select select.bp3-disabled.bp3-active, .bp3-html-select select.bp3-disabled.bp3-active:hover, + .bp3-select select.bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + + .bp3-html-select.bp3-minimal select, + .bp3-select.bp3-minimal select{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-html-select.bp3-minimal select:hover, + .bp3-select.bp3-minimal select:hover{ + background:rgba(167, 182, 194, 0.3); + -webkit-box-shadow:none; + box-shadow:none; + color:#182026; + text-decoration:none; } + .bp3-html-select.bp3-minimal select:active, + .bp3-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal select.bp3-active, + .bp3-select.bp3-minimal select.bp3-active{ + background:rgba(115, 134, 148, 0.3); + -webkit-box-shadow:none; + box-shadow:none; + color:#182026; } + .bp3-html-select.bp3-minimal select:disabled, + .bp3-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal select:disabled:hover, + .bp3-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal select.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal select.bp3-disabled:hover, + .bp3-select.bp3-minimal select.bp3-disabled:hover{ + background:none; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; } + .bp3-html-select.bp3-minimal select:disabled.bp3-active, + .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active, + .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active, + .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-html-select.bp3-minimal select, .bp3-html-select.bp3-minimal .bp3-dark select, + .bp3-dark .bp3-select.bp3-minimal select, .bp3-select.bp3-minimal .bp3-dark select{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:inherit; } + .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover, + .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover, .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active, + .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover, + .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active, + .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-html-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal .bp3-dark select:disabled, + .bp3-dark .bp3-select.bp3-minimal select:disabled, .bp3-select.bp3-minimal .bp3-dark select:disabled, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover, + .bp3-dark .bp3-select.bp3-minimal select:disabled:hover, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover{ + background:none; + color:rgba(167, 182, 194, 0.6); + cursor:not-allowed; } + .bp3-dark .bp3-html-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-primary, + .bp3-select.bp3-minimal select.bp3-intent-primary{ + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, + .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, + .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, + .bp3-select.bp3-minimal select.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, + .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled, + .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-success, + .bp3-select.bp3-minimal select.bp3-intent-success{ + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, + .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal select.bp3-intent-success:active, + .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, + .bp3-select.bp3-minimal select.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:active, + .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled, + .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-warning, + .bp3-select.bp3-minimal select.bp3-intent-warning{ + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, + .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, + .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, + .bp3-select.bp3-minimal select.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, + .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled, + .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-danger, + .bp3-select.bp3-minimal select.bp3-intent-danger{ + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, + .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, + .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{ + background:none; + -webkit-box-shadow:none; + box-shadow:none; + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, + .bp3-select.bp3-minimal select.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, + .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled, + .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + + .bp3-html-select.bp3-large select, + .bp3-select.bp3-large select{ + font-size:16px; + height:40px; + padding-right:35px; } + + .bp3-dark .bp3-html-select select, .bp3-dark .bp3-select select{ + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + color:#f5f8fa; } + .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover, .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover{ + background-color:#30404d; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{ + background-color:#202b33; + background-image:none; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-html-select select:disabled, .bp3-dark .bp3-select select:disabled, .bp3-dark .bp3-html-select select.bp3-disabled, .bp3-dark .bp3-select select.bp3-disabled{ + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-html-select select:disabled.bp3-active, .bp3-dark .bp3-select select:disabled.bp3-active, .bp3-dark .bp3-html-select select.bp3-disabled.bp3-active, .bp3-dark .bp3-select select.bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-html-select select .bp3-button-spinner .bp3-spinner-head, .bp3-dark .bp3-select select .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + + .bp3-html-select select:disabled, + .bp3-select select:disabled{ + background-color:rgba(206, 217, 224, 0.5); + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; } + + .bp3-html-select .bp3-icon, + .bp3-select .bp3-icon, .bp3-select::after{ + color:#5c7080; + pointer-events:none; + position:absolute; + right:7px; + top:7px; } + .bp3-html-select .bp3-disabled.bp3-icon, + .bp3-select .bp3-disabled.bp3-icon, .bp3-disabled.bp3-select::after{ + color:rgba(92, 112, 128, 0.6); } + .bp3-html-select, + .bp3-select{ + display:inline-block; + letter-spacing:normal; + position:relative; + vertical-align:middle; } + .bp3-html-select select::-ms-expand, + .bp3-select select::-ms-expand{ + display:none; } + .bp3-html-select .bp3-icon, + .bp3-select .bp3-icon{ + color:#5c7080; } + .bp3-html-select .bp3-icon:hover, + .bp3-select .bp3-icon:hover{ + color:#182026; } + .bp3-dark .bp3-html-select .bp3-icon, .bp3-dark + .bp3-select .bp3-icon{ + color:#a7b6c2; } + .bp3-dark .bp3-html-select .bp3-icon:hover, .bp3-dark + .bp3-select .bp3-icon:hover{ + color:#f5f8fa; } + .bp3-html-select.bp3-large::after, + .bp3-html-select.bp3-large .bp3-icon, + .bp3-select.bp3-large::after, + .bp3-select.bp3-large .bp3-icon{ + right:12px; + top:12px; } + .bp3-html-select.bp3-fill, + .bp3-html-select.bp3-fill select, + .bp3-select.bp3-fill, + .bp3-select.bp3-fill select{ + width:100%; } + .bp3-dark .bp3-html-select option, .bp3-dark + .bp3-select option{ + background-color:#30404d; + color:#f5f8fa; } + .bp3-dark .bp3-html-select option:disabled, .bp3-dark + .bp3-select option:disabled{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-html-select::after, .bp3-dark + .bp3-select::after{ + color:#a7b6c2; } + + .bp3-select::after{ + font-family:"Icons16", sans-serif; + font-size:16px; + font-style:normal; + font-weight:400; + line-height:1; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + content:""; } + .bp3-running-text table, table.bp3-html-table{ + border-spacing:0; + font-size:14px; } + .bp3-running-text table th, table.bp3-html-table th, + .bp3-running-text table td, + table.bp3-html-table td{ + padding:11px; + text-align:left; + vertical-align:top; } + .bp3-running-text table th, table.bp3-html-table th{ + color:#182026; + font-weight:600; } + + .bp3-running-text table td, + table.bp3-html-table td{ + color:#182026; } + .bp3-running-text table tbody tr:first-child th, table.bp3-html-table tbody tr:first-child th, + .bp3-running-text table tbody tr:first-child td, + table.bp3-html-table tbody tr:first-child td, + .bp3-running-text table tfoot tr:first-child th, + table.bp3-html-table tfoot tr:first-child th, + .bp3-running-text table tfoot tr:first-child td, + table.bp3-html-table tfoot tr:first-child td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-running-text table th, .bp3-running-text .bp3-dark table th, .bp3-dark table.bp3-html-table th{ + color:#f5f8fa; } + .bp3-dark .bp3-running-text table td, .bp3-running-text .bp3-dark table td, .bp3-dark table.bp3-html-table td{ + color:#f5f8fa; } + .bp3-dark .bp3-running-text table tbody tr:first-child th, .bp3-running-text .bp3-dark table tbody tr:first-child th, .bp3-dark table.bp3-html-table tbody tr:first-child th, + .bp3-dark .bp3-running-text table tbody tr:first-child td, + .bp3-running-text .bp3-dark table tbody tr:first-child td, + .bp3-dark table.bp3-html-table tbody tr:first-child td, + .bp3-dark .bp3-running-text table tfoot tr:first-child th, + .bp3-running-text .bp3-dark table tfoot tr:first-child th, + .bp3-dark table.bp3-html-table tfoot tr:first-child th, + .bp3-dark .bp3-running-text table tfoot tr:first-child td, + .bp3-running-text .bp3-dark table tfoot tr:first-child td, + .bp3-dark table.bp3-html-table tfoot tr:first-child td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); } + + table.bp3-html-table.bp3-html-table-condensed th, + table.bp3-html-table.bp3-html-table-condensed td, table.bp3-html-table.bp3-small th, + table.bp3-html-table.bp3-small td{ + padding-bottom:6px; + padding-top:6px; } + + table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{ + background:rgba(191, 204, 214, 0.15); } + + table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){ + -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); } + + table.bp3-html-table.bp3-html-table-bordered tbody tr td, + table.bp3-html-table.bp3-html-table-bordered tfoot tr td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); } + table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child), + table.bp3-html-table.bp3-html-table-bordered tfoot tr td:not(:first-child){ + -webkit-box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15); } + + table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{ + -webkit-box-shadow:none; + box-shadow:none; } + table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:not(:first-child){ + -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); } + + table.bp3-html-table.bp3-interactive tbody tr:hover td{ + background-color:rgba(191, 204, 214, 0.3); + cursor:pointer; } + + table.bp3-html-table.bp3-interactive tbody tr:active td{ + background-color:rgba(191, 204, 214, 0.4); } + + .bp3-dark table.bp3-html-table{ } + .bp3-dark table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{ + background:rgba(92, 112, 128, 0.15); } + .bp3-dark table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){ + -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); } + .bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td, + .bp3-dark table.bp3-html-table.bp3-html-table-bordered tfoot tr td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); } + .bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child), + .bp3-dark table.bp3-html-table.bp3-html-table-bordered tfoot tr td:not(:first-child){ + -webkit-box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15); } + .bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{ + -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); } + .bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:first-child{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark table.bp3-html-table.bp3-interactive tbody tr:hover td{ + background-color:rgba(92, 112, 128, 0.3); + cursor:pointer; } + .bp3-dark table.bp3-html-table.bp3-interactive tbody tr:active td{ + background-color:rgba(92, 112, 128, 0.4); } + + .bp3-key-combo{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; } + .bp3-key-combo > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-key-combo > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-key-combo::before, + .bp3-key-combo > *{ + margin-right:5px; } + .bp3-key-combo:empty::before, + .bp3-key-combo > :last-child{ + margin-right:0; } + + .bp3-hotkey-dialog{ + padding-bottom:0; + top:40px; } + .bp3-hotkey-dialog .bp3-dialog-body{ + margin:0; + padding:0; } + .bp3-hotkey-dialog .bp3-hotkey-label{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; } + + .bp3-hotkey-column{ + margin:auto; + max-height:80vh; + overflow-y:auto; + padding:30px; } + .bp3-hotkey-column .bp3-heading{ + margin-bottom:20px; } + .bp3-hotkey-column .bp3-heading:not(:first-child){ + margin-top:40px; } + + .bp3-hotkey{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-pack:justify; + -ms-flex-pack:justify; + justify-content:space-between; + margin-left:0; + margin-right:0; } + .bp3-hotkey:not(:last-child){ + margin-bottom:10px; } + .bp3-icon{ + display:inline-block; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + vertical-align:text-bottom; } + .bp3-icon:not(:empty)::before{ + content:"" !important; + content:unset !important; } + .bp3-icon > svg{ + display:block; } + .bp3-icon > svg:not([fill]){ + fill:currentColor; } + + .bp3-icon.bp3-intent-primary, .bp3-icon-standard.bp3-intent-primary, .bp3-icon-large.bp3-intent-primary{ + color:#106ba3; } + .bp3-dark .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-icon-large.bp3-intent-primary{ + color:#48aff0; } + + .bp3-icon.bp3-intent-success, .bp3-icon-standard.bp3-intent-success, .bp3-icon-large.bp3-intent-success{ + color:#0d8050; } + .bp3-dark .bp3-icon.bp3-intent-success, .bp3-dark .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-icon-large.bp3-intent-success{ + color:#3dcc91; } + + .bp3-icon.bp3-intent-warning, .bp3-icon-standard.bp3-intent-warning, .bp3-icon-large.bp3-intent-warning{ + color:#bf7326; } + .bp3-dark .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-icon-large.bp3-intent-warning{ + color:#ffb366; } + + .bp3-icon.bp3-intent-danger, .bp3-icon-standard.bp3-intent-danger, .bp3-icon-large.bp3-intent-danger{ + color:#c23030; } + .bp3-dark .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-icon-large.bp3-intent-danger{ + color:#ff7373; } + + span.bp3-icon-standard{ + font-family:"Icons16", sans-serif; + font-size:16px; + font-style:normal; + font-weight:400; + line-height:1; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + display:inline-block; } + + span.bp3-icon-large{ + font-family:"Icons20", sans-serif; + font-size:20px; + font-style:normal; + font-weight:400; + line-height:1; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + display:inline-block; } + + span.bp3-icon:empty{ + font-family:"Icons20"; + font-size:inherit; + font-style:normal; + font-weight:400; + line-height:1; } + span.bp3-icon:empty::before{ + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; } + + .bp3-icon-add::before{ + content:""; } + + .bp3-icon-add-column-left::before{ + content:""; } + + .bp3-icon-add-column-right::before{ + content:""; } + + .bp3-icon-add-row-bottom::before{ + content:""; } + + .bp3-icon-add-row-top::before{ + content:""; } + + .bp3-icon-add-to-artifact::before{ + content:""; } + + .bp3-icon-add-to-folder::before{ + content:""; } + + .bp3-icon-airplane::before{ + content:""; } + + .bp3-icon-align-center::before{ + content:""; } + + .bp3-icon-align-justify::before{ + content:""; } + + .bp3-icon-align-left::before{ + content:""; } + + .bp3-icon-align-right::before{ + content:""; } + + .bp3-icon-alignment-bottom::before{ + content:""; } + + .bp3-icon-alignment-horizontal-center::before{ + content:""; } + + .bp3-icon-alignment-left::before{ + content:""; } + + .bp3-icon-alignment-right::before{ + content:""; } + + .bp3-icon-alignment-top::before{ + content:""; } + + .bp3-icon-alignment-vertical-center::before{ + content:""; } + + .bp3-icon-annotation::before{ + content:""; } + + .bp3-icon-application::before{ + content:""; } + + .bp3-icon-applications::before{ + content:""; } + + .bp3-icon-archive::before{ + content:""; } + + .bp3-icon-arrow-bottom-left::before{ + content:"↙"; } + + .bp3-icon-arrow-bottom-right::before{ + content:"↘"; } + + .bp3-icon-arrow-down::before{ + content:"↓"; } + + .bp3-icon-arrow-left::before{ + content:"←"; } + + .bp3-icon-arrow-right::before{ + content:"→"; } + + .bp3-icon-arrow-top-left::before{ + content:"↖"; } + + .bp3-icon-arrow-top-right::before{ + content:"↗"; } + + .bp3-icon-arrow-up::before{ + content:"↑"; } + + .bp3-icon-arrows-horizontal::before{ + content:"↔"; } + + .bp3-icon-arrows-vertical::before{ + content:"↕"; } + + .bp3-icon-asterisk::before{ + content:"*"; } + + .bp3-icon-automatic-updates::before{ + content:""; } + + .bp3-icon-badge::before{ + content:""; } + + .bp3-icon-ban-circle::before{ + content:""; } + + .bp3-icon-bank-account::before{ + content:""; } + + .bp3-icon-barcode::before{ + content:""; } + + .bp3-icon-blank::before{ + content:""; } + + .bp3-icon-blocked-person::before{ + content:""; } + + .bp3-icon-bold::before{ + content:""; } + + .bp3-icon-book::before{ + content:""; } + + .bp3-icon-bookmark::before{ + content:""; } + + .bp3-icon-box::before{ + content:""; } + + .bp3-icon-briefcase::before{ + content:""; } + + .bp3-icon-bring-data::before{ + content:""; } + + .bp3-icon-build::before{ + content:""; } + + .bp3-icon-calculator::before{ + content:""; } + + .bp3-icon-calendar::before{ + content:""; } + + .bp3-icon-camera::before{ + content:""; } + + .bp3-icon-caret-down::before{ + content:"⌄"; } + + .bp3-icon-caret-left::before{ + content:"〈"; } + + .bp3-icon-caret-right::before{ + content:"〉"; } + + .bp3-icon-caret-up::before{ + content:"⌃"; } + + .bp3-icon-cell-tower::before{ + content:""; } + + .bp3-icon-changes::before{ + content:""; } + + .bp3-icon-chart::before{ + content:""; } + + .bp3-icon-chat::before{ + content:""; } + + .bp3-icon-chevron-backward::before{ + content:""; } + + .bp3-icon-chevron-down::before{ + content:""; } + + .bp3-icon-chevron-forward::before{ + content:""; } + + .bp3-icon-chevron-left::before{ + content:""; } + + .bp3-icon-chevron-right::before{ + content:""; } + + .bp3-icon-chevron-up::before{ + content:""; } + + .bp3-icon-circle::before{ + content:""; } + + .bp3-icon-circle-arrow-down::before{ + content:""; } + + .bp3-icon-circle-arrow-left::before{ + content:""; } + + .bp3-icon-circle-arrow-right::before{ + content:""; } + + .bp3-icon-circle-arrow-up::before{ + content:""; } + + .bp3-icon-citation::before{ + content:""; } + + .bp3-icon-clean::before{ + content:""; } + + .bp3-icon-clipboard::before{ + content:""; } + + .bp3-icon-cloud::before{ + content:"☁"; } + + .bp3-icon-cloud-download::before{ + content:""; } + + .bp3-icon-cloud-upload::before{ + content:""; } + + .bp3-icon-code::before{ + content:""; } + + .bp3-icon-code-block::before{ + content:""; } + + .bp3-icon-cog::before{ + content:""; } + + .bp3-icon-collapse-all::before{ + content:""; } + + .bp3-icon-column-layout::before{ + content:""; } + + .bp3-icon-comment::before{ + content:""; } + + .bp3-icon-comparison::before{ + content:""; } + + .bp3-icon-compass::before{ + content:""; } + + .bp3-icon-compressed::before{ + content:""; } + + .bp3-icon-confirm::before{ + content:""; } + + .bp3-icon-console::before{ + content:""; } + + .bp3-icon-contrast::before{ + content:""; } + + .bp3-icon-control::before{ + content:""; } + + .bp3-icon-credit-card::before{ + content:""; } + + .bp3-icon-cross::before{ + content:"✗"; } + + .bp3-icon-crown::before{ + content:""; } + + .bp3-icon-cube::before{ + content:""; } + + .bp3-icon-cube-add::before{ + content:""; } + + .bp3-icon-cube-remove::before{ + content:""; } + + .bp3-icon-curved-range-chart::before{ + content:""; } + + .bp3-icon-cut::before{ + content:""; } + + .bp3-icon-dashboard::before{ + content:""; } + + .bp3-icon-data-lineage::before{ + content:""; } + + .bp3-icon-database::before{ + content:""; } + + .bp3-icon-delete::before{ + content:""; } + + .bp3-icon-delta::before{ + content:"Δ"; } + + .bp3-icon-derive-column::before{ + content:""; } + + .bp3-icon-desktop::before{ + content:""; } + + .bp3-icon-diagnosis::before{ + content:""; } + + .bp3-icon-diagram-tree::before{ + content:""; } + + .bp3-icon-direction-left::before{ + content:""; } + + .bp3-icon-direction-right::before{ + content:""; } + + .bp3-icon-disable::before{ + content:""; } + + .bp3-icon-document::before{ + content:""; } + + .bp3-icon-document-open::before{ + content:""; } + + .bp3-icon-document-share::before{ + content:""; } + + .bp3-icon-dollar::before{ + content:"$"; } + + .bp3-icon-dot::before{ + content:"•"; } + + .bp3-icon-double-caret-horizontal::before{ + content:""; } + + .bp3-icon-double-caret-vertical::before{ + content:""; } + + .bp3-icon-double-chevron-down::before{ + content:""; } + + .bp3-icon-double-chevron-left::before{ + content:""; } + + .bp3-icon-double-chevron-right::before{ + content:""; } + + .bp3-icon-double-chevron-up::before{ + content:""; } + + .bp3-icon-doughnut-chart::before{ + content:""; } + + .bp3-icon-download::before{ + content:""; } + + .bp3-icon-drag-handle-horizontal::before{ + content:""; } + + .bp3-icon-drag-handle-vertical::before{ + content:""; } + + .bp3-icon-draw::before{ + content:""; } + + .bp3-icon-drive-time::before{ + content:""; } + + .bp3-icon-duplicate::before{ + content:""; } + + .bp3-icon-edit::before{ + content:"✎"; } + + .bp3-icon-eject::before{ + content:"⏏"; } + + .bp3-icon-endorsed::before{ + content:""; } + + .bp3-icon-envelope::before{ + content:"✉"; } + + .bp3-icon-equals::before{ + content:""; } + + .bp3-icon-eraser::before{ + content:""; } + + .bp3-icon-error::before{ + content:""; } + + .bp3-icon-euro::before{ + content:"€"; } + + .bp3-icon-exchange::before{ + content:""; } + + .bp3-icon-exclude-row::before{ + content:""; } + + .bp3-icon-expand-all::before{ + content:""; } + + .bp3-icon-export::before{ + content:""; } + + .bp3-icon-eye-off::before{ + content:""; } + + .bp3-icon-eye-on::before{ + content:""; } + + .bp3-icon-eye-open::before{ + content:""; } + + .bp3-icon-fast-backward::before{ + content:""; } + + .bp3-icon-fast-forward::before{ + content:""; } + + .bp3-icon-feed::before{ + content:""; } + + .bp3-icon-feed-subscribed::before{ + content:""; } + + .bp3-icon-film::before{ + content:""; } + + .bp3-icon-filter::before{ + content:""; } + + .bp3-icon-filter-keep::before{ + content:""; } + + .bp3-icon-filter-list::before{ + content:""; } + + .bp3-icon-filter-open::before{ + content:""; } + + .bp3-icon-filter-remove::before{ + content:""; } + + .bp3-icon-flag::before{ + content:"⚑"; } + + .bp3-icon-flame::before{ + content:""; } + + .bp3-icon-flash::before{ + content:""; } + + .bp3-icon-floppy-disk::before{ + content:""; } + + .bp3-icon-flow-branch::before{ + content:""; } + + .bp3-icon-flow-end::before{ + content:""; } + + .bp3-icon-flow-linear::before{ + content:""; } + + .bp3-icon-flow-review::before{ + content:""; } + + .bp3-icon-flow-review-branch::before{ + content:""; } + + .bp3-icon-flows::before{ + content:""; } + + .bp3-icon-folder-close::before{ + content:""; } + + .bp3-icon-folder-new::before{ + content:""; } + + .bp3-icon-folder-open::before{ + content:""; } + + .bp3-icon-folder-shared::before{ + content:""; } + + .bp3-icon-folder-shared-open::before{ + content:""; } + + .bp3-icon-follower::before{ + content:""; } + + .bp3-icon-following::before{ + content:""; } + + .bp3-icon-font::before{ + content:""; } + + .bp3-icon-fork::before{ + content:""; } + + .bp3-icon-form::before{ + content:""; } + + .bp3-icon-full-circle::before{ + content:""; } + + .bp3-icon-full-stacked-chart::before{ + content:""; } + + .bp3-icon-fullscreen::before{ + content:""; } + + .bp3-icon-function::before{ + content:""; } + + .bp3-icon-gantt-chart::before{ + content:""; } + + .bp3-icon-geolocation::before{ + content:""; } + + .bp3-icon-geosearch::before{ + content:""; } + + .bp3-icon-git-branch::before{ + content:""; } + + .bp3-icon-git-commit::before{ + content:""; } + + .bp3-icon-git-merge::before{ + content:""; } + + .bp3-icon-git-new-branch::before{ + content:""; } + + .bp3-icon-git-pull::before{ + content:""; } + + .bp3-icon-git-push::before{ + content:""; } + + .bp3-icon-git-repo::before{ + content:""; } + + .bp3-icon-glass::before{ + content:""; } + + .bp3-icon-globe::before{ + content:""; } + + .bp3-icon-globe-network::before{ + content:""; } + + .bp3-icon-graph::before{ + content:""; } + + .bp3-icon-graph-remove::before{ + content:""; } + + .bp3-icon-greater-than::before{ + content:""; } + + .bp3-icon-greater-than-or-equal-to::before{ + content:""; } + + .bp3-icon-grid::before{ + content:""; } + + .bp3-icon-grid-view::before{ + content:""; } + + .bp3-icon-group-objects::before{ + content:""; } + + .bp3-icon-grouped-bar-chart::before{ + content:""; } + + .bp3-icon-hand::before{ + content:""; } + + .bp3-icon-hand-down::before{ + content:""; } + + .bp3-icon-hand-left::before{ + content:""; } + + .bp3-icon-hand-right::before{ + content:""; } + + .bp3-icon-hand-up::before{ + content:""; } + + .bp3-icon-header::before{ + content:""; } + + .bp3-icon-header-one::before{ + content:""; } + + .bp3-icon-header-two::before{ + content:""; } + + .bp3-icon-headset::before{ + content:""; } + + .bp3-icon-heart::before{ + content:"♥"; } + + .bp3-icon-heart-broken::before{ + content:""; } + + .bp3-icon-heat-grid::before{ + content:""; } + + .bp3-icon-heatmap::before{ + content:""; } + + .bp3-icon-help::before{ + content:"?"; } + + .bp3-icon-helper-management::before{ + content:""; } + + .bp3-icon-highlight::before{ + content:""; } + + .bp3-icon-history::before{ + content:""; } + + .bp3-icon-home::before{ + content:"⌂"; } + + .bp3-icon-horizontal-bar-chart::before{ + content:""; } + + .bp3-icon-horizontal-bar-chart-asc::before{ + content:""; } + + .bp3-icon-horizontal-bar-chart-desc::before{ + content:""; } + + .bp3-icon-horizontal-distribution::before{ + content:""; } + + .bp3-icon-id-number::before{ + content:""; } + + .bp3-icon-image-rotate-left::before{ + content:""; } + + .bp3-icon-image-rotate-right::before{ + content:""; } + + .bp3-icon-import::before{ + content:""; } + + .bp3-icon-inbox::before{ + content:""; } + + .bp3-icon-inbox-filtered::before{ + content:""; } + + .bp3-icon-inbox-geo::before{ + content:""; } + + .bp3-icon-inbox-search::before{ + content:""; } + + .bp3-icon-inbox-update::before{ + content:""; } + + .bp3-icon-info-sign::before{ + content:"ℹ"; } + + .bp3-icon-inheritance::before{ + content:""; } + + .bp3-icon-inner-join::before{ + content:""; } + + .bp3-icon-insert::before{ + content:""; } + + .bp3-icon-intersection::before{ + content:""; } + + .bp3-icon-ip-address::before{ + content:""; } + + .bp3-icon-issue::before{ + content:""; } + + .bp3-icon-issue-closed::before{ + content:""; } + + .bp3-icon-issue-new::before{ + content:""; } + + .bp3-icon-italic::before{ + content:""; } + + .bp3-icon-join-table::before{ + content:""; } + + .bp3-icon-key::before{ + content:""; } + + .bp3-icon-key-backspace::before{ + content:""; } + + .bp3-icon-key-command::before{ + content:""; } + + .bp3-icon-key-control::before{ + content:""; } + + .bp3-icon-key-delete::before{ + content:""; } + + .bp3-icon-key-enter::before{ + content:""; } + + .bp3-icon-key-escape::before{ + content:""; } + + .bp3-icon-key-option::before{ + content:""; } + + .bp3-icon-key-shift::before{ + content:""; } + + .bp3-icon-key-tab::before{ + content:""; } + + .bp3-icon-known-vehicle::before{ + content:""; } + + .bp3-icon-lab-test::before{ + content:""; } + + .bp3-icon-label::before{ + content:""; } + + .bp3-icon-layer::before{ + content:""; } + + .bp3-icon-layers::before{ + content:""; } + + .bp3-icon-layout::before{ + content:""; } + + .bp3-icon-layout-auto::before{ + content:""; } + + .bp3-icon-layout-balloon::before{ + content:""; } + + .bp3-icon-layout-circle::before{ + content:""; } + + .bp3-icon-layout-grid::before{ + content:""; } + + .bp3-icon-layout-group-by::before{ + content:""; } + + .bp3-icon-layout-hierarchy::before{ + content:""; } + + .bp3-icon-layout-linear::before{ + content:""; } + + .bp3-icon-layout-skew-grid::before{ + content:""; } + + .bp3-icon-layout-sorted-clusters::before{ + content:""; } + + .bp3-icon-learning::before{ + content:""; } + + .bp3-icon-left-join::before{ + content:""; } + + .bp3-icon-less-than::before{ + content:""; } + + .bp3-icon-less-than-or-equal-to::before{ + content:""; } + + .bp3-icon-lifesaver::before{ + content:""; } + + .bp3-icon-lightbulb::before{ + content:""; } + + .bp3-icon-link::before{ + content:""; } + + .bp3-icon-list::before{ + content:"☰"; } + + .bp3-icon-list-columns::before{ + content:""; } + + .bp3-icon-list-detail-view::before{ + content:""; } + + .bp3-icon-locate::before{ + content:""; } + + .bp3-icon-lock::before{ + content:""; } + + .bp3-icon-log-in::before{ + content:""; } + + .bp3-icon-log-out::before{ + content:""; } + + .bp3-icon-manual::before{ + content:""; } + + .bp3-icon-manually-entered-data::before{ + content:""; } + + .bp3-icon-map::before{ + content:""; } + + .bp3-icon-map-create::before{ + content:""; } + + .bp3-icon-map-marker::before{ + content:""; } + + .bp3-icon-maximize::before{ + content:""; } + + .bp3-icon-media::before{ + content:""; } + + .bp3-icon-menu::before{ + content:""; } + + .bp3-icon-menu-closed::before{ + content:""; } + + .bp3-icon-menu-open::before{ + content:""; } + + .bp3-icon-merge-columns::before{ + content:""; } + + .bp3-icon-merge-links::before{ + content:""; } + + .bp3-icon-minimize::before{ + content:""; } + + .bp3-icon-minus::before{ + content:"−"; } + + .bp3-icon-mobile-phone::before{ + content:""; } + + .bp3-icon-mobile-video::before{ + content:""; } + + .bp3-icon-moon::before{ + content:""; } + + .bp3-icon-more::before{ + content:""; } + + .bp3-icon-mountain::before{ + content:""; } + + .bp3-icon-move::before{ + content:""; } + + .bp3-icon-mugshot::before{ + content:""; } + + .bp3-icon-multi-select::before{ + content:""; } + + .bp3-icon-music::before{ + content:""; } + + .bp3-icon-new-drawing::before{ + content:""; } + + .bp3-icon-new-grid-item::before{ + content:""; } + + .bp3-icon-new-layer::before{ + content:""; } + + .bp3-icon-new-layers::before{ + content:""; } + + .bp3-icon-new-link::before{ + content:""; } + + .bp3-icon-new-object::before{ + content:""; } + + .bp3-icon-new-person::before{ + content:""; } + + .bp3-icon-new-prescription::before{ + content:""; } + + .bp3-icon-new-text-box::before{ + content:""; } + + .bp3-icon-ninja::before{ + content:""; } + + .bp3-icon-not-equal-to::before{ + content:""; } + + .bp3-icon-notifications::before{ + content:""; } + + .bp3-icon-notifications-updated::before{ + content:""; } + + .bp3-icon-numbered-list::before{ + content:""; } + + .bp3-icon-numerical::before{ + content:""; } + + .bp3-icon-office::before{ + content:""; } + + .bp3-icon-offline::before{ + content:""; } + + .bp3-icon-oil-field::before{ + content:""; } + + .bp3-icon-one-column::before{ + content:""; } + + .bp3-icon-outdated::before{ + content:""; } + + .bp3-icon-page-layout::before{ + content:""; } + + .bp3-icon-panel-stats::before{ + content:""; } + + .bp3-icon-panel-table::before{ + content:""; } + + .bp3-icon-paperclip::before{ + content:""; } + + .bp3-icon-paragraph::before{ + content:""; } + + .bp3-icon-path::before{ + content:""; } + + .bp3-icon-path-search::before{ + content:""; } + + .bp3-icon-pause::before{ + content:""; } + + .bp3-icon-people::before{ + content:""; } + + .bp3-icon-percentage::before{ + content:""; } + + .bp3-icon-person::before{ + content:""; } + + .bp3-icon-phone::before{ + content:"☎"; } + + .bp3-icon-pie-chart::before{ + content:""; } + + .bp3-icon-pin::before{ + content:""; } + + .bp3-icon-pivot::before{ + content:""; } + + .bp3-icon-pivot-table::before{ + content:""; } + + .bp3-icon-play::before{ + content:""; } + + .bp3-icon-plus::before{ + content:"+"; } + + .bp3-icon-polygon-filter::before{ + content:""; } + + .bp3-icon-power::before{ + content:""; } + + .bp3-icon-predictive-analysis::before{ + content:""; } + + .bp3-icon-prescription::before{ + content:""; } + + .bp3-icon-presentation::before{ + content:""; } + + .bp3-icon-print::before{ + content:"⎙"; } + + .bp3-icon-projects::before{ + content:""; } + + .bp3-icon-properties::before{ + content:""; } + + .bp3-icon-property::before{ + content:""; } + + .bp3-icon-publish-function::before{ + content:""; } + + .bp3-icon-pulse::before{ + content:""; } + + .bp3-icon-random::before{ + content:""; } + + .bp3-icon-record::before{ + content:""; } + + .bp3-icon-redo::before{ + content:""; } + + .bp3-icon-refresh::before{ + content:""; } + + .bp3-icon-regression-chart::before{ + content:""; } + + .bp3-icon-remove::before{ + content:""; } + + .bp3-icon-remove-column::before{ + content:""; } + + .bp3-icon-remove-column-left::before{ + content:""; } + + .bp3-icon-remove-column-right::before{ + content:""; } + + .bp3-icon-remove-row-bottom::before{ + content:""; } + + .bp3-icon-remove-row-top::before{ + content:""; } + + .bp3-icon-repeat::before{ + content:""; } + + .bp3-icon-reset::before{ + content:""; } + + .bp3-icon-resolve::before{ + content:""; } + + .bp3-icon-rig::before{ + content:""; } + + .bp3-icon-right-join::before{ + content:""; } + + .bp3-icon-ring::before{ + content:""; } + + .bp3-icon-rotate-document::before{ + content:""; } + + .bp3-icon-rotate-page::before{ + content:""; } + + .bp3-icon-satellite::before{ + content:""; } + + .bp3-icon-saved::before{ + content:""; } + + .bp3-icon-scatter-plot::before{ + content:""; } + + .bp3-icon-search::before{ + content:""; } + + .bp3-icon-search-around::before{ + content:""; } + + .bp3-icon-search-template::before{ + content:""; } + + .bp3-icon-search-text::before{ + content:""; } + + .bp3-icon-segmented-control::before{ + content:""; } + + .bp3-icon-select::before{ + content:""; } + + .bp3-icon-selection::before{ + content:"⦿"; } + + .bp3-icon-send-to::before{ + content:""; } + + .bp3-icon-send-to-graph::before{ + content:""; } + + .bp3-icon-send-to-map::before{ + content:""; } + + .bp3-icon-series-add::before{ + content:""; } + + .bp3-icon-series-configuration::before{ + content:""; } + + .bp3-icon-series-derived::before{ + content:""; } + + .bp3-icon-series-filtered::before{ + content:""; } + + .bp3-icon-series-search::before{ + content:""; } + + .bp3-icon-settings::before{ + content:""; } + + .bp3-icon-share::before{ + content:""; } + + .bp3-icon-shield::before{ + content:""; } + + .bp3-icon-shop::before{ + content:""; } + + .bp3-icon-shopping-cart::before{ + content:""; } + + .bp3-icon-signal-search::before{ + content:""; } + + .bp3-icon-sim-card::before{ + content:""; } + + .bp3-icon-slash::before{ + content:""; } + + .bp3-icon-small-cross::before{ + content:""; } + + .bp3-icon-small-minus::before{ + content:""; } + + .bp3-icon-small-plus::before{ + content:""; } + + .bp3-icon-small-tick::before{ + content:""; } + + .bp3-icon-snowflake::before{ + content:""; } + + .bp3-icon-social-media::before{ + content:""; } + + .bp3-icon-sort::before{ + content:""; } + + .bp3-icon-sort-alphabetical::before{ + content:""; } + + .bp3-icon-sort-alphabetical-desc::before{ + content:""; } + + .bp3-icon-sort-asc::before{ + content:""; } + + .bp3-icon-sort-desc::before{ + content:""; } + + .bp3-icon-sort-numerical::before{ + content:""; } + + .bp3-icon-sort-numerical-desc::before{ + content:""; } + + .bp3-icon-split-columns::before{ + content:""; } + + .bp3-icon-square::before{ + content:""; } + + .bp3-icon-stacked-chart::before{ + content:""; } + + .bp3-icon-star::before{ + content:"★"; } + + .bp3-icon-star-empty::before{ + content:"☆"; } + + .bp3-icon-step-backward::before{ + content:""; } + + .bp3-icon-step-chart::before{ + content:""; } + + .bp3-icon-step-forward::before{ + content:""; } + + .bp3-icon-stop::before{ + content:""; } + + .bp3-icon-stopwatch::before{ + content:""; } + + .bp3-icon-strikethrough::before{ + content:""; } + + .bp3-icon-style::before{ + content:""; } + + .bp3-icon-swap-horizontal::before{ + content:""; } + + .bp3-icon-swap-vertical::before{ + content:""; } + + .bp3-icon-symbol-circle::before{ + content:""; } + + .bp3-icon-symbol-cross::before{ + content:""; } + + .bp3-icon-symbol-diamond::before{ + content:""; } + + .bp3-icon-symbol-square::before{ + content:""; } + + .bp3-icon-symbol-triangle-down::before{ + content:""; } + + .bp3-icon-symbol-triangle-up::before{ + content:""; } + + .bp3-icon-tag::before{ + content:""; } + + .bp3-icon-take-action::before{ + content:""; } + + .bp3-icon-taxi::before{ + content:""; } + + .bp3-icon-text-highlight::before{ + content:""; } + + .bp3-icon-th::before{ + content:""; } + + .bp3-icon-th-derived::before{ + content:""; } + + .bp3-icon-th-disconnect::before{ + content:""; } + + .bp3-icon-th-filtered::before{ + content:""; } + + .bp3-icon-th-list::before{ + content:""; } + + .bp3-icon-thumbs-down::before{ + content:""; } + + .bp3-icon-thumbs-up::before{ + content:""; } + + .bp3-icon-tick::before{ + content:"✓"; } + + .bp3-icon-tick-circle::before{ + content:""; } + + .bp3-icon-time::before{ + content:"⏲"; } + + .bp3-icon-timeline-area-chart::before{ + content:""; } + + .bp3-icon-timeline-bar-chart::before{ + content:""; } + + .bp3-icon-timeline-events::before{ + content:""; } + + .bp3-icon-timeline-line-chart::before{ + content:""; } + + .bp3-icon-tint::before{ + content:""; } + + .bp3-icon-torch::before{ + content:""; } + + .bp3-icon-tractor::before{ + content:""; } + + .bp3-icon-train::before{ + content:""; } + + .bp3-icon-translate::before{ + content:""; } + + .bp3-icon-trash::before{ + content:""; } + + .bp3-icon-tree::before{ + content:""; } + + .bp3-icon-trending-down::before{ + content:""; } + + .bp3-icon-trending-up::before{ + content:""; } + + .bp3-icon-truck::before{ + content:""; } + + .bp3-icon-two-columns::before{ + content:""; } + + .bp3-icon-unarchive::before{ + content:""; } + + .bp3-icon-underline::before{ + content:"⎁"; } + + .bp3-icon-undo::before{ + content:"⎌"; } + + .bp3-icon-ungroup-objects::before{ + content:""; } + + .bp3-icon-unknown-vehicle::before{ + content:""; } + + .bp3-icon-unlock::before{ + content:""; } + + .bp3-icon-unpin::before{ + content:""; } + + .bp3-icon-unresolve::before{ + content:""; } + + .bp3-icon-updated::before{ + content:""; } + + .bp3-icon-upload::before{ + content:""; } + + .bp3-icon-user::before{ + content:""; } + + .bp3-icon-variable::before{ + content:""; } + + .bp3-icon-vertical-bar-chart-asc::before{ + content:""; } + + .bp3-icon-vertical-bar-chart-desc::before{ + content:""; } + + .bp3-icon-vertical-distribution::before{ + content:""; } + + .bp3-icon-video::before{ + content:""; } + + .bp3-icon-volume-down::before{ + content:""; } + + .bp3-icon-volume-off::before{ + content:""; } + + .bp3-icon-volume-up::before{ + content:""; } + + .bp3-icon-walk::before{ + content:""; } + + .bp3-icon-warning-sign::before{ + content:""; } + + .bp3-icon-waterfall-chart::before{ + content:""; } + + .bp3-icon-widget::before{ + content:""; } + + .bp3-icon-widget-button::before{ + content:""; } + + .bp3-icon-widget-footer::before{ + content:""; } + + .bp3-icon-widget-header::before{ + content:""; } + + .bp3-icon-wrench::before{ + content:""; } + + .bp3-icon-zoom-in::before{ + content:""; } + + .bp3-icon-zoom-out::before{ + content:""; } + + .bp3-icon-zoom-to-fit::before{ + content:""; } + .bp3-submenu > .bp3-popover-wrapper{ + display:block; } + + .bp3-submenu .bp3-popover-target{ + display:block; } + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ } + + .bp3-submenu.bp3-popover{ + -webkit-box-shadow:none; + box-shadow:none; + padding:0 5px; } + .bp3-submenu.bp3-popover > .bp3-popover-content{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-submenu.bp3-popover, .bp3-submenu.bp3-popover.bp3-dark{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-submenu.bp3-popover > .bp3-popover-content, .bp3-submenu.bp3-popover.bp3-dark > .bp3-popover-content{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + .bp3-menu{ + background:#ffffff; + border-radius:3px; + color:#182026; + list-style:none; + margin:0; + min-width:180px; + padding:5px; + text-align:left; } + + .bp3-menu-divider{ + border-top:1px solid rgba(16, 22, 26, 0.15); + display:block; + margin:5px; } + .bp3-dark .bp3-menu-divider{ + border-top-color:rgba(255, 255, 255, 0.15); } + + .bp3-menu-item{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + border-radius:2px; + color:inherit; + line-height:20px; + padding:5px 7px; + text-decoration:none; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-menu-item > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-menu-item > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-menu-item::before, + .bp3-menu-item > *{ + margin-right:7px; } + .bp3-menu-item:empty::before, + .bp3-menu-item > :last-child{ + margin-right:0; } + .bp3-menu-item > .bp3-fill{ + word-break:break-word; } + .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ + background-color:rgba(167, 182, 194, 0.3); + cursor:pointer; + text-decoration:none; } + .bp3-menu-item.bp3-disabled{ + background-color:inherit; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; } + .bp3-dark .bp3-menu-item{ + color:inherit; } + .bp3-dark .bp3-menu-item:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ + background-color:rgba(138, 155, 168, 0.15); + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-disabled{ + background-color:inherit; + color:rgba(167, 182, 194, 0.6); } + .bp3-menu-item.bp3-intent-primary{ + color:#106ba3; } + .bp3-menu-item.bp3-intent-primary .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-primary::before, .bp3-menu-item.bp3-intent-primary::after, + .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{ + color:#106ba3; } + .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary.bp3-active{ + background-color:#137cbd; } + .bp3-menu-item.bp3-intent-primary:active{ + background-color:#106ba3; } + .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary:active, .bp3-menu-item.bp3-intent-primary:active::before, .bp3-menu-item.bp3-intent-primary:active::after, + .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-menu-item.bp3-intent-primary.bp3-active::after, + .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item.bp3-intent-success{ + color:#0d8050; } + .bp3-menu-item.bp3-intent-success .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-success::before, .bp3-menu-item.bp3-intent-success::after, + .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{ + color:#0d8050; } + .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success.bp3-active{ + background-color:#0f9960; } + .bp3-menu-item.bp3-intent-success:active{ + background-color:#0d8050; } + .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-menu-item.bp3-intent-success:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success:active, .bp3-menu-item.bp3-intent-success:active::before, .bp3-menu-item.bp3-intent-success:active::after, + .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-menu-item.bp3-intent-success.bp3-active::after, + .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item.bp3-intent-warning{ + color:#bf7326; } + .bp3-menu-item.bp3-intent-warning .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-warning::before, .bp3-menu-item.bp3-intent-warning::after, + .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{ + color:#bf7326; } + .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning.bp3-active{ + background-color:#d9822b; } + .bp3-menu-item.bp3-intent-warning:active{ + background-color:#bf7326; } + .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning:active, .bp3-menu-item.bp3-intent-warning:active::before, .bp3-menu-item.bp3-intent-warning:active::after, + .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-menu-item.bp3-intent-warning.bp3-active::after, + .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item.bp3-intent-danger{ + color:#c23030; } + .bp3-menu-item.bp3-intent-danger .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-danger::before, .bp3-menu-item.bp3-intent-danger::after, + .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{ + color:#c23030; } + .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger.bp3-active{ + background-color:#db3737; } + .bp3-menu-item.bp3-intent-danger:active{ + background-color:#c23030; } + .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger:active, .bp3-menu-item.bp3-intent-danger:active::before, .bp3-menu-item.bp3-intent-danger:active::after, + .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-menu-item.bp3-intent-danger.bp3-active::after, + .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item::before{ + font-family:"Icons16", sans-serif; + font-size:16px; + font-style:normal; + font-weight:400; + line-height:1; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + margin-right:7px; } + .bp3-menu-item::before, + .bp3-menu-item > .bp3-icon{ + color:#5c7080; + margin-top:2px; } + .bp3-menu-item .bp3-menu-item-label{ + color:#5c7080; } + .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ + color:inherit; } + .bp3-menu-item.bp3-active, .bp3-menu-item:active{ + background-color:rgba(115, 134, 148, 0.3); } + .bp3-menu-item.bp3-disabled{ + background-color:inherit !important; + color:rgba(92, 112, 128, 0.6) !important; + cursor:not-allowed !important; + outline:none !important; } + .bp3-menu-item.bp3-disabled::before, + .bp3-menu-item.bp3-disabled > .bp3-icon, + .bp3-menu-item.bp3-disabled .bp3-menu-item-label{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-large .bp3-menu-item{ + font-size:16px; + line-height:22px; + padding:9px 7px; } + .bp3-large .bp3-menu-item .bp3-icon{ + margin-top:3px; } + .bp3-large .bp3-menu-item::before{ + font-family:"Icons20", sans-serif; + font-size:20px; + font-style:normal; + font-weight:400; + line-height:1; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + margin-right:10px; + margin-top:1px; } + + button.bp3-menu-item{ + background:none; + border:none; + text-align:left; + width:100%; } + .bp3-menu-header{ + border-top:1px solid rgba(16, 22, 26, 0.15); + display:block; + margin:5px; + cursor:default; + padding-left:2px; } + .bp3-dark .bp3-menu-header{ + border-top-color:rgba(255, 255, 255, 0.15); } + .bp3-menu-header:first-of-type{ + border-top:none; } + .bp3-menu-header > h6{ + color:#182026; + font-weight:600; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + line-height:17px; + margin:0; + padding:10px 7px 0 1px; } + .bp3-dark .bp3-menu-header > h6{ + color:#f5f8fa; } + .bp3-menu-header:first-of-type > h6{ + padding-top:0; } + .bp3-large .bp3-menu-header > h6{ + font-size:18px; + padding-bottom:5px; + padding-top:15px; } + .bp3-large .bp3-menu-header:first-of-type > h6{ + padding-top:0; } + + .bp3-dark .bp3-menu{ + background:#30404d; + color:#f5f8fa; } + + .bp3-dark .bp3-menu-item{ } + .bp3-dark .bp3-menu-item.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-primary::before, .bp3-dark .bp3-menu-item.bp3-intent-primary::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{ + color:#48aff0; } + .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active{ + background-color:#137cbd; } + .bp3-dark .bp3-menu-item.bp3-intent-primary:active{ + background-color:#106ba3; } + .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary:active, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-dark .bp3-menu-item.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-success::before, .bp3-dark .bp3-menu-item.bp3-intent-success::after, + .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{ + color:#3dcc91; } + .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active{ + background-color:#0f9960; } + .bp3-dark .bp3-menu-item.bp3-intent-success:active{ + background-color:#0d8050; } + .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success:active, .bp3-dark .bp3-menu-item.bp3-intent-success:active::before, .bp3-dark .bp3-menu-item.bp3-intent-success:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-dark .bp3-menu-item.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-warning::before, .bp3-dark .bp3-menu-item.bp3-intent-warning::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{ + color:#ffb366; } + .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active{ + background-color:#d9822b; } + .bp3-dark .bp3-menu-item.bp3-intent-warning:active{ + background-color:#bf7326; } + .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning:active, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-dark .bp3-menu-item.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-danger::before, .bp3-dark .bp3-menu-item.bp3-intent-danger::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{ + color:#ff7373; } + .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active{ + background-color:#db3737; } + .bp3-dark .bp3-menu-item.bp3-intent-danger:active{ + background-color:#c23030; } + .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger:active, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-dark .bp3-menu-item::before, + .bp3-dark .bp3-menu-item > .bp3-icon{ + color:#a7b6c2; } + .bp3-dark .bp3-menu-item .bp3-menu-item-label{ + color:#a7b6c2; } + .bp3-dark .bp3-menu-item.bp3-active, .bp3-dark .bp3-menu-item:active{ + background-color:rgba(138, 155, 168, 0.3); } + .bp3-dark .bp3-menu-item.bp3-disabled{ + color:rgba(167, 182, 194, 0.6) !important; } + .bp3-dark .bp3-menu-item.bp3-disabled::before, + .bp3-dark .bp3-menu-item.bp3-disabled > .bp3-icon, + .bp3-dark .bp3-menu-item.bp3-disabled .bp3-menu-item-label{ + color:rgba(167, 182, 194, 0.6) !important; } + + .bp3-dark .bp3-menu-divider, + .bp3-dark .bp3-menu-header{ + border-color:rgba(255, 255, 255, 0.15); } + + .bp3-dark .bp3-menu-header > h6{ + color:#f5f8fa; } + + .bp3-label .bp3-menu{ + margin-top:5px; } + .bp3-navbar{ + background-color:#ffffff; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + height:50px; + padding:0 15px; + position:relative; + width:100%; + z-index:10; } + .bp3-navbar.bp3-dark, + .bp3-dark .bp3-navbar{ + background-color:#394b59; } + .bp3-navbar.bp3-dark{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-navbar{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-navbar.bp3-fixed-top{ + left:0; + position:fixed; + right:0; + top:0; } + + .bp3-navbar-heading{ + font-size:16px; + margin-right:15px; } + + .bp3-navbar-group{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + height:50px; } + .bp3-navbar-group.bp3-align-left{ + float:left; } + .bp3-navbar-group.bp3-align-right{ + float:right; } + + .bp3-navbar-divider{ + border-left:1px solid rgba(16, 22, 26, 0.15); + height:20px; + margin:0 10px; } + .bp3-dark .bp3-navbar-divider{ + border-left-color:rgba(255, 255, 255, 0.15); } + .bp3-non-ideal-state{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + height:100%; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + text-align:center; + width:100%; } + .bp3-non-ideal-state > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-non-ideal-state > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-non-ideal-state::before, + .bp3-non-ideal-state > *{ + margin-bottom:20px; } + .bp3-non-ideal-state:empty::before, + .bp3-non-ideal-state > :last-child{ + margin-bottom:0; } + .bp3-non-ideal-state > *{ + max-width:400px; } + + .bp3-non-ideal-state-visual{ + color:rgba(92, 112, 128, 0.6); + font-size:60px; } + .bp3-dark .bp3-non-ideal-state-visual{ + color:rgba(167, 182, 194, 0.6); } + + .bp3-overflow-list{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -ms-flex-wrap:nowrap; + flex-wrap:nowrap; + min-width:0; } + + .bp3-overflow-list-spacer{ + -ms-flex-negative:1; + flex-shrink:1; + width:1px; } + + body.bp3-overlay-open{ + overflow:hidden; } + + .bp3-overlay{ + bottom:0; + left:0; + position:static; + right:0; + top:0; + z-index:20; } + .bp3-overlay:not(.bp3-overlay-open){ + pointer-events:none; } + .bp3-overlay.bp3-overlay-container{ + overflow:hidden; + position:fixed; } + .bp3-overlay.bp3-overlay-container.bp3-overlay-inline{ + position:absolute; } + .bp3-overlay.bp3-overlay-scroll-container{ + overflow:auto; + position:fixed; } + .bp3-overlay.bp3-overlay-scroll-container.bp3-overlay-inline{ + position:absolute; } + .bp3-overlay.bp3-overlay-inline{ + display:inline; + overflow:visible; } + + .bp3-overlay-content{ + position:fixed; + z-index:20; } + .bp3-overlay-inline .bp3-overlay-content, + .bp3-overlay-scroll-container .bp3-overlay-content{ + position:absolute; } + + .bp3-overlay-backdrop{ + bottom:0; + left:0; + position:fixed; + right:0; + top:0; + opacity:1; + background-color:rgba(16, 22, 26, 0.7); + overflow:auto; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; + z-index:20; } + .bp3-overlay-backdrop.bp3-overlay-enter, .bp3-overlay-backdrop.bp3-overlay-appear{ + opacity:0; } + .bp3-overlay-backdrop.bp3-overlay-enter-active, .bp3-overlay-backdrop.bp3-overlay-appear-active{ + opacity:1; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-overlay-backdrop.bp3-overlay-exit{ + opacity:1; } + .bp3-overlay-backdrop.bp3-overlay-exit-active{ + opacity:0; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-overlay-backdrop:focus{ + outline:none; } + .bp3-overlay-inline .bp3-overlay-backdrop{ + position:absolute; } + .bp3-panel-stack{ + overflow:hidden; + position:relative; } + + .bp3-panel-stack-header{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-shadow:0 1px rgba(16, 22, 26, 0.15); + box-shadow:0 1px rgba(16, 22, 26, 0.15); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -ms-flex-negative:0; + flex-shrink:0; + height:30px; + z-index:1; } + .bp3-dark .bp3-panel-stack-header{ + -webkit-box-shadow:0 1px rgba(255, 255, 255, 0.15); + box-shadow:0 1px rgba(255, 255, 255, 0.15); } + .bp3-panel-stack-header > span{ + -webkit-box-align:stretch; + -ms-flex-align:stretch; + align-items:stretch; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:1; + -ms-flex:1; + flex:1; } + .bp3-panel-stack-header .bp3-heading{ + margin:0 5px; } + + .bp3-button.bp3-panel-stack-header-back{ + margin-left:5px; + padding-left:0; + white-space:nowrap; } + .bp3-button.bp3-panel-stack-header-back .bp3-icon{ + margin:0 2px; } + + .bp3-panel-stack-view{ + bottom:0; + left:0; + position:absolute; + right:0; + top:0; + background-color:#ffffff; + border-right:1px solid rgba(16, 22, 26, 0.15); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin-right:-1px; + overflow-y:auto; + z-index:1; } + .bp3-dark .bp3-panel-stack-view{ + background-color:#30404d; } + .bp3-panel-stack-view:nth-last-child(n + 4){ + display:none; } + + .bp3-panel-stack-push .bp3-panel-stack-enter, .bp3-panel-stack-push .bp3-panel-stack-appear{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + opacity:0; } + + .bp3-panel-stack-push .bp3-panel-stack-enter-active, .bp3-panel-stack-push .bp3-panel-stack-appear-active{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; } + + .bp3-panel-stack-push .bp3-panel-stack-exit{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; } + + .bp3-panel-stack-push .bp3-panel-stack-exit-active{ + -webkit-transform:translateX(-50%); + transform:translateX(-50%); + opacity:0; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; } + + .bp3-panel-stack-pop .bp3-panel-stack-enter, .bp3-panel-stack-pop .bp3-panel-stack-appear{ + -webkit-transform:translateX(-50%); + transform:translateX(-50%); + opacity:0; } + + .bp3-panel-stack-pop .bp3-panel-stack-enter-active, .bp3-panel-stack-pop .bp3-panel-stack-appear-active{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; } + + .bp3-panel-stack-pop .bp3-panel-stack-exit{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; } + + .bp3-panel-stack-pop .bp3-panel-stack-exit-active{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + opacity:0; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; } + .bp3-panel-stack2{ + overflow:hidden; + position:relative; } + + .bp3-panel-stack2-header{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-shadow:0 1px rgba(16, 22, 26, 0.15); + box-shadow:0 1px rgba(16, 22, 26, 0.15); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -ms-flex-negative:0; + flex-shrink:0; + height:30px; + z-index:1; } + .bp3-dark .bp3-panel-stack2-header{ + -webkit-box-shadow:0 1px rgba(255, 255, 255, 0.15); + box-shadow:0 1px rgba(255, 255, 255, 0.15); } + .bp3-panel-stack2-header > span{ + -webkit-box-align:stretch; + -ms-flex-align:stretch; + align-items:stretch; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:1; + -ms-flex:1; + flex:1; } + .bp3-panel-stack2-header .bp3-heading{ + margin:0 5px; } + + .bp3-button.bp3-panel-stack2-header-back{ + margin-left:5px; + padding-left:0; + white-space:nowrap; } + .bp3-button.bp3-panel-stack2-header-back .bp3-icon{ + margin:0 2px; } + + .bp3-panel-stack2-view{ + bottom:0; + left:0; + position:absolute; + right:0; + top:0; + background-color:#ffffff; + border-right:1px solid rgba(16, 22, 26, 0.15); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin-right:-1px; + overflow-y:auto; + z-index:1; } + .bp3-dark .bp3-panel-stack2-view{ + background-color:#30404d; } + .bp3-panel-stack2-view:nth-last-child(n + 4){ + display:none; } + + .bp3-panel-stack2-push .bp3-panel-stack2-enter, .bp3-panel-stack2-push .bp3-panel-stack2-appear{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + opacity:0; } + + .bp3-panel-stack2-push .bp3-panel-stack2-enter-active, .bp3-panel-stack2-push .bp3-panel-stack2-appear-active{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; } + + .bp3-panel-stack2-push .bp3-panel-stack2-exit{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; } + + .bp3-panel-stack2-push .bp3-panel-stack2-exit-active{ + -webkit-transform:translateX(-50%); + transform:translateX(-50%); + opacity:0; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; } + + .bp3-panel-stack2-pop .bp3-panel-stack2-enter, .bp3-panel-stack2-pop .bp3-panel-stack2-appear{ + -webkit-transform:translateX(-50%); + transform:translateX(-50%); + opacity:0; } + + .bp3-panel-stack2-pop .bp3-panel-stack2-enter-active, .bp3-panel-stack2-pop .bp3-panel-stack2-appear-active{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; } + + .bp3-panel-stack2-pop .bp3-panel-stack2-exit{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; } + + .bp3-panel-stack2-pop .bp3-panel-stack2-exit-active{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + opacity:0; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; } + .bp3-popover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + -webkit-transform:scale(1); + transform:scale(1); + border-radius:3px; + display:inline-block; + z-index:20; } + .bp3-popover .bp3-popover-arrow{ + height:30px; + position:absolute; + width:30px; } + .bp3-popover .bp3-popover-arrow::before{ + height:20px; + margin:5px; + width:20px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover{ + margin-bottom:17px; + margin-top:-17px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{ + bottom:-11px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(-90deg); + transform:rotate(-90deg); } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover{ + margin-left:17px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{ + left:-11px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(0); + transform:rotate(0); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover{ + margin-top:17px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{ + top:-11px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(90deg); + transform:rotate(90deg); } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover{ + margin-left:-17px; + margin-right:17px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{ + right:-11px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(180deg); + transform:rotate(180deg); } + .bp3-tether-element-attached-middle > .bp3-popover > .bp3-popover-arrow{ + top:50%; + -webkit-transform:translateY(-50%); + transform:translateY(-50%); } + .bp3-tether-element-attached-center > .bp3-popover > .bp3-popover-arrow{ + right:50%; + -webkit-transform:translateX(50%); + transform:translateX(50%); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{ + top:-0.3934px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{ + right:-0.3934px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{ + left:-0.3934px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{ + bottom:-0.3934px; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-popover{ + -webkit-transform-origin:top left; + transform-origin:top left; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-popover{ + -webkit-transform-origin:top center; + transform-origin:top center; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-popover{ + -webkit-transform-origin:top right; + transform-origin:top right; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-popover{ + -webkit-transform-origin:center left; + transform-origin:center left; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-popover{ + -webkit-transform-origin:center center; + transform-origin:center center; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-popover{ + -webkit-transform-origin:center right; + transform-origin:center right; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-popover{ + -webkit-transform-origin:bottom left; + transform-origin:bottom left; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-popover{ + -webkit-transform-origin:bottom center; + transform-origin:bottom center; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-popover{ + -webkit-transform-origin:bottom right; + transform-origin:bottom right; } + .bp3-popover .bp3-popover-content{ + background:#ffffff; + color:inherit; } + .bp3-popover .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); } + .bp3-popover .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.1; } + .bp3-popover .bp3-popover-arrow-fill{ + fill:#ffffff; } + .bp3-popover-enter > .bp3-popover, .bp3-popover-appear > .bp3-popover{ + -webkit-transform:scale(0.3); + transform:scale(0.3); } + .bp3-popover-enter-active > .bp3-popover, .bp3-popover-appear-active > .bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); } + .bp3-popover-exit > .bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-exit-active > .bp3-popover{ + -webkit-transform:scale(0.3); + transform:scale(0.3); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); } + .bp3-popover .bp3-popover-content{ + border-radius:3px; + position:relative; } + .bp3-popover.bp3-popover-content-sizing .bp3-popover-content{ + max-width:350px; + padding:20px; } + .bp3-popover-target + .bp3-overlay .bp3-popover.bp3-popover-content-sizing{ + width:350px; } + .bp3-popover.bp3-minimal{ + margin:0 !important; } + .bp3-popover.bp3-minimal .bp3-popover-arrow{ + display:none; } + .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-enter > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-enter-active > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear-active > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-popover-exit > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-exit-active > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-popover.bp3-dark, + .bp3-dark .bp3-popover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + .bp3-popover.bp3-dark .bp3-popover-content, + .bp3-dark .bp3-popover .bp3-popover-content{ + background:#30404d; + color:inherit; } + .bp3-popover.bp3-dark .bp3-popover-arrow::before, + .bp3-dark .bp3-popover .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); } + .bp3-popover.bp3-dark .bp3-popover-arrow-border, + .bp3-dark .bp3-popover .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.2; } + .bp3-popover.bp3-dark .bp3-popover-arrow-fill, + .bp3-dark .bp3-popover .bp3-popover-arrow-fill{ + fill:#30404d; } + + .bp3-popover-arrow::before{ + border-radius:2px; + content:""; + display:block; + position:absolute; + -webkit-transform:rotate(45deg); + transform:rotate(45deg); } + + .bp3-tether-pinned .bp3-popover-arrow{ + display:none; } + + .bp3-popover-backdrop{ + background:rgba(255, 255, 255, 0); } + + .bp3-transition-container{ + opacity:1; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + z-index:20; } + .bp3-transition-container.bp3-popover-enter, .bp3-transition-container.bp3-popover-appear{ + opacity:0; } + .bp3-transition-container.bp3-popover-enter-active, .bp3-transition-container.bp3-popover-appear-active{ + opacity:1; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-transition-container.bp3-popover-exit{ + opacity:1; } + .bp3-transition-container.bp3-popover-exit-active{ + opacity:0; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-transition-container:focus{ + outline:none; } + .bp3-transition-container.bp3-popover-leave .bp3-popover-content{ + pointer-events:none; } + .bp3-transition-container[data-x-out-of-boundaries]{ + display:none; } + + span.bp3-popover-target{ + display:inline-block; } + + .bp3-popover-wrapper.bp3-fill{ + width:100%; } + + .bp3-portal{ + left:0; + position:absolute; + right:0; + top:0; } + @-webkit-keyframes linear-progress-bar-stripes{ + from{ + background-position:0 0; } + to{ + background-position:30px 0; } } + @keyframes linear-progress-bar-stripes{ + from{ + background-position:0 0; } + to{ + background-position:30px 0; } } + + .bp3-progress-bar{ + background:rgba(92, 112, 128, 0.2); + border-radius:40px; + display:block; + height:8px; + overflow:hidden; + position:relative; + width:100%; } + .bp3-progress-bar .bp3-progress-meter{ + background:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%); + background-color:rgba(92, 112, 128, 0.8); + background-size:30px 30px; + border-radius:40px; + height:100%; + position:absolute; + -webkit-transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + width:100%; } + .bp3-progress-bar:not(.bp3-no-animation):not(.bp3-no-stripes) .bp3-progress-meter{ + animation:linear-progress-bar-stripes 300ms linear infinite reverse; } + .bp3-progress-bar.bp3-no-stripes .bp3-progress-meter{ + background-image:none; } + + .bp3-dark .bp3-progress-bar{ + background:rgba(16, 22, 26, 0.5); } + .bp3-dark .bp3-progress-bar .bp3-progress-meter{ + background-color:#8a9ba8; } + + .bp3-progress-bar.bp3-intent-primary .bp3-progress-meter{ + background-color:#137cbd; } + + .bp3-progress-bar.bp3-intent-success .bp3-progress-meter{ + background-color:#0f9960; } + + .bp3-progress-bar.bp3-intent-warning .bp3-progress-meter{ + background-color:#d9822b; } + + .bp3-progress-bar.bp3-intent-danger .bp3-progress-meter{ + background-color:#db3737; } + @-webkit-keyframes skeleton-glow{ + from{ + background:rgba(206, 217, 224, 0.2); + border-color:rgba(206, 217, 224, 0.2); } + to{ + background:rgba(92, 112, 128, 0.2); + border-color:rgba(92, 112, 128, 0.2); } } + @keyframes skeleton-glow{ + from{ + background:rgba(206, 217, 224, 0.2); + border-color:rgba(206, 217, 224, 0.2); } + to{ + background:rgba(92, 112, 128, 0.2); + border-color:rgba(92, 112, 128, 0.2); } } + .bp3-skeleton{ + -webkit-animation:1000ms linear infinite alternate skeleton-glow; + animation:1000ms linear infinite alternate skeleton-glow; + background:rgba(206, 217, 224, 0.2); + background-clip:padding-box !important; + border-color:rgba(206, 217, 224, 0.2) !important; + border-radius:2px; + -webkit-box-shadow:none !important; + box-shadow:none !important; + color:transparent !important; + cursor:default; + pointer-events:none; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-skeleton::before, .bp3-skeleton::after, + .bp3-skeleton *{ + visibility:hidden !important; } + .bp3-slider{ + height:40px; + min-width:150px; + width:100%; + cursor:default; + outline:none; + position:relative; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-slider:hover{ + cursor:pointer; } + .bp3-slider:active{ + cursor:-webkit-grabbing; + cursor:grabbing; } + .bp3-slider.bp3-disabled{ + cursor:not-allowed; + opacity:0.5; } + .bp3-slider.bp3-slider-unlabeled{ + height:16px; } + + .bp3-slider-track, + .bp3-slider-progress{ + height:6px; + left:0; + right:0; + top:5px; + position:absolute; } + + .bp3-slider-track{ + border-radius:3px; + overflow:hidden; } + + .bp3-slider-progress{ + background:rgba(92, 112, 128, 0.2); } + .bp3-dark .bp3-slider-progress{ + background:rgba(16, 22, 26, 0.5); } + .bp3-slider-progress.bp3-intent-primary{ + background-color:#137cbd; } + .bp3-slider-progress.bp3-intent-success{ + background-color:#0f9960; } + .bp3-slider-progress.bp3-intent-warning{ + background-color:#d9822b; } + .bp3-slider-progress.bp3-intent-danger{ + background-color:#db3737; } + + .bp3-slider-handle{ + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + color:#182026; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + cursor:pointer; + height:16px; + left:0; + position:absolute; + top:0; + width:16px; } + .bp3-slider-handle:hover{ + background-clip:padding-box; + background-color:#ebf1f5; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } + .bp3-slider-handle:active, .bp3-slider-handle.bp3-active{ + background-color:#d8e1e8; + background-image:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-slider-handle:disabled, .bp3-slider-handle.bp3-disabled{ + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; + outline:none; } + .bp3-slider-handle:disabled.bp3-active, .bp3-slider-handle:disabled.bp3-active:hover, .bp3-slider-handle.bp3-disabled.bp3-active, .bp3-slider-handle.bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-slider-handle:focus{ + z-index:1; } + .bp3-slider-handle:hover{ + background-clip:padding-box; + background-color:#ebf1f5; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + cursor:-webkit-grab; + cursor:grab; + z-index:2; } + .bp3-slider-handle.bp3-active{ + background-color:#d8e1e8; + background-image:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1); + cursor:-webkit-grabbing; + cursor:grabbing; } + .bp3-disabled .bp3-slider-handle{ + background:#bfccd6; + -webkit-box-shadow:none; + box-shadow:none; + pointer-events:none; } + .bp3-dark .bp3-slider-handle{ + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + color:#f5f8fa; } + .bp3-dark .bp3-slider-handle:hover, .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-slider-handle:hover{ + background-color:#30404d; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{ + background-color:#202b33; + background-image:none; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-slider-handle:disabled, .bp3-dark .bp3-slider-handle.bp3-disabled{ + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + -webkit-box-shadow:none; + box-shadow:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-slider-handle:disabled.bp3-active, .bp3-dark .bp3-slider-handle.bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-slider-handle .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + .bp3-dark .bp3-slider-handle, .bp3-dark .bp3-slider-handle:hover{ + background-color:#394b59; } + .bp3-dark .bp3-slider-handle.bp3-active{ + background-color:#293742; } + .bp3-dark .bp3-disabled .bp3-slider-handle{ + background:#5c7080; + border-color:#5c7080; + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-slider-handle .bp3-slider-label{ + background:#394b59; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + color:#f5f8fa; + margin-left:8px; } + .bp3-dark .bp3-slider-handle .bp3-slider-label{ + background:#e1e8ed; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + color:#394b59; } + .bp3-disabled .bp3-slider-handle .bp3-slider-label{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-slider-handle.bp3-start, .bp3-slider-handle.bp3-end{ + width:8px; } + .bp3-slider-handle.bp3-start{ + border-bottom-right-radius:0; + border-top-right-radius:0; } + .bp3-slider-handle.bp3-end{ + border-bottom-left-radius:0; + border-top-left-radius:0; + margin-left:8px; } + .bp3-slider-handle.bp3-end .bp3-slider-label{ + margin-left:0; } + + .bp3-slider-label{ + -webkit-transform:translate(-50%, 20px); + transform:translate(-50%, 20px); + display:inline-block; + font-size:12px; + line-height:1; + padding:2px 5px; + position:absolute; + vertical-align:top; } + + .bp3-slider.bp3-vertical{ + height:150px; + min-width:40px; + width:40px; } + .bp3-slider.bp3-vertical .bp3-slider-track, + .bp3-slider.bp3-vertical .bp3-slider-progress{ + bottom:0; + height:auto; + left:5px; + top:0; + width:6px; } + .bp3-slider.bp3-vertical .bp3-slider-progress{ + top:auto; } + .bp3-slider.bp3-vertical .bp3-slider-label{ + -webkit-transform:translate(20px, 50%); + transform:translate(20px, 50%); } + .bp3-slider.bp3-vertical .bp3-slider-handle{ + top:auto; } + .bp3-slider.bp3-vertical .bp3-slider-handle .bp3-slider-label{ + margin-left:0; + margin-top:-8px; } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end, .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{ + height:8px; + margin-left:0; + width:16px; } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{ + border-bottom-right-radius:3px; + border-top-left-radius:0; } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start .bp3-slider-label{ + -webkit-transform:translate(20px); + transform:translate(20px); } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end{ + border-bottom-left-radius:0; + border-bottom-right-radius:0; + border-top-left-radius:3px; + margin-bottom:8px; } + + @-webkit-keyframes pt-spinner-animation{ + from{ + -webkit-transform:rotate(0deg); + transform:rotate(0deg); } + to{ + -webkit-transform:rotate(360deg); + transform:rotate(360deg); } } + + @keyframes pt-spinner-animation{ + from{ + -webkit-transform:rotate(0deg); + transform:rotate(0deg); } + to{ + -webkit-transform:rotate(360deg); + transform:rotate(360deg); } } + + .bp3-spinner{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + overflow:visible; + vertical-align:middle; } + .bp3-spinner svg{ + display:block; } + .bp3-spinner path{ + fill-opacity:0; } + .bp3-spinner .bp3-spinner-head{ + stroke:rgba(92, 112, 128, 0.8); + stroke-linecap:round; + -webkit-transform-origin:center; + transform-origin:center; + -webkit-transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-spinner .bp3-spinner-track{ + stroke:rgba(92, 112, 128, 0.2); } + + .bp3-spinner-animation{ + -webkit-animation:pt-spinner-animation 500ms linear infinite; + animation:pt-spinner-animation 500ms linear infinite; } + .bp3-no-spin > .bp3-spinner-animation{ + -webkit-animation:none; + animation:none; } + + .bp3-dark .bp3-spinner .bp3-spinner-head{ + stroke:#8a9ba8; } + + .bp3-dark .bp3-spinner .bp3-spinner-track{ + stroke:rgba(16, 22, 26, 0.5); } + + .bp3-spinner.bp3-intent-primary .bp3-spinner-head{ + stroke:#137cbd; } + + .bp3-spinner.bp3-intent-success .bp3-spinner-head{ + stroke:#0f9960; } + + .bp3-spinner.bp3-intent-warning .bp3-spinner-head{ + stroke:#d9822b; } + + .bp3-spinner.bp3-intent-danger .bp3-spinner-head{ + stroke:#db3737; } + .bp3-tabs.bp3-vertical{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; } + .bp3-tabs.bp3-vertical > .bp3-tab-list{ + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; } + .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab{ + border-radius:3px; + padding:0 10px; + width:100%; } + .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab[aria-selected="true"]{ + background-color:rgba(19, 124, 189, 0.2); + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab-indicator-wrapper .bp3-tab-indicator{ + background-color:rgba(19, 124, 189, 0.2); + border-radius:3px; + bottom:0; + height:auto; + left:0; + right:0; + top:0; } + .bp3-tabs.bp3-vertical > .bp3-tab-panel{ + margin-top:0; + padding-left:20px; } + + .bp3-tab-list{ + -webkit-box-align:end; + -ms-flex-align:end; + align-items:flex-end; + border:none; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + list-style:none; + margin:0; + padding:0; + position:relative; } + .bp3-tab-list > *:not(:last-child){ + margin-right:20px; } + + .bp3-tab{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + color:#182026; + cursor:pointer; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + font-size:14px; + line-height:30px; + max-width:100%; + position:relative; + vertical-align:top; } + .bp3-tab a{ + color:inherit; + display:block; + text-decoration:none; } + .bp3-tab-indicator-wrapper ~ .bp3-tab{ + background-color:transparent !important; + -webkit-box-shadow:none !important; + box-shadow:none !important; } + .bp3-tab[aria-disabled="true"]{ + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; } + .bp3-tab[aria-selected="true"]{ + border-radius:0; + -webkit-box-shadow:inset 0 -3px 0 #106ba3; + box-shadow:inset 0 -3px 0 #106ba3; } + .bp3-tab[aria-selected="true"], .bp3-tab:not([aria-disabled="true"]):hover{ + color:#106ba3; } + .bp3-tab:focus{ + -moz-outline-radius:0; } + .bp3-large > .bp3-tab{ + font-size:16px; + line-height:40px; } + + .bp3-tab-panel{ + margin-top:20px; } + .bp3-tab-panel[aria-hidden="true"]{ + display:none; } + + .bp3-tab-indicator-wrapper{ + left:0; + pointer-events:none; + position:absolute; + top:0; + -webkit-transform:translateX(0), translateY(0); + transform:translateX(0), translateY(0); + -webkit-transition:height, width, -webkit-transform; + transition:height, width, -webkit-transform; + transition:height, transform, width; + transition:height, transform, width, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-tab-indicator-wrapper .bp3-tab-indicator{ + background-color:#106ba3; + bottom:0; + height:3px; + left:0; + position:absolute; + right:0; } + .bp3-tab-indicator-wrapper.bp3-no-animation{ + -webkit-transition:none; + transition:none; } + + .bp3-dark .bp3-tab{ + color:#f5f8fa; } + .bp3-dark .bp3-tab[aria-disabled="true"]{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tab[aria-selected="true"]{ + -webkit-box-shadow:inset 0 -3px 0 #48aff0; + box-shadow:inset 0 -3px 0 #48aff0; } + .bp3-dark .bp3-tab[aria-selected="true"], .bp3-dark .bp3-tab:not([aria-disabled="true"]):hover{ + color:#48aff0; } + + .bp3-dark .bp3-tab-indicator{ + background-color:#48aff0; } + + .bp3-flex-expander{ + -webkit-box-flex:1; + -ms-flex:1 1; + flex:1 1; } + .bp3-tag{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + background-color:#5c7080; + border:none; + border-radius:3px; + -webkit-box-shadow:none; + box-shadow:none; + color:#f5f8fa; + font-size:12px; + line-height:16px; + max-width:100%; + min-height:20px; + min-width:20px; + padding:2px 6px; + position:relative; } + .bp3-tag.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-interactive:hover{ + background-color:rgba(92, 112, 128, 0.85); } + .bp3-tag.bp3-interactive.bp3-active, .bp3-tag.bp3-interactive:active{ + background-color:rgba(92, 112, 128, 0.7); } + .bp3-tag > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-tag > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-tag::before, + .bp3-tag > *{ + margin-right:4px; } + .bp3-tag:empty::before, + .bp3-tag > :last-child{ + margin-right:0; } + .bp3-tag:focus{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:0; + -moz-outline-radius:6px; } + .bp3-tag.bp3-round{ + border-radius:30px; + padding-left:8px; + padding-right:8px; } + .bp3-dark .bp3-tag{ + background-color:#bfccd6; + color:#182026; } + .bp3-dark .bp3-tag.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-interactive:hover{ + background-color:rgba(191, 204, 214, 0.85); } + .bp3-dark .bp3-tag.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-interactive:active{ + background-color:rgba(191, 204, 214, 0.7); } + .bp3-dark .bp3-tag > .bp3-icon, .bp3-dark .bp3-tag .bp3-icon-standard, .bp3-dark .bp3-tag .bp3-icon-large{ + fill:currentColor; } + .bp3-tag > .bp3-icon, .bp3-tag .bp3-icon-standard, .bp3-tag .bp3-icon-large{ + fill:#ffffff; } + .bp3-tag.bp3-large, + .bp3-large .bp3-tag{ + font-size:14px; + line-height:20px; + min-height:30px; + min-width:30px; + padding:5px 10px; } + .bp3-tag.bp3-large::before, + .bp3-tag.bp3-large > *, + .bp3-large .bp3-tag::before, + .bp3-large .bp3-tag > *{ + margin-right:7px; } + .bp3-tag.bp3-large:empty::before, + .bp3-tag.bp3-large > :last-child, + .bp3-large .bp3-tag:empty::before, + .bp3-large .bp3-tag > :last-child{ + margin-right:0; } + .bp3-tag.bp3-large.bp3-round, + .bp3-large .bp3-tag.bp3-round{ + padding-left:12px; + padding-right:12px; } + .bp3-tag.bp3-intent-primary{ + background:#137cbd; + color:#ffffff; } + .bp3-tag.bp3-intent-primary.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-primary.bp3-interactive:hover{ + background-color:rgba(19, 124, 189, 0.85); } + .bp3-tag.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-primary.bp3-interactive:active{ + background-color:rgba(19, 124, 189, 0.7); } + .bp3-tag.bp3-intent-success{ + background:#0f9960; + color:#ffffff; } + .bp3-tag.bp3-intent-success.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-success.bp3-interactive:hover{ + background-color:rgba(15, 153, 96, 0.85); } + .bp3-tag.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-success.bp3-interactive:active{ + background-color:rgba(15, 153, 96, 0.7); } + .bp3-tag.bp3-intent-warning{ + background:#d9822b; + color:#ffffff; } + .bp3-tag.bp3-intent-warning.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-warning.bp3-interactive:hover{ + background-color:rgba(217, 130, 43, 0.85); } + .bp3-tag.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-warning.bp3-interactive:active{ + background-color:rgba(217, 130, 43, 0.7); } + .bp3-tag.bp3-intent-danger{ + background:#db3737; + color:#ffffff; } + .bp3-tag.bp3-intent-danger.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-danger.bp3-interactive:hover{ + background-color:rgba(219, 55, 55, 0.85); } + .bp3-tag.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-danger.bp3-interactive:active{ + background-color:rgba(219, 55, 55, 0.7); } + .bp3-tag.bp3-fill{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + width:100%; } + .bp3-tag.bp3-minimal > .bp3-icon, .bp3-tag.bp3-minimal .bp3-icon-standard, .bp3-tag.bp3-minimal .bp3-icon-large{ + fill:#5c7080; } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){ + background-color:rgba(138, 155, 168, 0.2); + color:#182026; } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{ + background-color:rgba(92, 112, 128, 0.3); } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{ + background-color:rgba(92, 112, 128, 0.4); } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){ + color:#f5f8fa; } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{ + background-color:rgba(191, 204, 214, 0.3); } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{ + background-color:rgba(191, 204, 214, 0.4); } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) > .bp3-icon, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-large{ + fill:#a7b6c2; } + .bp3-tag.bp3-minimal.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{ + background-color:rgba(19, 124, 189, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{ + background-color:rgba(19, 124, 189, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-primary > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-large{ + fill:#137cbd; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.25); + color:#48aff0; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{ + background-color:rgba(19, 124, 189, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{ + background-color:rgba(19, 124, 189, 0.45); } + .bp3-tag.bp3-minimal.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{ + background-color:rgba(15, 153, 96, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{ + background-color:rgba(15, 153, 96, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-success > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-large{ + fill:#0f9960; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.25); + color:#3dcc91; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{ + background-color:rgba(15, 153, 96, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{ + background-color:rgba(15, 153, 96, 0.45); } + .bp3-tag.bp3-minimal.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{ + background-color:rgba(217, 130, 43, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{ + background-color:rgba(217, 130, 43, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-warning > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-large{ + fill:#d9822b; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.25); + color:#ffb366; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{ + background-color:rgba(217, 130, 43, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{ + background-color:rgba(217, 130, 43, 0.45); } + .bp3-tag.bp3-minimal.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{ + background-color:rgba(219, 55, 55, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{ + background-color:rgba(219, 55, 55, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-danger > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-large{ + fill:#db3737; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.25); + color:#ff7373; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{ + background-color:rgba(219, 55, 55, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{ + background-color:rgba(219, 55, 55, 0.45); } + + .bp3-tag-remove{ + background:none; + border:none; + color:inherit; + cursor:pointer; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + margin-bottom:-2px; + margin-right:-6px !important; + margin-top:-2px; + opacity:0.5; + padding:2px; + padding-left:0; } + .bp3-tag-remove:hover{ + background:none; + opacity:0.8; + text-decoration:none; } + .bp3-tag-remove:active{ + opacity:1; } + .bp3-tag-remove:empty::before{ + font-family:"Icons16", sans-serif; + font-size:16px; + font-style:normal; + font-weight:400; + line-height:1; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + content:""; } + .bp3-large .bp3-tag-remove{ + margin-right:-10px !important; + padding:0 5px 0 0; } + .bp3-large .bp3-tag-remove:empty::before{ + font-family:"Icons20", sans-serif; + font-size:20px; + font-style:normal; + font-weight:400; + line-height:1; } + .bp3-tag-input{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + cursor:text; + height:auto; + line-height:inherit; + min-height:30px; + padding-left:5px; + padding-right:0; } + .bp3-tag-input > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-tag-input > .bp3-tag-input-values{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-tag-input .bp3-tag-input-icon{ + color:#5c7080; + margin-left:2px; + margin-right:7px; + margin-top:7px; } + .bp3-tag-input .bp3-tag-input-values{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -ms-flex-item-align:stretch; + align-self:stretch; + -ms-flex-wrap:wrap; + flex-wrap:wrap; + margin-right:7px; + margin-top:5px; + min-width:0; } + .bp3-tag-input .bp3-tag-input-values > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-tag-input .bp3-tag-input-values > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-tag-input .bp3-tag-input-values::before, + .bp3-tag-input .bp3-tag-input-values > *{ + margin-right:5px; } + .bp3-tag-input .bp3-tag-input-values:empty::before, + .bp3-tag-input .bp3-tag-input-values > :last-child{ + margin-right:0; } + .bp3-tag-input .bp3-tag-input-values:first-child .bp3-input-ghost:first-child{ + padding-left:5px; } + .bp3-tag-input .bp3-tag-input-values > *{ + margin-bottom:5px; } + .bp3-tag-input .bp3-tag{ + overflow-wrap:break-word; } + .bp3-tag-input .bp3-tag.bp3-active{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:0; + -moz-outline-radius:6px; } + .bp3-tag-input .bp3-input-ghost{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + line-height:20px; + width:80px; } + .bp3-tag-input .bp3-input-ghost:disabled, .bp3-tag-input .bp3-input-ghost.bp3-disabled{ + cursor:not-allowed; } + .bp3-tag-input .bp3-button, + .bp3-tag-input .bp3-spinner{ + margin:3px; + margin-left:0; } + .bp3-tag-input .bp3-button{ + min-height:24px; + min-width:24px; + padding:0 7px; } + .bp3-tag-input.bp3-large{ + height:auto; + min-height:40px; } + .bp3-tag-input.bp3-large::before, + .bp3-tag-input.bp3-large > *{ + margin-right:10px; } + .bp3-tag-input.bp3-large:empty::before, + .bp3-tag-input.bp3-large > :last-child{ + margin-right:0; } + .bp3-tag-input.bp3-large .bp3-tag-input-icon{ + margin-left:5px; + margin-top:10px; } + .bp3-tag-input.bp3-large .bp3-input-ghost{ + line-height:30px; } + .bp3-tag-input.bp3-large .bp3-button{ + min-height:30px; + min-width:30px; + padding:5px 10px; + margin:5px; + margin-left:0; } + .bp3-tag-input.bp3-large .bp3-spinner{ + margin:8px; + margin-left:0; } + .bp3-tag-input.bp3-active{ + background-color:#ffffff; + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-tag-input.bp3-active.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-tag-input.bp3-active.bp3-intent-success{ + -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-tag-input.bp3-active.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-tag-input.bp3-active.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-tag-input .bp3-tag-input-icon, .bp3-tag-input.bp3-dark .bp3-tag-input-icon{ + color:#a7b6c2; } + .bp3-dark .bp3-tag-input .bp3-input-ghost, .bp3-tag-input.bp3-dark .bp3-input-ghost{ + color:#f5f8fa; } + .bp3-dark .bp3-tag-input .bp3-input-ghost::-webkit-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost::-moz-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost:-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost::-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost::placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input.bp3-active, .bp3-tag-input.bp3-dark.bp3-active{ + background-color:rgba(16, 22, 26, 0.3); + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-primary, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-success, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-success{ + -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-warning, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-danger, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + + .bp3-input-ghost{ + background:none; + border:none; + -webkit-box-shadow:none; + box-shadow:none; + padding:0; } + .bp3-input-ghost::-webkit-input-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-input-ghost::-moz-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-input-ghost:-ms-input-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-input-ghost::-ms-input-placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-input-ghost::placeholder{ + color:rgba(92, 112, 128, 0.6); + opacity:1; } + .bp3-input-ghost:focus{ + outline:none !important; } + .bp3-toast{ + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + background-color:#ffffff; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + margin:20px 0 0; + max-width:500px; + min-width:300px; + pointer-events:all; + position:relative !important; } + .bp3-toast.bp3-toast-enter, .bp3-toast.bp3-toast-appear{ + -webkit-transform:translateY(-40px); + transform:translateY(-40px); } + .bp3-toast.bp3-toast-enter-active, .bp3-toast.bp3-toast-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); } + .bp3-toast.bp3-toast-enter ~ .bp3-toast, .bp3-toast.bp3-toast-appear ~ .bp3-toast{ + -webkit-transform:translateY(-40px); + transform:translateY(-40px); } + .bp3-toast.bp3-toast-enter-active ~ .bp3-toast, .bp3-toast.bp3-toast-appear-active ~ .bp3-toast{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); } + .bp3-toast.bp3-toast-exit{ + opacity:1; + -webkit-filter:blur(0); + filter:blur(0); } + .bp3-toast.bp3-toast-exit-active{ + opacity:0; + -webkit-filter:blur(10px); + filter:blur(10px); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-property:opacity, -webkit-filter; + transition-property:opacity, -webkit-filter; + transition-property:opacity, filter; + transition-property:opacity, filter, -webkit-filter; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-toast.bp3-toast-exit ~ .bp3-toast{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-toast.bp3-toast-exit-active ~ .bp3-toast{ + -webkit-transform:translateY(-40px); + transform:translateY(-40px); + -webkit-transition-delay:50ms; + transition-delay:50ms; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-toast .bp3-button-group{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + padding:5px; + padding-left:0; } + .bp3-toast > .bp3-icon{ + color:#5c7080; + margin:12px; + margin-right:0; } + .bp3-toast.bp3-dark, + .bp3-dark .bp3-toast{ + background-color:#394b59; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + .bp3-toast.bp3-dark > .bp3-icon, + .bp3-dark .bp3-toast > .bp3-icon{ + color:#a7b6c2; } + .bp3-toast[class*="bp3-intent-"] a{ + color:rgba(255, 255, 255, 0.7); } + .bp3-toast[class*="bp3-intent-"] a:hover{ + color:#ffffff; } + .bp3-toast[class*="bp3-intent-"] > .bp3-icon{ + color:#ffffff; } + .bp3-toast[class*="bp3-intent-"] .bp3-button, .bp3-toast[class*="bp3-intent-"] .bp3-button::before, + .bp3-toast[class*="bp3-intent-"] .bp3-button .bp3-icon, .bp3-toast[class*="bp3-intent-"] .bp3-button:active{ + color:rgba(255, 255, 255, 0.7) !important; } + .bp3-toast[class*="bp3-intent-"] .bp3-button:focus{ + outline-color:rgba(255, 255, 255, 0.5); } + .bp3-toast[class*="bp3-intent-"] .bp3-button:hover{ + background-color:rgba(255, 255, 255, 0.15) !important; + color:#ffffff !important; } + .bp3-toast[class*="bp3-intent-"] .bp3-button:active{ + background-color:rgba(255, 255, 255, 0.3) !important; + color:#ffffff !important; } + .bp3-toast[class*="bp3-intent-"] .bp3-button::after{ + background:rgba(255, 255, 255, 0.3) !important; } + .bp3-toast.bp3-intent-primary{ + background-color:#137cbd; + color:#ffffff; } + .bp3-toast.bp3-intent-success{ + background-color:#0f9960; + color:#ffffff; } + .bp3-toast.bp3-intent-warning{ + background-color:#d9822b; + color:#ffffff; } + .bp3-toast.bp3-intent-danger{ + background-color:#db3737; + color:#ffffff; } + + .bp3-toast-message{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + padding:11px; + word-break:break-word; } + + .bp3-toast-container{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + display:-webkit-box !important; + display:-ms-flexbox !important; + display:flex !important; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + left:0; + overflow:hidden; + padding:0 20px 20px; + pointer-events:none; + right:0; + z-index:40; } + .bp3-toast-container.bp3-toast-container-in-portal{ + position:fixed; } + .bp3-toast-container.bp3-toast-container-inline{ + position:absolute; } + .bp3-toast-container.bp3-toast-container-top{ + top:0; } + .bp3-toast-container.bp3-toast-container-bottom{ + bottom:0; + -webkit-box-orient:vertical; + -webkit-box-direction:reverse; + -ms-flex-direction:column-reverse; + flex-direction:column-reverse; + top:auto; } + .bp3-toast-container.bp3-toast-container-left{ + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; } + .bp3-toast-container.bp3-toast-container-right{ + -webkit-box-align:end; + -ms-flex-align:end; + align-items:flex-end; } + + .bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active), + .bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active) ~ .bp3-toast, .bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active), + .bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active) ~ .bp3-toast, + .bp3-toast-container-bottom .bp3-toast.bp3-toast-exit-active ~ .bp3-toast, + .bp3-toast-container-bottom .bp3-toast.bp3-toast-leave-active ~ .bp3-toast{ + -webkit-transform:translateY(60px); + transform:translateY(60px); } + .bp3-tooltip{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-tooltip .bp3-popover-arrow{ + height:22px; + position:absolute; + width:22px; } + .bp3-tooltip .bp3-popover-arrow::before{ + height:14px; + margin:4px; + width:14px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip{ + margin-bottom:11px; + margin-top:-11px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{ + bottom:-8px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(-90deg); + transform:rotate(-90deg); } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip{ + margin-left:11px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{ + left:-8px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(0); + transform:rotate(0); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip{ + margin-top:11px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{ + top:-8px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(90deg); + transform:rotate(90deg); } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip{ + margin-left:-11px; + margin-right:11px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{ + right:-8px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(180deg); + transform:rotate(180deg); } + .bp3-tether-element-attached-middle > .bp3-tooltip > .bp3-popover-arrow{ + top:50%; + -webkit-transform:translateY(-50%); + transform:translateY(-50%); } + .bp3-tether-element-attached-center > .bp3-tooltip > .bp3-popover-arrow{ + right:50%; + -webkit-transform:translateX(50%); + transform:translateX(50%); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{ + top:-0.22183px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{ + right:-0.22183px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{ + left:-0.22183px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{ + bottom:-0.22183px; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-tooltip{ + -webkit-transform-origin:top left; + transform-origin:top left; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-tooltip{ + -webkit-transform-origin:top center; + transform-origin:top center; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-tooltip{ + -webkit-transform-origin:top right; + transform-origin:top right; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-tooltip{ + -webkit-transform-origin:center left; + transform-origin:center left; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-tooltip{ + -webkit-transform-origin:center center; + transform-origin:center center; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-tooltip{ + -webkit-transform-origin:center right; + transform-origin:center right; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-tooltip{ + -webkit-transform-origin:bottom left; + transform-origin:bottom left; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-tooltip{ + -webkit-transform-origin:bottom center; + transform-origin:bottom center; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-tooltip{ + -webkit-transform-origin:bottom right; + transform-origin:bottom right; } + .bp3-tooltip .bp3-popover-content{ + background:#394b59; + color:#f5f8fa; } + .bp3-tooltip .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); } + .bp3-tooltip .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.1; } + .bp3-tooltip .bp3-popover-arrow-fill{ + fill:#394b59; } + .bp3-popover-enter > .bp3-tooltip, .bp3-popover-appear > .bp3-tooltip{ + -webkit-transform:scale(0.8); + transform:scale(0.8); } + .bp3-popover-enter-active > .bp3-tooltip, .bp3-popover-appear-active > .bp3-tooltip{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-popover-exit > .bp3-tooltip{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-exit-active > .bp3-tooltip{ + -webkit-transform:scale(0.8); + transform:scale(0.8); + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-tooltip .bp3-popover-content{ + padding:10px 12px; } + .bp3-tooltip.bp3-dark, + .bp3-dark .bp3-tooltip{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + .bp3-tooltip.bp3-dark .bp3-popover-content, + .bp3-dark .bp3-tooltip .bp3-popover-content{ + background:#e1e8ed; + color:#394b59; } + .bp3-tooltip.bp3-dark .bp3-popover-arrow::before, + .bp3-dark .bp3-tooltip .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); } + .bp3-tooltip.bp3-dark .bp3-popover-arrow-border, + .bp3-dark .bp3-tooltip .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.2; } + .bp3-tooltip.bp3-dark .bp3-popover-arrow-fill, + .bp3-dark .bp3-tooltip .bp3-popover-arrow-fill{ + fill:#e1e8ed; } + .bp3-tooltip.bp3-intent-primary .bp3-popover-content{ + background:#137cbd; + color:#ffffff; } + .bp3-tooltip.bp3-intent-primary .bp3-popover-arrow-fill{ + fill:#137cbd; } + .bp3-tooltip.bp3-intent-success .bp3-popover-content{ + background:#0f9960; + color:#ffffff; } + .bp3-tooltip.bp3-intent-success .bp3-popover-arrow-fill{ + fill:#0f9960; } + .bp3-tooltip.bp3-intent-warning .bp3-popover-content{ + background:#d9822b; + color:#ffffff; } + .bp3-tooltip.bp3-intent-warning .bp3-popover-arrow-fill{ + fill:#d9822b; } + .bp3-tooltip.bp3-intent-danger .bp3-popover-content{ + background:#db3737; + color:#ffffff; } + .bp3-tooltip.bp3-intent-danger .bp3-popover-arrow-fill{ + fill:#db3737; } + + .bp3-tooltip-indicator{ + border-bottom:dotted 1px; + cursor:help; } + .bp3-tree .bp3-icon, .bp3-tree .bp3-icon-standard, .bp3-tree .bp3-icon-large{ + color:#5c7080; } + .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-tree .bp3-icon-large.bp3-intent-primary{ + color:#137cbd; } + .bp3-tree .bp3-icon.bp3-intent-success, .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-tree .bp3-icon-large.bp3-intent-success{ + color:#0f9960; } + .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-tree .bp3-icon-large.bp3-intent-warning{ + color:#d9822b; } + .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-tree .bp3-icon-large.bp3-intent-danger{ + color:#db3737; } + + .bp3-tree-node-list{ + list-style:none; + margin:0; + padding-left:0; } + + .bp3-tree-root{ + background-color:transparent; + cursor:default; + padding-left:0; + position:relative; } + + .bp3-tree-node-content-0{ + padding-left:0px; } + + .bp3-tree-node-content-1{ + padding-left:23px; } + + .bp3-tree-node-content-2{ + padding-left:46px; } + + .bp3-tree-node-content-3{ + padding-left:69px; } + + .bp3-tree-node-content-4{ + padding-left:92px; } + + .bp3-tree-node-content-5{ + padding-left:115px; } + + .bp3-tree-node-content-6{ + padding-left:138px; } + + .bp3-tree-node-content-7{ + padding-left:161px; } + + .bp3-tree-node-content-8{ + padding-left:184px; } + + .bp3-tree-node-content-9{ + padding-left:207px; } + + .bp3-tree-node-content-10{ + padding-left:230px; } + + .bp3-tree-node-content-11{ + padding-left:253px; } + + .bp3-tree-node-content-12{ + padding-left:276px; } + + .bp3-tree-node-content-13{ + padding-left:299px; } + + .bp3-tree-node-content-14{ + padding-left:322px; } + + .bp3-tree-node-content-15{ + padding-left:345px; } + + .bp3-tree-node-content-16{ + padding-left:368px; } + + .bp3-tree-node-content-17{ + padding-left:391px; } + + .bp3-tree-node-content-18{ + padding-left:414px; } + + .bp3-tree-node-content-19{ + padding-left:437px; } + + .bp3-tree-node-content-20{ + padding-left:460px; } + + .bp3-tree-node-content{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + height:30px; + padding-right:5px; + width:100%; } + .bp3-tree-node-content:hover{ + background-color:rgba(191, 204, 214, 0.4); } + + .bp3-tree-node-caret, + .bp3-tree-node-caret-none{ + min-width:30px; } + + .bp3-tree-node-caret{ + color:#5c7080; + cursor:pointer; + padding:7px; + -webkit-transform:rotate(0deg); + transform:rotate(0deg); + -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-tree-node-caret:hover{ + color:#182026; } + .bp3-dark .bp3-tree-node-caret{ + color:#a7b6c2; } + .bp3-dark .bp3-tree-node-caret:hover{ + color:#f5f8fa; } + .bp3-tree-node-caret.bp3-tree-node-caret-open{ + -webkit-transform:rotate(90deg); + transform:rotate(90deg); } + .bp3-tree-node-caret.bp3-icon-standard::before{ + content:""; } + + .bp3-tree-node-icon{ + margin-right:7px; + position:relative; } + + .bp3-tree-node-label{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + position:relative; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-tree-node-label span{ + display:inline; } + + .bp3-tree-node-secondary-label{ + padding:0 5px; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-tree-node-secondary-label .bp3-popover-wrapper, + .bp3-tree-node-secondary-label .bp3-popover-target{ + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + display:-webkit-box; + display:-ms-flexbox; + display:flex; } + + .bp3-tree-node.bp3-disabled .bp3-tree-node-content{ + background-color:inherit; + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; } + + .bp3-tree-node.bp3-disabled .bp3-tree-node-caret, + .bp3-tree-node.bp3-disabled .bp3-tree-node-icon{ + color:rgba(92, 112, 128, 0.6); + cursor:not-allowed; } + + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{ + background-color:#137cbd; } + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content, + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-standard, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-large{ + color:#ffffff; } + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret::before{ + color:rgba(255, 255, 255, 0.7); } + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret:hover::before{ + color:#ffffff; } + + .bp3-dark .bp3-tree-node-content:hover{ + background-color:rgba(92, 112, 128, 0.3); } + + .bp3-dark .bp3-tree .bp3-icon, .bp3-dark .bp3-tree .bp3-icon-standard, .bp3-dark .bp3-tree .bp3-icon-large{ + color:#a7b6c2; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-primary{ + color:#137cbd; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-success{ + color:#0f9960; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-warning{ + color:#d9822b; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-danger{ + color:#db3737; } + + .bp3-dark .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{ + background-color:#137cbd; } + .bp3-omnibar{ + -webkit-filter:blur(0); + filter:blur(0); + opacity:1; + background-color:#ffffff; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + left:calc(50% - 250px); + top:20vh; + width:500px; + z-index:21; } + .bp3-omnibar.bp3-overlay-enter, .bp3-omnibar.bp3-overlay-appear{ + -webkit-filter:blur(20px); + filter:blur(20px); + opacity:0.2; } + .bp3-omnibar.bp3-overlay-enter-active, .bp3-omnibar.bp3-overlay-appear-active{ + -webkit-filter:blur(0); + filter:blur(0); + opacity:1; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-property:opacity, -webkit-filter; + transition-property:opacity, -webkit-filter; + transition-property:filter, opacity; + transition-property:filter, opacity, -webkit-filter; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-omnibar.bp3-overlay-exit{ + -webkit-filter:blur(0); + filter:blur(0); + opacity:1; } + .bp3-omnibar.bp3-overlay-exit-active{ + -webkit-filter:blur(20px); + filter:blur(20px); + opacity:0.2; + -webkit-transition-delay:0; + transition-delay:0; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-property:opacity, -webkit-filter; + transition-property:opacity, -webkit-filter; + transition-property:filter, opacity; + transition-property:filter, opacity, -webkit-filter; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-omnibar .bp3-input{ + background-color:transparent; + border-radius:0; } + .bp3-omnibar .bp3-input, .bp3-omnibar .bp3-input:focus{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-omnibar .bp3-menu{ + background-color:transparent; + border-radius:0; + -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + max-height:calc(60vh - 40px); + overflow:auto; } + .bp3-omnibar .bp3-menu:empty{ + display:none; } + .bp3-dark .bp3-omnibar, .bp3-omnibar.bp3-dark{ + background-color:#30404d; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); } + + .bp3-omnibar-overlay .bp3-overlay-backdrop{ + background-color:rgba(16, 22, 26, 0.2); } + + .bp3-select-popover .bp3-popover-content{ + padding:5px; } + + .bp3-select-popover .bp3-input-group{ + margin-bottom:0; } + + .bp3-select-popover .bp3-menu{ + max-height:300px; + max-width:400px; + overflow:auto; + padding:0; } + .bp3-select-popover .bp3-menu:not(:first-child){ + padding-top:5px; } + + .bp3-multi-select{ + min-width:150px; } + + .bp3-multi-select-popover .bp3-menu{ + max-height:300px; + max-width:400px; + overflow:auto; } + + .bp3-select-popover .bp3-popover-content{ + padding:5px; } + + .bp3-select-popover .bp3-input-group{ + margin-bottom:0; } + + .bp3-select-popover .bp3-menu{ + max-height:300px; + max-width:400px; + overflow:auto; + padding:0; } + .bp3-select-popover .bp3-menu:not(:first-child){ + padding-top:5px; } + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */ + + /** + * (DEPRECATED) Support for consuming icons as CSS background images + */ + + /* Icons urls */ + + :root { + --jp-icon-add-above: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5MikiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik00Ljc1IDQuOTMwNjZINi42MjVWNi44MDU2NkM2LjYyNSA3LjAxMTkxIDYuNzkzNzUgNy4xODA2NiA3IDcuMTgwNjZDNy4yMDYyNSA3LjE4MDY2IDcuMzc1IDcuMDExOTEgNy4zNzUgNi44MDU2NlY0LjkzMDY2SDkuMjVDOS40NTYyNSA0LjkzMDY2IDkuNjI1IDQuNzYxOTEgOS42MjUgNC41NTU2NkM5LjYyNSA0LjM0OTQxIDkuNDU2MjUgNC4xODA2NiA5LjI1IDQuMTgwNjZINy4zNzVWMi4zMDU2NkM3LjM3NSAyLjA5OTQxIDcuMjA2MjUgMS45MzA2NiA3IDEuOTMwNjZDNi43OTM3NSAxLjkzMDY2IDYuNjI1IDIuMDk5NDEgNi42MjUgMi4zMDU2NlY0LjE4MDY2SDQuNzVDNC41NDM3NSA0LjE4MDY2IDQuMzc1IDQuMzQ5NDEgNC4zNzUgNC41NTU2NkM0LjM3NSA0Ljc2MTkxIDQuNTQzNzUgNC45MzA2NiA0Ljc1IDQuOTMwNjZaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC43Ii8+CjwvZz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjUgOS41VjExLjVMMi41IDExLjVWOS41TDExLjUgOS41Wk0xMiA4QzEyLjU1MjMgOCAxMyA4LjQ0NzcyIDEzIDlWMTJDMTMgMTIuNTUyMyAxMi41NTIzIDEzIDEyIDEzTDIgMTNDMS40NDc3MiAxMyAxIDEyLjU1MjMgMSAxMlY5QzEgOC40NDc3MiAxLjQ0NzcxIDggMiA4TDEyIDhaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5MiI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAxIDEwIDEuNTU1NjYpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==); + --jp-icon-add-below: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5OCkiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik05LjI1IDEwLjA2OTNMNy4zNzUgMTAuMDY5M0w3LjM3NSA4LjE5NDM0QzcuMzc1IDcuOTg4MDkgNy4yMDYyNSA3LjgxOTM0IDcgNy44MTkzNEM2Ljc5Mzc1IDcuODE5MzQgNi42MjUgNy45ODgwOSA2LjYyNSA4LjE5NDM0TDYuNjI1IDEwLjA2OTNMNC43NSAxMC4wNjkzQzQuNTQzNzUgMTAuMDY5MyA0LjM3NSAxMC4yMzgxIDQuMzc1IDEwLjQ0NDNDNC4zNzUgMTAuNjUwNiA0LjU0Mzc1IDEwLjgxOTMgNC43NSAxMC44MTkzTDYuNjI1IDEwLjgxOTNMNi42MjUgMTIuNjk0M0M2LjYyNSAxMi45MDA2IDYuNzkzNzUgMTMuMDY5MyA3IDEzLjA2OTNDNy4yMDYyNSAxMy4wNjkzIDcuMzc1IDEyLjkwMDYgNy4zNzUgMTIuNjk0M0w3LjM3NSAxMC44MTkzTDkuMjUgMTAuODE5M0M5LjQ1NjI1IDEwLjgxOTMgOS42MjUgMTAuNjUwNiA5LjYyNSAxMC40NDQzQzkuNjI1IDEwLjIzODEgOS40NTYyNSAxMC4wNjkzIDkuMjUgMTAuMDY5M1oiIGZpbGw9IiM2MTYxNjEiIHN0cm9rZT0iIzYxNjE2MSIgc3Ryb2tlLXdpZHRoPSIwLjciLz4KPC9nPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMi41IDUuNUwyLjUgMy41TDExLjUgMy41TDExLjUgNS41TDIuNSA1LjVaTTIgN0MxLjQ0NzcyIDcgMSA2LjU1MjI4IDEgNkwxIDNDMSAyLjQ0NzcyIDEuNDQ3NzIgMiAyIDJMMTIgMkMxMi41NTIzIDIgMTMgMi40NDc3MiAxMyAzTDEzIDZDMTMgNi41NTIyOSAxMi41NTIzIDcgMTIgN0wyIDdaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5OCI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KDEgMS43NDg0NmUtMDcgMS43NDg0NmUtMDcgLTEgNCAxMy40NDQzKSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=); + --jp-icon-add: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-bell: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiPgogICA8cGF0aCBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzMzMzMzIgogICAgICBkPSJtOCAwLjI5Yy0xLjQgMC0yLjcgMC43My0zLjYgMS44LTEuMiAxLjUtMS40IDMuNC0xLjUgNS4yLTAuMTggMi4yLTAuNDQgNC0yLjMgNS4zbDAuMjggMS4zaDVjMC4wMjYgMC42NiAwLjMyIDEuMSAwLjcxIDEuNSAwLjg0IDAuNjEgMiAwLjYxIDIuOCAwIDAuNTItMC40IDAuNi0xIDAuNzEtMS41aDVsMC4yOC0xLjNjLTEuOS0wLjk3LTIuMi0zLjMtMi4zLTUuMy0wLjEzLTEuOC0wLjI2LTMuNy0xLjUtNS4yLTAuODUtMS0yLjItMS44LTMuNi0xLjh6bTAgMS40YzAuODggMCAxLjkgMC41NSAyLjUgMS4zIDAuODggMS4xIDEuMSAyLjcgMS4yIDQuNCAwLjEzIDEuNyAwLjIzIDMuNiAxLjMgNS4yaC0xMGMxLjEtMS42IDEuMi0zLjQgMS4zLTUuMiAwLjEzLTEuNyAwLjMtMy4zIDEuMi00LjQgMC41OS0wLjcyIDEuNi0xLjMgMi41LTEuM3ptLTAuNzQgMTJoMS41Yy0wLjAwMTUgMC4yOCAwLjAxNSAwLjc5LTAuNzQgMC43OS0wLjczIDAuMDAxNi0wLjcyLTAuNTMtMC43NC0wLjc5eiIgLz4KPC9zdmc+Cg==); + --jp-icon-bug-dot: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMTkgOEgyMFYxMEgxNy45MUMxNy45NiAxMC4zMyAxOCAxMC42NiAxOCAxMVYxMkgyMFYxNEgxOC41SDE4VjE0LjAyNzVDMTUuNzUgMTQuMjc2MiAxNCAxNi4xODM3IDE0IDE4LjVDMTQgMTkuMjA4IDE0LjE2MzUgMTkuODc3OSAxNC40NTQ5IDIwLjQ3MzlDMTMuNzA2MyAyMC44MTE3IDEyLjg3NTcgMjEgMTIgMjFDOS43OCAyMSA3Ljg1IDE5Ljc5IDYuODEgMThINFYxNkg2LjA5QzYuMDQgMTUuNjcgNiAxNS4zNCA2IDE1VjE0SDRWMTJINlYxMUM2IDEwLjY2IDYuMDQgMTAuMzMgNi4wOSAxMEg0VjhINi44MUM3LjI2IDcuMjIgNy44OCA2LjU1IDguNjIgNi4wNEw3IDQuNDFMOC40MSAzTDEwLjU5IDUuMTdDMTEuMDQgNS4wNiAxMS41MSA1IDEyIDVDMTIuNDkgNSAxMi45NiA1LjA2IDEzLjQyIDUuMTdMMTUuNTkgM0wxNyA0LjQxTDE1LjM3IDYuMDRDMTYuMTIgNi41NSAxNi43NCA3LjIyIDE3LjE5IDhaTTEwIDE2SDE0VjE0SDEwVjE2Wk0xMCAxMkgxNFYxMEgxMFYxMloiIGZpbGw9IiM2MTYxNjEiLz4KICAgICAgICA8cGF0aCBkPSJNMjIgMTguNUMyMiAyMC40MzMgMjAuNDMzIDIyIDE4LjUgMjJDMTYuNTY3IDIyIDE1IDIwLjQzMyAxNSAxOC41QzE1IDE2LjU2NyAxNi41NjcgMTUgMTguNSAxNUMyMC40MzMgMTUgMjIgMTYuNTY3IDIyIDE4LjVaIiBmaWxsPSIjNjE2MTYxIi8+CiAgICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-bug: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yMCA4aC0yLjgxYy0uNDUtLjc4LTEuMDctMS40NS0xLjgyLTEuOTZMMTcgNC40MSAxNS41OSAzbC0yLjE3IDIuMTdDMTIuOTYgNS4wNiAxMi40OSA1IDEyIDVjLS40OSAwLS45Ni4wNi0xLjQxLjE3TDguNDEgMyA3IDQuNDFsMS42MiAxLjYzQzcuODggNi41NSA3LjI2IDcuMjIgNi44MSA4SDR2MmgyLjA5Yy0uMDUuMzMtLjA5LjY2LS4wOSAxdjFINHYyaDJ2MWMwIC4zNC4wNC42Ny4wOSAxSDR2MmgyLjgxYzEuMDQgMS43OSAyLjk3IDMgNS4xOSAzczQuMTUtMS4yMSA1LjE5LTNIMjB2LTJoLTIuMDljLjA1LS4zMy4wOS0uNjYuMDktMXYtMWgydi0yaC0ydi0xYzAtLjM0LS4wNC0uNjctLjA5LTFIMjBWOHptLTYgOGgtNHYtMmg0djJ6bTAtNGgtNHYtMmg0djJ6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-build: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE0LjkgMTcuNDVDMTYuMjUgMTcuNDUgMTcuMzUgMTYuMzUgMTcuMzUgMTVDMTcuMzUgMTMuNjUgMTYuMjUgMTIuNTUgMTQuOSAxMi41NUMxMy41NCAxMi41NSAxMi40NSAxMy42NSAxMi40NSAxNUMxMi40NSAxNi4zNSAxMy41NCAxNy40NSAxNC45IDE3LjQ1Wk0yMC4xIDE1LjY4TDIxLjU4IDE2Ljg0QzIxLjcxIDE2Ljk1IDIxLjc1IDE3LjEzIDIxLjY2IDE3LjI5TDIwLjI2IDE5LjcxQzIwLjE3IDE5Ljg2IDIwIDE5LjkyIDE5LjgzIDE5Ljg2TDE4LjA5IDE5LjE2QzE3LjczIDE5LjQ0IDE3LjMzIDE5LjY3IDE2LjkxIDE5Ljg1TDE2LjY0IDIxLjdDMTYuNjIgMjEuODcgMTYuNDcgMjIgMTYuMyAyMkgxMy41QzEzLjMyIDIyIDEzLjE4IDIxLjg3IDEzLjE1IDIxLjdMMTIuODkgMTkuODVDMTIuNDYgMTkuNjcgMTIuMDcgMTkuNDQgMTEuNzEgMTkuMTZMOS45NjAwMiAxOS44NkM5LjgxMDAyIDE5LjkyIDkuNjIwMDIgMTkuODYgOS41NDAwMiAxOS43MUw4LjE0MDAyIDE3LjI5QzguMDUwMDIgMTcuMTMgOC4wOTAwMiAxNi45NSA4LjIyMDAyIDE2Ljg0TDkuNzAwMDIgMTUuNjhMOS42NTAwMSAxNUw5LjcwMDAyIDE0LjMxTDguMjIwMDIgMTMuMTZDOC4wOTAwMiAxMy4wNSA4LjA1MDAyIDEyLjg2IDguMTQwMDIgMTIuNzFMOS41NDAwMiAxMC4yOUM5LjYyMDAyIDEwLjEzIDkuODEwMDIgMTAuMDcgOS45NjAwMiAxMC4xM0wxMS43MSAxMC44NEMxMi4wNyAxMC41NiAxMi40NiAxMC4zMiAxMi44OSAxMC4xNUwxMy4xNSA4LjI4OTk4QzEzLjE4IDguMTI5OTggMTMuMzIgNy45OTk5OCAxMy41IDcuOTk5OThIMTYuM0MxNi40NyA3Ljk5OTk4IDE2LjYyIDguMTI5OTggMTYuNjQgOC4yODk5OEwxNi45MSAxMC4xNUMxNy4zMyAxMC4zMiAxNy43MyAxMC41NiAxOC4wOSAxMC44NEwxOS44MyAxMC4xM0MyMCAxMC4wNyAyMC4xNyAxMC4xMyAyMC4yNiAxMC4yOUwyMS42NiAxMi43MUMyMS43NSAxMi44NiAyMS43MSAxMy4wNSAyMS41OCAxMy4xNkwyMC4xIDE0LjMxTDIwLjE1IDE1TDIwLjEgMTUuNjhaIi8+CiAgICA8cGF0aCBkPSJNNy4zMjk2NiA3LjQ0NDU0QzguMDgzMSA3LjAwOTU0IDguMzM5MzIgNi4wNTMzMiA3LjkwNDMyIDUuMjk5ODhDNy40NjkzMiA0LjU0NjQzIDYuNTA4MSA0LjI4MTU2IDUuNzU0NjYgNC43MTY1NkM1LjM5MTc2IDQuOTI2MDggNS4xMjY5NSA1LjI3MTE4IDUuMDE4NDkgNS42NzU5NEM0LjkxMDA0IDYuMDgwNzEgNC45NjY4MiA2LjUxMTk4IDUuMTc2MzQgNi44NzQ4OEM1LjYxMTM0IDcuNjI4MzIgNi41NzYyMiA3Ljg3OTU0IDcuMzI5NjYgNy40NDQ1NFpNOS42NTcxOCA0Ljc5NTkzTDEwLjg2NzIgNC45NTE3OUMxMC45NjI4IDQuOTc3NDEgMTEuMDQwMiA1LjA3MTMzIDExLjAzODIgNS4xODc5M0wxMS4wMzg4IDYuOTg4OTNDMTEuMDQ1NSA3LjEwMDU0IDEwLjk2MTYgNy4xOTUxOCAxMC44NTUgNy4yMTA1NEw5LjY2MDAxIDcuMzgwODNMOS4yMzkxNSA4LjEzMTg4TDkuNjY5NjEgOS4yNTc0NUM5LjcwNzI5IDkuMzYyNzEgOS42NjkzNCA5LjQ3Njk5IDkuNTc0MDggOS41MzE5OUw4LjAxNTIzIDEwLjQzMkM3LjkxMTMxIDEwLjQ5MiA3Ljc5MzM3IDEwLjQ2NzcgNy43MjEwNSAxMC4zODI0TDYuOTg3NDggOS40MzE4OEw2LjEwOTMxIDkuNDMwODNMNS4zNDcwNCAxMC4zOTA1QzUuMjg5MDkgMTAuNDcwMiA1LjE3MzgzIDEwLjQ5MDUgNS4wNzE4NyAxMC40MzM5TDMuNTEyNDUgOS41MzI5M0MzLjQxMDQ5IDkuNDc2MzMgMy4zNzY0NyA5LjM1NzQxIDMuNDEwNzUgOS4yNTY3OUwzLjg2MzQ3IDguMTQwOTNMMy42MTc0OSA3Ljc3NDg4TDMuNDIzNDcgNy4zNzg4M0wyLjIzMDc1IDcuMjEyOTdDMi4xMjY0NyA3LjE5MjM1IDIuMDQwNDkgNy4xMDM0MiAyLjA0MjQ1IDYuOTg2ODJMMi4wNDE4NyA1LjE4NTgyQzIuMDQzODMgNS4wNjkyMiAyLjExOTA5IDQuOTc5NTggMi4yMTcwNCA0Ljk2OTIyTDMuNDIwNjUgNC43OTM5M0wzLjg2NzQ5IDQuMDI3ODhMMy40MTEwNSAyLjkxNzMxQzMuMzczMzcgMi44MTIwNCAzLjQxMTMxIDIuNjk3NzYgMy41MTUyMyAyLjYzNzc2TDUuMDc0MDggMS43Mzc3NkM1LjE2OTM0IDEuNjgyNzYgNS4yODcyOSAxLjcwNzA0IDUuMzU5NjEgMS43OTIzMUw2LjExOTE1IDIuNzI3ODhMNi45ODAwMSAyLjczODkzTDcuNzI0OTYgMS43ODkyMkM3Ljc5MTU2IDEuNzA0NTggNy45MTU0OCAxLjY3OTIyIDguMDA4NzkgMS43NDA4Mkw5LjU2ODIxIDIuNjQxODJDOS42NzAxNyAyLjY5ODQyIDkuNzEyODUgMi44MTIzNCA5LjY4NzIzIDIuOTA3OTdMOS4yMTcxOCA0LjAzMzgzTDkuNDYzMTYgNC4zOTk4OEw5LjY1NzE4IDQuNzk1OTNaIi8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-caret-down-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iOS45LDEzLjYgMy42LDcuNCA0LjQsNi42IDkuOSwxMi4yIDE1LjQsNi43IDE2LjEsNy40ICIvPgoJPC9nPgo8L3N2Zz4K); + --jp-icon-caret-down-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNS45TDksOS43bDMuOC0zLjhsMS4yLDEuMmwtNC45LDVsLTQuOS01TDUuMiw1Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-caret-down: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNy41TDksMTEuMmwzLjgtMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-caret-left: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik0xMC44LDEyLjhMNy4xLDlsMy44LTMuOGwwLDcuNkgxMC44eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-caret-right: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik03LjIsNS4yTDEwLjksOWwtMy44LDMuOFY1LjJINy4yeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-caret-up-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTUuNCwxMy4zIDkuOSw3LjcgNC40LDEzLjIgMy42LDEyLjUgOS45LDYuMyAxNi4xLDEyLjYgIi8+Cgk8L2c+Cjwvc3ZnPgo=); + --jp-icon-caret-up: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik01LjIsMTAuNUw5LDYuOGwzLjgsMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-case-sensitive: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWFjY2VudDIiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTcuNiw4aDAuOWwzLjUsOGgtMS4xTDEwLDE0SDZsLTAuOSwySDRMNy42LDh6IE04LDkuMUw2LjQsMTNoMy4yTDgsOS4xeiIvPgogICAgPHBhdGggZD0iTTE2LjYsOS44Yy0wLjIsMC4xLTAuNCwwLjEtMC43LDAuMWMtMC4yLDAtMC40LTAuMS0wLjYtMC4yYy0wLjEtMC4xLTAuMi0wLjQtMC4yLTAuNyBjLTAuMywwLjMtMC42LDAuNS0wLjksMC43Yy0wLjMsMC4xLTAuNywwLjItMS4xLDAuMmMtMC4zLDAtMC41LDAtMC43LTAuMWMtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjNjLTAuMi0wLjEtMC4zLTAuMy0wLjQtMC41IGMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjdjMC0wLjMsMC4xLTAuNiwwLjItMC44YzAuMS0wLjIsMC4zLTAuNCwwLjQtMC41QzEyLDcsMTIuMiw2LjksMTIuNSw2LjhjMC4yLTAuMSwwLjUtMC4xLDAuNy0wLjIgYzAuMy0wLjEsMC41LTAuMSwwLjctMC4xYzAuMiwwLDAuNC0wLjEsMC42LTAuMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjJjMC4xLTAuMSwwLjItMC4yLDAuMi0wLjRjMC0xLTEuMS0xLTEuMy0xIGMtMC40LDAtMS40LDAtMS40LDEuMmgtMC45YzAtMC40LDAuMS0wLjcsMC4yLTFjMC4xLTAuMiwwLjMtMC40LDAuNS0wLjZjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNDMTMuMyw0LDEzLjYsNCwxMy45LDQgYzAuMywwLDAuNSwwLDAuOCwwLjFjMC4zLDAsMC41LDAuMSwwLjcsMC4yYzAuMiwwLjEsMC40LDAuMywwLjUsMC41QzE2LDUsMTYsNS4yLDE2LDUuNnYyLjljMCwwLjIsMCwwLjQsMCwwLjUgYzAsMC4xLDAuMSwwLjIsMC4zLDAuMmMwLjEsMCwwLjIsMCwwLjMsMFY5Ljh6IE0xNS4yLDYuOWMtMS4yLDAuNi0zLjEsMC4yLTMuMSwxLjRjMCwxLjQsMy4xLDEsMy4xLTAuNVY2Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-circle-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-circle: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjgiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-clear: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8bWFzayBpZD0iZG9udXRIb2xlIj4KICAgIDxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiIC8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiBmaWxsPSJibGFjayIvPgogIDwvbWFzaz4KCiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxyZWN0IGhlaWdodD0iMTgiIHdpZHRoPSIyIiB4PSIxMSIgeT0iMyIgdHJhbnNmb3JtPSJyb3RhdGUoMzE1LCAxMiwgMTIpIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgbWFzaz0idXJsKCNkb251dEhvbGUpIi8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-close: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1ub25lIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIGpwLWljb24zLWhvdmVyIiBmaWxsPSJub25lIj4KICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjExIi8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIGpwLWljb24tYWNjZW50Mi1ob3ZlciIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPgogIDwvZz4KCiAgPGcgY2xhc3M9ImpwLWljb24tbm9uZSBqcC1pY29uLWJ1c3kiIGZpbGw9Im5vbmUiPgogICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNyIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-code: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTExLjQgMTguNkw2LjggMTRMMTEuNCA5LjRMMTAgOEw0IDE0TDEwIDIwTDExLjQgMTguNlpNMTYuNiAxOC42TDIxLjIgMTRMMTYuNiA5LjRMMTggOEwyNCAxNEwxOCAyMEwxNi42IDE4LjZWMTguNloiLz4KCTwvZz4KPC9zdmc+Cg==); + --jp-icon-console: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxnIGNsYXNzPSJqcC1jb25zb2xlLWljb24tYmFja2dyb3VuZC1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMjg4RDEiPgogICAgPHBhdGggZD0iTTIwIDE5LjhoMTYwdjE1OS45SDIweiIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtY29uc29sZS1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIj4KICAgIDxwYXRoIGQ9Ik0xMDUgMTI3LjNoNDB2MTIuOGgtNDB6TTUxLjEgNzdMNzQgOTkuOWwtMjMuMyAyMy4zIDEwLjUgMTAuNSAyMy4zLTIzLjNMOTUgOTkuOSA4NC41IDg5LjQgNjEuNiA2Ni41eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-copy: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTExLjksMUgzLjJDMi40LDEsMS43LDEuNywxLjcsMi41djEwLjJoMS41VjIuNWg4LjdWMXogTTE0LjEsMy45aC04Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MTAuMmMwLDAuOCwwLjcsMS41LDEuNSwxLjVoOCBjMC44LDAsMS41LTAuNywxLjUtMS41VjUuNEMxNS41LDQuNiwxNC45LDMuOSwxNC4xLDMuOXogTTE0LjEsMTUuNWgtOFY1LjRoOFYxNS41eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-copyright: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+CiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0xMS44OCw5LjE0YzEuMjgsMC4wNiwxLjYxLDEuMTUsMS42MywxLjY2aDEuNzljLTAuMDgtMS45OC0xLjQ5LTMuMTktMy40NS0zLjE5QzkuNjQsNy42MSw4LDksOCwxMi4xNCBjMCwxLjk0LDAuOTMsNC4yNCwzLjg0LDQuMjRjMi4yMiwwLDMuNDEtMS42NSwzLjQ0LTIuOTVoLTEuNzljLTAuMDMsMC41OS0wLjQ1LDEuMzgtMS42MywxLjQ0QzEwLjU1LDE0LjgzLDEwLDEzLjgxLDEwLDEyLjE0IEMxMCw5LjI1LDExLjI4LDkuMTYsMTEuODgsOS4xNHogTTEyLDJDNi40OCwyLDIsNi40OCwyLDEyczQuNDgsMTAsMTAsMTBzMTAtNC40OCwxMC0xMFMxNy41MiwyLDEyLDJ6IE0xMiwyMGMtNC40MSwwLTgtMy41OS04LTggczMuNTktOCw4LThzOCwzLjU5LDgsOFMxNi40MSwyMCwxMiwyMHoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-cut: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-delete: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CiAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIiAvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjI2MjYyIiBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIgLz4KPC9zdmc+Cg==); + --jp-icon-download: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-duplicate: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNzk5OTggMC44NzVIOC44OTU4MkM5LjIwMDYxIDAuODc1IDkuNDQ5OTggMS4xMzkxNCA5LjQ0OTk4IDEuNDYxOThDOS40NDk5OCAxLjc4NDgyIDkuMjAwNjEgMi4wNDg5NiA4Ljg5NTgyIDIuMDQ4OTZIMy4zNTQxNUMzLjA0OTM2IDIuMDQ4OTYgMi43OTk5OCAyLjMxMzEgMi43OTk5OCAyLjYzNTk0VjkuNjc5NjlDMi43OTk5OCAxMC4wMDI1IDIuNTUwNjEgMTAuMjY2NyAyLjI0NTgyIDEwLjI2NjdDMS45NDEwMyAxMC4yNjY3IDEuNjkxNjUgMTAuMDAyNSAxLjY5MTY1IDkuNjc5NjlWMi4wNDg5NkMxLjY5MTY1IDEuNDAzMjggMi4xOTA0IDAuODc1IDIuNzk5OTggMC44NzVaTTUuMzY2NjUgMTEuOVY0LjU1SDExLjA4MzNWMTEuOUg1LjM2NjY1Wk00LjE0MTY1IDQuMTQxNjdDNC4xNDE2NSAzLjY5MDYzIDQuNTA3MjggMy4zMjUgNC45NTgzMiAzLjMyNUgxMS40OTE3QzExLjk0MjcgMy4zMjUgMTIuMzA4MyAzLjY5MDYzIDEyLjMwODMgNC4xNDE2N1YxMi4zMDgzQzEyLjMwODMgMTIuNzU5NCAxMS45NDI3IDEzLjEyNSAxMS40OTE3IDEzLjEyNUg0Ljk1ODMyQzQuNTA3MjggMTMuMTI1IDQuMTQxNjUgMTIuNzU5NCA0LjE0MTY1IDEyLjMwODNWNC4xNDE2N1oiIGZpbGw9IiM2MTYxNjEiLz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNOS40MzU3NCA4LjI2NTA3SDguMzY0MzFWOS4zMzY1QzguMzY0MzEgOS40NTQzNSA4LjI2Nzg4IDkuNTUwNzggOC4xNTAwMiA5LjU1MDc4QzguMDMyMTcgOS41NTA3OCA3LjkzNTc0IDkuNDU0MzUgNy45MzU3NCA5LjMzNjVWOC4yNjUwN0g2Ljg2NDMxQzYuNzQ2NDUgOC4yNjUwNyA2LjY1MDAyIDguMTY4NjQgNi42NTAwMiA4LjA1MDc4QzYuNjUwMDIgNy45MzI5MiA2Ljc0NjQ1IDcuODM2NSA2Ljg2NDMxIDcuODM2NUg3LjkzNTc0VjYuNzY1MDdDNy45MzU3NCA2LjY0NzIxIDguMDMyMTcgNi41NTA3OCA4LjE1MDAyIDYuNTUwNzhDOC4yNjc4OCA2LjU1MDc4IDguMzY0MzEgNi42NDcyMSA4LjM2NDMxIDYuNzY1MDdWNy44MzY1SDkuNDM1NzRDOS41NTM2IDcuODM2NSA5LjY1MDAyIDcuOTMyOTIgOS42NTAwMiA4LjA1MDc4QzkuNjUwMDIgOC4xNjg2NCA5LjU1MzYgOC4yNjUwNyA5LjQzNTc0IDguMjY1MDdaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC41Ii8+Cjwvc3ZnPgo=); + --jp-icon-edit: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-ellipses: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEyIiByPSIyIi8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-extension: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-fast-forward: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTQgMThsOC41LTZMNCA2djEyem05LTEydjEybDguNS02TDEzIDZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-file-upload: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-file: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuMyA4LjJsLTUuNS01LjVjLS4zLS4zLS43LS41LTEuMi0uNUgzLjljLS44LjEtMS42LjktMS42IDEuOHYxNC4xYzAgLjkuNyAxLjYgMS42IDEuNmgxNC4yYy45IDAgMS42LS43IDEuNi0xLjZWOS40Yy4xLS41LS4xLS45LS40LTEuMnptLTUuOC0zLjNsMy40IDMuNmgtMy40VjQuOXptMy45IDEyLjdINC43Yy0uMSAwLS4yIDAtLjItLjJWNC43YzAtLjIuMS0uMy4yLS4zaDcuMnY0LjRzMCAuOC4zIDEuMWMuMy4zIDEuMS4zIDEuMS4zaDQuM3Y3LjJzLS4xLjItLjIuMnoiLz4KPC9zdmc+Cg==); + --jp-icon-filter-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-folder-favorite: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxNjE2MSIgZD0iTTIwIDZoLThsLTItMkg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bS0yLjA2IDExTDE1IDE1LjI4IDEyLjA2IDE3bC43OC0zLjMzLTIuNTktMi4yNCAzLjQxLS4yOUwxNSA4bDEuMzQgMy4xNCAzLjQxLjI5LTIuNTkgMi4yNC43OCAzLjMzeiIvPgo8L3N2Zz4K); + --jp-icon-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6Ii8+Cjwvc3ZnPgo=); + --jp-icon-home: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xMCAyMHYtNmg0djZoNXYtOGgzTDEyIDMgMiAxMmgzdjh6Ii8+Cjwvc3ZnPgo=); + --jp-icon-html5: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMDAiIGQ9Ik0xMDguNCAwaDIzdjIyLjhoMjEuMlYwaDIzdjY5aC0yM1Y0NmgtMjF2MjNoLTIzLjJNMjA2IDIzaC0yMC4zVjBoNjMuN3YyM0gyMjl2NDZoLTIzbTUzLjUtNjloMjQuMWwxNC44IDI0LjNMMzEzLjIgMGgyNC4xdjY5aC0yM1YzNC44bC0xNi4xIDI0LjgtMTYuMS0yNC44VjY5aC0yMi42bTg5LjItNjloMjN2NDYuMmgzMi42VjY5aC01NS42Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2U0NGQyNiIgZD0iTTEwNy42IDQ3MWwtMzMtMzcwLjRoMzYyLjhsLTMzIDM3MC4yTDI1NS43IDUxMiIvPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNmMTY1MjkiIGQ9Ik0yNTYgNDgwLjVWMTMxaDE0OC4zTDM3NiA0NDciLz4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNlYmViZWIiIGQ9Ik0xNDIgMTc2LjNoMTE0djQ1LjRoLTY0LjJsNC4yIDQ2LjVoNjB2NDUuM0gxNTQuNG0yIDIyLjhIMjAybDMuMiAzNi4zIDUwLjggMTMuNnY0Ny40bC05My4yLTI2Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIiBkPSJNMzY5LjYgMTc2LjNIMjU1Ljh2NDUuNGgxMDkuNm0tNC4xIDQ2LjVIMjU1Ljh2NDUuNGg1NmwtNS4zIDU5LTUwLjcgMTMuNnY0Ny4ybDkzLTI1LjgiLz4KPC9zdmc+Cg==); + --jp-icon-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1icmFuZDQganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNGRkYiIGQ9Ik0yLjIgMi4yaDE3LjV2MTcuNUgyLjJ6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzNGNTFCNSIgZD0iTTIuMiAyLjJ2MTcuNWgxNy41bC4xLTE3LjVIMi4yem0xMi4xIDIuMmMxLjIgMCAyLjIgMSAyLjIgMi4ycy0xIDIuMi0yLjIgMi4yLTIuMi0xLTIuMi0yLjIgMS0yLjIgMi4yLTIuMnpNNC40IDE3LjZsMy4zLTguOCAzLjMgNi42IDIuMi0zLjIgNC40IDUuNEg0LjR6Ii8+Cjwvc3ZnPgo=); + --jp-icon-inspector: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaW5zcGVjdG9yLWljb24tY29sb3IganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tNSAxNEg0di00aDExdjR6bTAtNUg0VjloMTF2NHptNSA1aC00VjloNHY5eiIvPgo8L3N2Zz4K); + --jp-icon-json: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtanNvbi1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0Y5QTgyNSI+CiAgICA8cGF0aCBkPSJNMjAuMiAxMS44Yy0xLjYgMC0xLjcuNS0xLjcgMSAwIC40LjEuOS4xIDEuMy4xLjUuMS45LjEgMS4zIDAgMS43LTEuNCAyLjMtMy41IDIuM2gtLjl2LTEuOWguNWMxLjEgMCAxLjQgMCAxLjQtLjggMC0uMyAwLS42LS4xLTEgMC0uNC0uMS0uOC0uMS0xLjIgMC0xLjMgMC0xLjggMS4zLTItMS4zLS4yLTEuMy0uNy0xLjMtMiAwLS40LjEtLjguMS0xLjIuMS0uNC4xLS43LjEtMSAwLS44LS40LS43LTEuNC0uOGgtLjVWNC4xaC45YzIuMiAwIDMuNS43IDMuNSAyLjMgMCAuNC0uMS45LS4xIDEuMy0uMS41LS4xLjktLjEgMS4zIDAgLjUuMiAxIDEuNyAxdjEuOHpNMS44IDEwLjFjMS42IDAgMS43LS41IDEuNy0xIDAtLjQtLjEtLjktLjEtMS4zLS4xLS41LS4xLS45LS4xLTEuMyAwLTEuNiAxLjQtMi4zIDMuNS0yLjNoLjl2MS45aC0uNWMtMSAwLTEuNCAwLTEuNC44IDAgLjMgMCAuNi4xIDEgMCAuMi4xLjYuMSAxIDAgMS4zIDAgMS44LTEuMyAyQzYgMTEuMiA2IDExLjcgNiAxM2MwIC40LS4xLjgtLjEgMS4yLS4xLjMtLjEuNy0uMSAxIDAgLjguMy44IDEuNC44aC41djEuOWgtLjljLTIuMSAwLTMuNS0uNi0zLjUtMi4zIDAtLjQuMS0uOS4xLTEuMy4xLS41LjEtLjkuMS0xLjMgMC0uNS0uMi0xLTEuNy0xdi0xLjl6Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjEzLjgiIHI9IjIuMSIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSI4LjIiIHI9IjIuMSIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-julia: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDMyNSAzMDAiPgogIDxnIGNsYXNzPSJqcC1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjY2IzYzMzIj4KICAgIDxwYXRoIGQ9Ik0gMTUwLjg5ODQzOCAyMjUgQyAxNTAuODk4NDM4IDI2Ni40MjE4NzUgMTE3LjMyMDMxMiAzMDAgNzUuODk4NDM4IDMwMCBDIDM0LjQ3NjU2MiAzMDAgMC44OTg0MzggMjY2LjQyMTg3NSAwLjg5ODQzOCAyMjUgQyAwLjg5ODQzOCAxODMuNTc4MTI1IDM0LjQ3NjU2MiAxNTAgNzUuODk4NDM4IDE1MCBDIDExNy4zMjAzMTIgMTUwIDE1MC44OTg0MzggMTgzLjU3ODEyNSAxNTAuODk4NDM4IDIyNSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzM4OTgyNiI+CiAgICA8cGF0aCBkPSJNIDIzNy41IDc1IEMgMjM3LjUgMTE2LjQyMTg3NSAyMDMuOTIxODc1IDE1MCAxNjIuNSAxNTAgQyAxMjEuMDc4MTI1IDE1MCA4Ny41IDExNi40MjE4NzUgODcuNSA3NSBDIDg3LjUgMzMuNTc4MTI1IDEyMS4wNzgxMjUgMCAxNjIuNSAwIEMgMjAzLjkyMTg3NSAwIDIzNy41IDMzLjU3ODEyNSAyMzcuNSA3NSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzk1NThiMiI+CiAgICA8cGF0aCBkPSJNIDMyNC4xMDE1NjIgMjI1IEMgMzI0LjEwMTU2MiAyNjYuNDIxODc1IDI5MC41MjM0MzggMzAwIDI0OS4xMDE1NjIgMzAwIEMgMjA3LjY3OTY4OCAzMDAgMTc0LjEwMTU2MiAyNjYuNDIxODc1IDE3NC4xMDE1NjIgMjI1IEMgMTc0LjEwMTU2MiAxODMuNTc4MTI1IDIwNy42Nzk2ODggMTUwIDI0OS4xMDE1NjIgMTUwIEMgMjkwLjUyMzQzOCAxNTAgMzI0LjEwMTU2MiAxODMuNTc4MTI1IDMyNC4xMDE1NjIgMjI1Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-jupyter-favicon: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUyIiBoZWlnaHQ9IjE2NSIgdmlld0JveD0iMCAwIDE1MiAxNjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgPGcgY2xhc3M9ImpwLWp1cHl0ZXItaWNvbi1jb2xvciIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA3ODk0NywgMTEwLjU4MjkyNykiIGQ9Ik03NS45NDIyODQyLDI5LjU4MDQ1NjEgQzQzLjMwMjM5NDcsMjkuNTgwNDU2MSAxNC43OTY3ODMyLDE3LjY1MzQ2MzQgMCwwIEM1LjUxMDgzMjExLDE1Ljg0MDY4MjkgMTUuNzgxNTM4OSwyOS41NjY3NzMyIDI5LjM5MDQ5NDcsMzkuMjc4NDE3MSBDNDIuOTk5Nyw0OC45ODk4NTM3IDU5LjI3MzcsNTQuMjA2NzgwNSA3NS45NjA1Nzg5LDU0LjIwNjc4MDUgQzkyLjY0NzQ1NzksNTQuMjA2NzgwNSAxMDguOTIxNDU4LDQ4Ljk4OTg1MzcgMTIyLjUzMDY2MywzOS4yNzg0MTcxIEMxMzYuMTM5NDUzLDI5LjU2Njc3MzIgMTQ2LjQxMDI4NCwxNS44NDA2ODI5IDE1MS45MjExNTgsMCBDMTM3LjA4Nzg2OCwxNy42NTM0NjM0IDEwOC41ODI1ODksMjkuNTgwNDU2MSA3NS45NDIyODQyLDI5LjU4MDQ1NjEgTDc1Ljk0MjI4NDIsMjkuNTgwNDU2MSBaIiAvPgogICAgPHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMzczNjgsIDAuNzA0ODc4KSIgZD0iTTc1Ljk3ODQ1NzksMjQuNjI2NDA3MyBDMTA4LjYxODc2MywyNC42MjY0MDczIDEzNy4xMjQ0NTgsMzYuNTUzNDQxNSAxNTEuOTIxMTU4LDU0LjIwNjc4MDUgQzE0Ni40MTAyODQsMzguMzY2MjIyIDEzNi4xMzk0NTMsMjQuNjQwMTMxNyAxMjIuNTMwNjYzLDE0LjkyODQ4NzggQzEwOC45MjE0NTgsNS4yMTY4NDM5IDkyLjY0NzQ1NzksMCA3NS45NjA1Nzg5LDAgQzU5LjI3MzcsMCA0Mi45OTk3LDUuMjE2ODQzOSAyOS4zOTA0OTQ3LDE0LjkyODQ4NzggQzE1Ljc4MTUzODksMjQuNjQwMTMxNyA1LjUxMDgzMjExLDM4LjM2NjIyMiAwLDU0LjIwNjc4MDUgQzE0LjgzMzA4MTYsMzYuNTg5OTI5MyA0My4zMzg1Njg0LDI0LjYyNjQwNzMgNzUuOTc4NDU3OSwyNC42MjY0MDczIEw3NS45Nzg0NTc5LDI0LjYyNjQwNzMgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-jupyter: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCAzOSA1MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYzOCAtMjI4MSkiPgogICAgIDxnIGNsYXNzPSJqcC1qdXB5dGVyLWljb24tY29sb3IiIGZpbGw9IiNGMzc3MjYiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5Ljc0IDIzMTEuOTgpIiBkPSJNIDE4LjI2NDYgNy4xMzQxMUMgMTAuNDE0NSA3LjEzNDExIDMuNTU4NzIgNC4yNTc2IDAgMEMgMS4zMjUzOSAzLjgyMDQgMy43OTU1NiA3LjEzMDgxIDcuMDY4NiA5LjQ3MzAzQyAxMC4zNDE3IDExLjgxNTIgMTQuMjU1NyAxMy4wNzM0IDE4LjI2OSAxMy4wNzM0QyAyMi4yODIzIDEzLjA3MzQgMjYuMTk2MyAxMS44MTUyIDI5LjQ2OTQgOS40NzMwM0MgMzIuNzQyNCA3LjEzMDgxIDM1LjIxMjYgMy44MjA0IDM2LjUzOCAwQyAzMi45NzA1IDQuMjU3NiAyNi4xMTQ4IDcuMTM0MTEgMTguMjY0NiA3LjEzNDExWiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5LjczIDIyODUuNDgpIiBkPSJNIDE4LjI3MzMgNS45MzkzMUMgMjYuMTIzNSA1LjkzOTMxIDMyLjk3OTMgOC44MTU4MyAzNi41MzggMTMuMDczNEMgMzUuMjEyNiA5LjI1MzAzIDMyLjc0MjQgNS45NDI2MiAyOS40Njk0IDMuNjAwNEMgMjYuMTk2MyAxLjI1ODE4IDIyLjI4MjMgMCAxOC4yNjkgMEMgMTQuMjU1NyAwIDEwLjM0MTcgMS4yNTgxOCA3LjA2ODYgMy42MDA0QyAzLjc5NTU2IDUuOTQyNjIgMS4zMjUzOSA5LjI1MzAzIDAgMTMuMDczNEMgMy41Njc0NSA4LjgyNDYzIDEwLjQyMzIgNS45MzkzMSAxOC4yNzMzIDUuOTM5MzFaIi8+CiAgICA8L2c+CiAgICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjY5LjMgMjI4MS4zMSkiIGQ9Ik0gNS44OTM1MyAyLjg0NEMgNS45MTg4OSAzLjQzMTY1IDUuNzcwODUgNC4wMTM2NyA1LjQ2ODE1IDQuNTE2NDVDIDUuMTY1NDUgNS4wMTkyMiA0LjcyMTY4IDUuNDIwMTUgNC4xOTI5OSA1LjY2ODUxQyAzLjY2NDMgNS45MTY4OCAzLjA3NDQ0IDYuMDAxNTEgMi40OTgwNSA1LjkxMTcxQyAxLjkyMTY2IDUuODIxOSAxLjM4NDYzIDUuNTYxNyAwLjk1NDg5OCA1LjE2NDAxQyAwLjUyNTE3IDQuNzY2MzMgMC4yMjIwNTYgNC4yNDkwMyAwLjA4MzkwMzcgMy42Nzc1N0MgLTAuMDU0MjQ4MyAzLjEwNjExIC0wLjAyMTIzIDIuNTA2MTcgMC4xNzg3ODEgMS45NTM2NEMgMC4zNzg3OTMgMS40MDExIDAuNzM2ODA5IDAuOTIwODE3IDEuMjA3NTQgMC41NzM1MzhDIDEuNjc4MjYgMC4yMjYyNTkgMi4yNDA1NSAwLjAyNzU5MTkgMi44MjMyNiAwLjAwMjY3MjI5QyAzLjYwMzg5IC0wLjAzMDcxMTUgNC4zNjU3MyAwLjI0OTc4OSA0Ljk0MTQyIDAuNzgyNTUxQyA1LjUxNzExIDEuMzE1MzEgNS44NTk1NiAyLjA1Njc2IDUuODkzNTMgMi44NDRaIi8+CiAgICAgIDxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MzkuOCAyMzIzLjgxKSIgZD0iTSA3LjQyNzg5IDMuNTgzMzhDIDcuNDYwMDggNC4zMjQzIDcuMjczNTUgNS4wNTgxOSA2Ljg5MTkzIDUuNjkyMTNDIDYuNTEwMzEgNi4zMjYwNyA1Ljk1MDc1IDYuODMxNTYgNS4yODQxMSA3LjE0NDZDIDQuNjE3NDcgNy40NTc2MyAzLjg3MzcxIDcuNTY0MTQgMy4xNDcwMiA3LjQ1MDYzQyAyLjQyMDMyIDcuMzM3MTIgMS43NDMzNiA3LjAwODcgMS4yMDE4NCA2LjUwNjk1QyAwLjY2MDMyOCA2LjAwNTIgMC4yNzg2MSA1LjM1MjY4IDAuMTA1MDE3IDQuNjMyMDJDIC0wLjA2ODU3NTcgMy45MTEzNSAtMC4wMjYyMzYxIDMuMTU0OTQgMC4yMjY2NzUgMi40NTg1NkMgMC40Nzk1ODcgMS43NjIxNyAwLjkzMTY5NyAxLjE1NzEzIDEuNTI1NzYgMC43MjAwMzNDIDIuMTE5ODMgMC4yODI5MzUgMi44MjkxNCAwLjAzMzQzOTUgMy41NjM4OSAwLjAwMzEzMzQ0QyA0LjU0NjY3IC0wLjAzNzQwMzMgNS41MDUyOSAwLjMxNjcwNiA2LjIyOTYxIDAuOTg3ODM1QyA2Ljk1MzkzIDEuNjU4OTYgNy4zODQ4NCAyLjU5MjM1IDcuNDI3ODkgMy41ODMzOEwgNy40Mjc4OSAzLjU4MzM4WiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM4LjM2IDIyODYuMDYpIiBkPSJNIDIuMjc0NzEgNC4zOTYyOUMgMS44NDM2MyA0LjQxNTA4IDEuNDE2NzEgNC4zMDQ0NSAxLjA0Nzk5IDQuMDc4NDNDIDAuNjc5MjY4IDMuODUyNCAwLjM4NTMyOCAzLjUyMTE0IDAuMjAzMzcxIDMuMTI2NTZDIDAuMDIxNDEzNiAyLjczMTk4IC0wLjA0MDM3OTggMi4yOTE4MyAwLjAyNTgxMTYgMS44NjE4MUMgMC4wOTIwMDMxIDEuNDMxOCAwLjI4MzIwNCAxLjAzMTI2IDAuNTc1MjEzIDAuNzEwODgzQyAwLjg2NzIyMiAwLjM5MDUxIDEuMjQ2OTEgMC4xNjQ3MDggMS42NjYyMiAwLjA2MjA1OTJDIDIuMDg1NTMgLTAuMDQwNTg5NyAyLjUyNTYxIC0wLjAxNTQ3MTQgMi45MzA3NiAwLjEzNDIzNUMgMy4zMzU5MSAwLjI4Mzk0MSAzLjY4NzkyIDAuNTUxNTA1IDMuOTQyMjIgMC45MDMwNkMgNC4xOTY1MiAxLjI1NDYyIDQuMzQxNjkgMS42NzQzNiA0LjM1OTM1IDIuMTA5MTZDIDQuMzgyOTkgMi42OTEwNyA0LjE3Njc4IDMuMjU4NjkgMy43ODU5NyAzLjY4NzQ2QyAzLjM5NTE2IDQuMTE2MjQgMi44NTE2NiA0LjM3MTE2IDIuMjc0NzEgNC4zOTYyOUwgMi4yNzQ3MSA0LjM5NjI5WiIvPgogICAgPC9nPgogIDwvZz4+Cjwvc3ZnPgo=); + --jp-icon-jupyterlab-wordmark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIHZpZXdCb3g9IjAgMCAxODYwLjggNDc1Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0RTRFNEUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4MC4xMzY0MDEsIDY0LjI3MTQ5MykiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDU4Ljg3NTU2NikiPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4NzYwMywgMC4xNDAyOTQpIj4KICAgICAgICA8cGF0aCBkPSJNLTQyNi45LDE2OS44YzAsNDguNy0zLjcsNjQuNy0xMy42LDc2LjRjLTEwLjgsMTAtMjUsMTUuNS0zOS43LDE1LjVsMy43LDI5IGMyMi44LDAuMyw0NC44LTcuOSw2MS45LTIzLjFjMTcuOC0xOC41LDI0LTQ0LjEsMjQtODMuM1YwSC00Mjd2MTcwLjFMLTQyNi45LDE2OS44TC00MjYuOSwxNjkuOHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU1LjA0NTI5NiwgNTYuODM3MTA0KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNTYyNDUzLCAxLjc5OTg0MikiPgogICAgICAgIDxwYXRoIGQ9Ik0tMzEyLDE0OGMwLDIxLDAsMzkuNSwxLjcsNTUuNGgtMzEuOGwtMi4xLTMzLjNoLTAuOGMtNi43LDExLjYtMTYuNCwyMS4zLTI4LDI3LjkgYy0xMS42LDYuNi0yNC44LDEwLTM4LjIsOS44Yy0zMS40LDAtNjktMTcuNy02OS04OVYwaDM2LjR2MTEyLjdjMCwzOC43LDExLjYsNjQuNyw0NC42LDY0LjdjMTAuMy0wLjIsMjAuNC0zLjUsMjguOS05LjQgYzguNS01LjksMTUuMS0xNC4zLDE4LjktMjMuOWMyLjItNi4xLDMuMy0xMi41LDMuMy0xOC45VjAuMmgzNi40VjE0OEgtMzEyTC0zMTIsMTQ4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTAuMDEzMzIyLCA1My40Nzk2MzgpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS43MDY0NTgsIDAuMjMxNDI1KSI+CiAgICAgICAgPHBhdGggZD0iTS00NzguNiw3MS40YzAtMjYtMC44LTQ3LTEuNy02Ni43aDMyLjdsMS43LDM0LjhoMC44YzcuMS0xMi41LDE3LjUtMjIuOCwzMC4xLTI5LjcgYzEyLjUtNywyNi43LTEwLjMsNDEtOS44YzQ4LjMsMCw4NC43LDQxLjcsODQuNywxMDMuM2MwLDczLjEtNDMuNywxMDkuMi05MSwxMDkuMmMtMTIuMSwwLjUtMjQuMi0yLjItMzUtNy44IGMtMTAuOC01LjYtMTkuOS0xMy45LTI2LjYtMjQuMmgtMC44VjI5MWgtMzZ2LTIyMEwtNDc4LjYsNzEuNEwtNDc4LjYsNzEuNHogTS00NDIuNiwxMjUuNmMwLjEsNS4xLDAuNiwxMC4xLDEuNywxNS4xIGMzLDEyLjMsOS45LDIzLjMsMTkuOCwzMS4xYzkuOSw3LjgsMjIuMSwxMi4xLDM0LjcsMTIuMWMzOC41LDAsNjAuNy0zMS45LDYwLjctNzguNWMwLTQwLjctMjEuMS03NS42LTU5LjUtNzUuNiBjLTEyLjksMC40LTI1LjMsNS4xLTM1LjMsMTMuNGMtOS45LDguMy0xNi45LDE5LjctMTkuNiwzMi40Yy0xLjUsNC45LTIuMywxMC0yLjUsMTUuMVYxMjUuNkwtNDQyLjYsMTI1LjZMLTQ0Mi42LDEyNS42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDYuNzQwNzI2LCA1Ni44MzcxMDQpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC43NTEyMjYsIDEuOTg5Mjk5KSI+CiAgICAgICAgPHBhdGggZD0iTS00NDAuOCwwbDQzLjcsMTIwLjFjNC41LDEzLjQsOS41LDI5LjQsMTIuOCw0MS43aDAuOGMzLjctMTIuMiw3LjktMjcuNywxMi44LTQyLjQgbDM5LjctMTE5LjJoMzguNUwtMzQ2LjksMTQ1Yy0yNiw2OS43LTQzLjcsMTA1LjQtNjguNiwxMjcuMmMtMTIuNSwxMS43LTI3LjksMjAtNDQuNiwyMy45bC05LjEtMzEuMSBjMTEuNy0zLjksMjIuNS0xMC4xLDMxLjgtMTguMWMxMy4yLTExLjEsMjMuNy0yNS4yLDMwLjYtNDEuMmMxLjUtMi44LDIuNS01LjcsMi45LTguOGMtMC4zLTMuMy0xLjItNi42LTIuNS05LjdMLTQ4MC4yLDAuMSBoMzkuN0wtNDQwLjgsMEwtNDQwLjgsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIyLjc0ODEwNCwgMC4wMDAwMDApIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS40NjQwNTAsIDAuMzc4OTE0KSI+CiAgICAgICAgPHBhdGggZD0iTS00MTMuNywwdjU4LjNoNTJ2MjguMmgtNTJWMTk2YzAsMjUsNywzOS41LDI3LjMsMzkuNWM3LjEsMC4xLDE0LjItMC43LDIxLjEtMi41IGwxLjcsMjcuN2MtMTAuMywzLjctMjEuMyw1LjQtMzIuMiw1Yy03LjMsMC40LTE0LjYtMC43LTIxLjMtMy40Yy02LjgtMi43LTEyLjktNi44LTE3LjktMTIuMWMtMTAuMy0xMC45LTE0LjEtMjktMTQuMS01Mi45IFY4Ni41aC0zMVY1OC4zaDMxVjkuNkwtNDEzLjcsMEwtNDEzLjcsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTc0LjQzMzI4NiwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuOTkwMDM0LCAwLjYxMDMzOSkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDQ1LjgsMTEzYzAuOCw1MCwzMi4yLDcwLjYsNjguNiw3MC42YzE5LDAuNiwzNy45LTMsNTUuMy0xMC41bDYuMiwyNi40IGMtMjAuOSw4LjktNDMuNSwxMy4xLTY2LjIsMTIuNmMtNjEuNSwwLTk4LjMtNDEuMi05OC4zLTEwMi41Qy00ODAuMiw0OC4yLTQ0NC43LDAtMzg2LjUsMGM2NS4yLDAsODIuNyw1OC4zLDgyLjcsOTUuNyBjLTAuMSw1LjgtMC41LDExLjUtMS4yLDE3LjJoLTE0MC42SC00NDUuOEwtNDQ1LjgsMTEzeiBNLTMzOS4yLDg2LjZjMC40LTIzLjUtOS41LTYwLjEtNTAuNC02MC4xIGMtMzYuOCwwLTUyLjgsMzQuNC01NS43LDYwLjFILTMzOS4yTC0zMzkuMiw4Ni42TC0zMzkuMiw4Ni42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAxLjk2MTA1OCwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuMTc5NjQwLCAwLjcwNTA2OCkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDc4LjYsNjhjMC0yMy45LTAuNC00NC41LTEuNy02My40aDMxLjhsMS4yLDM5LjloMS43YzkuMS0yNy4zLDMxLTQ0LjUsNTUuMy00NC41IGMzLjUtMC4xLDcsMC40LDEwLjMsMS4ydjM0LjhjLTQuMS0wLjktOC4yLTEuMy0xMi40LTEuMmMtMjUuNiwwLTQzLjcsMTkuNy00OC43LDQ3LjRjLTEsNS43LTEuNiwxMS41LTEuNywxNy4ydjEwOC4zaC0zNlY2OCBMLTQ3OC42LDY4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCBkPSJNMTM1Mi4zLDMyNi4yaDM3VjI4aC0zN1YzMjYuMnogTTE2MDQuOCwzMjYuMmMtMi41LTEzLjktMy40LTMxLjEtMy40LTQ4Ljd2LTc2IGMwLTQwLjctMTUuMS04My4xLTc3LjMtODMuMWMtMjUuNiwwLTUwLDcuMS02Ni44LDE4LjFsOC40LDI0LjRjMTQuMy05LjIsMzQtMTUuMSw1My0xNS4xYzQxLjYsMCw0Ni4yLDMwLjIsNDYuMiw0N3Y0LjIgYy03OC42LTAuNC0xMjIuMywyNi41LTEyMi4zLDc1LjZjMCwyOS40LDIxLDU4LjQsNjIuMiw1OC40YzI5LDAsNTAuOS0xNC4zLDYyLjItMzAuMmgxLjNsMi45LDI1LjZIMTYwNC44eiBNMTU2NS43LDI1Ny43IGMwLDMuOC0wLjgsOC0yLjEsMTEuOGMtNS45LDE3LjItMjIuNywzNC00OS4yLDM0Yy0xOC45LDAtMzQuOS0xMS4zLTM0LjktMzUuM2MwLTM5LjUsNDUuOC00Ni42LDg2LjItNDUuOFYyNTcuN3ogTTE2OTguNSwzMjYuMiBsMS43LTMzLjZoMS4zYzE1LjEsMjYuOSwzOC43LDM4LjIsNjguMSwzOC4yYzQ1LjQsMCw5MS4yLTM2LjEsOTEuMi0xMDguOGMwLjQtNjEuNy0zNS4zLTEwMy43LTg1LjctMTAzLjcgYy0zMi44LDAtNTYuMywxNC43LTY5LjMsMzcuNGgtMC44VjI4aC0zNi42djI0NS43YzAsMTguMS0wLjgsMzguNi0xLjcsNTIuNUgxNjk4LjV6IE0xNzA0LjgsMjA4LjJjMC01LjksMS4zLTEwLjksMi4xLTE1LjEgYzcuNi0yOC4xLDMxLjEtNDUuNCw1Ni4zLTQ1LjRjMzkuNSwwLDYwLjUsMzQuOSw2MC41LDc1LjZjMCw0Ni42LTIzLjEsNzguMS02MS44LDc4LjFjLTI2LjksMC00OC4zLTE3LjYtNTUuNS00My4zIGMtMC44LTQuMi0xLjctOC44LTEuNy0xMy40VjIwOC4yeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzYxNjE2MSIgZD0iTTE1IDlIOXY2aDZWOXptLTIgNGgtMnYtMmgydjJ6bTgtMlY5aC0yVjdjMC0xLjEtLjktMi0yLTJoLTJWM2gtMnYyaC0yVjNIOXYySDdjLTEuMSAwLTIgLjktMiAydjJIM3YyaDJ2MkgzdjJoMnYyYzAgMS4xLjkgMiAyIDJoMnYyaDJ2LTJoMnYyaDJ2LTJoMmMxLjEgMCAyLS45IDItMnYtMmgydi0yaC0ydi0yaDJ6bS00IDZIN1Y3aDEwdjEweiIvPgo8L3N2Zz4K); + --jp-icon-keyboard: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMTdjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0tOSAzaDJ2MmgtMlY4em0wIDNoMnYyaC0ydi0yek04IDhoMnYySDhWOHptMCAzaDJ2Mkg4di0yem0tMSAySDV2LTJoMnYyem0wLTNINVY4aDJ2MnptOSA3SDh2LTJoOHYyem0wLTRoLTJ2LTJoMnYyem0wLTNoLTJWOGgydjJ6bTMgM2gtMnYtMmgydjJ6bTAtM2gtMlY4aDJ2MnoiLz4KPC9zdmc+Cg==); + --jp-icon-launch: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yNiwyOEg2YTIuMDAyNywyLjAwMjcsMCwwLDEtMi0yVjZBMi4wMDI3LDIuMDAyNywwLDAsMSw2LDRIMTZWNkg2VjI2SDI2VjE2aDJWMjZBMi4wMDI3LDIuMDAyNywwLDAsMSwyNiwyOFoiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMjAgMiAyMCA0IDI2LjU4NiA0IDE4IDEyLjU4NiAxOS40MTQgMTQgMjggNS40MTQgMjggMTIgMzAgMTIgMzAgMiAyMCAyIi8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-launcher: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMTlINVY1aDdWM0g1YTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+Cg==); + --jp-icon-line-form: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNS44OCA0LjEyTDEzLjc2IDEybC03Ljg4IDcuODhMOCAyMmwxMC0xMEw4IDJ6Ii8+Cjwvc3ZnPgo=); + --jp-icon-link: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA1djE0SDVWNWgxNG0xLjEtMkgzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xMSA3aDZ2MmgtNlY3em0wIDRoNnYyaC02di0yem0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3eiIvPgo8L3N2Zz4=); + --jp-icon-listings-info: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MC45NzggNTAuOTc4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MC45NzggNTAuOTc4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+Cgk8Zz4KCQk8cGF0aCBzdHlsZT0iZmlsbDojMDEwMDAyOyIgZD0iTTQzLjUyLDcuNDU4QzM4LjcxMSwyLjY0OCwzMi4zMDcsMCwyNS40ODksMEMxOC42NywwLDEyLjI2NiwyLjY0OCw3LjQ1OCw3LjQ1OAoJCQljLTkuOTQzLDkuOTQxLTkuOTQzLDI2LjExOSwwLDM2LjA2MmM0LjgwOSw0LjgwOSwxMS4yMTIsNy40NTYsMTguMDMxLDcuNDU4YzAsMCwwLjAwMSwwLDAuMDAyLDAKCQkJYzYuODE2LDAsMTMuMjIxLTIuNjQ4LDE4LjAyOS03LjQ1OGM0LjgwOS00LjgwOSw3LjQ1Ny0xMS4yMTIsNy40NTctMTguMDNDNTAuOTc3LDE4LjY3LDQ4LjMyOCwxMi4yNjYsNDMuNTIsNy40NTh6CgkJCSBNNDIuMTA2LDQyLjEwNWMtNC40MzIsNC40MzEtMTAuMzMyLDYuODcyLTE2LjYxNSw2Ljg3MmgtMC4wMDJjLTYuMjg1LTAuMDAxLTEyLjE4Ny0yLjQ0MS0xNi42MTctNi44NzIKCQkJYy05LjE2Mi05LjE2My05LjE2Mi0yNC4wNzEsMC0zMy4yMzNDMTMuMzAzLDQuNDQsMTkuMjA0LDIsMjUuNDg5LDJjNi4yODQsMCwxMi4xODYsMi40NCwxNi42MTcsNi44NzIKCQkJYzQuNDMxLDQuNDMxLDYuODcxLDEwLjMzMiw2Ljg3MSwxNi42MTdDNDguOTc3LDMxLjc3Miw0Ni41MzYsMzcuNjc1LDQyLjEwNiw0Mi4xMDV6Ii8+CgkJPHBhdGggc3R5bGU9ImZpbGw6IzAxMDAwMjsiIGQ9Ik0yMy41NzgsMzIuMjE4Yy0wLjAyMy0xLjczNCwwLjE0My0zLjA1OSwwLjQ5Ni0zLjk3MmMwLjM1My0wLjkxMywxLjExLTEuOTk3LDIuMjcyLTMuMjUzCgkJCWMwLjQ2OC0wLjUzNiwwLjkyMy0xLjA2MiwxLjM2Ny0xLjU3NWMwLjYyNi0wLjc1MywxLjEwNC0xLjQ3OCwxLjQzNi0yLjE3NWMwLjMzMS0wLjcwNywwLjQ5NS0xLjU0MSwwLjQ5NS0yLjUKCQkJYzAtMS4wOTYtMC4yNi0yLjA4OC0wLjc3OS0yLjk3OWMtMC41NjUtMC44NzktMS41MDEtMS4zMzYtMi44MDYtMS4zNjljLTEuODAyLDAuMDU3LTIuOTg1LDAuNjY3LTMuNTUsMS44MzIKCQkJYy0wLjMwMSwwLjUzNS0wLjUwMywxLjE0MS0wLjYwNywxLjgxNGMtMC4xMzksMC43MDctMC4yMDcsMS40MzItMC4yMDcsMi4xNzRoLTIuOTM3Yy0wLjA5MS0yLjIwOCwwLjQwNy00LjExNCwxLjQ5My01LjcxOQoJCQljMS4wNjItMS42NCwyLjg1NS0yLjQ4MSw1LjM3OC0yLjUyN2MyLjE2LDAuMDIzLDMuODc0LDAuNjA4LDUuMTQxLDEuNzU4YzEuMjc4LDEuMTYsMS45MjksMi43NjQsMS45NSw0LjgxMQoJCQljMCwxLjE0Mi0wLjEzNywyLjExMS0wLjQxLDIuOTExYy0wLjMwOSwwLjg0NS0wLjczMSwxLjU5My0xLjI2OCwyLjI0M2MtMC40OTIsMC42NS0xLjA2OCwxLjMxOC0xLjczLDIuMDAyCgkJCWMtMC42NSwwLjY5Ny0xLjMxMywxLjQ3OS0xLjk4NywyLjM0NmMtMC4yMzksMC4zNzctMC40MjksMC43NzctMC41NjUsMS4xOTljLTAuMTYsMC45NTktMC4yMTcsMS45NTEtMC4xNzEsMi45NzkKCQkJQzI2LjU4OSwzMi4yMTgsMjMuNTc4LDMyLjIxOCwyMy41NzgsMzIuMjE4eiBNMjMuNTc4LDM4LjIydi0zLjQ4NGgzLjA3NnYzLjQ4NEgyMy41Nzh6Ii8+Cgk8L2c+Cjwvc3ZnPgo=); + --jp-icon-markdown: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjRsLS4zLTQuMnoiLz4KPC9zdmc+Cg==); + --jp-icon-move-down: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMTIuNDcxIDcuNTI4OTlDMTIuNzYzMiA3LjIzNjg0IDEyLjc2MzIgNi43NjMxNiAxMi40NzEgNi40NzEwMVY2LjQ3MTAxQzEyLjE3OSA2LjE3OTA1IDExLjcwNTcgNi4xNzg4NCAxMS40MTM1IDYuNDcwNTRMNy43NSAxMC4xMjc1VjEuNzVDNy43NSAxLjMzNTc5IDcuNDE0MjEgMSA3IDFWMUM2LjU4NTc5IDEgNi4yNSAxLjMzNTc5IDYuMjUgMS43NVYxMC4xMjc1TDIuNTk3MjYgNi40NjgyMkMyLjMwMzM4IDYuMTczODEgMS44MjY0MSA2LjE3MzU5IDEuNTMyMjYgNi40Njc3NFY2LjQ2Nzc0QzEuMjM4MyA2Ljc2MTcgMS4yMzgzIDcuMjM4MyAxLjUzMjI2IDcuNTMyMjZMNi4yOTI4OSAxMi4yOTI5QzYuNjgzNDIgMTIuNjgzNCA3LjMxNjU4IDEyLjY4MzQgNy43MDcxMSAxMi4yOTI5TDEyLjQ3MSA3LjUyODk5WiIgZmlsbD0iIzYxNjE2MSIvPgo8L3N2Zz4K); + --jp-icon-move-up: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMS41Mjg5OSA2LjQ3MTAxQzEuMjM2ODQgNi43NjMxNiAxLjIzNjg0IDcuMjM2ODQgMS41Mjg5OSA3LjUyODk5VjcuNTI4OTlDMS44MjA5NSA3LjgyMDk1IDIuMjk0MjYgNy44MjExNiAyLjU4NjQ5IDcuNTI5NDZMNi4yNSAzLjg3MjVWMTIuMjVDNi4yNSAxMi42NjQyIDYuNTg1NzkgMTMgNyAxM1YxM0M3LjQxNDIxIDEzIDcuNzUgMTIuNjY0MiA3Ljc1IDEyLjI1VjMuODcyNUwxMS40MDI3IDcuNTMxNzhDMTEuNjk2NiA3LjgyNjE5IDEyLjE3MzYgNy44MjY0MSAxMi40Njc3IDcuNTMyMjZWNy41MzIyNkMxMi43NjE3IDcuMjM4MyAxMi43NjE3IDYuNzYxNyAxMi40Njc3IDYuNDY3NzRMNy43MDcxMSAxLjcwNzExQzcuMzE2NTggMS4zMTY1OCA2LjY4MzQyIDEuMzE2NTggNi4yOTI4OSAxLjcwNzExTDEuNTI4OTkgNi40NzEwMVoiIGZpbGw9IiM2MTYxNjEiLz4KPC9zdmc+Cg==); + --jp-icon-new-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDZoLThsLTItMkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS0xIDhoLTN2M2gtMnYtM2gtM3YtMmgzVjloMnYzaDN2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-not-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMTkgMTcuMTg0NCAyLjk2OTY4IDE0LjMwMzIgMS44NjA5NCAxMS40NDA5WiIvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24yIiBzdHJva2U9IiMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4zMTU5MiA5LjMyMDMxKSIgZD0iTTcuMzY4NDIgMEwwIDcuMzY0NzkiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzE1OTIgMTYuNjgzNikgc2NhbGUoMSAtMSkiIGQ9Ik03LjM2ODQyIDBMMCA3LjM2NDc5Ii8+Cjwvc3ZnPgo=); + --jp-icon-notebook: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtbm90ZWJvb2staWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNFRjZDMDAiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM2gxNS40bTEuNS0xLjVIMS44djE4LjNoMTguM2wuMS0xOC4zeiIvPgogICAgPHBhdGggZD0iTTE2LjUgMTYuNWwtNS40LTQuMy01LjYgNC4zdi0xMWgxMXoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-numbering: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTQgMTlINlYxOS41SDVWMjAuNUg2VjIxSDRWMjJIN1YxOEg0VjE5Wk01IDEwSDZWNkg0VjdINVYxMFpNNCAxM0g1LjhMNCAxNS4xVjE2SDdWMTVINS4yTDcgMTIuOVYxMkg0VjEzWk05IDdWOUgyM1Y3SDlaTTkgMjFIMjNWMTlIOVYyMVpNOSAxNUgyM1YxM0g5VjE1WiIvPgoJPC9nPgo8L3N2Zz4K); + --jp-icon-offline-bolt: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDIuMDJjLTUuNTEgMC05Ljk4IDQuNDctOS45OCA5Ljk4czQuNDcgOS45OCA5Ljk4IDkuOTggOS45OC00LjQ3IDkuOTgtOS45OFMxNy41MSAyLjAyIDEyIDIuMDJ6TTExLjQ4IDIwdi02LjI2SDhMMTMgNHY2LjI2aDMuMzVMMTEuNDggMjB6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-palette: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE4IDEzVjIwSDRWNkg5LjAyQzkuMDcgNS4yOSA5LjI0IDQuNjIgOS41IDRINEMyLjkgNCAyIDQuOSAyIDZWMjBDMiAyMS4xIDIuOSAyMiA0IDIySDE4QzE5LjEgMjIgMjAgMjEuMSAyMCAyMFYxNUwxOCAxM1pNMTkuMyA4Ljg5QzE5Ljc0IDguMTkgMjAgNy4zOCAyMCA2LjVDMjAgNC4wMSAxNy45OSAyIDE1LjUgMkMxMy4wMSAyIDExIDQuMDEgMTEgNi41QzExIDguOTkgMTMuMDEgMTEgMTUuNDkgMTFDMTYuMzcgMTEgMTcuMTkgMTAuNzQgMTcuODggMTAuM0wyMSAxMy40MkwyMi40MiAxMkwxOS4zIDguODlaTTE1LjUgOUMxNC4xMiA5IDEzIDcuODggMTMgNi41QzEzIDUuMTIgMTQuMTIgNCAxNS41IDRDMTYuODggNCAxOCA1LjEyIDE4IDYuNUMxOCA3Ljg4IDE2Ljg4IDkgMTUuNSA5WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDZIOS4wMTg5NEM5LjAwNjM5IDYuMTY1MDIgOSA2LjMzMTc2IDkgNi41QzkgOC44MTU3NyAxMC4yMTEgMTAuODQ4NyAxMi4wMzQzIDEySDlWMTRIMTZWMTIuOTgxMUMxNi41NzAzIDEyLjkzNzcgMTcuMTIgMTIuODIwNyAxNy42Mzk2IDEyLjYzOTZMMTggMTNWMjBINFY2Wk04IDhINlYxMEg4VjhaTTYgMTJIOFYxNEg2VjEyWk04IDE2SDZWMThIOFYxNlpNOSAxNkgxNlYxOEg5VjE2WiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-paste: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE5IDJoLTQuMThDMTQuNC44NCAxMy4zIDAgMTIgMGMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptNyAxOEg1VjRoMnYzaDEwVjRoMnYxNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==); + --jp-icon-pdf: url(data:image/svg+xml;base64,PHN2ZwogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAyMiIgd2lkdGg9IjE2Ij4KICAgIDxwYXRoIHRyYW5zZm9ybT0icm90YXRlKDQ1KSIgY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0ZGMkEyQSIKICAgICAgIGQ9Im0gMjIuMzQ0MzY5LC0zLjAxNjM2NDIgaCA1LjYzODYwNCB2IDEuNTc5MjQzMyBoIC0zLjU0OTIyNyB2IDEuNTA4NjkyOTkgaCAzLjMzNzU3NiBWIDEuNjUwODE1NCBoIC0zLjMzNzU3NiB2IDMuNDM1MjYxMyBoIC0yLjA4OTM3NyB6IG0gLTcuMTM2NDQ0LDEuNTc5MjQzMyB2IDQuOTQzOTU0MyBoIDAuNzQ4OTIgcSAxLjI4MDc2MSwwIDEuOTUzNzAzLC0wLjYzNDk1MzUgMC42NzgzNjksLTAuNjM0OTUzNSAwLjY3ODM2OSwtMS44NDUxNjQxIDAsLTEuMjA0NzgzNTUgLTAuNjcyOTQyLC0xLjgzNDMxMDExIC0wLjY3Mjk0MiwtMC42Mjk1MjY1OSAtMS45NTkxMywtMC42Mjk1MjY1OSB6IG0gLTIuMDg5Mzc3LC0xLjU3OTI0MzMgaCAyLjIwMzM0MyBxIDEuODQ1MTY0LDAgMi43NDYwMzksMC4yNjU5MjA3IDAuOTA2MzAxLDAuMjYwNDkzNyAxLjU1MjEwOCwwLjg5MDAyMDMgMC41Njk4MywwLjU0ODEyMjMgMC44NDY2MDUsMS4yNjQ0ODAwNiAwLjI3Njc3NCwwLjcxNjM1NzgxIDAuMjc2Nzc0LDEuNjIyNjU4OTQgMCwwLjkxNzE1NTEgLTAuMjc2Nzc0LDEuNjM4OTM5OSAtMC4yNzY3NzUsMC43MTYzNTc4IC0wLjg0NjYwNSwxLjI2NDQ4IC0wLjY1MTIzNCwwLjYyOTUyNjYgLTEuNTYyOTYyLDAuODk1NDQ3MyAtMC45MTE3MjgsMC4yNjA0OTM3IC0yLjczNTE4NSwwLjI2MDQ5MzcgaCAtMi4yMDMzNDMgeiBtIC04LjE0NTg1NjUsMCBoIDMuNDY3ODIzIHEgMS41NDY2ODE2LDAgMi4zNzE1Nzg1LDAuNjg5MjIzIDAuODMwMzI0LDAuNjgzNzk2MSAwLjgzMDMyNCwxLjk1MzcwMzE0IDAsMS4yNzUzMzM5NyAtMC44MzAzMjQsMS45NjQ1NTcwNiBRIDkuOTg3MTk2MSwyLjI3NDkxNSA4LjQ0MDUxNDUsMi4yNzQ5MTUgSCA3LjA2MjA2ODQgViA1LjA4NjA3NjcgSCA0Ljk3MjY5MTUgWiBtIDIuMDg5Mzc2OSwxLjUxNDExOTkgdiAyLjI2MzAzOTQzIGggMS4xNTU5NDEgcSAwLjYwNzgxODgsMCAwLjkzODg2MjksLTAuMjkzMDU1NDcgMC4zMzEwNDQxLC0wLjI5ODQ4MjQxIDAuMzMxMDQ0MSwtMC44NDExNzc3MiAwLC0wLjU0MjY5NTMxIC0wLjMzMTA0NDEsLTAuODM1NzUwNzQgLTAuMzMxMDQ0MSwtMC4yOTMwNTU1IC0wLjkzODg2MjksLTAuMjkzMDU1NSB6IgovPgo8L3N2Zz4K); + --jp-icon-python: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iLTEwIC0xMCAxMzEuMTYxMzYxNjk0MzM1OTQgMTMyLjM4ODk5OTkzODk2NDg0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzA2OTk4IiBkPSJNIDU0LjkxODc4NSw5LjE5Mjc0MjFlLTQgQyA1MC4zMzUxMzIsMC4wMjIyMTcyNyA0NS45NTc4NDYsMC40MTMxMzY5NyA0Mi4xMDYyODUsMS4wOTQ2NjkzIDMwLjc2MDA2OSwzLjA5OTE3MzEgMjguNzAwMDM2LDcuMjk0NzcxNCAyOC43MDAwMzUsMTUuMDMyMTY5IHYgMTAuMjE4NzUgaCAyNi44MTI1IHYgMy40MDYyNSBoIC0yNi44MTI1IC0xMC4wNjI1IGMgLTcuNzkyNDU5LDAgLTE0LjYxNTc1ODgsNC42ODM3MTcgLTE2Ljc0OTk5OTgsMTMuNTkzNzUgLTIuNDYxODE5OTgsMTAuMjEyOTY2IC0yLjU3MTAxNTA4LDE2LjU4NjAyMyAwLDI3LjI1IDEuOTA1OTI4Myw3LjkzNzg1MiA2LjQ1NzU0MzIsMTMuNTkzNzQ4IDE0LjI0OTk5OTgsMTMuNTkzNzUgaCA5LjIxODc1IHYgLTEyLjI1IGMgMCwtOC44NDk5MDIgNy42NTcxNDQsLTE2LjY1NjI0OCAxNi43NSwtMTYuNjU2MjUgaCAyNi43ODEyNSBjIDcuNDU0OTUxLDAgMTMuNDA2MjUzLC02LjEzODE2NCAxMy40MDYyNSwtMTMuNjI1IHYgLTI1LjUzMTI1IGMgMCwtNy4yNjYzMzg2IC02LjEyOTk4LC0xMi43MjQ3NzcxIC0xMy40MDYyNSwtMTMuOTM3NDk5NyBDIDY0LjI4MTU0OCwwLjMyNzk0Mzk3IDU5LjUwMjQzOCwtMC4wMjAzNzkwMyA1NC45MTg3ODUsOS4xOTI3NDIxZS00IFogbSAtMTQuNSw4LjIxODc1MDEyNTc5IGMgMi43Njk1NDcsMCA1LjAzMTI1LDIuMjk4NjQ1NiA1LjAzMTI1LDUuMTI0OTk5NiAtMmUtNiwyLjgxNjMzNiAtMi4yNjE3MDMsNS4wOTM3NSAtNS4wMzEyNSw1LjA5Mzc1IC0yLjc3OTQ3NiwtMWUtNiAtNS4wMzEyNSwtMi4yNzc0MTUgLTUuMDMxMjUsLTUuMDkzNzUgLTEwZS03LC0yLjgyNjM1MyAyLjI1MTc3NCwtNS4xMjQ5OTk2IDUuMDMxMjUsLTUuMTI0OTk5NiB6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2ZmZDQzYiIgZD0ibSA4NS42Mzc1MzUsMjguNjU3MTY5IHYgMTEuOTA2MjUgYyAwLDkuMjMwNzU1IC03LjgyNTg5NSwxNi45OTk5OTkgLTE2Ljc1LDE3IGggLTI2Ljc4MTI1IGMgLTcuMzM1ODMzLDAgLTEzLjQwNjI0OSw2LjI3ODQ4MyAtMTMuNDA2MjUsMTMuNjI1IHYgMjUuNTMxMjQ3IGMgMCw3LjI2NjM0NCA2LjMxODU4OCwxMS41NDAzMjQgMTMuNDA2MjUsMTMuNjI1MDA0IDguNDg3MzMxLDIuNDk1NjEgMTYuNjI2MjM3LDIuOTQ2NjMgMjYuNzgxMjUsMCA2Ljc1MDE1NSwtMS45NTQzOSAxMy40MDYyNTMsLTUuODg3NjEgMTMuNDA2MjUsLTEzLjYyNTAwNCBWIDg2LjUwMDkxOSBoIC0yNi43ODEyNSB2IC0zLjQwNjI1IGggMjYuNzgxMjUgMTMuNDA2MjU0IGMgNy43OTI0NjEsMCAxMC42OTYyNTEsLTUuNDM1NDA4IDEzLjQwNjI0MSwtMTMuNTkzNzUgMi43OTkzMywtOC4zOTg4ODYgMi42ODAyMiwtMTYuNDc1Nzc2IDAsLTI3LjI1IC0xLjkyNTc4LC03Ljc1NzQ0MSAtNS42MDM4NywtMTMuNTkzNzUgLTEzLjQwNjI0MSwtMTMuNTkzNzUgeiBtIC0xNS4wNjI1LDY0LjY1NjI1IGMgMi43Nzk0NzgsM2UtNiA1LjAzMTI1LDIuMjc3NDE3IDUuMDMxMjUsNS4wOTM3NDcgLTJlLTYsMi44MjYzNTQgLTIuMjUxNzc1LDUuMTI1MDA0IC01LjAzMTI1LDUuMTI1MDA0IC0yLjc2OTU1LDAgLTUuMDMxMjUsLTIuMjk4NjUgLTUuMDMxMjUsLTUuMTI1MDA0IDJlLTYsLTIuODE2MzMgMi4yNjE2OTcsLTUuMDkzNzQ3IDUuMDMxMjUsLTUuMDkzNzQ3IHoiLz4KPC9zdmc+Cg==); + --jp-icon-r-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjE5NkYzIiBkPSJNNC40IDIuNWMxLjItLjEgMi45LS4zIDQuOS0uMyAyLjUgMCA0LjEuNCA1LjIgMS4zIDEgLjcgMS41IDEuOSAxLjUgMy41IDAgMi0xLjQgMy41LTIuOSA0LjEgMS4yLjQgMS43IDEuNiAyLjIgMyAuNiAxLjkgMSAzLjkgMS4zIDQuNmgtMy44Yy0uMy0uNC0uOC0xLjctMS4yLTMuN3MtMS4yLTIuNi0yLjYtMi42aC0uOXY2LjRINC40VjIuNXptMy43IDYuOWgxLjRjMS45IDAgMi45LS45IDIuOS0yLjNzLTEtMi4zLTIuOC0yLjNjLS43IDAtMS4zIDAtMS42LjJ2NC41aC4xdi0uMXoiLz4KPC9zdmc+Cg==); + --jp-icon-react: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMTUwIDE1MCA1NDEuOSAyOTUuMyI+CiAgPGcgY2xhc3M9ImpwLWljb24tYnJhbmQyIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxREFGQiI+CiAgICA8cGF0aCBkPSJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM3ptLTEzMC4yLTY2LjdjLTMuNyAxMi45LTguMyAyNi4yLTEzLjUgMzkuNS00LjEtOC04LjQtMTYtMTMuMS0yNC00LjYtOC05LjUtMTUuOC0xNC40LTIzLjQgMTQuMiAyLjEgMjcuOSA0LjcgNDEgNy45em0tNDUuOCAxMDYuNWMtNy44IDEzLjUtMTUuOCAyNi4zLTI0LjEgMzguMi0xNC45IDEuMy0zMCAyLTQ1LjIgMi0xNS4xIDAtMzAuMi0uNy00NS0xLjktOC4zLTExLjktMTYuNC0yNC42LTI0LjItMzgtNy42LTEzLjEtMTQuNS0yNi40LTIwLjgtMzkuOCA2LjItMTMuNCAxMy4yLTI2LjggMjAuNy0zOS45IDcuOC0xMy41IDE1LjgtMjYuMyAyNC4xLTM4LjIgMTQuOS0xLjMgMzAtMiA0NS4yLTIgMTUuMSAwIDMwLjIuNyA0NSAxLjkgOC4zIDExLjkgMTYuNCAyNC42IDI0LjIgMzggNy42IDEzLjEgMTQuNSAyNi40IDIwLjggMzkuOC02LjMgMTMuNC0xMy4yIDI2LjgtMjAuNyAzOS45em0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xek00MjEuMiA0MzBjLTkuMy05LjYtMTguNi0yMC4zLTI3LjgtMzIgOSAuNCAxOC4yLjcgMjcuNS43IDkuNCAwIDE4LjctLjIgMjcuOC0uNy05IDExLjctMTguMyAyMi40LTI3LjUgMzJ6bS03NC40LTU4LjljLTE0LjItMi4xLTI3LjktNC43LTQxLTcuOSAzLjctMTIuOSA4LjMtMjYuMiAxMy41LTM5LjUgNC4xIDggOC40IDE2IDEzLjEgMjQgNC43IDggOS41IDE1LjggMTQuNCAyMy40ek00MjAuNyAxNjNjOS4zIDkuNiAxOC42IDIwLjMgMjcuOCAzMi05LS40LTE4LjItLjctMjcuNS0uNy05LjQgMC0xOC43LjItMjcuOC43IDktMTEuNyAxOC4zLTIyLjQgMjcuNS0zMnptLTc0IDU4LjljLTQuOSA3LjctOS44IDE1LjYtMTQuNCAyMy43LTQuNiA4LTguOSAxNi0xMyAyNC01LjQtMTMuNC0xMC0yNi44LTEzLjgtMzkuOCAxMy4xLTMuMSAyNi45LTUuOCA0MS4yLTcuOXptLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42IDAtMTUuNyAyMi45LTM1LjYgNTguMy01MC42IDguNi0zLjcgMTgtNyAyNy43LTEwLjEgNS43IDE5LjYgMTMuMiA0MCAyMi41IDYwLjktOS4yIDIwLjgtMTYuNiA0MS4xLTIyLjIgNjAuNi05LjktMy4xLTE5LjMtNi41LTI4LTEwLjJ6TTMxMCA0OTBjLTEzLjYtNy44LTE5LjUtMzcuNS0xNC45LTc1LjcgMS4xLTkuNCAyLjktMTkuMyA1LjEtMjkuNCAxOS42IDQuOCA0MSA4LjUgNjMuNSAxMC45IDEzLjUgMTguNSAyNy41IDM1LjMgNDEuNiA1MC0zMi42IDMwLjMtNjMuMiA0Ni45LTg0IDQ2LjktNC41LS4xLTguMy0xLTExLjMtMi43em0yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xem0zOC41LTY2LjdjLTguNiAzLjctMTggNy0yNy43IDEwLjEtNS43LTE5LjYtMTMuMi00MC0yMi41LTYwLjkgOS4yLTIwLjggMTYuNi00MS4xIDIyLjItNjAuNiA5LjkgMy4xIDE5LjMgNi41IDI4LjEgMTAuMiAzNS40IDE1LjEgNTguMyAzNC45IDU4LjMgNTAuNi0uMSAxNS43LTIzIDM1LjYtNTguNCA1MC42ek0zMjAuOCA3OC40eiIvPgogICAgPGNpcmNsZSBjeD0iNDIwLjkiIGN5PSIyOTYuNSIgcj0iNDUuNyIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-redo: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE4LjQgMTAuNkMxNi41NSA4Ljk5IDE0LjE1IDggMTEuNSA4Yy00LjY1IDAtOC41OCAzLjAzLTkuOTYgNy4yMkwzLjkgMTZjMS4wNS0zLjE5IDQuMDUtNS41IDcuNi01LjUgMS45NSAwIDMuNzMuNzIgNS4xMiAxLjg4TDEzIDE2aDlWN2wtMy42IDMuNnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-refresh: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTkgMTMuNWMtMi40OSAwLTQuNS0yLjAxLTQuNS00LjVTNi41MSA0LjUgOSA0LjVjMS4yNCAwIDIuMzYuNTIgMy4xNyAxLjMzTDEwIDhoNVYzbC0xLjc2IDEuNzZDMTIuMTUgMy42OCAxMC42NiAzIDkgMyA1LjY5IDMgMy4wMSA1LjY5IDMuMDEgOVM1LjY5IDE1IDkgMTVjMi45NyAwIDUuNDMtMi4xNiA1LjktNWgtMS41MmMtLjQ2IDItMi4yNCAzLjUtNC4zOCAzLjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-regex: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiBmaWxsPSIjRkZGIj4KICAgIDxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjUuNSIgY3k9IjE0LjUiIHI9IjEuNSIvPgogICAgPHJlY3QgeD0iMTIiIHk9IjQiIGNsYXNzPSJzdDIiIHdpZHRoPSIxIiBoZWlnaHQ9IjgiLz4KICAgIDxyZWN0IHg9IjguNSIgeT0iNy41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg2NiAtMC41IDAuNSAwLjg2NiAtMi4zMjU1IDcuMzIxOSkiIGNsYXNzPSJzdDIiIHdpZHRoPSI4IiBoZWlnaHQ9IjEiLz4KICAgIDxyZWN0IHg9IjEyIiB5PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjUgLTAuODY2IDAuODY2IDAuNSAtMC42Nzc5IDE0LjgyNTIpIiBjbGFzcz0ic3QyIiB3aWR0aD0iMSIgaGVpZ2h0PSI4Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-run: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTggNXYxNGwxMS03eiIvPgogICAgPC9nPgo8L3N2Zz4K); + --jp-icon-running: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptOTYgMzI4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYweiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-save: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiIvPgogICAgPC9nPgo8L3N2Zz4K); + --jp-icon-search: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-settings: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVBLjQ4OC40ODggMCAwMDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NGwtMi4xMS0xLjY1ek0xMiAxNS41Yy0xLjkzIDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSAzLjUtMy41IDMuNSAxLjU3IDMuNSAzLjUtMS41NyAzLjUtMy41IDMuNXoiLz4KPC9zdmc+Cg==); + --jp-icon-share: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTSAxOCAyIEMgMTYuMzU0OTkgMiAxNSAzLjM1NDk5MDQgMTUgNSBDIDE1IDUuMTkwOTUyOSAxNS4wMjE3OTEgNS4zNzcxMjI0IDE1LjA1NjY0MSA1LjU1ODU5MzggTCA3LjkyMTg3NSA5LjcyMDcwMzEgQyA3LjM5ODUzOTkgOS4yNzc4NTM5IDYuNzMyMDc3MSA5IDYgOSBDIDQuMzU0OTkwNCA5IDMgMTAuMzU0OTkgMyAxMiBDIDMgMTMuNjQ1MDEgNC4zNTQ5OTA0IDE1IDYgMTUgQyA2LjczMjA3NzEgMTUgNy4zOTg1Mzk5IDE0LjcyMjE0NiA3LjkyMTg3NSAxNC4yNzkyOTcgTCAxNS4wNTY2NDEgMTguNDM5NDUzIEMgMTUuMDIxNTU1IDE4LjYyMTUxNCAxNSAxOC44MDgzODYgMTUgMTkgQyAxNSAyMC42NDUwMSAxNi4zNTQ5OSAyMiAxOCAyMiBDIDE5LjY0NTAxIDIyIDIxIDIwLjY0NTAxIDIxIDE5IEMgMjEgMTcuMzU0OTkgMTkuNjQ1MDEgMTYgMTggMTYgQyAxNy4yNjc0OCAxNiAxNi42MDE1OTMgMTYuMjc5MzI4IDE2LjA3ODEyNSAxNi43MjI2NTYgTCA4Ljk0MzM1OTQgMTIuNTU4NTk0IEMgOC45NzgyMDk1IDEyLjM3NzEyMiA5IDEyLjE5MDk1MyA5IDEyIEMgOSAxMS44MDkwNDcgOC45NzgyMDk1IDExLjYyMjg3OCA4Ljk0MzM1OTQgMTEuNDQxNDA2IEwgMTYuMDc4MTI1IDcuMjc5Mjk2OSBDIDE2LjYwMTQ2IDcuNzIyMTQ2MSAxNy4yNjc5MjMgOCAxOCA4IEMgMTkuNjQ1MDEgOCAyMSA2LjY0NTAwOTYgMjEgNSBDIDIxIDMuMzU0OTkwNCAxOS42NDUwMSAyIDE4IDIgeiBNIDE4IDQgQyAxOC41NjQxMjkgNCAxOSA0LjQzNTg3MDYgMTkgNSBDIDE5IDUuNTY0MTI5NCAxOC41NjQxMjkgNiAxOCA2IEMgMTcuNDM1ODcxIDYgMTcgNS41NjQxMjk0IDE3IDUgQyAxNyA0LjQzNTg3MDYgMTcuNDM1ODcxIDQgMTggNCB6IE0gNiAxMSBDIDYuNTY0MTI5NCAxMSA3IDExLjQzNTg3MSA3IDEyIEMgNyAxMi41NjQxMjkgNi41NjQxMjk0IDEzIDYgMTMgQyA1LjQzNTg3MDYgMTMgNSAxMi41NjQxMjkgNSAxMiBDIDUgMTEuNDM1ODcxIDUuNDM1ODcwNiAxMSA2IDExIHogTSAxOCAxOCBDIDE4LjU2NDEyOSAxOCAxOSAxOC40MzU4NzEgMTkgMTkgQyAxOSAxOS41NjQxMjkgMTguNTY0MTI5IDIwIDE4IDIwIEMgMTcuNDM1ODcxIDIwIDE3IDE5LjU2NDEyOSAxNyAxOSBDIDE3IDE4LjQzNTg3MSAxNy40MzU4NzEgMTggMTggMTggeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-spreadsheet: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNENBRjUwIiBkPSJNMi4yIDIuMnYxNy42aDE3LjZWMi4ySDIuMnptMTUuNCA3LjdoLTUuNVY0LjRoNS41djUuNXpNOS45IDQuNHY1LjVINC40VjQuNGg1LjV6bS01LjUgNy43aDUuNXY1LjVINC40di01LjV6bTcuNyA1LjV2LTUuNWg1LjV2NS41aC01LjV6Ii8+Cjwvc3ZnPgo=); + --jp-icon-stop: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik02IDZoMTJ2MTJINnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==); + --jp-icon-tab: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIxIDNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDNWNWgxMHY0aDh2MTB6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-table-rows: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMSw4SDNWNGgxOFY4eiBNMjEsMTBIM3Y0aDE4VjEweiBNMjEsMTZIM3Y0aDE4VjE2eiIvPgogICAgPC9nPgo8L3N2Zz4=); + --jp-icon-tag: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCA0MyAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTI4LjgzMzIgMTIuMzM0TDMyLjk5OTggMTYuNTAwN0wzNy4xNjY1IDEyLjMzNEgyOC44MzMyWiIvPgoJCTxwYXRoIGQ9Ik0xNi4yMDk1IDIxLjYxMDRDMTUuNjg3MyAyMi4xMjk5IDE0Ljg0NDMgMjIuMTI5OSAxNC4zMjQ4IDIxLjYxMDRMNi45ODI5IDE0LjcyNDVDNi41NzI0IDE0LjMzOTQgNi4wODMxMyAxMy42MDk4IDYuMDQ3ODYgMTMuMDQ4MkM1Ljk1MzQ3IDExLjUyODggNi4wMjAwMiA4LjYxOTQ0IDYuMDY2MjEgNy4wNzY5NUM2LjA4MjgxIDYuNTE0NzcgNi41NTU0OCA2LjA0MzQ3IDcuMTE4MDQgNi4wMzA1NUM5LjA4ODYzIDUuOTg0NzMgMTMuMjYzOCA1LjkzNTc5IDEzLjY1MTggNi4zMjQyNUwyMS43MzY5IDEzLjYzOUMyMi4yNTYgMTQuMTU4NSAyMS43ODUxIDE1LjQ3MjQgMjEuMjYyIDE1Ljk5NDZMMTYuMjA5NSAyMS42MTA0Wk05Ljc3NTg1IDguMjY1QzkuMzM1NTEgNy44MjU2NiA4LjYyMzUxIDcuODI1NjYgOC4xODI4IDguMjY1QzcuNzQzNDYgOC43MDU3MSA3Ljc0MzQ2IDkuNDE3MzMgOC4xODI4IDkuODU2NjdDOC42MjM4MiAxMC4yOTY0IDkuMzM1ODIgMTAuMjk2NCA5Ljc3NTg1IDkuODU2NjdDMTAuMjE1NiA5LjQxNzMzIDEwLjIxNTYgOC43MDUzMyA5Ljc3NTg1IDguMjY1WiIvPgoJPC9nPgo8L3N2Zz4K); + --jp-icon-terminal: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiA+CiAgICA8cmVjdCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1iYWNrZ3JvdW5kLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIiBmaWxsPSIjMzMzMzMzIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUtaW52ZXJzZSIgZD0iTTUuMDU2NjQgOC43NjE3MkM1LjA1NjY0IDguNTk3NjYgNS4wMzEyNSA4LjQ1MzEyIDQuOTgwNDcgOC4zMjgxMkM0LjkzMzU5IDguMTk5MjIgNC44NTU0NyA4LjA4MjAzIDQuNzQ2MDkgNy45NzY1NkM0LjY0MDYyIDcuODcxMDkgNC41IDcuNzc1MzkgNC4zMjQyMiA3LjY4OTQ1QzQuMTUyMzQgNy41OTk2MSAzLjk0MzM2IDcuNTExNzIgMy42OTcyNyA3LjQyNTc4QzMuMzAyNzMgNy4yODUxNiAyLjk0MzM2IDcuMTM2NzIgMi42MTkxNCA2Ljk4MDQ3QzIuMjk0OTIgNi44MjQyMiAyLjAxNzU4IDYuNjQyNTggMS43ODcxMSA2LjQzNTU1QzEuNTYwNTUgNi4yMjg1MiAxLjM4NDc3IDUuOTg4MjggMS4yNTk3NyA1LjcxNDg0QzEuMTM0NzcgNS40Mzc1IDEuMDcyMjcgNS4xMDkzOCAxLjA3MjI3IDQuNzMwNDdDMS4wNzIyNyA0LjM5ODQ0IDEuMTI4OTEgNC4wOTU3IDEuMjQyMTkgMy44MjIyN0MxLjM1NTQ3IDMuNTQ0OTIgMS41MTU2MiAzLjMwNDY5IDEuNzIyNjYgMy4xMDE1NkMxLjkyOTY5IDIuODk4NDQgMi4xNzk2OSAyLjczNDM3IDIuNDcyNjYgMi42MDkzOEMyLjc2NTYyIDIuNDg0MzggMy4wOTE4IDIuNDA0MyAzLjQ1MTE3IDIuMzY5MTRWMS4xMDkzOEg0LjM4ODY3VjIuMzgwODZDNC43NDAyMyAyLjQyNzczIDUuMDU2NjQgMi41MjM0NCA1LjMzNzg5IDIuNjY3OTdDNS42MTkxNCAyLjgxMjUgNS44NTc0MiAzLjAwMTk1IDYuMDUyNzMgMy4yMzYzM0M2LjI1MTk1IDMuNDY2OCA2LjQwNDMgMy43NDAyMyA2LjUwOTc3IDQuMDU2NjRDNi42MTkxNCA0LjM2OTE0IDYuNjczODMgNC43MjA3IDYuNjczODMgNS4xMTEzM0g1LjA0NDkyQzUuMDQ0OTIgNC42Mzg2NyA0LjkzNzUgNC4yODEyNSA0LjcyMjY2IDQuMDM5MDZDNC41MDc4MSAzLjc5Mjk3IDQuMjE2OCAzLjY2OTkyIDMuODQ5NjEgMy42Njk5MkMzLjY1MDM5IDMuNjY5OTIgMy40NzY1NiAzLjY5NzI3IDMuMzI4MTIgMy43NTE5NUMzLjE4MzU5IDMuODAyNzMgMy4wNjQ0NSAzLjg3Njk1IDIuOTcwNyAzLjk3NDYxQzIuODc2OTUgNC4wNjgzNiAyLjgwNjY0IDQuMTc5NjkgMi43NTk3NyA0LjMwODU5QzIuNzE2OCA0LjQzNzUgMi42OTUzMSA0LjU3ODEyIDIuNjk1MzEgNC43MzA0N0MyLjY5NTMxIDQuODgyODEgMi43MTY4IDUuMDE5NTMgMi43NTk3NyA1LjE0MDYyQzIuODA2NjQgNS4yNTc4MSAyLjg4MjgxIDUuMzY3MTkgMi45ODgyOCA1LjQ2ODc1QzMuMDk3NjYgNS41NzAzMSAzLjI0MDIzIDUuNjY3OTcgMy40MTYwMiA1Ljc2MTcyQzMuNTkxOCA1Ljg1MTU2IDMuODEwNTUgNS45NDMzNiA0LjA3MjI3IDYuMDM3MTFDNC40NjY4IDYuMTg1NTUgNC44MjQyMiA2LjMzOTg0IDUuMTQ0NTMgNi41QzUuNDY0ODQgNi42NTYyNSA1LjczODI4IDYuODM5ODQgNS45NjQ4NCA3LjA1MDc4QzYuMTk1MzEgNy4yNTc4MSA2LjM3MTA5IDcuNSA2LjQ5MjE5IDcuNzc3MzRDNi42MTcxOSA4LjA1MDc4IDYuNjc5NjkgOC4zNzUgNi42Nzk2OSA4Ljc1QzYuNjc5NjkgOS4wOTM3NSA2LjYyMzA1IDkuNDA0MyA2LjUwOTc3IDkuNjgxNjRDNi4zOTY0OCA5Ljk1NTA4IDYuMjM0MzggMTAuMTkxNCA2LjAyMzQ0IDEwLjM5MDZDNS44MTI1IDEwLjU4OTggNS41NTg1OSAxMC43NSA1LjI2MTcyIDEwLjg3MTFDNC45NjQ4NCAxMC45ODgzIDQuNjMyODEgMTEuMDY0NSA0LjI2NTYyIDExLjA5OTZWMTIuMjQ4SDMuMzMzOThWMTEuMDk5NkMzLjAwMTk1IDExLjA2ODQgMi42Nzk2OSAxMC45OTYxIDIuMzY3MTkgMTAuODgyOEMyLjA1NDY5IDEwLjc2NTYgMS43NzczNCAxMC41OTc3IDEuNTM1MTYgMTAuMzc4OUMxLjI5Njg4IDEwLjE2MDIgMS4xMDU0NyA5Ljg4NDc3IDAuOTYwOTM4IDkuNTUyNzNDMC44MTY0MDYgOS4yMTY4IDAuNzQ0MTQxIDguODE0NDUgMC43NDQxNDEgOC4zNDU3SDIuMzc4OTFDMi4zNzg5MSA4LjYyNjk1IDIuNDE5OTIgOC44NjMyOCAyLjUwMTk1IDkuMDU0NjlDMi41ODM5OCA5LjI0MjE5IDIuNjg5NDUgOS4zOTI1OCAyLjgxODM2IDkuNTA1ODZDMi45NTExNyA5LjYxNTIzIDMuMTAxNTYgOS42OTMzNiAzLjI2OTUzIDkuNzQwMjNDMy40Mzc1IDkuNzg3MTEgMy42MDkzOCA5LjgxMDU1IDMuNzg1MTYgOS44MTA1NUM0LjIwMzEyIDkuODEwNTUgNC41MTk1MyA5LjcxMjg5IDQuNzM0MzggOS41MTc1OEM0Ljk0OTIyIDkuMzIyMjcgNS4wNTY2NCA5LjA3MDMxIDUuMDU2NjQgOC43NjE3MlpNMTMuNDE4IDEyLjI3MTVIOC4wNzQyMlYxMUgxMy40MThWMTIuMjcxNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuOTUyNjQgNikiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=); + --jp-icon-text-editor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtdGV4dC1lZGl0b3ItaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xNSAxNUgzdjJoMTJ2LTJ6bTAtOEgzdjJoMTJWN3pNMyAxM2gxOHYtMkgzdjJ6bTAgOGgxOHYtMkgzdjJ6TTMgM3YyaDE4VjNIM3oiLz4KPC9zdmc+Cg==); + --jp-icon-toc: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik03LDVIMjFWN0g3VjVNNywxM1YxMUgyMVYxM0g3TTQsNC41QTEuNSwxLjUgMCAwLDEgNS41LDZBMS41LDEuNSAwIDAsMSA0LDcuNUExLjUsMS41IDAgMCwxIDIuNSw2QTEuNSwxLjUgMCAwLDEgNCw0LjVNNCwxMC41QTEuNSwxLjUgMCAwLDEgNS41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMy41QTEuNSwxLjUgMCAwLDEgMi41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMC41TTcsMTlWMTdIMjFWMTlIN000LDE2LjVBMS41LDEuNSAwIDAsMSA1LjUsMThBMS41LDEuNSAwIDAsMSA0LDE5LjVBMS41LDEuNSAwIDAsMSAyLjUsMThBMS41LDEuNSAwIDAsMSA0LDE2LjVaIiAvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-tree-view: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMiAxMVYzaC03djNIOVYzSDJ2OGg3VjhoMnYxMGg0djNoN3YtOGgtN3YzaC0yVjhoMnYzeiIvPgogICAgPC9nPgo8L3N2Zz4=); + --jp-icon-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMiAxNy4xODQ0IDIuOTY5NjggMTQuMzAzMiAxLjg2MDk0IDExLjQ0MDlaIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiMzMzMzMzMiIHN0cm9rZT0iIzMzMzMzMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA5Ljg2NzE5KSIgZD0iTTIuODYwMTUgNC44NjUzNUwwLjcyNjU0OSAyLjk5OTU5TDAgMy42MzA0NUwyLjg2MDE1IDYuMTMxNTdMOCAwLjYzMDg3Mkw3LjI3ODU3IDBMMi44NjAxNSA0Ljg2NTM1WiIvPgo8L3N2Zz4K); + --jp-icon-undo: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjUgOGMtMi42NSAwLTUuMDUuOTktNi45IDIuNkwyIDd2OWg5bC0zLjYyLTMuNjJjMS4zOS0xLjE2IDMuMTYtMS44OCA1LjEyLTEuODggMy41NCAwIDYuNTUgMi4zMSA3LjYgNS41bDIuMzctLjc4QzIxLjA4IDExLjAzIDE3LjE1IDggMTIuNSA4eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-user: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE2IDdhNCA0IDAgMTEtOCAwIDQgNCAwIDAxOCAwek0xMiAxNGE3IDcgMCAwMC03IDdoMTRhNyA3IDAgMDAtNy03eiIvPgogIDwvZz4KPC9zdmc+); + --jp-icon-users: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDM2IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPGcgY2xhc3M9ImpwLWljb24zIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjczMjcgMCAwIDEuNzMyNyAtMy42MjgyIC4wOTk1NzcpIiBmaWxsPSIjNjE2MTYxIj4KICA8cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLjUsMCwwLDEuNSwwLC02KSIgZD0ibTEyLjE4NiA3LjUwOThjLTEuMDUzNSAwLTEuOTc1NyAwLjU2NjUtMi40Nzg1IDEuNDEwMiAwLjc1MDYxIDAuMzEyNzcgMS4zOTc0IDAuODI2NDggMS44NzMgMS40NzI3aDMuNDg2M2MwLTEuNTkyLTEuMjg4OS0yLjg4MjgtMi44ODA5LTIuODgyOHoiLz4KICA8cGF0aCBkPSJtMjAuNDY1IDIuMzg5NWEyLjE4ODUgMi4xODg1IDAgMCAxLTIuMTg4NCAyLjE4ODUgMi4xODg1IDIuMTg4NSAwIDAgMS0yLjE4ODUtMi4xODg1IDIuMTg4NSAyLjE4ODUgMCAwIDEgMi4xODg1LTIuMTg4NSAyLjE4ODUgMi4xODg1IDAgMCAxIDIuMTg4NCAyLjE4ODV6Ii8+CiAgPHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMS41LDAsMCwxLjUsMCwtNikiIGQ9Im0zLjU4OTggOC40MjE5Yy0xLjExMjYgMC0yLjAxMzcgMC45MDExMS0yLjAxMzcgMi4wMTM3aDIuODE0NWMwLjI2Nzk3LTAuMzczMDkgMC41OTA3LTAuNzA0MzUgMC45NTg5OC0wLjk3ODUyLTAuMzQ0MzMtMC42MTY4OC0xLjAwMzEtMS4wMzUyLTEuNzU5OC0xLjAzNTJ6Ii8+CiAgPHBhdGggZD0ibTYuOTE1NCA0LjYyM2ExLjUyOTQgMS41Mjk0IDAgMCAxLTEuNTI5NCAxLjUyOTQgMS41Mjk0IDEuNTI5NCAwIDAgMS0xLjUyOTQtMS41Mjk0IDEuNTI5NCAxLjUyOTQgMCAwIDEgMS41Mjk0LTEuNTI5NCAxLjUyOTQgMS41Mjk0IDAgMCAxIDEuNTI5NCAxLjUyOTR6Ii8+CiAgPHBhdGggZD0ibTYuMTM1IDEzLjUzNWMwLTMuMjM5MiAyLjYyNTktNS44NjUgNS44NjUtNS44NjUgMy4yMzkyIDAgNS44NjUgMi42MjU5IDUuODY1IDUuODY1eiIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMy43Njg1IiByPSIyLjk2ODUiLz4KIDwvZz4KPC9zdmc+Cg==); + --jp-icon-vega: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjEyMTIxIj4KICAgIDxwYXRoIGQ9Ik0xMC42IDUuNGwyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJNMTUuOCAyLjJsLTQuNCA2LjZMNyA2LjNsLTQuOCA4djUuNWgxNy42VjIuMmgtNHptLTcgMTUuNEg1LjV2LTQuNGgzLjN2NC40em00LjQgMEg5LjhWOS44aDMuNHY3Ljh6bTQuNCAwaC0zLjRWNi41aDMuNHYxMS4xeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-yaml: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjRDgxQjYwIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjVsLTIuOS0uMXoiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxNi41IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxMSIgcj0iMi4xIi8+CiAgPC9nPgo8L3N2Zz4K); + } + + /* Icon CSS class declarations */ + + .jp-AddAboveIcon { + background-image: var(--jp-icon-add-above); + } + .jp-AddBelowIcon { + background-image: var(--jp-icon-add-below); + } + .jp-AddIcon { + background-image: var(--jp-icon-add); + } + .jp-BellIcon { + background-image: var(--jp-icon-bell); + } + .jp-BugDotIcon { + background-image: var(--jp-icon-bug-dot); + } + .jp-BugIcon { + background-image: var(--jp-icon-bug); + } + .jp-BuildIcon { + background-image: var(--jp-icon-build); + } + .jp-CaretDownEmptyIcon { + background-image: var(--jp-icon-caret-down-empty); + } + .jp-CaretDownEmptyThinIcon { + background-image: var(--jp-icon-caret-down-empty-thin); + } + .jp-CaretDownIcon { + background-image: var(--jp-icon-caret-down); + } + .jp-CaretLeftIcon { + background-image: var(--jp-icon-caret-left); + } + .jp-CaretRightIcon { + background-image: var(--jp-icon-caret-right); + } + .jp-CaretUpEmptyThinIcon { + background-image: var(--jp-icon-caret-up-empty-thin); + } + .jp-CaretUpIcon { + background-image: var(--jp-icon-caret-up); + } + .jp-CaseSensitiveIcon { + background-image: var(--jp-icon-case-sensitive); + } + .jp-CheckIcon { + background-image: var(--jp-icon-check); + } + .jp-CircleEmptyIcon { + background-image: var(--jp-icon-circle-empty); + } + .jp-CircleIcon { + background-image: var(--jp-icon-circle); + } + .jp-ClearIcon { + background-image: var(--jp-icon-clear); + } + .jp-CloseIcon { + background-image: var(--jp-icon-close); + } + .jp-CodeIcon { + background-image: var(--jp-icon-code); + } + .jp-ConsoleIcon { + background-image: var(--jp-icon-console); + } + .jp-CopyIcon { + background-image: var(--jp-icon-copy); + } + .jp-CopyrightIcon { + background-image: var(--jp-icon-copyright); + } + .jp-CutIcon { + background-image: var(--jp-icon-cut); + } + .jp-DeleteIcon { + background-image: var(--jp-icon-delete); + } + .jp-DownloadIcon { + background-image: var(--jp-icon-download); + } + .jp-DuplicateIcon { + background-image: var(--jp-icon-duplicate); + } + .jp-EditIcon { + background-image: var(--jp-icon-edit); + } + .jp-EllipsesIcon { + background-image: var(--jp-icon-ellipses); + } + .jp-ExtensionIcon { + background-image: var(--jp-icon-extension); + } + .jp-FastForwardIcon { + background-image: var(--jp-icon-fast-forward); + } + .jp-FileIcon { + background-image: var(--jp-icon-file); + } + .jp-FileUploadIcon { + background-image: var(--jp-icon-file-upload); + } + .jp-FilterListIcon { + background-image: var(--jp-icon-filter-list); + } + .jp-FolderFavoriteIcon { + background-image: var(--jp-icon-folder-favorite); + } + .jp-FolderIcon { + background-image: var(--jp-icon-folder); + } + .jp-HomeIcon { + background-image: var(--jp-icon-home); + } + .jp-Html5Icon { + background-image: var(--jp-icon-html5); + } + .jp-ImageIcon { + background-image: var(--jp-icon-image); + } + .jp-InspectorIcon { + background-image: var(--jp-icon-inspector); + } + .jp-JsonIcon { + background-image: var(--jp-icon-json); + } + .jp-JuliaIcon { + background-image: var(--jp-icon-julia); + } + .jp-JupyterFaviconIcon { + background-image: var(--jp-icon-jupyter-favicon); + } + .jp-JupyterIcon { + background-image: var(--jp-icon-jupyter); + } + .jp-JupyterlabWordmarkIcon { + background-image: var(--jp-icon-jupyterlab-wordmark); + } + .jp-KernelIcon { + background-image: var(--jp-icon-kernel); + } + .jp-KeyboardIcon { + background-image: var(--jp-icon-keyboard); + } + .jp-LaunchIcon { + background-image: var(--jp-icon-launch); + } + .jp-LauncherIcon { + background-image: var(--jp-icon-launcher); + } + .jp-LineFormIcon { + background-image: var(--jp-icon-line-form); + } + .jp-LinkIcon { + background-image: var(--jp-icon-link); + } + .jp-ListIcon { + background-image: var(--jp-icon-list); + } + .jp-ListingsInfoIcon { + background-image: var(--jp-icon-listings-info); + } + .jp-MarkdownIcon { + background-image: var(--jp-icon-markdown); + } + .jp-MoveDownIcon { + background-image: var(--jp-icon-move-down); + } + .jp-MoveUpIcon { + background-image: var(--jp-icon-move-up); + } + .jp-NewFolderIcon { + background-image: var(--jp-icon-new-folder); + } + .jp-NotTrustedIcon { + background-image: var(--jp-icon-not-trusted); + } + .jp-NotebookIcon { + background-image: var(--jp-icon-notebook); + } + .jp-NumberingIcon { + background-image: var(--jp-icon-numbering); + } + .jp-OfflineBoltIcon { + background-image: var(--jp-icon-offline-bolt); + } + .jp-PaletteIcon { + background-image: var(--jp-icon-palette); + } + .jp-PasteIcon { + background-image: var(--jp-icon-paste); + } + .jp-PdfIcon { + background-image: var(--jp-icon-pdf); + } + .jp-PythonIcon { + background-image: var(--jp-icon-python); + } + .jp-RKernelIcon { + background-image: var(--jp-icon-r-kernel); + } + .jp-ReactIcon { + background-image: var(--jp-icon-react); + } + .jp-RedoIcon { + background-image: var(--jp-icon-redo); + } + .jp-RefreshIcon { + background-image: var(--jp-icon-refresh); + } + .jp-RegexIcon { + background-image: var(--jp-icon-regex); + } + .jp-RunIcon { + background-image: var(--jp-icon-run); + } + .jp-RunningIcon { + background-image: var(--jp-icon-running); + } + .jp-SaveIcon { + background-image: var(--jp-icon-save); + } + .jp-SearchIcon { + background-image: var(--jp-icon-search); + } + .jp-SettingsIcon { + background-image: var(--jp-icon-settings); + } + .jp-ShareIcon { + background-image: var(--jp-icon-share); + } + .jp-SpreadsheetIcon { + background-image: var(--jp-icon-spreadsheet); + } + .jp-StopIcon { + background-image: var(--jp-icon-stop); + } + .jp-TabIcon { + background-image: var(--jp-icon-tab); + } + .jp-TableRowsIcon { + background-image: var(--jp-icon-table-rows); + } + .jp-TagIcon { + background-image: var(--jp-icon-tag); + } + .jp-TerminalIcon { + background-image: var(--jp-icon-terminal); + } + .jp-TextEditorIcon { + background-image: var(--jp-icon-text-editor); + } + .jp-TocIcon { + background-image: var(--jp-icon-toc); + } + .jp-TreeViewIcon { + background-image: var(--jp-icon-tree-view); + } + .jp-TrustedIcon { + background-image: var(--jp-icon-trusted); + } + .jp-UndoIcon { + background-image: var(--jp-icon-undo); + } + .jp-UserIcon { + background-image: var(--jp-icon-user); + } + .jp-UsersIcon { + background-image: var(--jp-icon-users); + } + .jp-VegaIcon { + background-image: var(--jp-icon-vega); + } + .jp-YamlIcon { + background-image: var(--jp-icon-yaml); + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /** + * (DEPRECATED) Support for consuming icons as CSS background images + */ + + .jp-Icon, + .jp-MaterialIcon { + background-position: center; + background-repeat: no-repeat; + background-size: 16px; + min-width: 16px; + min-height: 16px; + } + + .jp-Icon-cover { + background-position: center; + background-repeat: no-repeat; + background-size: cover; + } + + /** + * (DEPRECATED) Support for specific CSS icon sizes + */ + + .jp-Icon-16 { + background-size: 16px; + min-width: 16px; + min-height: 16px; + } + + .jp-Icon-18 { + background-size: 18px; + min-width: 18px; + min-height: 18px; + } + + .jp-Icon-20 { + background-size: 20px; + min-width: 20px; + min-height: 20px; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .lm-TabBar .lm-TabBar-addButton { + align-items: center; + display: flex; + padding: 4px; + padding-bottom: 5px; + margin-right: 1px; + background-color: var(--jp-layout-color2); + } + + .lm-TabBar .lm-TabBar-addButton:hover { + background-color: var(--jp-layout-color1); + } + + .lm-DockPanel-tabBar .lm-TabBar-tab { + width: var(--jp-private-horizontal-tab-width); + } + + .lm-DockPanel-tabBar .lm-TabBar-content { + flex: unset; + } + + .lm-DockPanel-tabBar[data-orientation='horizontal'] { + flex: 1 1 auto; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /** + * Support for icons as inline SVG HTMLElements + */ + + /* recolor the primary elements of an icon */ + .jp-icon0[fill] { + fill: var(--jp-inverse-layout-color0); + } + .jp-icon1[fill] { + fill: var(--jp-inverse-layout-color1); + } + .jp-icon2[fill] { + fill: var(--jp-inverse-layout-color2); + } + .jp-icon3[fill] { + fill: var(--jp-inverse-layout-color3); + } + .jp-icon4[fill] { + fill: var(--jp-inverse-layout-color4); + } + + .jp-icon0[stroke] { + stroke: var(--jp-inverse-layout-color0); + } + .jp-icon1[stroke] { + stroke: var(--jp-inverse-layout-color1); + } + .jp-icon2[stroke] { + stroke: var(--jp-inverse-layout-color2); + } + .jp-icon3[stroke] { + stroke: var(--jp-inverse-layout-color3); + } + .jp-icon4[stroke] { + stroke: var(--jp-inverse-layout-color4); + } + /* recolor the accent elements of an icon */ + .jp-icon-accent0[fill] { + fill: var(--jp-layout-color0); + } + .jp-icon-accent1[fill] { + fill: var(--jp-layout-color1); + } + .jp-icon-accent2[fill] { + fill: var(--jp-layout-color2); + } + .jp-icon-accent3[fill] { + fill: var(--jp-layout-color3); + } + .jp-icon-accent4[fill] { + fill: var(--jp-layout-color4); + } + + .jp-icon-accent0[stroke] { + stroke: var(--jp-layout-color0); + } + .jp-icon-accent1[stroke] { + stroke: var(--jp-layout-color1); + } + .jp-icon-accent2[stroke] { + stroke: var(--jp-layout-color2); + } + .jp-icon-accent3[stroke] { + stroke: var(--jp-layout-color3); + } + .jp-icon-accent4[stroke] { + stroke: var(--jp-layout-color4); + } + /* set the color of an icon to transparent */ + .jp-icon-none[fill] { + fill: none; + } + + .jp-icon-none[stroke] { + stroke: none; + } + /* brand icon colors. Same for light and dark */ + .jp-icon-brand0[fill] { + fill: var(--jp-brand-color0); + } + .jp-icon-brand1[fill] { + fill: var(--jp-brand-color1); + } + .jp-icon-brand2[fill] { + fill: var(--jp-brand-color2); + } + .jp-icon-brand3[fill] { + fill: var(--jp-brand-color3); + } + .jp-icon-brand4[fill] { + fill: var(--jp-brand-color4); + } + + .jp-icon-brand0[stroke] { + stroke: var(--jp-brand-color0); + } + .jp-icon-brand1[stroke] { + stroke: var(--jp-brand-color1); + } + .jp-icon-brand2[stroke] { + stroke: var(--jp-brand-color2); + } + .jp-icon-brand3[stroke] { + stroke: var(--jp-brand-color3); + } + .jp-icon-brand4[stroke] { + stroke: var(--jp-brand-color4); + } + /* warn icon colors. Same for light and dark */ + .jp-icon-warn0[fill] { + fill: var(--jp-warn-color0); + } + .jp-icon-warn1[fill] { + fill: var(--jp-warn-color1); + } + .jp-icon-warn2[fill] { + fill: var(--jp-warn-color2); + } + .jp-icon-warn3[fill] { + fill: var(--jp-warn-color3); + } + + .jp-icon-warn0[stroke] { + stroke: var(--jp-warn-color0); + } + .jp-icon-warn1[stroke] { + stroke: var(--jp-warn-color1); + } + .jp-icon-warn2[stroke] { + stroke: var(--jp-warn-color2); + } + .jp-icon-warn3[stroke] { + stroke: var(--jp-warn-color3); + } + /* icon colors that contrast well with each other and most backgrounds */ + .jp-icon-contrast0[fill] { + fill: var(--jp-icon-contrast-color0); + } + .jp-icon-contrast1[fill] { + fill: var(--jp-icon-contrast-color1); + } + .jp-icon-contrast2[fill] { + fill: var(--jp-icon-contrast-color2); + } + .jp-icon-contrast3[fill] { + fill: var(--jp-icon-contrast-color3); + } + + .jp-icon-contrast0[stroke] { + stroke: var(--jp-icon-contrast-color0); + } + .jp-icon-contrast1[stroke] { + stroke: var(--jp-icon-contrast-color1); + } + .jp-icon-contrast2[stroke] { + stroke: var(--jp-icon-contrast-color2); + } + .jp-icon-contrast3[stroke] { + stroke: var(--jp-icon-contrast-color3); + } + + .jp-jupyter-icon-color[fill] { + fill: var(--jp-jupyter-icon-color, var(--jp-warn-color0)); + } + + .jp-notebook-icon-color[fill] { + fill: var(--jp-notebook-icon-color, var(--jp-warn-color0)); + } + + .jp-json-icon-color[fill] { + fill: var(--jp-json-icon-color, var(--jp-warn-color1)); + } + + .jp-console-icon-color[fill] { + fill: var(--jp-console-icon-color, white); + } + + .jp-console-icon-background-color[fill] { + fill: var(--jp-console-icon-background-color, var(--jp-brand-color1)); + } + + .jp-terminal-icon-color[fill] { + fill: var(--jp-terminal-icon-color, var(--jp-layout-color2)); + } + + .jp-terminal-icon-background-color[fill] { + fill: var(--jp-terminal-icon-background-color, var(--jp-inverse-layout2)); + } + + .jp-text-editor-icon-color[fill] { + fill: var(--jp-text-editor-icon-color, var(--jp-inverse-layout3)); + } + + .jp-inspector-icon-color[fill] { + fill: var(--jp-inspector-icon-color, var(--jp-inverse-layout3)); + } + + /* CSS for icons in selected filebrowser listing items */ + .jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] { + fill: #fff; + } + .jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] { + fill: var(--jp-brand-color1); + } + + /* CSS for icons in selected tabs in the sidebar tab manager */ + #tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-selectable[fill] { + fill: #fff; + } + + #tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-selectable-inverse[fill] { + fill: var(--jp-brand-color1); + } + #tab-manager + .lm-TabBar-tab.jp-mod-active + .jp-icon-hover + :hover + .jp-icon-selectable[fill] { + fill: var(--jp-brand-color1); + } + + #tab-manager + .lm-TabBar-tab.jp-mod-active + .jp-icon-hover + :hover + .jp-icon-selectable-inverse[fill] { + fill: #fff; + } + + /** + * TODO: come up with non css-hack solution for showing the busy icon on top + * of the close icon + * CSS for complex behavior of close icon of tabs in the sidebar tab manager + */ + #tab-manager + .lm-TabBar-tab.jp-mod-dirty + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon3[fill] { + fill: none; + } + #tab-manager + .lm-TabBar-tab.jp-mod-dirty + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon-busy[fill] { + fill: var(--jp-inverse-layout-color3); + } + + #tab-manager + .lm-TabBar-tab.jp-mod-dirty.jp-mod-active + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon-busy[fill] { + fill: #fff; + } + + /** + * TODO: come up with non css-hack solution for showing the busy icon on top + * of the close icon + * CSS for complex behavior of close icon of tabs in the main area tabbar + */ + .lm-DockPanel-tabBar + .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon3[fill] { + fill: none; + } + .lm-DockPanel-tabBar + .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon-busy[fill] { + fill: var(--jp-inverse-layout-color3); + } + + /* CSS for icons in status bar */ + #jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] { + fill: #fff; + } + + #jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] { + fill: var(--jp-brand-color1); + } + /* special handling for splash icon CSS. While the theme CSS reloads during + splash, the splash icon can loose theming. To prevent that, we set a + default for its color variable */ + :root { + --jp-warn-color0: var(--md-orange-700); + } + + /* not sure what to do with this one, used in filebrowser listing */ + .jp-DragIcon { + margin-right: 4px; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /** + * Support for alt colors for icons as inline SVG HTMLElements + */ + + /* alt recolor the primary elements of an icon */ + .jp-icon-alt .jp-icon0[fill] { + fill: var(--jp-layout-color0); + } + .jp-icon-alt .jp-icon1[fill] { + fill: var(--jp-layout-color1); + } + .jp-icon-alt .jp-icon2[fill] { + fill: var(--jp-layout-color2); + } + .jp-icon-alt .jp-icon3[fill] { + fill: var(--jp-layout-color3); + } + .jp-icon-alt .jp-icon4[fill] { + fill: var(--jp-layout-color4); + } + + .jp-icon-alt .jp-icon0[stroke] { + stroke: var(--jp-layout-color0); + } + .jp-icon-alt .jp-icon1[stroke] { + stroke: var(--jp-layout-color1); + } + .jp-icon-alt .jp-icon2[stroke] { + stroke: var(--jp-layout-color2); + } + .jp-icon-alt .jp-icon3[stroke] { + stroke: var(--jp-layout-color3); + } + .jp-icon-alt .jp-icon4[stroke] { + stroke: var(--jp-layout-color4); + } + + /* alt recolor the accent elements of an icon */ + .jp-icon-alt .jp-icon-accent0[fill] { + fill: var(--jp-inverse-layout-color0); + } + .jp-icon-alt .jp-icon-accent1[fill] { + fill: var(--jp-inverse-layout-color1); + } + .jp-icon-alt .jp-icon-accent2[fill] { + fill: var(--jp-inverse-layout-color2); + } + .jp-icon-alt .jp-icon-accent3[fill] { + fill: var(--jp-inverse-layout-color3); + } + .jp-icon-alt .jp-icon-accent4[fill] { + fill: var(--jp-inverse-layout-color4); + } + + .jp-icon-alt .jp-icon-accent0[stroke] { + stroke: var(--jp-inverse-layout-color0); + } + .jp-icon-alt .jp-icon-accent1[stroke] { + stroke: var(--jp-inverse-layout-color1); + } + .jp-icon-alt .jp-icon-accent2[stroke] { + stroke: var(--jp-inverse-layout-color2); + } + .jp-icon-alt .jp-icon-accent3[stroke] { + stroke: var(--jp-inverse-layout-color3); + } + .jp-icon-alt .jp-icon-accent4[stroke] { + stroke: var(--jp-inverse-layout-color4); + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .jp-icon-hoverShow:not(:hover) .jp-icon-hoverShow-content { + display: none !important; + } + + /** + * Support for hover colors for icons as inline SVG HTMLElements + */ + + /** + * regular colors + */ + + /* recolor the primary elements of an icon */ + .jp-icon-hover :hover .jp-icon0-hover[fill] { + fill: var(--jp-inverse-layout-color0); + } + .jp-icon-hover :hover .jp-icon1-hover[fill] { + fill: var(--jp-inverse-layout-color1); + } + .jp-icon-hover :hover .jp-icon2-hover[fill] { + fill: var(--jp-inverse-layout-color2); + } + .jp-icon-hover :hover .jp-icon3-hover[fill] { + fill: var(--jp-inverse-layout-color3); + } + .jp-icon-hover :hover .jp-icon4-hover[fill] { + fill: var(--jp-inverse-layout-color4); + } + + .jp-icon-hover :hover .jp-icon0-hover[stroke] { + stroke: var(--jp-inverse-layout-color0); + } + .jp-icon-hover :hover .jp-icon1-hover[stroke] { + stroke: var(--jp-inverse-layout-color1); + } + .jp-icon-hover :hover .jp-icon2-hover[stroke] { + stroke: var(--jp-inverse-layout-color2); + } + .jp-icon-hover :hover .jp-icon3-hover[stroke] { + stroke: var(--jp-inverse-layout-color3); + } + .jp-icon-hover :hover .jp-icon4-hover[stroke] { + stroke: var(--jp-inverse-layout-color4); + } + + /* recolor the accent elements of an icon */ + .jp-icon-hover :hover .jp-icon-accent0-hover[fill] { + fill: var(--jp-layout-color0); + } + .jp-icon-hover :hover .jp-icon-accent1-hover[fill] { + fill: var(--jp-layout-color1); + } + .jp-icon-hover :hover .jp-icon-accent2-hover[fill] { + fill: var(--jp-layout-color2); + } + .jp-icon-hover :hover .jp-icon-accent3-hover[fill] { + fill: var(--jp-layout-color3); + } + .jp-icon-hover :hover .jp-icon-accent4-hover[fill] { + fill: var(--jp-layout-color4); + } + + .jp-icon-hover :hover .jp-icon-accent0-hover[stroke] { + stroke: var(--jp-layout-color0); + } + .jp-icon-hover :hover .jp-icon-accent1-hover[stroke] { + stroke: var(--jp-layout-color1); + } + .jp-icon-hover :hover .jp-icon-accent2-hover[stroke] { + stroke: var(--jp-layout-color2); + } + .jp-icon-hover :hover .jp-icon-accent3-hover[stroke] { + stroke: var(--jp-layout-color3); + } + .jp-icon-hover :hover .jp-icon-accent4-hover[stroke] { + stroke: var(--jp-layout-color4); + } + + /* set the color of an icon to transparent */ + .jp-icon-hover :hover .jp-icon-none-hover[fill] { + fill: none; + } + + .jp-icon-hover :hover .jp-icon-none-hover[stroke] { + stroke: none; + } + + /** + * inverse colors + */ + + /* inverse recolor the primary elements of an icon */ + .jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] { + fill: var(--jp-layout-color0); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] { + fill: var(--jp-layout-color1); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] { + fill: var(--jp-layout-color2); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] { + fill: var(--jp-layout-color3); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] { + fill: var(--jp-layout-color4); + } + + .jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] { + stroke: var(--jp-layout-color0); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] { + stroke: var(--jp-layout-color1); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] { + stroke: var(--jp-layout-color2); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] { + stroke: var(--jp-layout-color3); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] { + stroke: var(--jp-layout-color4); + } + + /* inverse recolor the accent elements of an icon */ + .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] { + fill: var(--jp-inverse-layout-color0); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] { + fill: var(--jp-inverse-layout-color1); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] { + fill: var(--jp-inverse-layout-color2); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] { + fill: var(--jp-inverse-layout-color3); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] { + fill: var(--jp-inverse-layout-color4); + } + + .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] { + stroke: var(--jp-inverse-layout-color0); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] { + stroke: var(--jp-inverse-layout-color1); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] { + stroke: var(--jp-inverse-layout-color2); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] { + stroke: var(--jp-inverse-layout-color3); + } + .jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] { + stroke: var(--jp-inverse-layout-color4); + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .jp-switch { + display: flex; + align-items: center; + padding-left: 4px; + padding-right: 4px; + font-size: var(--jp-ui-font-size1); + background-color: transparent; + color: var(--jp-ui-font-color1); + border: none; + height: 20px; + } + + .jp-switch:hover { + background-color: var(--jp-layout-color2); + } + + .jp-switch-label { + margin-right: 5px; + } + + .jp-switch-track { + cursor: pointer; + background-color: var(--jp-switch-color, var(--jp-border-color1)); + -webkit-transition: 0.4s; + transition: 0.4s; + border-radius: 34px; + height: 16px; + width: 35px; + position: relative; + } + + .jp-switch-track::before { + content: ''; + position: absolute; + height: 10px; + width: 10px; + margin: 3px; + left: 0px; + background-color: var(--jp-ui-inverse-font-color1); + -webkit-transition: 0.4s; + transition: 0.4s; + border-radius: 50%; + } + + .jp-switch[aria-checked='true'] .jp-switch-track { + background-color: var(--jp-switch-true-position-color, var(--jp-warn-color0)); + } + + .jp-switch[aria-checked='true'] .jp-switch-track::before { + /* track width (35) - margins (3 + 3) - thumb width (10) */ + left: 19px; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /* Sibling imports */ + + /* Override Blueprint's _reset.scss styles */ + html { + box-sizing: unset; + } + + *, + *::before, + *::after { + box-sizing: unset; + } + + body { + color: unset; + font-family: var(--jp-ui-font-family); + } + + p { + margin-top: unset; + margin-bottom: unset; + } + + small { + font-size: unset; + } + + strong { + font-weight: unset; + } + + /* Override Blueprint's _typography.scss styles */ + a { + text-decoration: unset; + color: unset; + } + a:hover { + text-decoration: unset; + color: unset; + } + + /* Override Blueprint's _accessibility.scss styles */ + :focus { + outline: unset; + outline-offset: unset; + -moz-outline-radius: unset; + } + + /* Styles for ui-components */ + .jp-Button { + border-radius: var(--jp-border-radius); + padding: 0px 12px; + font-size: var(--jp-ui-font-size1); + } + + /* Use our own theme for hover styles */ + button.jp-Button.bp3-button.bp3-minimal:hover { + background-color: var(--jp-layout-color2); + } + .jp-Button.minimal { + color: unset !important; + } + + .jp-Button.jp-ToolbarButtonComponent { + text-transform: none; + } + + .jp-InputGroup input { + box-sizing: border-box; + border-radius: 0; + background-color: transparent; + color: var(--jp-ui-font-color0); + box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color); + } + + .jp-InputGroup input:focus { + box-shadow: inset 0 0 0 var(--jp-border-width) + var(--jp-input-active-box-shadow-color), + inset 0 0 0 3px var(--jp-input-active-box-shadow-color); + } + + .jp-InputGroup input::placeholder, + input::placeholder { + color: var(--jp-ui-font-color3); + } + + .jp-BPIcon { + display: inline-block; + vertical-align: middle; + margin: auto; + } + + /* Stop blueprint futzing with our icon fills */ + .bp3-icon.jp-BPIcon > svg:not([fill]) { + fill: var(--jp-inverse-layout-color3); + } + + .jp-InputGroupAction { + padding: 6px; + } + + .jp-HTMLSelect.jp-DefaultStyle select { + background-color: initial; + border: none; + border-radius: 0; + box-shadow: none; + color: var(--jp-ui-font-color0); + display: block; + font-size: var(--jp-ui-font-size1); + height: 24px; + line-height: 14px; + padding: 0 25px 0 10px; + text-align: left; + -moz-appearance: none; + -webkit-appearance: none; + } + + /* Use our own theme for hover and option styles */ + .jp-HTMLSelect.jp-DefaultStyle select:hover, + .jp-HTMLSelect.jp-DefaultStyle select > option { + background-color: var(--jp-layout-color2); + color: var(--jp-ui-font-color0); + } + select { + box-sizing: border-box; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .jp-Collapse { + display: flex; + flex-direction: column; + align-items: stretch; + border-top: 1px solid var(--jp-border-color2); + border-bottom: 1px solid var(--jp-border-color2); + } + + .jp-Collapse-header { + padding: 1px 12px; + color: var(--jp-ui-font-color1); + background-color: var(--jp-layout-color1); + font-size: var(--jp-ui-font-size2); + } + + .jp-Collapse-header:hover { + background-color: var(--jp-layout-color2); + } + + .jp-Collapse-contents { + padding: 0px 12px 0px 12px; + background-color: var(--jp-layout-color1); + color: var(--jp-ui-font-color1); + overflow: auto; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Variables + |----------------------------------------------------------------------------*/ + + :root { + --jp-private-commandpalette-search-height: 28px; + } + + /*----------------------------------------------------------------------------- + | Overall styles + |----------------------------------------------------------------------------*/ + + .lm-CommandPalette { + padding-bottom: 0px; + color: var(--jp-ui-font-color1); + background: var(--jp-layout-color1); + /* This is needed so that all font sizing of children done in ems is + * relative to this base size */ + font-size: var(--jp-ui-font-size1); + } + + /*----------------------------------------------------------------------------- + | Modal variant + |----------------------------------------------------------------------------*/ + + .jp-ModalCommandPalette { + position: absolute; + z-index: 10000; + top: 38px; + left: 30%; + margin: 0; + padding: 4px; + width: 40%; + box-shadow: var(--jp-elevation-z4); + border-radius: 4px; + background: var(--jp-layout-color0); + } + + .jp-ModalCommandPalette .lm-CommandPalette { + max-height: 40vh; + } + + .jp-ModalCommandPalette .lm-CommandPalette .lm-close-icon::after { + display: none; + } + + .jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-header { + display: none; + } + + .jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item { + margin-left: 4px; + margin-right: 4px; + } + + .jp-ModalCommandPalette + .lm-CommandPalette + .lm-CommandPalette-item.lm-mod-disabled { + display: none; + } + + /*----------------------------------------------------------------------------- + | Search + |----------------------------------------------------------------------------*/ + + .lm-CommandPalette-search { + padding: 4px; + background-color: var(--jp-layout-color1); + z-index: 2; + } + + .lm-CommandPalette-wrapper { + overflow: overlay; + padding: 0px 9px; + background-color: var(--jp-input-active-background); + height: 30px; + box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color); + } + + .lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper { + box-shadow: inset 0 0 0 1px var(--jp-input-active-box-shadow-color), + inset 0 0 0 3px var(--jp-input-active-box-shadow-color); + } + + .jp-SearchIconGroup { + color: white; + background-color: var(--jp-brand-color1); + position: absolute; + top: 4px; + right: 4px; + padding: 5px 5px 1px 5px; + } + + .jp-SearchIconGroup svg { + height: 20px; + width: 20px; + } + + .jp-SearchIconGroup .jp-icon3[fill] { + fill: var(--jp-layout-color0); + } + + .lm-CommandPalette-input { + background: transparent; + width: calc(100% - 18px); + float: left; + border: none; + outline: none; + font-size: var(--jp-ui-font-size1); + color: var(--jp-ui-font-color0); + line-height: var(--jp-private-commandpalette-search-height); + } + + .lm-CommandPalette-input::-webkit-input-placeholder, + .lm-CommandPalette-input::-moz-placeholder, + .lm-CommandPalette-input:-ms-input-placeholder { + color: var(--jp-ui-font-color2); + font-size: var(--jp-ui-font-size1); + } + + /*----------------------------------------------------------------------------- + | Results + |----------------------------------------------------------------------------*/ + + .lm-CommandPalette-header:first-child { + margin-top: 0px; + } + + .lm-CommandPalette-header { + border-bottom: solid var(--jp-border-width) var(--jp-border-color2); + color: var(--jp-ui-font-color1); + cursor: pointer; + display: flex; + font-size: var(--jp-ui-font-size0); + font-weight: 600; + letter-spacing: 1px; + margin-top: 8px; + padding: 8px 0 8px 12px; + text-transform: uppercase; + } + + .lm-CommandPalette-header.lm-mod-active { + background: var(--jp-layout-color2); + } + + .lm-CommandPalette-header > mark { + background-color: transparent; + font-weight: bold; + color: var(--jp-ui-font-color1); + } + + .lm-CommandPalette-item { + padding: 4px 12px 4px 4px; + color: var(--jp-ui-font-color1); + font-size: var(--jp-ui-font-size1); + font-weight: 400; + display: flex; + } + + .lm-CommandPalette-item.lm-mod-disabled { + color: var(--jp-ui-font-color2); + } + + .lm-CommandPalette-item.lm-mod-active { + color: var(--jp-ui-inverse-font-color1); + background: var(--jp-brand-color1); + } + + .lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark { + color: var(--jp-ui-inverse-font-color0); + } + + .lm-CommandPalette-item.lm-mod-active .jp-icon-selectable[fill] { + fill: var(--jp-layout-color0); + } + + .lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark { + color: var(--jp-ui-inverse-font-color0); + } + + .lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) { + color: var(--jp-ui-inverse-font-color1); + background: var(--jp-brand-color1); + } + + .lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) { + background: var(--jp-layout-color2); + } + + .lm-CommandPalette-itemContent { + overflow: hidden; + } + + .lm-CommandPalette-itemLabel > mark { + color: var(--jp-ui-font-color0); + background-color: transparent; + font-weight: bold; + } + + .lm-CommandPalette-item.lm-mod-disabled mark { + color: var(--jp-ui-font-color2); + } + + .lm-CommandPalette-item .lm-CommandPalette-itemIcon { + margin: 0 4px 0 0; + position: relative; + width: 16px; + top: 2px; + flex: 0 0 auto; + } + + .lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon { + opacity: 0.6; + } + + .lm-CommandPalette-item .lm-CommandPalette-itemShortcut { + flex: 0 0 auto; + } + + .lm-CommandPalette-itemCaption { + display: none; + } + + .lm-CommandPalette-content { + background-color: var(--jp-layout-color1); + } + + .lm-CommandPalette-content:empty:after { + content: 'No results'; + margin: auto; + margin-top: 20px; + width: 100px; + display: block; + font-size: var(--jp-ui-font-size2); + font-family: var(--jp-ui-font-family); + font-weight: lighter; + } + + .lm-CommandPalette-emptyMessage { + text-align: center; + margin-top: 24px; + line-height: 1.32; + padding: 0px 8px; + color: var(--jp-content-font-color3); + } + + /*----------------------------------------------------------------------------- + | Copyright (c) 2014-2017, Jupyter Development Team. + | + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .jp-Dialog { + position: absolute; + z-index: 10000; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + top: 0px; + left: 0px; + margin: 0; + padding: 0; + width: 100%; + height: 100%; + background: var(--jp-dialog-background); + } + + .jp-Dialog-content { + display: flex; + flex-direction: column; + margin-left: auto; + margin-right: auto; + background: var(--jp-layout-color1); + padding: 24px 24px 12px 24px; + min-width: 300px; + min-height: 150px; + max-width: 1000px; + max-height: 500px; + box-sizing: border-box; + box-shadow: var(--jp-elevation-z20); + word-wrap: break-word; + border-radius: var(--jp-border-radius); + /* This is needed so that all font sizing of children done in ems is + * relative to this base size */ + font-size: var(--jp-ui-font-size1); + color: var(--jp-ui-font-color1); + resize: both; + } + + .jp-Dialog-content.jp-Dialog-content-small { + max-width: 500px; + } + + .jp-Dialog-button { + overflow: visible; + } + + button.jp-Dialog-button:focus { + outline: 1px solid var(--jp-brand-color1); + outline-offset: 4px; + -moz-outline-radius: 0px; + } + + button.jp-Dialog-button:focus::-moz-focus-inner { + border: 0; + } + + button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus, + button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus, + button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus { + outline-offset: 4px; + -moz-outline-radius: 0px; + } + + button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus { + outline: 1px solid var(--md-blue-700); + } + + button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus { + outline: 1px solid var(--md-red-600); + } + + button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus { + outline: 1px solid var(--md-grey-700); + } + + button.jp-Dialog-close-button { + padding: 0; + height: 100%; + min-width: unset; + min-height: unset; + } + + .jp-Dialog-header { + display: flex; + justify-content: space-between; + flex: 0 0 auto; + padding-bottom: 12px; + font-size: var(--jp-ui-font-size3); + font-weight: 400; + color: var(--jp-ui-font-color0); + } + + .jp-Dialog-body { + display: flex; + flex-direction: column; + flex: 1 1 auto; + font-size: var(--jp-ui-font-size1); + background: var(--jp-layout-color1); + overflow: auto; + } + + .jp-Dialog-footer { + display: flex; + flex-direction: row; + justify-content: flex-end; + align-items: center; + flex: 0 0 auto; + margin-left: -12px; + margin-right: -12px; + padding: 12px; + } + + .jp-Dialog-checkbox { + padding-right: 5px; + } + + .jp-Dialog-checkbox > input:focus-visible { + outline: 1px solid var(--jp-input-active-border-color); + outline-offset: 1px; + } + + .jp-Dialog-spacer { + flex: 1 1 auto; + } + + .jp-Dialog-title { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + + .jp-Dialog-body > .jp-select-wrapper { + width: 100%; + } + + .jp-Dialog-body > button { + padding: 0px 16px; + } + + .jp-Dialog-body > label { + line-height: 1.4; + color: var(--jp-ui-font-color0); + } + + .jp-Dialog-button.jp-mod-styled:not(:last-child) { + margin-right: 12px; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) 2014-2016, Jupyter Development Team. + | + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .jp-HoverBox { + position: fixed; + } + + .jp-HoverBox.jp-mod-outofview { + display: none; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .jp-IFrame { + width: 100%; + height: 100%; + } + + .jp-IFrame > iframe { + border: none; + } + + /* + When drag events occur, `p-mod-override-cursor` is added to the body. + Because iframes steal all cursor events, the following two rules are necessary + to suppress pointer events while resize drags are occurring. There may be a + better solution to this problem. + */ + body.lm-mod-override-cursor .jp-IFrame { + position: relative; + } + + body.lm-mod-override-cursor .jp-IFrame:before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: transparent; + } + + .jp-Input-Boolean-Dialog { + flex-direction: row-reverse; + align-items: end; + width: 100%; + } + + .jp-Input-Boolean-Dialog > label { + flex: 1 1 auto; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) 2014-2016, Jupyter Development Team. + | + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .jp-MainAreaWidget > :focus { + outline: none; + } + + .jp-MainAreaWidget .jp-MainAreaWidget-error { + padding: 6px; + } + + .jp-MainAreaWidget .jp-MainAreaWidget-error > pre { + width: auto; + padding: 10px; + background: var(--jp-error-color3); + border: var(--jp-border-width) solid var(--jp-error-color1); + border-radius: var(--jp-border-radius); + color: var(--jp-ui-font-color1); + font-size: var(--jp-ui-font-size1); + white-space: pre-wrap; + word-wrap: break-word; + } + + .jp-MainAreaWidget { + contain: strict; + } + + /** + * google-material-color v1.2.6 + * https://github.com/danlevan/google-material-color + */ + :root { + --md-red-50: #ffebee; + --md-red-100: #ffcdd2; + --md-red-200: #ef9a9a; + --md-red-300: #e57373; + --md-red-400: #ef5350; + --md-red-500: #f44336; + --md-red-600: #e53935; + --md-red-700: #d32f2f; + --md-red-800: #c62828; + --md-red-900: #b71c1c; + --md-red-A100: #ff8a80; + --md-red-A200: #ff5252; + --md-red-A400: #ff1744; + --md-red-A700: #d50000; + + --md-pink-50: #fce4ec; + --md-pink-100: #f8bbd0; + --md-pink-200: #f48fb1; + --md-pink-300: #f06292; + --md-pink-400: #ec407a; + --md-pink-500: #e91e63; + --md-pink-600: #d81b60; + --md-pink-700: #c2185b; + --md-pink-800: #ad1457; + --md-pink-900: #880e4f; + --md-pink-A100: #ff80ab; + --md-pink-A200: #ff4081; + --md-pink-A400: #f50057; + --md-pink-A700: #c51162; + + --md-purple-50: #f3e5f5; + --md-purple-100: #e1bee7; + --md-purple-200: #ce93d8; + --md-purple-300: #ba68c8; + --md-purple-400: #ab47bc; + --md-purple-500: #9c27b0; + --md-purple-600: #8e24aa; + --md-purple-700: #7b1fa2; + --md-purple-800: #6a1b9a; + --md-purple-900: #4a148c; + --md-purple-A100: #ea80fc; + --md-purple-A200: #e040fb; + --md-purple-A400: #d500f9; + --md-purple-A700: #aa00ff; + + --md-deep-purple-50: #ede7f6; + --md-deep-purple-100: #d1c4e9; + --md-deep-purple-200: #b39ddb; + --md-deep-purple-300: #9575cd; + --md-deep-purple-400: #7e57c2; + --md-deep-purple-500: #673ab7; + --md-deep-purple-600: #5e35b1; + --md-deep-purple-700: #512da8; + --md-deep-purple-800: #4527a0; + --md-deep-purple-900: #311b92; + --md-deep-purple-A100: #b388ff; + --md-deep-purple-A200: #7c4dff; + --md-deep-purple-A400: #651fff; + --md-deep-purple-A700: #6200ea; + + --md-indigo-50: #e8eaf6; + --md-indigo-100: #c5cae9; + --md-indigo-200: #9fa8da; + --md-indigo-300: #7986cb; + --md-indigo-400: #5c6bc0; + --md-indigo-500: #3f51b5; + --md-indigo-600: #3949ab; + --md-indigo-700: #303f9f; + --md-indigo-800: #283593; + --md-indigo-900: #1a237e; + --md-indigo-A100: #8c9eff; + --md-indigo-A200: #536dfe; + --md-indigo-A400: #3d5afe; + --md-indigo-A700: #304ffe; + + --md-blue-50: #e3f2fd; + --md-blue-100: #bbdefb; + --md-blue-200: #90caf9; + --md-blue-300: #64b5f6; + --md-blue-400: #42a5f5; + --md-blue-500: #2196f3; + --md-blue-600: #1e88e5; + --md-blue-700: #1976d2; + --md-blue-800: #1565c0; + --md-blue-900: #0d47a1; + --md-blue-A100: #82b1ff; + --md-blue-A200: #448aff; + --md-blue-A400: #2979ff; + --md-blue-A700: #2962ff; + + --md-light-blue-50: #e1f5fe; + --md-light-blue-100: #b3e5fc; + --md-light-blue-200: #81d4fa; + --md-light-blue-300: #4fc3f7; + --md-light-blue-400: #29b6f6; + --md-light-blue-500: #03a9f4; + --md-light-blue-600: #039be5; + --md-light-blue-700: #0288d1; + --md-light-blue-800: #0277bd; + --md-light-blue-900: #01579b; + --md-light-blue-A100: #80d8ff; + --md-light-blue-A200: #40c4ff; + --md-light-blue-A400: #00b0ff; + --md-light-blue-A700: #0091ea; + + --md-cyan-50: #e0f7fa; + --md-cyan-100: #b2ebf2; + --md-cyan-200: #80deea; + --md-cyan-300: #4dd0e1; + --md-cyan-400: #26c6da; + --md-cyan-500: #00bcd4; + --md-cyan-600: #00acc1; + --md-cyan-700: #0097a7; + --md-cyan-800: #00838f; + --md-cyan-900: #006064; + --md-cyan-A100: #84ffff; + --md-cyan-A200: #18ffff; + --md-cyan-A400: #00e5ff; + --md-cyan-A700: #00b8d4; + + --md-teal-50: #e0f2f1; + --md-teal-100: #b2dfdb; + --md-teal-200: #80cbc4; + --md-teal-300: #4db6ac; + --md-teal-400: #26a69a; + --md-teal-500: #009688; + --md-teal-600: #00897b; + --md-teal-700: #00796b; + --md-teal-800: #00695c; + --md-teal-900: #004d40; + --md-teal-A100: #a7ffeb; + --md-teal-A200: #64ffda; + --md-teal-A400: #1de9b6; + --md-teal-A700: #00bfa5; + + --md-green-50: #e8f5e9; + --md-green-100: #c8e6c9; + --md-green-200: #a5d6a7; + --md-green-300: #81c784; + --md-green-400: #66bb6a; + --md-green-500: #4caf50; + --md-green-600: #43a047; + --md-green-700: #388e3c; + --md-green-800: #2e7d32; + --md-green-900: #1b5e20; + --md-green-A100: #b9f6ca; + --md-green-A200: #69f0ae; + --md-green-A400: #00e676; + --md-green-A700: #00c853; + + --md-light-green-50: #f1f8e9; + --md-light-green-100: #dcedc8; + --md-light-green-200: #c5e1a5; + --md-light-green-300: #aed581; + --md-light-green-400: #9ccc65; + --md-light-green-500: #8bc34a; + --md-light-green-600: #7cb342; + --md-light-green-700: #689f38; + --md-light-green-800: #558b2f; + --md-light-green-900: #33691e; + --md-light-green-A100: #ccff90; + --md-light-green-A200: #b2ff59; + --md-light-green-A400: #76ff03; + --md-light-green-A700: #64dd17; + + --md-lime-50: #f9fbe7; + --md-lime-100: #f0f4c3; + --md-lime-200: #e6ee9c; + --md-lime-300: #dce775; + --md-lime-400: #d4e157; + --md-lime-500: #cddc39; + --md-lime-600: #c0ca33; + --md-lime-700: #afb42b; + --md-lime-800: #9e9d24; + --md-lime-900: #827717; + --md-lime-A100: #f4ff81; + --md-lime-A200: #eeff41; + --md-lime-A400: #c6ff00; + --md-lime-A700: #aeea00; + + --md-yellow-50: #fffde7; + --md-yellow-100: #fff9c4; + --md-yellow-200: #fff59d; + --md-yellow-300: #fff176; + --md-yellow-400: #ffee58; + --md-yellow-500: #ffeb3b; + --md-yellow-600: #fdd835; + --md-yellow-700: #fbc02d; + --md-yellow-800: #f9a825; + --md-yellow-900: #f57f17; + --md-yellow-A100: #ffff8d; + --md-yellow-A200: #ffff00; + --md-yellow-A400: #ffea00; + --md-yellow-A700: #ffd600; + + --md-amber-50: #fff8e1; + --md-amber-100: #ffecb3; + --md-amber-200: #ffe082; + --md-amber-300: #ffd54f; + --md-amber-400: #ffca28; + --md-amber-500: #ffc107; + --md-amber-600: #ffb300; + --md-amber-700: #ffa000; + --md-amber-800: #ff8f00; + --md-amber-900: #ff6f00; + --md-amber-A100: #ffe57f; + --md-amber-A200: #ffd740; + --md-amber-A400: #ffc400; + --md-amber-A700: #ffab00; + + --md-orange-50: #fff3e0; + --md-orange-100: #ffe0b2; + --md-orange-200: #ffcc80; + --md-orange-300: #ffb74d; + --md-orange-400: #ffa726; + --md-orange-500: #ff9800; + --md-orange-600: #fb8c00; + --md-orange-700: #f57c00; + --md-orange-800: #ef6c00; + --md-orange-900: #e65100; + --md-orange-A100: #ffd180; + --md-orange-A200: #ffab40; + --md-orange-A400: #ff9100; + --md-orange-A700: #ff6d00; + + --md-deep-orange-50: #fbe9e7; + --md-deep-orange-100: #ffccbc; + --md-deep-orange-200: #ffab91; + --md-deep-orange-300: #ff8a65; + --md-deep-orange-400: #ff7043; + --md-deep-orange-500: #ff5722; + --md-deep-orange-600: #f4511e; + --md-deep-orange-700: #e64a19; + --md-deep-orange-800: #d84315; + --md-deep-orange-900: #bf360c; + --md-deep-orange-A100: #ff9e80; + --md-deep-orange-A200: #ff6e40; + --md-deep-orange-A400: #ff3d00; + --md-deep-orange-A700: #dd2c00; + + --md-brown-50: #efebe9; + --md-brown-100: #d7ccc8; + --md-brown-200: #bcaaa4; + --md-brown-300: #a1887f; + --md-brown-400: #8d6e63; + --md-brown-500: #795548; + --md-brown-600: #6d4c41; + --md-brown-700: #5d4037; + --md-brown-800: #4e342e; + --md-brown-900: #3e2723; + + --md-grey-50: #fafafa; + --md-grey-100: #f5f5f5; + --md-grey-200: #eeeeee; + --md-grey-300: #e0e0e0; + --md-grey-400: #bdbdbd; + --md-grey-500: #9e9e9e; + --md-grey-600: #757575; + --md-grey-700: #616161; + --md-grey-800: #424242; + --md-grey-900: #212121; + + --md-blue-grey-50: #eceff1; + --md-blue-grey-100: #cfd8dc; + --md-blue-grey-200: #b0bec5; + --md-blue-grey-300: #90a4ae; + --md-blue-grey-400: #78909c; + --md-blue-grey-500: #607d8b; + --md-blue-grey-600: #546e7a; + --md-blue-grey-700: #455a64; + --md-blue-grey-800: #37474f; + --md-blue-grey-900: #263238; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) 2017, Jupyter Development Team. + | + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .jp-Spinner { + position: absolute; + display: flex; + justify-content: center; + align-items: center; + z-index: 10; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: var(--jp-layout-color0); + outline: none; + } + + .jp-SpinnerContent { + font-size: 10px; + margin: 50px auto; + text-indent: -9999em; + width: 3em; + height: 3em; + border-radius: 50%; + background: var(--jp-brand-color3); + background: linear-gradient( + to right, + #f37626 10%, + rgba(255, 255, 255, 0) 42% + ); + position: relative; + animation: load3 1s infinite linear, fadeIn 1s; + } + + .jp-SpinnerContent:before { + width: 50%; + height: 50%; + background: #f37626; + border-radius: 100% 0 0 0; + position: absolute; + top: 0; + left: 0; + content: ''; + } + + .jp-SpinnerContent:after { + background: var(--jp-layout-color0); + width: 75%; + height: 75%; + border-radius: 50%; + content: ''; + margin: auto; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + } + + @keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } + } + + @keyframes load3 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } + } + + /*----------------------------------------------------------------------------- + | Copyright (c) 2014-2017, Jupyter Development Team. + | + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + button.jp-mod-styled { + font-size: var(--jp-ui-font-size1); + color: var(--jp-ui-font-color0); + border: none; + box-sizing: border-box; + text-align: center; + line-height: 32px; + height: 32px; + padding: 0px 12px; + letter-spacing: 0.8px; + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + } + + input.jp-mod-styled { + background: var(--jp-input-background); + height: 28px; + box-sizing: border-box; + border: var(--jp-border-width) solid var(--jp-border-color1); + padding-left: 7px; + padding-right: 7px; + font-size: var(--jp-ui-font-size2); + color: var(--jp-ui-font-color0); + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + } + + input[type='checkbox'].jp-mod-styled { + appearance: checkbox; + -webkit-appearance: checkbox; + -moz-appearance: checkbox; + height: auto; + } + + input.jp-mod-styled:focus { + border: var(--jp-border-width) solid var(--md-blue-500); + box-shadow: inset 0 0 4px var(--md-blue-300); + } + + .jp-FileDialog-Checkbox { + margin-top: 35px; + display: flex; + flex-direction: row; + align-items: end; + width: 100%; + } + + .jp-FileDialog-Checkbox > label { + flex: 1 1 auto; + } + + .jp-select-wrapper { + display: flex; + position: relative; + flex-direction: column; + padding: 1px; + background-color: var(--jp-layout-color1); + height: 28px; + box-sizing: border-box; + margin-bottom: 12px; + } + + .jp-select-wrapper.jp-mod-focused select.jp-mod-styled { + border: var(--jp-border-width) solid var(--jp-input-active-border-color); + box-shadow: var(--jp-input-box-shadow); + background-color: var(--jp-input-active-background); + } + + select.jp-mod-styled:hover { + background-color: var(--jp-layout-color1); + cursor: pointer; + color: var(--jp-ui-font-color0); + background-color: var(--jp-input-hover-background); + box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.5); + } + + select.jp-mod-styled { + flex: 1 1 auto; + height: 32px; + width: 100%; + font-size: var(--jp-ui-font-size2); + background: var(--jp-input-background); + color: var(--jp-ui-font-color0); + padding: 0 25px 0 8px; + border: var(--jp-border-width) solid var(--jp-input-border-color); + border-radius: 0px; + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) 2014-2016, Jupyter Development Team. + | + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + :root { + --jp-private-toolbar-height: calc( + 28px + var(--jp-border-width) + ); /* leave 28px for content */ + } + + .jp-Toolbar { + color: var(--jp-ui-font-color1); + flex: 0 0 auto; + display: flex; + flex-direction: row; + border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color); + box-shadow: var(--jp-toolbar-box-shadow); + background: var(--jp-toolbar-background); + min-height: var(--jp-toolbar-micro-height); + padding: 2px; + z-index: 8; + overflow-x: hidden; + } + + /* Toolbar items */ + + .jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer { + flex-grow: 1; + flex-shrink: 1; + } + + .jp-Toolbar-item.jp-Toolbar-kernelStatus { + display: inline-block; + width: 32px; + background-repeat: no-repeat; + background-position: center; + background-size: 16px; + } + + .jp-Toolbar > .jp-Toolbar-item { + flex: 0 0 auto; + display: flex; + padding-left: 1px; + padding-right: 1px; + font-size: var(--jp-ui-font-size1); + line-height: var(--jp-private-toolbar-height); + height: 100%; + } + + /* Toolbar buttons */ + + /* This is the div we use to wrap the react component into a Widget */ + div.jp-ToolbarButton { + color: transparent; + border: none; + box-sizing: border-box; + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + padding: 0px; + margin: 0px; + } + + button.jp-ToolbarButtonComponent { + background: var(--jp-layout-color1); + border: none; + box-sizing: border-box; + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + padding: 0px 6px; + margin: 0px; + height: 24px; + border-radius: var(--jp-border-radius); + display: flex; + align-items: center; + text-align: center; + font-size: 14px; + min-width: unset; + min-height: unset; + } + + button.jp-ToolbarButtonComponent:disabled { + opacity: 0.4; + } + + button.jp-ToolbarButtonComponent span { + padding: 0px; + flex: 0 0 auto; + } + + button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label { + font-size: var(--jp-ui-font-size1); + line-height: 100%; + padding-left: 2px; + color: var(--jp-ui-font-color1); + } + + #jp-main-dock-panel[data-mode='single-document'] + .jp-MainAreaWidget + > .jp-Toolbar.jp-Toolbar-micro { + padding: 0; + min-height: 0; + } + + #jp-main-dock-panel[data-mode='single-document'] + .jp-MainAreaWidget + > .jp-Toolbar { + border: none; + box-shadow: none; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) 2014-2017, Jupyter Development Team. + | + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Copyright (c) 2014-2017, PhosphorJS Contributors + | + | Distributed under the terms of the BSD 3-Clause License. + | + | The full license is in the file LICENSE, distributed with this software. + |----------------------------------------------------------------------------*/ + + /* */ + body.p-mod-override-cursor *, /* */ + body.lm-mod-override-cursor * { + cursor: inherit !important; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) 2014-2016, Jupyter Development Team. + | + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .jp-JSONEditor { + display: flex; + flex-direction: column; + width: 100%; + } + + .jp-JSONEditor-host { + flex: 1 1 auto; + border: var(--jp-border-width) solid var(--jp-input-border-color); + border-radius: 0px; + background: var(--jp-layout-color0); + min-height: 50px; + padding: 1px; + } + + .jp-JSONEditor.jp-mod-error .jp-JSONEditor-host { + border-color: red; + outline-color: red; + } + + .jp-JSONEditor-header { + display: flex; + flex: 1 0 auto; + padding: 0 0 0 12px; + } + + .jp-JSONEditor-header label { + flex: 0 0 auto; + } + + .jp-JSONEditor-commitButton { + height: 16px; + width: 16px; + background-size: 18px; + background-repeat: no-repeat; + background-position: center; + } + + .jp-JSONEditor-host.jp-mod-focused { + background-color: var(--jp-input-active-background); + border: 1px solid var(--jp-input-active-border-color); + box-shadow: var(--jp-input-box-shadow); + } + + .jp-Editor.jp-mod-dropTarget { + border: var(--jp-border-width) solid var(--jp-input-active-border-color); + box-shadow: var(--jp-input-box-shadow); + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Variables + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + + /*----------------------------------------------------------------------------- + | Styles + |----------------------------------------------------------------------------*/ + + .jp-Statusbar-ProgressCircle svg { + display: block; + margin: 0 auto; + width: 16px; + height: 24px; + align-self: normal; + } + .jp-Statusbar-ProgressCircle path { + fill: var(--jp-inverse-layout-color3); + } + + .jp-Statusbar-ProgressBar-progress-bar { + height: 10px; + width: 100px; + border: solid 0.25px var(--jp-brand-color2); + border-radius: 3px; + overflow: hidden; + align-self: center; + } + .jp-Statusbar-ProgressBar-progress-bar > div { + background-color: var(--jp-brand-color2); + background-image: linear-gradient( + -45deg, + rgba(255, 255, 255, 0.2) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.2) 50%, + rgba(255, 255, 255, 0.2) 75%, + transparent 75%, + transparent + ); + background-size: 40px 40px; + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 14px; + color: #ffffff; + text-align: center; + animation: jp-Statusbar-ExecutionTime-progress-bar 2s linear infinite; + } + + .jp-Statusbar-ProgressBar-progress-bar p { + color: var(--jp-ui-font-color1); + font-family: var(--jp-ui-font-family); + font-size: var(--jp-ui-font-size1); + line-height: 10px; + width: 100px; + } + + @keyframes jp-Statusbar-ExecutionTime-progress-bar { + 0% { + background-position: 0 0; + } + 100% { + background-position: 40px 40px; + } + } + + /* BASICS */ + + .CodeMirror { + /* Set height, width, borders, and global font properties here */ + font-family: monospace; + height: 300px; + color: black; + direction: ltr; + } + + /* PADDING */ + + .CodeMirror-lines { + padding: 4px 0; /* Vertical padding around content */ + } + .CodeMirror pre.CodeMirror-line, + .CodeMirror pre.CodeMirror-line-like { + padding: 0 4px; /* Horizontal padding of content */ + } + + .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + background-color: white; /* The little square between H and V scrollbars */ + } + + /* GUTTER */ + + .CodeMirror-gutters { + border-right: 1px solid #ddd; + background-color: #f7f7f7; + white-space: nowrap; + } + .CodeMirror-linenumbers {} + .CodeMirror-linenumber { + padding: 0 3px 0 5px; + min-width: 20px; + text-align: right; + color: #999; + white-space: nowrap; + } + + .CodeMirror-guttermarker { color: black; } + .CodeMirror-guttermarker-subtle { color: #999; } + + /* CURSOR */ + + .CodeMirror-cursor { + border-left: 1px solid black; + border-right: none; + width: 0; + } + /* Shown when moving in bi-directional text */ + .CodeMirror div.CodeMirror-secondarycursor { + border-left: 1px solid silver; + } + .cm-fat-cursor .CodeMirror-cursor { + width: auto; + border: 0 !important; + background: #7e7; + } + .cm-fat-cursor div.CodeMirror-cursors { + z-index: 1; + } + .cm-fat-cursor-mark { + background-color: rgba(20, 255, 20, 0.5); + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; + } + .cm-animate-fat-cursor { + width: auto; + border: 0; + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; + background-color: #7e7; + } + @-moz-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} + } + @-webkit-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} + } + @keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} + } + + /* Can style cursor different in overwrite (non-insert) mode */ + .CodeMirror-overwrite .CodeMirror-cursor {} + + .cm-tab { display: inline-block; text-decoration: inherit; } + + .CodeMirror-rulers { + position: absolute; + left: 0; right: 0; top: -50px; bottom: 0; + overflow: hidden; + } + .CodeMirror-ruler { + border-left: 1px solid #ccc; + top: 0; bottom: 0; + position: absolute; + } + + /* DEFAULT THEME */ + + .cm-s-default .cm-header {color: blue;} + .cm-s-default .cm-quote {color: #090;} + .cm-negative {color: #d44;} + .cm-positive {color: #292;} + .cm-header, .cm-strong {font-weight: bold;} + .cm-em {font-style: italic;} + .cm-link {text-decoration: underline;} + .cm-strikethrough {text-decoration: line-through;} + + .cm-s-default .cm-keyword {color: #708;} + .cm-s-default .cm-atom {color: #219;} + .cm-s-default .cm-number {color: #164;} + .cm-s-default .cm-def {color: #00f;} + .cm-s-default .cm-variable, + .cm-s-default .cm-punctuation, + .cm-s-default .cm-property, + .cm-s-default .cm-operator {} + .cm-s-default .cm-variable-2 {color: #05a;} + .cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;} + .cm-s-default .cm-comment {color: #a50;} + .cm-s-default .cm-string {color: #a11;} + .cm-s-default .cm-string-2 {color: #f50;} + .cm-s-default .cm-meta {color: #555;} + .cm-s-default .cm-qualifier {color: #555;} + .cm-s-default .cm-builtin {color: #30a;} + .cm-s-default .cm-bracket {color: #997;} + .cm-s-default .cm-tag {color: #170;} + .cm-s-default .cm-attribute {color: #00c;} + .cm-s-default .cm-hr {color: #999;} + .cm-s-default .cm-link {color: #00c;} + + .cm-s-default .cm-error {color: #f00;} + .cm-invalidchar {color: #f00;} + + .CodeMirror-composing { border-bottom: 2px solid; } + + /* Default styles for common addons */ + + div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;} + div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;} + .CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } + .CodeMirror-activeline-background {background: #e8f2ff;} + + /* STOP */ + + /* The rest of this file contains styles related to the mechanics of + the editor. You probably shouldn't touch them. */ + + .CodeMirror { + position: relative; + overflow: hidden; + background: white; + } + + .CodeMirror-scroll { + overflow: scroll !important; /* Things will break if this is overridden */ + /* 50px is the magic margin used to hide the element's real scrollbars */ + /* See overflow: hidden in .CodeMirror */ + margin-bottom: -50px; margin-right: -50px; + padding-bottom: 50px; + height: 100%; + outline: none; /* Prevent dragging from highlighting the element */ + position: relative; + } + .CodeMirror-sizer { + position: relative; + border-right: 50px solid transparent; + } + + /* The fake, visible scrollbars. Used to force redraw during scrolling + before actual scrolling happens, thus preventing shaking and + flickering artifacts. */ + .CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + position: absolute; + z-index: 6; + display: none; + outline: none; + } + .CodeMirror-vscrollbar { + right: 0; top: 0; + overflow-x: hidden; + overflow-y: scroll; + } + .CodeMirror-hscrollbar { + bottom: 0; left: 0; + overflow-y: hidden; + overflow-x: scroll; + } + .CodeMirror-scrollbar-filler { + right: 0; bottom: 0; + } + .CodeMirror-gutter-filler { + left: 0; bottom: 0; + } + + .CodeMirror-gutters { + position: absolute; left: 0; top: 0; + min-height: 100%; + z-index: 3; + } + .CodeMirror-gutter { + white-space: normal; + height: 100%; + display: inline-block; + vertical-align: top; + margin-bottom: -50px; + } + .CodeMirror-gutter-wrapper { + position: absolute; + z-index: 4; + background: none !important; + border: none !important; + } + .CodeMirror-gutter-background { + position: absolute; + top: 0; bottom: 0; + z-index: 4; + } + .CodeMirror-gutter-elt { + position: absolute; + cursor: default; + z-index: 4; + } + .CodeMirror-gutter-wrapper ::selection { background-color: transparent } + .CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent } + + .CodeMirror-lines { + cursor: text; + min-height: 1px; /* prevents collapsing before first draw */ + } + .CodeMirror pre.CodeMirror-line, + .CodeMirror pre.CodeMirror-line-like { + /* Reset some styles that the rest of the page might have set */ + -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; + border-width: 0; + background: transparent; + font-family: inherit; + font-size: inherit; + margin: 0; + white-space: pre; + word-wrap: normal; + line-height: inherit; + color: inherit; + z-index: 2; + position: relative; + overflow: visible; + -webkit-tap-highlight-color: transparent; + -webkit-font-variant-ligatures: contextual; + font-variant-ligatures: contextual; + } + .CodeMirror-wrap pre.CodeMirror-line, + .CodeMirror-wrap pre.CodeMirror-line-like { + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; + } + + .CodeMirror-linebackground { + position: absolute; + left: 0; right: 0; top: 0; bottom: 0; + z-index: 0; + } + + .CodeMirror-linewidget { + position: relative; + z-index: 2; + padding: 0.1px; /* Force widget margins to stay inside of the container */ + } + + .CodeMirror-widget {} + + .CodeMirror-rtl pre { direction: rtl; } + + .CodeMirror-code { + outline: none; + } + + /* Force content-box sizing for the elements where we expect it */ + .CodeMirror-scroll, + .CodeMirror-sizer, + .CodeMirror-gutter, + .CodeMirror-gutters, + .CodeMirror-linenumber { + -moz-box-sizing: content-box; + box-sizing: content-box; + } + + .CodeMirror-measure { + position: absolute; + width: 100%; + height: 0; + overflow: hidden; + visibility: hidden; + } + + .CodeMirror-cursor { + position: absolute; + pointer-events: none; + } + .CodeMirror-measure pre { position: static; } + + div.CodeMirror-cursors { + visibility: hidden; + position: relative; + z-index: 3; + } + div.CodeMirror-dragcursors { + visibility: visible; + } + + .CodeMirror-focused div.CodeMirror-cursors { + visibility: visible; + } + + .CodeMirror-selected { background: #d9d9d9; } + .CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } + .CodeMirror-crosshair { cursor: crosshair; } + .CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; } + .CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; } + + .cm-searching { + background-color: #ffa; + background-color: rgba(255, 255, 0, .4); + } + + /* Used to force a border model for a node */ + .cm-force-border { padding-right: .1px; } + + @media print { + /* Hide the cursor when printing */ + .CodeMirror div.CodeMirror-cursors { + visibility: hidden; + } + } + + /* See issue #2901 */ + .cm-tab-wrap-hack:after { content: ''; } + + /* Help users use markselection to safely style text background */ + span.CodeMirror-selectedtext { background: none; } + + .CodeMirror-dialog { + position: absolute; + left: 0; right: 0; + background: inherit; + z-index: 15; + padding: .1em .8em; + overflow: hidden; + color: inherit; + } + + .CodeMirror-dialog-top { + border-bottom: 1px solid #eee; + top: 0; + } + + .CodeMirror-dialog-bottom { + border-top: 1px solid #eee; + bottom: 0; + } + + .CodeMirror-dialog input { + border: none; + outline: none; + background: transparent; + width: 20em; + color: inherit; + font-family: monospace; + } + + .CodeMirror-dialog button { + font-size: 70%; + } + + .CodeMirror-foldmarker { + color: blue; + text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; + font-family: arial; + line-height: .3; + cursor: pointer; + } + .CodeMirror-foldgutter { + width: .7em; + } + .CodeMirror-foldgutter-open, + .CodeMirror-foldgutter-folded { + cursor: pointer; + } + .CodeMirror-foldgutter-open:after { + content: "\25BE"; + } + .CodeMirror-foldgutter-folded:after { + content: "\25B8"; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .CodeMirror { + line-height: var(--jp-code-line-height); + font-size: var(--jp-code-font-size); + font-family: var(--jp-code-font-family); + border: 0; + border-radius: 0; + height: auto; + /* Changed to auto to autogrow */ + } + + .CodeMirror pre { + padding: 0 var(--jp-code-padding); + } + + .CodeMirror.cm-fat-cursor .cm-overlay.cm-searching { + opacity: 0.5; + } + + .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-dialog { + background-color: var(--jp-layout-color0); + color: var(--jp-content-font-color1); + } + + /* This causes https://github.com/jupyter/jupyterlab/issues/522 */ + /* May not cause it not because we changed it! */ + .CodeMirror-lines { + padding: var(--jp-code-padding) 0; + } + + .CodeMirror-linenumber { + padding: 0 8px; + } + + .jp-CodeMirrorEditor { + cursor: text; + } + + .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor { + border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color); + } + + /* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */ + @media screen and (min-width: 2138px) and (max-width: 4319px) { + .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor { + border-left: var(--jp-code-cursor-width1) solid + var(--jp-editor-cursor-color); + } + } + + /* When zoomed out less than 33% */ + @media screen and (min-width: 4320px) { + .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor { + border-left: var(--jp-code-cursor-width2) solid + var(--jp-editor-cursor-color); + } + } + + .CodeMirror.jp-mod-readOnly .CodeMirror-cursor { + display: none; + } + + .CodeMirror-gutters { + border-right: 1px solid var(--jp-border-color2); + background-color: var(--jp-layout-color0); + } + + .jp-CollaboratorCursor { + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: none; + border-bottom: 3px solid; + background-clip: content-box; + margin-left: -5px; + margin-right: -5px; + } + + .CodeMirror-selectedtext.cm-searching { + background-color: var(--jp-search-selected-match-background-color) !important; + color: var(--jp-search-selected-match-color) !important; + } + + .cm-searching { + background-color: var( + --jp-search-unselected-match-background-color + ) !important; + color: var(--jp-search-unselected-match-color) !important; + } + + .cm-trailingspace { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAsElEQVQIHQGlAFr/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7+r3zKmT0/+pk9P/7+r3zAAAAAAAAAAABAAAAAAAAAAA6OPzM+/q9wAAAAAA6OPzMwAAAAAAAAAAAgAAAAAAAAAAGR8NiRQaCgAZIA0AGR8NiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQyoYJ/SY80UAAAAASUVORK5CYII=); + background-position: center left; + background-repeat: repeat-x; + } + + .CodeMirror-focused .CodeMirror-selected { + background-color: var(--jp-editor-selected-focused-background); + } + + .CodeMirror-selected { + background-color: var(--jp-editor-selected-background); + } + + .jp-CollaboratorCursor-hover { + position: absolute; + z-index: 1; + transform: translateX(-50%); + color: white; + border-radius: 3px; + padding-left: 4px; + padding-right: 4px; + padding-top: 1px; + padding-bottom: 1px; + text-align: center; + font-size: var(--jp-ui-font-size1); + white-space: nowrap; + } + + .jp-CodeMirror-ruler { + border-left: 1px dashed var(--jp-border-color2); + } + + /** + * Here is our jupyter theme for CodeMirror syntax highlighting + * This is used in our marked.js syntax highlighting and CodeMirror itself + * The string "jupyter" is set in ../codemirror/widget.DEFAULT_CODEMIRROR_THEME + * This came from the classic notebook, which came form highlight.js/GitHub + */ + + /** + * CodeMirror themes are handling the background/color in this way. This works + * fine for CodeMirror editors outside the notebook, but the notebook styles + * these things differently. + */ + .CodeMirror.cm-s-jupyter { + background: var(--jp-layout-color0); + color: var(--jp-content-font-color1); + } + + /* In the notebook, we want this styling to be handled by its container */ + .jp-CodeConsole .CodeMirror.cm-s-jupyter, + .jp-Notebook .CodeMirror.cm-s-jupyter { + background: transparent; + } + + .cm-s-jupyter .CodeMirror-cursor { + border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color); + } + .cm-s-jupyter span.cm-keyword { + color: var(--jp-mirror-editor-keyword-color); + font-weight: bold; + } + .cm-s-jupyter span.cm-atom { + color: var(--jp-mirror-editor-atom-color); + } + .cm-s-jupyter span.cm-number { + color: var(--jp-mirror-editor-number-color); + } + .cm-s-jupyter span.cm-def { + color: var(--jp-mirror-editor-def-color); + } + .cm-s-jupyter span.cm-variable { + color: var(--jp-mirror-editor-variable-color); + } + .cm-s-jupyter span.cm-variable-2 { + color: var(--jp-mirror-editor-variable-2-color); + } + .cm-s-jupyter span.cm-variable-3 { + color: var(--jp-mirror-editor-variable-3-color); + } + .cm-s-jupyter span.cm-punctuation { + color: var(--jp-mirror-editor-punctuation-color); + } + .cm-s-jupyter span.cm-property { + color: var(--jp-mirror-editor-property-color); + } + .cm-s-jupyter span.cm-operator { + color: var(--jp-mirror-editor-operator-color); + font-weight: bold; + } + .cm-s-jupyter span.cm-comment { + color: var(--jp-mirror-editor-comment-color); + font-style: italic; + } + .cm-s-jupyter span.cm-string { + color: var(--jp-mirror-editor-string-color); + } + .cm-s-jupyter span.cm-string-2 { + color: var(--jp-mirror-editor-string-2-color); + } + .cm-s-jupyter span.cm-meta { + color: var(--jp-mirror-editor-meta-color); + } + .cm-s-jupyter span.cm-qualifier { + color: var(--jp-mirror-editor-qualifier-color); + } + .cm-s-jupyter span.cm-builtin { + color: var(--jp-mirror-editor-builtin-color); + } + .cm-s-jupyter span.cm-bracket { + color: var(--jp-mirror-editor-bracket-color); + } + .cm-s-jupyter span.cm-tag { + color: var(--jp-mirror-editor-tag-color); + } + .cm-s-jupyter span.cm-attribute { + color: var(--jp-mirror-editor-attribute-color); + } + .cm-s-jupyter span.cm-header { + color: var(--jp-mirror-editor-header-color); + } + .cm-s-jupyter span.cm-quote { + color: var(--jp-mirror-editor-quote-color); + } + .cm-s-jupyter span.cm-link { + color: var(--jp-mirror-editor-link-color); + } + .cm-s-jupyter span.cm-error { + color: var(--jp-mirror-editor-error-color); + } + .cm-s-jupyter span.cm-hr { + color: #999; + } + + .cm-s-jupyter span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; + } + + .cm-s-jupyter .CodeMirror-activeline-background, + .cm-s-jupyter .CodeMirror-gutter { + background-color: var(--jp-layout-color2); + } + + /* Styles for shared cursors (remote cursor locations and selected ranges) */ + .jp-CodeMirrorEditor .remote-caret { + position: relative; + border-left: 2px solid black; + margin-left: -1px; + margin-right: -1px; + box-sizing: border-box; + } + + .jp-CodeMirrorEditor .remote-caret > div { + white-space: nowrap; + position: absolute; + top: -1.15em; + padding-bottom: 0.05em; + left: -2px; + font-size: 0.95em; + background-color: rgb(250, 129, 0); + font-family: var(--jp-ui-font-family); + font-weight: bold; + line-height: normal; + user-select: none; + color: white; + padding-left: 2px; + padding-right: 2px; + z-index: 3; + transition: opacity 0.3s ease-in-out; + } + + .jp-CodeMirrorEditor .remote-caret.hide-name > div { + transition-delay: 0.7s; + opacity: 0; + } + + /* Use `div[style]` as more specific selector on 3.4.x to reduce the impact of + * Chromium style invalidation strategy on performance when many divs are present. + */ + .jp-CodeMirrorEditor .remote-caret:hover > div[style] { + opacity: 1; + transition-delay: 0s; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | RenderedText + |----------------------------------------------------------------------------*/ + + :root { + /* This is the padding value to fill the gaps between lines containing spans with background color. */ + --jp-private-code-span-padding: calc( + (var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2 + ); + } + + .jp-RenderedText { + text-align: left; + padding-left: var(--jp-code-padding); + line-height: var(--jp-code-line-height); + font-family: var(--jp-code-font-family); + } + + .jp-RenderedText pre, + .jp-RenderedJavaScript pre, + .jp-RenderedHTMLCommon pre { + color: var(--jp-content-font-color1); + font-size: var(--jp-code-font-size); + border: none; + margin: 0px; + padding: 0px; + } + + .jp-RenderedText pre a:link { + text-decoration: none; + color: var(--jp-content-link-color); + } + .jp-RenderedText pre a:hover { + text-decoration: underline; + color: var(--jp-content-link-color); + } + .jp-RenderedText pre a:visited { + text-decoration: none; + color: var(--jp-content-link-color); + } + + /* console foregrounds and backgrounds */ + .jp-RenderedText pre .ansi-black-fg { + color: #3e424d; + } + .jp-RenderedText pre .ansi-red-fg { + color: #e75c58; + } + .jp-RenderedText pre .ansi-green-fg { + color: #00a250; + } + .jp-RenderedText pre .ansi-yellow-fg { + color: #ddb62b; + } + .jp-RenderedText pre .ansi-blue-fg { + color: #208ffb; + } + .jp-RenderedText pre .ansi-magenta-fg { + color: #d160c4; + } + .jp-RenderedText pre .ansi-cyan-fg { + color: #60c6c8; + } + .jp-RenderedText pre .ansi-white-fg { + color: #c5c1b4; + } + + .jp-RenderedText pre .ansi-black-bg { + background-color: #3e424d; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-red-bg { + background-color: #e75c58; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-green-bg { + background-color: #00a250; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-yellow-bg { + background-color: #ddb62b; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-blue-bg { + background-color: #208ffb; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-magenta-bg { + background-color: #d160c4; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-cyan-bg { + background-color: #60c6c8; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-white-bg { + background-color: #c5c1b4; + padding: var(--jp-private-code-span-padding) 0; + } + + .jp-RenderedText pre .ansi-black-intense-fg { + color: #282c36; + } + .jp-RenderedText pre .ansi-red-intense-fg { + color: #b22b31; + } + .jp-RenderedText pre .ansi-green-intense-fg { + color: #007427; + } + .jp-RenderedText pre .ansi-yellow-intense-fg { + color: #b27d12; + } + .jp-RenderedText pre .ansi-blue-intense-fg { + color: #0065ca; + } + .jp-RenderedText pre .ansi-magenta-intense-fg { + color: #a03196; + } + .jp-RenderedText pre .ansi-cyan-intense-fg { + color: #258f8f; + } + .jp-RenderedText pre .ansi-white-intense-fg { + color: #a1a6b2; + } + + .jp-RenderedText pre .ansi-black-intense-bg { + background-color: #282c36; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-red-intense-bg { + background-color: #b22b31; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-green-intense-bg { + background-color: #007427; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-yellow-intense-bg { + background-color: #b27d12; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-blue-intense-bg { + background-color: #0065ca; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-magenta-intense-bg { + background-color: #a03196; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-cyan-intense-bg { + background-color: #258f8f; + padding: var(--jp-private-code-span-padding) 0; + } + .jp-RenderedText pre .ansi-white-intense-bg { + background-color: #a1a6b2; + padding: var(--jp-private-code-span-padding) 0; + } + + .jp-RenderedText pre .ansi-default-inverse-fg { + color: var(--jp-ui-inverse-font-color0); + } + .jp-RenderedText pre .ansi-default-inverse-bg { + background-color: var(--jp-inverse-layout-color0); + padding: var(--jp-private-code-span-padding) 0; + } + + .jp-RenderedText pre .ansi-bold { + font-weight: bold; + } + .jp-RenderedText pre .ansi-underline { + text-decoration: underline; + } + + .jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] { + background: var(--jp-rendermime-error-background); + padding-top: var(--jp-code-padding); + } + + /*----------------------------------------------------------------------------- + | RenderedLatex + |----------------------------------------------------------------------------*/ + + .jp-RenderedLatex { + color: var(--jp-content-font-color1); + font-size: var(--jp-content-font-size1); + line-height: var(--jp-content-line-height); + } + + /* Left-justify outputs.*/ + .jp-OutputArea-output.jp-RenderedLatex { + padding: var(--jp-code-padding); + text-align: left; + } + + /*----------------------------------------------------------------------------- + | RenderedHTML + |----------------------------------------------------------------------------*/ + + .jp-RenderedHTMLCommon { + color: var(--jp-content-font-color1); + font-family: var(--jp-content-font-family); + font-size: var(--jp-content-font-size1); + line-height: var(--jp-content-line-height); + /* Give a bit more R padding on Markdown text to keep line lengths reasonable */ + padding-right: 20px; + } + + .jp-RenderedHTMLCommon em { + font-style: italic; + } + + .jp-RenderedHTMLCommon strong { + font-weight: bold; + } + + .jp-RenderedHTMLCommon u { + text-decoration: underline; + } + + .jp-RenderedHTMLCommon a:link { + text-decoration: none; + color: var(--jp-content-link-color); + } + + .jp-RenderedHTMLCommon a:hover { + text-decoration: underline; + color: var(--jp-content-link-color); + } + + .jp-RenderedHTMLCommon a:visited { + text-decoration: none; + color: var(--jp-content-link-color); + } + + /* Headings */ + + .jp-RenderedHTMLCommon h1, + .jp-RenderedHTMLCommon h2, + .jp-RenderedHTMLCommon h3, + .jp-RenderedHTMLCommon h4, + .jp-RenderedHTMLCommon h5, + .jp-RenderedHTMLCommon h6 { + line-height: var(--jp-content-heading-line-height); + font-weight: var(--jp-content-heading-font-weight); + font-style: normal; + margin: var(--jp-content-heading-margin-top) 0 + var(--jp-content-heading-margin-bottom) 0; + } + + .jp-RenderedHTMLCommon h1:first-child, + .jp-RenderedHTMLCommon h2:first-child, + .jp-RenderedHTMLCommon h3:first-child, + .jp-RenderedHTMLCommon h4:first-child, + .jp-RenderedHTMLCommon h5:first-child, + .jp-RenderedHTMLCommon h6:first-child { + margin-top: calc(0.5 * var(--jp-content-heading-margin-top)); + } + + .jp-RenderedHTMLCommon h1:last-child, + .jp-RenderedHTMLCommon h2:last-child, + .jp-RenderedHTMLCommon h3:last-child, + .jp-RenderedHTMLCommon h4:last-child, + .jp-RenderedHTMLCommon h5:last-child, + .jp-RenderedHTMLCommon h6:last-child { + margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom)); + } + + .jp-RenderedHTMLCommon h1 { + font-size: var(--jp-content-font-size5); + } + + .jp-RenderedHTMLCommon h2 { + font-size: var(--jp-content-font-size4); + } + + .jp-RenderedHTMLCommon h3 { + font-size: var(--jp-content-font-size3); + } + + .jp-RenderedHTMLCommon h4 { + font-size: var(--jp-content-font-size2); + } + + .jp-RenderedHTMLCommon h5 { + font-size: var(--jp-content-font-size1); + } + + .jp-RenderedHTMLCommon h6 { + font-size: var(--jp-content-font-size0); + } + + /* Lists */ + + .jp-RenderedHTMLCommon ul:not(.list-inline), + .jp-RenderedHTMLCommon ol:not(.list-inline) { + padding-left: 2em; + } + + .jp-RenderedHTMLCommon ul { + list-style: disc; + } + + .jp-RenderedHTMLCommon ul ul { + list-style: square; + } + + .jp-RenderedHTMLCommon ul ul ul { + list-style: circle; + } + + .jp-RenderedHTMLCommon ol { + list-style: decimal; + } + + .jp-RenderedHTMLCommon ol ol { + list-style: upper-alpha; + } + + .jp-RenderedHTMLCommon ol ol ol { + list-style: lower-alpha; + } + + .jp-RenderedHTMLCommon ol ol ol ol { + list-style: lower-roman; + } + + .jp-RenderedHTMLCommon ol ol ol ol ol { + list-style: decimal; + } + + .jp-RenderedHTMLCommon ol, + .jp-RenderedHTMLCommon ul { + margin-bottom: 1em; + } + + .jp-RenderedHTMLCommon ul ul, + .jp-RenderedHTMLCommon ul ol, + .jp-RenderedHTMLCommon ol ul, + .jp-RenderedHTMLCommon ol ol { + margin-bottom: 0em; + } + + .jp-RenderedHTMLCommon hr { + color: var(--jp-border-color2); + background-color: var(--jp-border-color1); + margin-top: 1em; + margin-bottom: 1em; + } + + .jp-RenderedHTMLCommon > pre { + margin: 1.5em 2em; + } + + .jp-RenderedHTMLCommon pre, + .jp-RenderedHTMLCommon code { + border: 0; + background-color: var(--jp-layout-color0); + color: var(--jp-content-font-color1); + font-family: var(--jp-code-font-family); + font-size: inherit; + line-height: var(--jp-code-line-height); + padding: 0; + white-space: pre-wrap; + } + + .jp-RenderedHTMLCommon :not(pre) > code { + background-color: var(--jp-layout-color2); + padding: 1px 5px; + } + + /* Tables */ + + .jp-RenderedHTMLCommon table { + border-collapse: collapse; + border-spacing: 0; + border: none; + color: var(--jp-ui-font-color1); + font-size: var(--jp-ui-font-size1); + table-layout: fixed; + margin-left: auto; + margin-right: auto; + } + + .jp-RenderedHTMLCommon thead { + border-bottom: var(--jp-border-width) solid var(--jp-border-color1); + vertical-align: bottom; + } + + .jp-RenderedHTMLCommon td, + .jp-RenderedHTMLCommon th, + .jp-RenderedHTMLCommon tr { + vertical-align: middle; + padding: 0.5em 0.5em; + line-height: normal; + white-space: normal; + max-width: none; + border: none; + } + + .jp-RenderedMarkdown.jp-RenderedHTMLCommon td, + .jp-RenderedMarkdown.jp-RenderedHTMLCommon th { + max-width: none; + } + + :not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td, + :not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th, + :not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr { + text-align: right; + } + + .jp-RenderedHTMLCommon th { + font-weight: bold; + } + + .jp-RenderedHTMLCommon tbody tr:nth-child(odd) { + background: var(--jp-layout-color0); + } + + .jp-RenderedHTMLCommon tbody tr:nth-child(even) { + background: var(--jp-rendermime-table-row-background); + } + + .jp-RenderedHTMLCommon tbody tr:hover { + background: var(--jp-rendermime-table-row-hover-background); + } + + .jp-RenderedHTMLCommon table { + margin-bottom: 1em; + } + + .jp-RenderedHTMLCommon p { + text-align: left; + margin: 0px; + } + + .jp-RenderedHTMLCommon p { + margin-bottom: 1em; + } + + .jp-RenderedHTMLCommon img { + -moz-force-broken-image-icon: 1; + } + + /* Restrict to direct children as other images could be nested in other content. */ + .jp-RenderedHTMLCommon > img { + display: block; + margin-left: 0; + margin-right: 0; + margin-bottom: 1em; + } + + /* Change color behind transparent images if they need it... */ + [data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background { + background-color: var(--jp-inverse-layout-color1); + } + [data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background { + background-color: var(--jp-inverse-layout-color1); + } + /* ...or leave it untouched if they don't */ + [data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-dark-background { + } + [data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-light-background { + } + + .jp-RenderedHTMLCommon img, + .jp-RenderedImage img, + .jp-RenderedHTMLCommon svg, + .jp-RenderedSVG svg { + max-width: 100%; + height: auto; + } + + .jp-RenderedHTMLCommon img.jp-mod-unconfined, + .jp-RenderedImage img.jp-mod-unconfined, + .jp-RenderedHTMLCommon svg.jp-mod-unconfined, + .jp-RenderedSVG svg.jp-mod-unconfined { + max-width: none; + } + + .jp-RenderedHTMLCommon .alert { + padding: var(--jp-notebook-padding); + border: var(--jp-border-width) solid transparent; + border-radius: var(--jp-border-radius); + margin-bottom: 1em; + } + + .jp-RenderedHTMLCommon .alert-info { + color: var(--jp-info-color0); + background-color: var(--jp-info-color3); + border-color: var(--jp-info-color2); + } + .jp-RenderedHTMLCommon .alert-info hr { + border-color: var(--jp-info-color3); + } + .jp-RenderedHTMLCommon .alert-info > p:last-child, + .jp-RenderedHTMLCommon .alert-info > ul:last-child { + margin-bottom: 0; + } + + .jp-RenderedHTMLCommon .alert-warning { + color: var(--jp-warn-color0); + background-color: var(--jp-warn-color3); + border-color: var(--jp-warn-color2); + } + .jp-RenderedHTMLCommon .alert-warning hr { + border-color: var(--jp-warn-color3); + } + .jp-RenderedHTMLCommon .alert-warning > p:last-child, + .jp-RenderedHTMLCommon .alert-warning > ul:last-child { + margin-bottom: 0; + } + + .jp-RenderedHTMLCommon .alert-success { + color: var(--jp-success-color0); + background-color: var(--jp-success-color3); + border-color: var(--jp-success-color2); + } + .jp-RenderedHTMLCommon .alert-success hr { + border-color: var(--jp-success-color3); + } + .jp-RenderedHTMLCommon .alert-success > p:last-child, + .jp-RenderedHTMLCommon .alert-success > ul:last-child { + margin-bottom: 0; + } + + .jp-RenderedHTMLCommon .alert-danger { + color: var(--jp-error-color0); + background-color: var(--jp-error-color3); + border-color: var(--jp-error-color2); + } + .jp-RenderedHTMLCommon .alert-danger hr { + border-color: var(--jp-error-color3); + } + .jp-RenderedHTMLCommon .alert-danger > p:last-child, + .jp-RenderedHTMLCommon .alert-danger > ul:last-child { + margin-bottom: 0; + } + + .jp-RenderedHTMLCommon blockquote { + margin: 1em 2em; + padding: 0 1em; + border-left: 5px solid var(--jp-border-color2); + } + + a.jp-InternalAnchorLink { + visibility: hidden; + margin-left: 8px; + color: var(--md-blue-800); + } + + h1:hover .jp-InternalAnchorLink, + h2:hover .jp-InternalAnchorLink, + h3:hover .jp-InternalAnchorLink, + h4:hover .jp-InternalAnchorLink, + h5:hover .jp-InternalAnchorLink, + h6:hover .jp-InternalAnchorLink { + visibility: visible; + } + + .jp-RenderedHTMLCommon kbd { + background-color: var(--jp-rendermime-table-row-background); + border: 1px solid var(--jp-border-color0); + border-bottom-color: var(--jp-border-color2); + border-radius: 3px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); + display: inline-block; + font-size: var(--jp-ui-font-size0); + line-height: 1em; + padding: 0.2em 0.5em; + } + + /* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0. + * At the bottom of cells this is a bit too much as there is also spacing + * between cells. Going all the way to 0 gets too tight between markdown and + * code cells. + */ + .jp-RenderedHTMLCommon > *:last-child { + margin-bottom: 0.5em; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .jp-MimeDocument { + outline: none; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Variables + |----------------------------------------------------------------------------*/ + + :root { + --jp-private-filebrowser-button-height: 28px; + --jp-private-filebrowser-button-width: 48px; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .jp-FileBrowser { + display: flex; + flex-direction: column; + color: var(--jp-ui-font-color1); + background: var(--jp-layout-color1); + /* This is needed so that all font sizing of children done in ems is + * relative to this base size */ + font-size: var(--jp-ui-font-size1); + } + + .jp-FileBrowser-toolbar.jp-Toolbar { + border-bottom: none; + height: auto; + margin: 8px 12px 0px 12px; + padding: 0px; + box-shadow: none; + justify-content: flex-start; + } + + .jp-BreadCrumbs { + flex: 0 0 auto; + margin: 8px 12px 8px 12px; + } + + .jp-BreadCrumbs-item { + margin: 0px 2px; + padding: 0px 2px; + border-radius: var(--jp-border-radius); + cursor: pointer; + } + + .jp-BreadCrumbs-item:hover { + background-color: var(--jp-layout-color2); + } + + .jp-BreadCrumbs-item:first-child { + margin-left: 0px; + } + + .jp-BreadCrumbs-item.jp-mod-dropTarget { + background-color: var(--jp-brand-color2); + opacity: 0.7; + } + + /*----------------------------------------------------------------------------- + | Buttons + |----------------------------------------------------------------------------*/ + + .jp-FileBrowser-toolbar > .jp-Toolbar-item { + flex: 0 0 auto; + padding-left: 0px; + padding-right: 2px; + } + + .jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent { + width: 40px; + } + + .jp-FileBrowser-toolbar + .jp-ToolbarButtonComponent[data-command='filebrowser:create-main-launcher'] { + width: 72px; + background: var(--jp-brand-color1); + } + + .jp-FileBrowser-toolbar + .jp-ToolbarButtonComponent[data-command='filebrowser:create-main-launcher']:hover, + .jp-FileBrowser-toolbar + .jp-ToolbarButtonComponent[data-command='filebrowser:create-main-launcher']:focus-visible { + background-color: var(--jp-brand-color0) !important; + } + + .jp-FileBrowser-toolbar + .jp-ToolbarButtonComponent[data-command='filebrowser:create-main-launcher'] + .jp-icon3 { + fill: var(--jp-layout-color1); + } + + /*----------------------------------------------------------------------------- + | Other styles + |----------------------------------------------------------------------------*/ + + .jp-FileDialog.jp-mod-conflict input { + color: var(--jp-error-color1); + } + + .jp-FileDialog .jp-new-name-title { + margin-top: 12px; + } + + .jp-LastModified-hidden { + display: none; + } + + .jp-FileBrowser-filterBox { + padding: 0px; + flex: 0 0 auto; + margin: 8px 12px 0px 12px; + } + + /*----------------------------------------------------------------------------- + | DirListing + |----------------------------------------------------------------------------*/ + + .jp-DirListing { + flex: 1 1 auto; + display: flex; + flex-direction: column; + outline: 0; + } + + .jp-DirListing:focus-visible { + outline: 1px solid var(--jp-brand-color1); + outline-offset: -2px; + } + + .jp-DirListing-header { + flex: 0 0 auto; + display: flex; + flex-direction: row; + overflow: hidden; + border-top: var(--jp-border-width) solid var(--jp-border-color2); + border-bottom: var(--jp-border-width) solid var(--jp-border-color1); + box-shadow: var(--jp-toolbar-box-shadow); + z-index: 2; + } + + .jp-DirListing-headerItem { + padding: 4px 12px 2px 12px; + font-weight: 500; + } + + .jp-DirListing-headerItem:hover { + background: var(--jp-layout-color2); + } + + .jp-DirListing-headerItem.jp-id-name { + flex: 1 0 84px; + } + + .jp-DirListing-headerItem.jp-id-modified { + flex: 0 0 112px; + border-left: var(--jp-border-width) solid var(--jp-border-color2); + text-align: right; + } + + .jp-id-narrow { + display: none; + flex: 0 0 5px; + padding: 4px 4px; + border-left: var(--jp-border-width) solid var(--jp-border-color2); + text-align: right; + color: var(--jp-border-color2); + } + + .jp-DirListing-narrow .jp-id-narrow { + display: block; + } + + .jp-DirListing-narrow .jp-id-modified, + .jp-DirListing-narrow .jp-DirListing-itemModified { + display: none; + } + + .jp-DirListing-headerItem.jp-mod-selected { + font-weight: 600; + } + + /* increase specificity to override bundled default */ + .jp-DirListing-content { + flex: 1 1 auto; + margin: 0; + padding: 0; + list-style-type: none; + overflow: auto; + background-color: var(--jp-layout-color1); + } + + .jp-DirListing-content mark { + color: var(--jp-ui-font-color0); + background-color: transparent; + font-weight: bold; + } + + .jp-DirListing-content .jp-DirListing-item.jp-mod-selected mark { + color: var(--jp-ui-inverse-font-color0); + } + + /* Style the directory listing content when a user drops a file to upload */ + .jp-DirListing.jp-mod-native-drop .jp-DirListing-content { + outline: 5px dashed rgba(128, 128, 128, 0.5); + outline-offset: -10px; + cursor: copy; + } + + .jp-DirListing-item { + display: flex; + flex-direction: row; + padding: 4px 12px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + .jp-DirListing-item[data-is-dot] { + opacity: 75%; + } + + .jp-DirListing-item.jp-mod-selected { + color: var(--jp-ui-inverse-font-color1); + background: var(--jp-brand-color1); + } + + .jp-DirListing-item.jp-mod-dropTarget { + background: var(--jp-brand-color3); + } + + .jp-DirListing-item:hover:not(.jp-mod-selected) { + background: var(--jp-layout-color2); + } + + .jp-DirListing-itemIcon { + flex: 0 0 20px; + margin-right: 4px; + } + + .jp-DirListing-itemText { + flex: 1 0 64px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + user-select: none; + } + + .jp-DirListing-itemModified { + flex: 0 0 125px; + text-align: right; + } + + .jp-DirListing-editor { + flex: 1 0 64px; + outline: none; + border: none; + color: var(--jp-ui-font-color1); + background-color: var(--jp-layout-color1); + } + + .jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon:before { + color: var(--jp-success-color1); + content: '\25CF'; + font-size: 8px; + position: absolute; + left: -8px; + } + + .jp-DirListing-item.jp-mod-running.jp-mod-selected + .jp-DirListing-itemIcon:before { + color: var(--jp-ui-inverse-font-color1); + } + + .jp-DirListing-item.lm-mod-drag-image, + .jp-DirListing-item.jp-mod-selected.lm-mod-drag-image { + font-size: var(--jp-ui-font-size1); + padding-left: 4px; + margin-left: 4px; + width: 160px; + background-color: var(--jp-ui-inverse-font-color2); + box-shadow: var(--jp-elevation-z2); + border-radius: 0px; + color: var(--jp-ui-font-color1); + transform: translateX(-40%) translateY(-58%); + } + + .jp-Document { + min-width: 120px; + min-height: 120px; + outline: none; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Private CSS variables + |----------------------------------------------------------------------------*/ + + :root { + } + + /*----------------------------------------------------------------------------- + | Main OutputArea + | OutputArea has a list of Outputs + |----------------------------------------------------------------------------*/ + + .jp-OutputArea { + overflow-y: auto; + } + + .jp-OutputArea-child { + display: flex; + flex-direction: row; + } + + body[data-format='mobile'] .jp-OutputArea-child { + flex-direction: column; + } + + .jp-OutputPrompt { + flex: 0 0 var(--jp-cell-prompt-width); + color: var(--jp-cell-outprompt-font-color); + font-family: var(--jp-cell-prompt-font-family); + padding: var(--jp-code-padding); + letter-spacing: var(--jp-cell-prompt-letter-spacing); + line-height: var(--jp-code-line-height); + font-size: var(--jp-code-font-size); + border: var(--jp-border-width) solid transparent; + opacity: var(--jp-cell-prompt-opacity); + /* Right align prompt text, don't wrap to handle large prompt numbers */ + text-align: right; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + /* Disable text selection */ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + body[data-format='mobile'] .jp-OutputPrompt { + flex: 0 0 auto; + text-align: left; + } + + .jp-OutputArea-output { + height: auto; + overflow: auto; + user-select: text; + -moz-user-select: text; + -webkit-user-select: text; + -ms-user-select: text; + } + + .jp-OutputArea-child .jp-OutputArea-output { + flex-grow: 1; + flex-shrink: 1; + } + + body[data-format='mobile'] .jp-OutputArea-child .jp-OutputArea-output { + margin-left: var(--jp-notebook-padding); + } + + /** + * Isolated output. + */ + .jp-OutputArea-output.jp-mod-isolated { + width: 100%; + display: block; + } + + /* + When drag events occur, `p-mod-override-cursor` is added to the body. + Because iframes steal all cursor events, the following two rules are necessary + to suppress pointer events while resize drags are occurring. There may be a + better solution to this problem. + */ + body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated { + position: relative; + } + + body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated:before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: transparent; + } + + /* pre */ + + .jp-OutputArea-output pre { + border: none; + margin: 0px; + padding: 0px; + overflow-x: auto; + overflow-y: auto; + word-break: break-all; + word-wrap: break-word; + white-space: pre-wrap; + } + + /* tables */ + + .jp-OutputArea-output.jp-RenderedHTMLCommon table { + margin-left: 0; + margin-right: 0; + } + + /* description lists */ + + .jp-OutputArea-output dl, + .jp-OutputArea-output dt, + .jp-OutputArea-output dd { + display: block; + } + + .jp-OutputArea-output dl { + width: 100%; + overflow: hidden; + padding: 0; + margin: 0; + } + + .jp-OutputArea-output dt { + font-weight: bold; + float: left; + width: 20%; + padding: 0; + margin: 0; + } + + .jp-OutputArea-output dd { + float: left; + width: 80%; + padding: 0; + margin: 0; + } + + .jp-TrimmedOutputs a { + margin: 10px; + text-decoration: none; + cursor: pointer; + } + + /* Hide the gutter in case of + * - nested output areas (e.g. in the case of output widgets) + * - mirrored output areas + */ + .jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt { + display: none; + } + + /* Hide empty lines in the output area, for instance due to cleared widgets */ + .jp-OutputArea-prompt:empty { + padding: 0; + border: 0; + } + + /*----------------------------------------------------------------------------- + | executeResult is added to any Output-result for the display of the object + | returned by a cell + |----------------------------------------------------------------------------*/ + + .jp-OutputArea-output.jp-OutputArea-executeResult { + margin-left: 0px; + flex: 1 1 auto; + } + + /* Text output with the Out[] prompt needs a top padding to match the + * alignment of the Out[] prompt itself. + */ + .jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output { + padding-top: var(--jp-code-padding); + border-top: var(--jp-border-width) solid transparent; + } + + /*----------------------------------------------------------------------------- + | The Stdin output + |----------------------------------------------------------------------------*/ + + .jp-Stdin-prompt { + color: var(--jp-content-font-color0); + padding-right: var(--jp-code-padding); + vertical-align: baseline; + flex: 0 0 auto; + } + + .jp-Stdin-input { + font-family: var(--jp-code-font-family); + font-size: inherit; + color: inherit; + background-color: inherit; + width: 42%; + min-width: 200px; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; + flex: 0 0 70%; + } + + .jp-Stdin-input::placeholder { + opacity: 0; + } + + .jp-Stdin-input:focus { + box-shadow: none; + } + + .jp-Stdin-input:focus::placeholder { + opacity: 1; + } + + /*----------------------------------------------------------------------------- + | Output Area View + |----------------------------------------------------------------------------*/ + + .jp-LinkedOutputView .jp-OutputArea { + height: 100%; + display: block; + } + + .jp-LinkedOutputView .jp-OutputArea-output:only-child { + height: 100%; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + .jp-Collapser { + flex: 0 0 var(--jp-cell-collapser-width); + padding: 0px; + margin: 0px; + border: none; + outline: none; + background: transparent; + border-radius: var(--jp-border-radius); + opacity: 1; + } + + .jp-Collapser-child { + display: block; + width: 100%; + box-sizing: border-box; + /* height: 100% doesn't work because the height of its parent is computed from content */ + position: absolute; + top: 0px; + bottom: 0px; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Header/Footer + |----------------------------------------------------------------------------*/ + + /* Hidden by zero height by default */ + .jp-CellHeader, + .jp-CellFooter { + height: 0px; + width: 100%; + padding: 0px; + margin: 0px; + border: none; + outline: none; + background: transparent; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Input + |----------------------------------------------------------------------------*/ + + /* All input areas */ + .jp-InputArea { + display: flex; + flex-direction: row; + overflow: hidden; + } + + body[data-format='mobile'] .jp-InputArea { + flex-direction: column; + } + + .jp-InputArea-editor { + flex: 1 1 auto; + overflow: hidden; + } + + .jp-InputArea-editor { + /* This is the non-active, default styling */ + border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); + border-radius: 0px; + background: var(--jp-cell-editor-background); + } + + body[data-format='mobile'] .jp-InputArea-editor { + margin-left: var(--jp-notebook-padding); + } + + .jp-InputPrompt { + flex: 0 0 var(--jp-cell-prompt-width); + color: var(--jp-cell-inprompt-font-color); + font-family: var(--jp-cell-prompt-font-family); + padding: var(--jp-code-padding); + letter-spacing: var(--jp-cell-prompt-letter-spacing); + opacity: var(--jp-cell-prompt-opacity); + line-height: var(--jp-code-line-height); + font-size: var(--jp-code-font-size); + border: var(--jp-border-width) solid transparent; + opacity: var(--jp-cell-prompt-opacity); + /* Right align prompt text, don't wrap to handle large prompt numbers */ + text-align: right; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + /* Disable text selection */ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + body[data-format='mobile'] .jp-InputPrompt { + flex: 0 0 auto; + text-align: left; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Placeholder + |----------------------------------------------------------------------------*/ + + .jp-Placeholder { + display: flex; + flex-direction: row; + flex: 1 1 auto; + } + + .jp-Placeholder-prompt { + box-sizing: border-box; + } + + .jp-Placeholder-content { + flex: 1 1 auto; + border: none; + background: transparent; + height: 20px; + box-sizing: border-box; + } + + .jp-Placeholder-content .jp-MoreHorizIcon { + width: 32px; + height: 16px; + border: 1px solid transparent; + border-radius: var(--jp-border-radius); + } + + .jp-Placeholder-content .jp-MoreHorizIcon:hover { + border: 1px solid var(--jp-border-color1); + box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.25); + background-color: var(--jp-layout-color0); + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Private CSS variables + |----------------------------------------------------------------------------*/ + + :root { + --jp-private-cell-scrolling-output-offset: 5px; + } + + /*----------------------------------------------------------------------------- + | Cell + |----------------------------------------------------------------------------*/ + + .jp-Cell { + padding: var(--jp-cell-padding); + margin: 0px; + border: none; + outline: none; + background: transparent; + } + + /*----------------------------------------------------------------------------- + | Common input/output + |----------------------------------------------------------------------------*/ + + .jp-Cell-inputWrapper, + .jp-Cell-outputWrapper { + display: flex; + flex-direction: row; + padding: 0px; + margin: 0px; + /* Added to reveal the box-shadow on the input and output collapsers. */ + overflow: visible; + } + + /* Only input/output areas inside cells */ + .jp-Cell-inputArea, + .jp-Cell-outputArea { + flex: 1 1 auto; + } + + /*----------------------------------------------------------------------------- + | Collapser + |----------------------------------------------------------------------------*/ + + /* Make the output collapser disappear when there is not output, but do so + * in a manner that leaves it in the layout and preserves its width. + */ + .jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser { + border: none !important; + background: transparent !important; + } + + .jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser { + min-height: var(--jp-cell-collapser-min-height); + } + + /*----------------------------------------------------------------------------- + | Output + |----------------------------------------------------------------------------*/ + + /* Put a space between input and output when there IS output */ + .jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper { + margin-top: 5px; + } + + .jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea { + overflow-y: auto; + max-height: 24em; + margin-left: var(--jp-private-cell-scrolling-output-offset); + } + + .jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after { + content: ' '; + box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%); + width: 100%; + height: 100%; + position: sticky; + bottom: 0; + top: 0; + margin-top: -50%; + float: left; + display: block; + pointer-events: none; + } + + .jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child { + padding-top: 6px; + } + + .jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt { + flex: 0 0 + calc( + var(--jp-cell-prompt-width) - + var(--jp-private-cell-scrolling-output-offset) + ); + } + + /*----------------------------------------------------------------------------- + | CodeCell + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | MarkdownCell + |----------------------------------------------------------------------------*/ + + .jp-MarkdownOutput { + flex: 1 1 auto; + margin-top: 0; + margin-bottom: 0; + padding-left: var(--jp-code-padding); + } + + .jp-MarkdownOutput.jp-RenderedHTMLCommon { + overflow: auto; + } + + /* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */ + .jp-collapseHeadingButton { + display: none; + min-height: var(--jp-cell-collapser-min-height); + font-size: var(--jp-code-font-size); + position: absolute; + right: 0; + top: 0; + bottom: 0; + background-color: transparent; + background-size: 25px; + background-repeat: no-repeat; + background-position-x: center; + background-position-y: top; + background-image: var(--jp-icon-caret-down); + border: none; + cursor: pointer; + } + + .jp-collapseHeadingButton:hover { + background-color: var(--jp-layout-color2); + } + + .jp-collapseHeadingButton.jp-mod-collapsed { + background-image: var(--jp-icon-caret-right); + } + + :is(.jp-MarkdownCell:hover, .jp-mod-active) .jp-collapseHeadingButton { + display: flex; + } + + /* + set the container font size to match that of content + so that the nested collapse buttons have the right size + */ + .jp-MarkdownCell .jp-InputPrompt { + font-size: var(--jp-content-font-size1); + } + + /* + Align collapseHeadingButton with cell top header + The font sizes are identical to the ones in packages/rendermime/style/base.css + */ + .jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] { + font-size: var(--jp-content-font-size5); + background-position-y: calc(0.3 * var(--jp-content-font-size5)); + } + + .jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] { + font-size: var(--jp-content-font-size4); + background-position-y: calc(0.3 * var(--jp-content-font-size4)); + } + + .jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] { + font-size: var(--jp-content-font-size3); + background-position-y: calc(0.3 * var(--jp-content-font-size3)); + } + + .jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] { + font-size: var(--jp-content-font-size2); + background-position-y: calc(0.3 * var(--jp-content-font-size2)); + } + + .jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] { + font-size: var(--jp-content-font-size1); + background-position-y: top; + } + + .jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] { + font-size: var(--jp-content-font-size0); + background-position-y: top; + } + + .jp-showHiddenCellsButton { + margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding)); + margin-top: var(--jp-code-padding); + border: 1px solid var(--jp-border-color2); + background-color: var(--jp-border-color3) !important; + color: var(--jp-content-font-color0) !important; + } + + .jp-showHiddenCellsButton:hover { + background-color: var(--jp-border-color2) !important; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Variables + |----------------------------------------------------------------------------*/ + + :root { + --jp-notebook-toolbar-padding: 2px 5px 2px 2px; + } + + /*----------------------------------------------------------------------------- + + /*----------------------------------------------------------------------------- + | Styles + |----------------------------------------------------------------------------*/ + + .jp-NotebookPanel-toolbar { + padding: var(--jp-notebook-toolbar-padding); + } + + .jp-Toolbar-item.jp-Notebook-toolbarCellType .jp-select-wrapper.jp-mod-focused { + border: none; + box-shadow: none; + } + + .jp-Notebook-toolbarCellTypeDropdown select { + height: 24px; + font-size: var(--jp-ui-font-size1); + line-height: 14px; + border-radius: 0; + display: block; + } + + .jp-Notebook-toolbarCellTypeDropdown span { + top: 5px !important; + } + + .jp-Toolbar-responsive-popup { + position: absolute; + height: fit-content; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-end; + border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color); + box-shadow: var(--jp-toolbar-box-shadow); + background: var(--jp-toolbar-background); + min-height: var(--jp-toolbar-micro-height); + padding: var(--jp-notebook-toolbar-padding); + z-index: 1; + right: 0px; + top: 0px; + } + + .jp-Toolbar > .jp-Toolbar-responsive-opener { + margin-left: auto; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Variables + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + + /*----------------------------------------------------------------------------- + | Styles + |----------------------------------------------------------------------------*/ + + .jp-Notebook-ExecutionIndicator { + position: relative; + display: inline-block; + height: 100%; + z-index: 9997; + } + + .jp-Notebook-ExecutionIndicator-tooltip { + visibility: hidden; + height: auto; + width: max-content; + width: -moz-max-content; + background-color: var(--jp-layout-color2); + color: var(--jp-ui-font-color1); + text-align: justify; + border-radius: 6px; + padding: 0 5px; + position: fixed; + display: table; + } + + .jp-Notebook-ExecutionIndicator-tooltip.up { + transform: translateX(-50%) translateY(-100%) translateY(-32px); + } + + .jp-Notebook-ExecutionIndicator-tooltip.down { + transform: translateX(calc(-100% + 16px)) translateY(5px); + } + + .jp-Notebook-ExecutionIndicator-tooltip.hidden { + display: none; + } + + .jp-Notebook-ExecutionIndicator:hover .jp-Notebook-ExecutionIndicator-tooltip { + visibility: visible; + } + + .jp-Notebook-ExecutionIndicator span { + font-size: var(--jp-ui-font-size1); + font-family: var(--jp-ui-font-family); + color: var(--jp-ui-font-color1); + line-height: 24px; + display: block; + } + + .jp-Notebook-ExecutionIndicator-progress-bar { + display: flex; + justify-content: center; + height: 100%; + } + + /*----------------------------------------------------------------------------- + | Copyright (c) Jupyter Development Team. + | Distributed under the terms of the Modified BSD License. + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Private CSS variables + |----------------------------------------------------------------------------*/ + + :root { + --jp-private-notebook-dragImage-width: 304px; + --jp-private-notebook-dragImage-height: 36px; + --jp-private-notebook-selected-color: var(--md-blue-400); + --jp-private-notebook-active-color: var(--md-green-400); + } + + /*----------------------------------------------------------------------------- + | Imports + |----------------------------------------------------------------------------*/ + + /*----------------------------------------------------------------------------- + | Notebook + |----------------------------------------------------------------------------*/ + + .jp-NotebookPanel { + display: block; + height: 100%; + } + + .jp-NotebookPanel.jp-Document { + min-width: 240px; + min-height: 120px; + } + + .jp-Notebook { + padding: var(--jp-notebook-padding); + outline: none; + overflow: auto; + background: var(--jp-layout-color0); + } + + .jp-Notebook.jp-mod-scrollPastEnd::after { + display: block; + content: ''; + min-height: var(--jp-notebook-scroll-padding); + } + + .jp-MainAreaWidget-ContainStrict .jp-Notebook * { + contain: strict; + } + + .jp-Notebook .jp-Cell { + overflow: visible; + } + + .jp-Notebook .jp-Cell .jp-InputPrompt { + cursor: move; + float: left; + } + + /*----------------------------------------------------------------------------- + | Notebook state related styling + | + | The notebook and cells each have states, here are the possibilities: + | + | - Notebook + | - Command + | - Edit + | - Cell + | - None + | - Active (only one can be active) + | - Selected (the cells actions are applied to) + | - Multiselected (when multiple selected, the cursor) + | - No outputs + |----------------------------------------------------------------------------*/ + + /* Command or edit modes */ + + .jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt { + opacity: var(--jp-cell-prompt-not-active-opacity); + color: var(--jp-cell-prompt-not-active-font-color); + } + + .jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt { + opacity: var(--jp-cell-prompt-not-active-opacity); + color: var(--jp-cell-prompt-not-active-font-color); + } + + /* cell is active */ + .jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser { + background: var(--jp-brand-color1); + } + + /* cell is dirty */ + .jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt { + color: var(--jp-warn-color1); + } + .jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt:before { + color: var(--jp-warn-color1); + content: '•'; + } + + .jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser { + background: var(--jp-warn-color1); + } + + /* collapser is hovered */ + .jp-Notebook .jp-Cell .jp-Collapser:hover { + box-shadow: var(--jp-elevation-z2); + background: var(--jp-brand-color1); + opacity: var(--jp-cell-collapser-not-active-hover-opacity); + } + + /* cell is active and collapser is hovered */ + .jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover { + background: var(--jp-brand-color0); + opacity: 1; + } + + /* Command mode */ + + .jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected { + background: var(--jp-notebook-multiselected-color); + } + + .jp-Notebook.jp-mod-commandMode + .jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) { + background: transparent; + } + + /* Edit mode */ + + .jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor { + border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color); + box-shadow: var(--jp-input-box-shadow); + background-color: var(--jp-cell-editor-active-background); + } + + /*----------------------------------------------------------------------------- + | Notebook drag and drop + |----------------------------------------------------------------------------*/ + + .jp-Notebook-cell.jp-mod-dropSource { + opacity: 0.5; + } + + .jp-Notebook-cell.jp-mod-dropTarget, + .jp-Notebook.jp-mod-commandMode + .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget { + border-top-color: var(--jp-private-notebook-selected-color); + border-top-style: solid; + border-top-width: 2px; + } + + .jp-dragImage { + display: block; + flex-direction: row; + width: var(--jp-private-notebook-dragImage-width); + height: var(--jp-private-notebook-dragImage-height); + border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); + background: var(--jp-cell-editor-background); + overflow: visible; + } + + .jp-dragImage-singlePrompt { + box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12); + } + + .jp-dragImage .jp-dragImage-content { + flex: 1 1 auto; + z-index: 2; + font-size: var(--jp-code-font-size); + font-family: var(--jp-code-font-family); + line-height: var(--jp-code-line-height); + padding: var(--jp-code-padding); + border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); + background: var(--jp-cell-editor-background-color); + color: var(--jp-content-font-color3); + text-align: left; + margin: 4px 4px 4px 0px; + } + + .jp-dragImage .jp-dragImage-prompt { + flex: 0 0 auto; + min-width: 36px; + color: var(--jp-cell-inprompt-font-color); + padding: var(--jp-code-padding); + padding-left: 12px; + font-family: var(--jp-cell-prompt-font-family); + letter-spacing: var(--jp-cell-prompt-letter-spacing); + line-height: 1.9; + font-size: var(--jp-code-font-size); + border: var(--jp-border-width) solid transparent; + } + + .jp-dragImage-multipleBack { + z-index: -1; + position: absolute; + height: 32px; + width: 300px; + top: 8px; + left: 8px; + background: var(--jp-layout-color2); + border: var(--jp-border-width) solid var(--jp-input-border-color); + box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12); + } + + /*----------------------------------------------------------------------------- + | Cell toolbar + |----------------------------------------------------------------------------*/ + + .jp-NotebookTools { + display: block; + min-width: var(--jp-sidebar-min-width); + color: var(--jp-ui-font-color1); + background: var(--jp-layout-color1); + /* This is needed so that all font sizing of children done in ems is + * relative to this base size */ + font-size: var(--jp-ui-font-size1); + overflow: auto; + } + + .jp-NotebookTools-tool { + padding: 0px 12px 0 12px; + } + + .jp-ActiveCellTool { + padding: 12px; + background-color: var(--jp-layout-color1); + border-top: none !important; + } + + .jp-ActiveCellTool .jp-InputArea-prompt { + flex: 0 0 auto; + padding-left: 0px; + } + + .jp-ActiveCellTool .jp-InputArea-editor { + flex: 1 1 auto; + background: var(--jp-cell-editor-background); + border-color: var(--jp-cell-editor-border-color); + } + + .jp-ActiveCellTool .jp-InputArea-editor .CodeMirror { + background: transparent; + } + + .jp-MetadataEditorTool { + flex-direction: column; + padding: 12px 0px 12px 0px; + } + + .jp-RankedPanel > :not(:first-child) { + margin-top: 12px; + } + + .jp-KeySelector select.jp-mod-styled { + font-size: var(--jp-ui-font-size1); + color: var(--jp-ui-font-color0); + border: var(--jp-border-width) solid var(--jp-border-color1); + } + + .jp-KeySelector label, + .jp-MetadataEditorTool label { + line-height: 1.4; + } + + .jp-NotebookTools .jp-select-wrapper { + margin-top: 4px; + margin-bottom: 0px; + } + + .jp-NotebookTools .jp-Collapse { + margin-top: 16px; + } + + /*----------------------------------------------------------------------------- + | Presentation Mode (.jp-mod-presentationMode) + |----------------------------------------------------------------------------*/ + + .jp-mod-presentationMode .jp-Notebook { + --jp-content-font-size1: var(--jp-content-presentation-font-size1); + --jp-code-font-size: var(--jp-code-presentation-font-size); + } + + .jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt, + .jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt { + flex: 0 0 110px; + } + + /*----------------------------------------------------------------------------- + | Side-by-side Mode (.jp-mod-sideBySide) + |----------------------------------------------------------------------------*/ + :root { + --jp-side-by-side-output-size: 1fr; + --jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size); + } + + .jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell { + margin-top: 3em; + margin-bottom: 3em; + margin-left: 5%; + margin-right: 5%; + } + + .jp-mod-sideBySide.jp-Notebook .jp-CodeCell { + display: grid; + grid-template-columns: minmax(0, 1fr) min-content minmax( + 0, + var(--jp-side-by-side-output-size) + ); + grid-template-rows: auto minmax(0, 1fr) auto; + grid-template-areas: + 'header header header' + 'input handle output' + 'footer footer footer'; + } + + .jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell { + grid-template-columns: minmax(0, 1fr) min-content minmax( + 0, + var(--jp-side-by-side-resized-cell) + ); + } + + .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader { + grid-area: header; + } + + .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper { + grid-area: input; + } + + .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper { + /* overwrite the default margin (no vertical separation needed in side by side move */ + margin-top: 0; + grid-area: output; + } + + .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter { + grid-area: footer; + } + + .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle { + grid-area: handle; + user-select: none; + display: block; + height: 100%; + cursor: ew-resize; + padding: 0 var(--jp-cell-padding); + } + + .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after { + content: ''; + display: block; + background: var(--jp-border-color2); + height: 100%; + width: 5px; + } + + .jp-mod-sideBySide.jp-Notebook + .jp-CodeCell.jp-mod-resizedCell + .jp-CellResizeHandle::after { + background: var(--jp-border-color0); + } + + .jp-CellResizeHandle { + display: none; + } + + /*----------------------------------------------------------------------------- + | Placeholder + |----------------------------------------------------------------------------*/ + + .jp-Cell-Placeholder { + padding-left: 55px; + } + + .jp-Cell-Placeholder-wrapper { + background: #fff; + border: 1px solid; + border-color: #e5e6e9 #dfe0e4 #d0d1d5; + border-radius: 4px; + -webkit-border-radius: 4px; + margin: 10px 15px; + } + + .jp-Cell-Placeholder-wrapper-inner { + padding: 15px; + position: relative; + } + + .jp-Cell-Placeholder-wrapper-body { + background-repeat: repeat; + background-size: 50% auto; + } + + .jp-Cell-Placeholder-wrapper-body div { + background: #f6f7f8; + background-image: -webkit-linear-gradient( + left, + #f6f7f8 0%, + #edeef1 20%, + #f6f7f8 40%, + #f6f7f8 100% + ); + background-repeat: no-repeat; + background-size: 800px 104px; + height: 104px; + position: relative; + } + + .jp-Cell-Placeholder-wrapper-body div { + position: absolute; + right: 15px; + left: 15px; + top: 15px; + } + + div.jp-Cell-Placeholder-h1 { + top: 20px; + height: 20px; + left: 15px; + width: 150px; + } + + div.jp-Cell-Placeholder-h2 { + left: 15px; + top: 50px; + height: 10px; + width: 100px; + } + + div.jp-Cell-Placeholder-content-1, + div.jp-Cell-Placeholder-content-2, + div.jp-Cell-Placeholder-content-3 { + left: 15px; + right: 15px; + height: 10px; + } + + div.jp-Cell-Placeholder-content-1 { + top: 100px; + } + + div.jp-Cell-Placeholder-content-2 { + top: 120px; + } + + div.jp-Cell-Placeholder-content-3 { + top: 140px; + } + diff --git a/js/src/styles/jupyter-lab-theme-dark.scss b/js/src/styles/jupyter-lab-theme-dark.scss new file mode 100644 index 0000000..33f1d35 --- /dev/null +++ b/js/src/styles/jupyter-lab-theme-dark.scss @@ -0,0 +1,437 @@ +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* +The following CSS variables define the main, public API for styling JupyterLab. +These variables should be used by all plugins wherever possible. In other +words, plugins should not define custom colors, sizes, etc unless absolutely +necessary. This enables users to change the visual theme of JupyterLab +by changing these variables. + +Many variables appear in an ordered sequence (0,1,2,3). These sequences +are designed to work well together, so for example, `--jp-border-color1` should +be used with `--jp-layout-color1`. The numbers have the following meanings: + +* 0: super-primary, reserved for special emphasis +* 1: primary, most important under normal situations +* 2: secondary, next most important under normal situations +* 3: tertiary, next most important under normal situations + +Throughout JupyterLab, we are mostly following principles from Google's +Material Design when selecting colors. We are not, however, following +all of MD as it is not optimized for dense, information rich UIs. +*/ + +.jupyter-wrapper { + /* Elevation + * + * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here: + * + * https://github.com/material-components/material-components-web + * https://material-components-web.appspot.com/elevation.html + */ + + /* The dark theme shadows need a bit of work, but this will probably also require work on the core layout + * colors used in the theme as well. */ + --jp-shadow-base-lightness: 32; + --jp-shadow-umbra-color: rgba( + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + 0.2 + ); + --jp-shadow-penumbra-color: rgba( + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + 0.14 + ); + --jp-shadow-ambient-color: rgba( + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + 0.12 + ); + --jp-elevation-z0: none; + --jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color), + 0px 1px 1px 0px var(--jp-shadow-penumbra-color), + 0px 1px 3px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color), + 0px 2px 2px 0px var(--jp-shadow-penumbra-color), + 0px 1px 5px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color), + 0px 4px 5px 0px var(--jp-shadow-penumbra-color), + 0px 1px 10px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color), + 0px 6px 10px 0px var(--jp-shadow-penumbra-color), + 0px 1px 18px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color), + 0px 8px 10px 1px var(--jp-shadow-penumbra-color), + 0px 3px 14px 2px var(--jp-shadow-ambient-color); + --jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color), + 0px 12px 17px 2px var(--jp-shadow-penumbra-color), + 0px 5px 22px 4px var(--jp-shadow-ambient-color); + --jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color), + 0px 16px 24px 2px var(--jp-shadow-penumbra-color), + 0px 6px 30px 5px var(--jp-shadow-ambient-color); + --jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color), + 0px 20px 31px 3px var(--jp-shadow-penumbra-color), + 0px 8px 38px 7px var(--jp-shadow-ambient-color); + --jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color), + 0px 24px 38px 3px var(--jp-shadow-penumbra-color), + 0px 9px 46px 8px var(--jp-shadow-ambient-color); + + /* Borders + * + * The following variables, specify the visual styling of borders in JupyterLab. + */ + + --jp-border-width: 1px; + --jp-border-color0: var(--md-grey-700); + --jp-border-color1: var(--md-grey-700); + --jp-border-color2: var(--md-grey-800); + --jp-border-color3: var(--md-grey-900); + --jp-inverse-border-color: var(--md-grey-600); + --jp-border-radius: 2px; + + /* UI Fonts + * + * The UI font CSS variables are used for the typography all of the JupyterLab + * user interface elements that are not directly user generated content. + * + * The font sizing here is done assuming that the body font size of --jp-ui-font-size1 + * is applied to a parent element. When children elements, such as headings, are sized + * in em all things will be computed relative to that body size. + */ + + --jp-ui-font-scale-factor: 1.2; + --jp-ui-font-size0: 0.83333em; + --jp-ui-font-size1: 13px; /* Base font size */ + --jp-ui-font-size2: 1.2em; + --jp-ui-font-size3: 1.44em; + + --jp-ui-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, + Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + + /* + * Use these font colors against the corresponding main layout colors. + * In a light theme, these go from dark to light. + */ + + /* Defaults use Material Design specification */ + --jp-ui-font-color0: rgba(255, 255, 255, 1); + --jp-ui-font-color1: rgba(255, 255, 255, 0.87); + --jp-ui-font-color2: rgba(255, 255, 255, 0.54); + --jp-ui-font-color3: rgba(255, 255, 255, 0.38); + + /* + * Use these against the brand/accent/warn/error colors. + * These will typically go from light to darker, in both a dark and light theme. + */ + + --jp-ui-inverse-font-color0: rgba(0, 0, 0, 1); + --jp-ui-inverse-font-color1: rgba(0, 0, 0, 0.8); + --jp-ui-inverse-font-color2: rgba(0, 0, 0, 0.5); + --jp-ui-inverse-font-color3: rgba(0, 0, 0, 0.3); + + /* Content Fonts + * + * Content font variables are used for typography of user generated content. + * + * The font sizing here is done assuming that the body font size of --jp-content-font-size1 + * is applied to a parent element. When children elements, such as headings, are sized + * in em all things will be computed relative to that body size. + */ + + --jp-content-line-height: 1.6; + --jp-content-font-scale-factor: 1.2; + --jp-content-font-size0: 0.83333em; + --jp-content-font-size1: 14px; /* Base font size */ + --jp-content-font-size2: 1.2em; + --jp-content-font-size3: 1.44em; + --jp-content-font-size4: 1.728em; + --jp-content-font-size5: 2.0736em; + + /* This gives a magnification of about 125% in presentation mode over normal. */ + --jp-content-presentation-font-size1: 17px; + + --jp-content-heading-line-height: 1; + --jp-content-heading-margin-top: 1.2em; + --jp-content-heading-margin-bottom: 0.8em; + --jp-content-heading-font-weight: 500; + + /* Defaults use Material Design specification */ + --jp-content-font-color0: rgba(255, 255, 255, 1); + --jp-content-font-color1: rgba(255, 255, 255, 1); + --jp-content-font-color2: rgba(255, 255, 255, 0.7); + --jp-content-font-color3: rgba(255, 255, 255, 0.5); + + --jp-content-link-color: var(--md-blue-300); + + --jp-content-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', + Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', + 'Segoe UI Symbol'; + + /* + * Code Fonts + * + * Code font variables are used for typography of code and other monospaces content. + */ + + --jp-code-font-size: 13px; + --jp-code-line-height: 1.3077; /* 17px for 13px base */ + --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */ + --jp-code-font-family-default: Menlo, Consolas, 'DejaVu Sans Mono', monospace; + --jp-code-font-family: var(--jp-code-font-family-default); + + /* This gives a magnification of about 125% in presentation mode over normal. */ + --jp-code-presentation-font-size: 16px; + + /* may need to tweak cursor width if you change font size */ + --jp-code-cursor-width0: 1.4px; + --jp-code-cursor-width1: 2px; + --jp-code-cursor-width2: 4px; + + /* Layout + * + * The following are the main layout colors use in JupyterLab. In a light + * theme these would go from light to dark. + */ + + --jp-layout-color0: #111111; + --jp-layout-color1: var(--md-grey-900); + --jp-layout-color2: var(--md-grey-800); + --jp-layout-color3: var(--md-grey-700); + --jp-layout-color4: var(--md-grey-600); + + /* Inverse Layout + * + * The following are the inverse layout colors use in JupyterLab. In a light + * theme these would go from dark to light. + */ + + --jp-inverse-layout-color0: white; + --jp-inverse-layout-color1: white; + --jp-inverse-layout-color2: var(--md-grey-200); + --jp-inverse-layout-color3: var(--md-grey-400); + --jp-inverse-layout-color4: var(--md-grey-600); + + /* Brand/accent */ + + --jp-brand-color0: var(--md-blue-700); + --jp-brand-color1: var(--md-blue-500); + --jp-brand-color2: var(--md-blue-300); + --jp-brand-color3: var(--md-blue-100); + --jp-brand-color4: var(--md-blue-50); + + --jp-accent-color0: var(--md-green-700); + --jp-accent-color1: var(--md-green-500); + --jp-accent-color2: var(--md-green-300); + --jp-accent-color3: var(--md-green-100); + + /* State colors (warn, error, success, info) */ + + --jp-warn-color0: var(--md-orange-700); + --jp-warn-color1: var(--md-orange-500); + --jp-warn-color2: var(--md-orange-300); + --jp-warn-color3: var(--md-orange-100); + + --jp-error-color0: var(--md-red-700); + --jp-error-color1: var(--md-red-500); + --jp-error-color2: var(--md-red-300); + --jp-error-color3: var(--md-red-100); + + --jp-success-color0: var(--md-green-700); + --jp-success-color1: var(--md-green-500); + --jp-success-color2: var(--md-green-300); + --jp-success-color3: var(--md-green-100); + + --jp-info-color0: var(--md-cyan-700); + --jp-info-color1: var(--md-cyan-500); + --jp-info-color2: var(--md-cyan-300); + --jp-info-color3: var(--md-cyan-100); + + /* Cell specific styles */ + + --jp-cell-padding: 5px; + + --jp-cell-collapser-width: 8px; + --jp-cell-collapser-min-height: 20px; + --jp-cell-collapser-not-active-hover-opacity: 0.6; + + --jp-cell-editor-background: var(--jp-layout-color1); + --jp-cell-editor-border-color: var(--md-grey-700); + --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300); + --jp-cell-editor-active-background: var(--jp-layout-color0); + --jp-cell-editor-active-border-color: var(--jp-brand-color1); + + --jp-cell-prompt-width: 64px; + --jp-cell-prompt-font-family: var(--jp-code-font-family-default); + --jp-cell-prompt-letter-spacing: 0px; + --jp-cell-prompt-opacity: 1; + --jp-cell-prompt-not-active-opacity: 1; + --jp-cell-prompt-not-active-font-color: var(--md-grey-300); + + /* A custom blend of MD grey and blue 600 + * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */ + --jp-cell-inprompt-font-color: #307fc1; + /* A custom blend of MD grey and orange 600 + * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */ + --jp-cell-outprompt-font-color: #bf5b3d; + + /* Notebook specific styles */ + + --jp-notebook-padding: 10px; + --jp-notebook-select-background: var(--jp-layout-color1); + --jp-notebook-multiselected-color: rgba(33, 150, 243, 0.24); + + /* The scroll padding is calculated to fill enough space at the bottom of the + notebook to show one single-line cell (with appropriate padding) at the top + when the notebook is scrolled all the way to the bottom. We also subtract one + pixel so that no scrollbar appears if we have just one single-line cell in the + notebook. This padding is to enable a 'scroll past end' feature in a notebook. + */ + --jp-notebook-scroll-padding: calc( + 100% - var(--jp-code-font-size) * var(--jp-code-line-height) - + var(--jp-code-padding) - var(--jp-cell-padding) - 1px + ); + + /* Rendermime styles */ + + --jp-rendermime-error-background: rgba(244, 67, 54, 0.28); + --jp-rendermime-table-row-background: var(--md-grey-900); + --jp-rendermime-table-row-hover-background: rgba(3, 169, 244, 0.2); + + /* Dialog specific styles */ + + --jp-dialog-background: rgba(0, 0, 0, 0.6); + + /* Console specific styles */ + + --jp-console-padding: 10px; + + /* Toolbar specific styles */ + + --jp-toolbar-border-color: var(--jp-border-color2); + --jp-toolbar-micro-height: 8px; + --jp-toolbar-background: var(--jp-layout-color1); + --jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.8); + --jp-toolbar-header-margin: 4px 4px 0px 4px; + --jp-toolbar-active-background: var(--jp-layout-color0); + + /* Statusbar specific styles */ + + --jp-statusbar-height: 24px; + + /* Input field styles */ + + --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300); + --jp-input-active-background: var(--jp-layout-color0); + --jp-input-hover-background: var(--jp-layout-color2); + --jp-input-background: var(--md-grey-800); + --jp-input-border-color: var(--jp-inverse-border-color); + --jp-input-active-border-color: var(--jp-brand-color1); + --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3); + + /* General editor styles */ + + --jp-editor-selected-background: var(--jp-layout-color2); + --jp-editor-selected-focused-background: rgba(33, 150, 243, 0.24); + --jp-editor-cursor-color: var(--jp-ui-font-color0); + + /* Code mirror specific styles */ + + --jp-mirror-editor-keyword-color: var(--md-green-500); + --jp-mirror-editor-atom-color: var(--md-blue-300); + --jp-mirror-editor-number-color: var(--md-green-400); + --jp-mirror-editor-def-color: var(--md-blue-600); + --jp-mirror-editor-variable-color: var(--md-grey-300); + --jp-mirror-editor-variable-2-color: var(--md-blue-400); + --jp-mirror-editor-variable-3-color: var(--md-green-600); + --jp-mirror-editor-punctuation-color: var(--md-blue-400); + --jp-mirror-editor-property-color: var(--md-blue-400); + --jp-mirror-editor-operator-color: #aa22ff; + --jp-mirror-editor-comment-color: #408080; + --jp-mirror-editor-string-color: #ff7070; + --jp-mirror-editor-string-2-color: var(--md-purple-300); + --jp-mirror-editor-meta-color: #aa22ff; + --jp-mirror-editor-qualifier-color: #555; + --jp-mirror-editor-builtin-color: var(--md-green-600); + --jp-mirror-editor-bracket-color: #997; + --jp-mirror-editor-tag-color: var(--md-green-700); + --jp-mirror-editor-attribute-color: var(--md-blue-700); + --jp-mirror-editor-header-color: var(--md-blue-500); + --jp-mirror-editor-quote-color: var(--md-green-300); + --jp-mirror-editor-link-color: var(--md-blue-700); + --jp-mirror-editor-error-color: #f00; + --jp-mirror-editor-hr-color: #999; + + /* + RTC user specific colors. + These colors are used for the cursor, username in the editor, + and the icon of the user. + */ + + --jp-collaborator-color1: #ad4a00; + --jp-collaborator-color2: #7b6a00; + --jp-collaborator-color3: #007e00; + --jp-collaborator-color4: #008772; + --jp-collaborator-color5: #0079b9; + --jp-collaborator-color6: #8b45c6; + --jp-collaborator-color7: #be208b; + + /* Vega extension styles */ + + --jp-vega-background: var(--md-grey-400); + + /* Sidebar-related styles */ + + --jp-sidebar-min-width: 250px; + + /* Search-related styles */ + + --jp-search-toggle-off-opacity: 0.6; + --jp-search-toggle-hover-opacity: 0.8; + --jp-search-toggle-on-opacity: 1; + --jp-search-selected-match-background-color: rgb(255, 225, 0); + --jp-search-selected-match-color: black; + --jp-search-unselected-match-background-color: var( + --jp-inverse-layout-color0 + ); + --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0); + + /* scrollbar related styles. Supports every browser except Edge. */ + + /* colors based on JetBrain's Darcula theme */ + + --jp-scrollbar-background-color: #3f4244; + --jp-scrollbar-thumb-color: 88, 96, 97; /* need to specify thumb color as an RGB triplet */ + + --jp-scrollbar-endpad: 3px; /* the minimum gap between the thumb and the ends of a scrollbar */ + + /* hacks for setting the thumb shape. These do nothing in Firefox */ + + --jp-scrollbar-thumb-margin: 3.5px; /* the space in between the sides of the thumb and the track */ + --jp-scrollbar-thumb-radius: 9px; /* set to a large-ish value for rounded endcaps on the thumb */ + + /* Icon colors that work well with light or dark backgrounds */ + --jp-icon-contrast-color0: var(--md-purple-600); + --jp-icon-contrast-color1: var(--md-green-600); + --jp-icon-contrast-color2: var(--md-pink-600); + --jp-icon-contrast-color3: var(--md-blue-600); + + /* File or activity icons and switch semantic variables */ + --jp-jupyter-icon-color: #f37626; + --jp-notebook-icon-color: #f37626; + --jp-json-icon-color: var(--md-orange-500); + --jp-console-icon-background-color: var(--md-blue-500); + --jp-console-icon-color: white; + --jp-terminal-icon-background-color: var(--md-grey-200); + --jp-terminal-icon-color: var(--md-grey-800); + --jp-text-editor-icon-color: var(--md-grey-200); + --jp-inspector-icon-color: var(--md-grey-200); + --jp-switch-color: var(--md-grey-400); + --jp-switch-true-position-color: var(--md-orange-700); +} diff --git a/js/src/styles/jupyter-lab-theme-light.scss b/js/src/styles/jupyter-lab-theme-light.scss new file mode 100644 index 0000000..e8bb2df --- /dev/null +++ b/js/src/styles/jupyter-lab-theme-light.scss @@ -0,0 +1,427 @@ +/* +This file is taken from the built JupyterLab found on: + share/nbconvert/templates/lab/static +Some changes have been made and marked with CHANGE +*/ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* +The following CSS variables define the main, public API for styling JupyterLab. +These variables should be used by all plugins wherever possible. In other +words, plugins should not define custom colors, sizes, etc unless absolutely +necessary. This enables users to change the visual theme of JupyterLab +by changing these variables. + +Many variables appear in an ordered sequence (0,1,2,3). These sequences +are designed to work well together, so for example, `--jp-border-color1` should +be used with `--jp-layout-color1`. The numbers have the following meanings: + +* 0: super-primary, reserved for special emphasis +* 1: primary, most important under normal situations +* 2: secondary, next most important under normal situations +* 3: tertiary, next most important under normal situations + +Throughout JupyterLab, we are mostly following principles from Google's +Material Design when selecting colors. We are not, however, following +all of MD as it is not optimized for dense, information rich UIs. +*/ + +/* CHANGE: from :root to .jupyter-wrapper */ +.jupyter-wrapper { + /* Elevation + * + * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here: + * + * https://github.com/material-components/material-components-web + * https://material-components-web.appspot.com/elevation.html + */ + + --jp-shadow-base-lightness: 0; + --jp-shadow-umbra-color: rgba( + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + 0.2 + ); + --jp-shadow-penumbra-color: rgba( + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + 0.14 + ); + --jp-shadow-ambient-color: rgba( + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + 0.12 + ); + --jp-elevation-z0: none; + --jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color), + 0px 1px 1px 0px var(--jp-shadow-penumbra-color), + 0px 1px 3px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color), + 0px 2px 2px 0px var(--jp-shadow-penumbra-color), + 0px 1px 5px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color), + 0px 4px 5px 0px var(--jp-shadow-penumbra-color), + 0px 1px 10px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color), + 0px 6px 10px 0px var(--jp-shadow-penumbra-color), + 0px 1px 18px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color), + 0px 8px 10px 1px var(--jp-shadow-penumbra-color), + 0px 3px 14px 2px var(--jp-shadow-ambient-color); + --jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color), + 0px 12px 17px 2px var(--jp-shadow-penumbra-color), + 0px 5px 22px 4px var(--jp-shadow-ambient-color); + --jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color), + 0px 16px 24px 2px var(--jp-shadow-penumbra-color), + 0px 6px 30px 5px var(--jp-shadow-ambient-color); + --jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color), + 0px 20px 31px 3px var(--jp-shadow-penumbra-color), + 0px 8px 38px 7px var(--jp-shadow-ambient-color); + --jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color), + 0px 24px 38px 3px var(--jp-shadow-penumbra-color), + 0px 9px 46px 8px var(--jp-shadow-ambient-color); + + /* Borders + * + * The following variables, specify the visual styling of borders in JupyterLab. + */ + + --jp-border-width: 1px; + --jp-border-color0: var(--md-grey-400); + --jp-border-color1: var(--md-grey-400); + --jp-border-color2: var(--md-grey-300); + --jp-border-color3: var(--md-grey-200); + --jp-inverse-border-color: var(--md-grey-600); + --jp-border-radius: 2px; + + /* UI Fonts + * + * The UI font CSS variables are used for the typography all of the JupyterLab + * user interface elements that are not directly user generated content. + * + * The font sizing here is done assuming that the body font size of --jp-ui-font-size1 + * is applied to a parent element. When children elements, such as headings, are sized + * in em all things will be computed relative to that body size. + */ + + --jp-ui-font-scale-factor: 1.2; + --jp-ui-font-size0: 0.83333em; + --jp-ui-font-size1: 13px; /* Base font size */ + --jp-ui-font-size2: 1.2em; + --jp-ui-font-size3: 1.44em; + + --jp-ui-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, + Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + + /* + * Use these font colors against the corresponding main layout colors. + * In a light theme, these go from dark to light. + */ + + /* Defaults use Material Design specification */ + --jp-ui-font-color0: rgba(0, 0, 0, 1); + --jp-ui-font-color1: rgba(0, 0, 0, 0.87); + --jp-ui-font-color2: rgba(0, 0, 0, 0.54); + --jp-ui-font-color3: rgba(0, 0, 0, 0.38); + + /* + * Use these against the brand/accent/warn/error colors. + * These will typically go from light to darker, in both a dark and light theme. + */ + + --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1); + --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1); + --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7); + --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5); + + /* Content Fonts + * + * Content font variables are used for typography of user generated content. + * + * The font sizing here is done assuming that the body font size of --jp-content-font-size1 + * is applied to a parent element. When children elements, such as headings, are sized + * in em all things will be computed relative to that body size. + */ + + --jp-content-line-height: 1.6; + --jp-content-font-scale-factor: 1.2; + --jp-content-font-size0: 0.83333em; + --jp-content-font-size1: 14px; /* Base font size */ + --jp-content-font-size2: 1.2em; + --jp-content-font-size3: 1.44em; + --jp-content-font-size4: 1.728em; + --jp-content-font-size5: 2.0736em; + + /* This gives a magnification of about 125% in presentation mode over normal. */ + --jp-content-presentation-font-size1: 17px; + + --jp-content-heading-line-height: 1; + --jp-content-heading-margin-top: 1.2em; + --jp-content-heading-margin-bottom: 0.8em; + --jp-content-heading-font-weight: 500; + + /* Defaults use Material Design specification */ + --jp-content-font-color0: rgba(0, 0, 0, 1); + --jp-content-font-color1: rgba(0, 0, 0, 0.87); + --jp-content-font-color2: rgba(0, 0, 0, 0.54); + --jp-content-font-color3: rgba(0, 0, 0, 0.38); + + --jp-content-link-color: var(--md-blue-700); + + --jp-content-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', + Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', + 'Segoe UI Symbol'; + + /* + * Code Fonts + * + * Code font variables are used for typography of code and other monospaces content. + */ + + --jp-code-font-size: 13px; + --jp-code-line-height: 1.3077; /* 17px for 13px base */ + --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */ + --jp-code-font-family-default: Menlo, Consolas, 'DejaVu Sans Mono', monospace; + --jp-code-font-family: var(--jp-code-font-family-default); + + /* This gives a magnification of about 125% in presentation mode over normal. */ + --jp-code-presentation-font-size: 16px; + + /* may need to tweak cursor width if you change font size */ + --jp-code-cursor-width0: 1.4px; + --jp-code-cursor-width1: 2px; + --jp-code-cursor-width2: 4px; + + /* Layout + * + * The following are the main layout colors use in JupyterLab. In a light + * theme these would go from light to dark. + */ + + --jp-layout-color0: white; + --jp-layout-color1: white; + --jp-layout-color2: var(--md-grey-200); + --jp-layout-color3: var(--md-grey-400); + --jp-layout-color4: var(--md-grey-600); + + /* Inverse Layout + * + * The following are the inverse layout colors use in JupyterLab. In a light + * theme these would go from dark to light. + */ + + --jp-inverse-layout-color0: #111111; + --jp-inverse-layout-color1: var(--md-grey-900); + --jp-inverse-layout-color2: var(--md-grey-800); + --jp-inverse-layout-color3: var(--md-grey-700); + --jp-inverse-layout-color4: var(--md-grey-600); + + /* Brand/accent */ + + --jp-brand-color0: var(--md-blue-900); + --jp-brand-color1: var(--md-blue-700); + --jp-brand-color2: var(--md-blue-300); + --jp-brand-color3: var(--md-blue-100); + --jp-brand-color4: var(--md-blue-50); + + --jp-accent-color0: var(--md-green-900); + --jp-accent-color1: var(--md-green-700); + --jp-accent-color2: var(--md-green-300); + --jp-accent-color3: var(--md-green-100); + + /* State colors (warn, error, success, info) */ + + --jp-warn-color0: var(--md-orange-900); + --jp-warn-color1: var(--md-orange-700); + --jp-warn-color2: var(--md-orange-300); + --jp-warn-color3: var(--md-orange-100); + + --jp-error-color0: var(--md-red-900); + --jp-error-color1: var(--md-red-700); + --jp-error-color2: var(--md-red-300); + --jp-error-color3: var(--md-red-100); + + --jp-success-color0: var(--md-green-900); + --jp-success-color1: var(--md-green-700); + --jp-success-color2: var(--md-green-300); + --jp-success-color3: var(--md-green-100); + + --jp-info-color0: var(--md-cyan-900); + --jp-info-color1: var(--md-cyan-700); + --jp-info-color2: var(--md-cyan-300); + --jp-info-color3: var(--md-cyan-100); + + /* Cell specific styles */ + + --jp-cell-padding: 5px; + + --jp-cell-collapser-width: 8px; + --jp-cell-collapser-min-height: 20px; + --jp-cell-collapser-not-active-hover-opacity: 0.6; + + --jp-cell-editor-background: var(--md-grey-100); + --jp-cell-editor-border-color: var(--md-grey-300); + --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300); + --jp-cell-editor-active-background: var(--jp-layout-color0); + --jp-cell-editor-active-border-color: var(--jp-brand-color1); + + --jp-cell-prompt-width: 64px; + --jp-cell-prompt-font-family: var(--jp-code-font-family-default); + --jp-cell-prompt-letter-spacing: 0px; + --jp-cell-prompt-opacity: 1; + --jp-cell-prompt-not-active-opacity: 0.5; + --jp-cell-prompt-not-active-font-color: var(--md-grey-700); + /* A custom blend of MD grey and blue 600 + * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */ + --jp-cell-inprompt-font-color: #307fc1; + /* A custom blend of MD grey and orange 600 + * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */ + --jp-cell-outprompt-font-color: #bf5b3d; + + /* Notebook specific styles */ + + --jp-notebook-padding: 10px; + --jp-notebook-select-background: var(--jp-layout-color1); + --jp-notebook-multiselected-color: var(--md-blue-50); + + /* The scroll padding is calculated to fill enough space at the bottom of the + notebook to show one single-line cell (with appropriate padding) at the top + when the notebook is scrolled all the way to the bottom. We also subtract one + pixel so that no scrollbar appears if we have just one single-line cell in the + notebook. This padding is to enable a 'scroll past end' feature in a notebook. + */ + --jp-notebook-scroll-padding: calc( + 100% - var(--jp-code-font-size) * var(--jp-code-line-height) - + var(--jp-code-padding) - var(--jp-cell-padding) - 1px + ); + + /* Rendermime styles */ + + --jp-rendermime-error-background: #fdd; + --jp-rendermime-table-row-background: var(--md-grey-100); + --jp-rendermime-table-row-hover-background: var(--md-light-blue-50); + + /* Dialog specific styles */ + + --jp-dialog-background: rgba(0, 0, 0, 0.25); + + /* Console specific styles */ + + --jp-console-padding: 10px; + + /* Toolbar specific styles */ + + --jp-toolbar-border-color: var(--jp-border-color1); + --jp-toolbar-micro-height: 8px; + --jp-toolbar-background: var(--jp-layout-color1); + --jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.24); + --jp-toolbar-header-margin: 4px 4px 0px 4px; + --jp-toolbar-active-background: var(--md-grey-300); + + /* Statusbar specific styles */ + + --jp-statusbar-height: 24px; + + /* Input field styles */ + + --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300); + --jp-input-active-background: var(--jp-layout-color1); + --jp-input-hover-background: var(--jp-layout-color1); + --jp-input-background: var(--md-grey-100); + --jp-input-border-color: var(--jp-inverse-border-color); + --jp-input-active-border-color: var(--jp-brand-color1); + --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3); + + /* General editor styles */ + + --jp-editor-selected-background: #d9d9d9; + --jp-editor-selected-focused-background: #d7d4f0; + --jp-editor-cursor-color: var(--jp-ui-font-color0); + + /* Code mirror specific styles */ + + --jp-mirror-editor-keyword-color: #008000; + --jp-mirror-editor-atom-color: #88f; + --jp-mirror-editor-number-color: #080; + --jp-mirror-editor-def-color: #00f; + --jp-mirror-editor-variable-color: var(--md-grey-900); + --jp-mirror-editor-variable-2-color: #05a; + --jp-mirror-editor-variable-3-color: #085; + --jp-mirror-editor-punctuation-color: #05a; + --jp-mirror-editor-property-color: #05a; + --jp-mirror-editor-operator-color: #aa22ff; + --jp-mirror-editor-comment-color: #408080; + --jp-mirror-editor-string-color: #ba2121; + --jp-mirror-editor-string-2-color: #708; + --jp-mirror-editor-meta-color: #aa22ff; + --jp-mirror-editor-qualifier-color: #555; + --jp-mirror-editor-builtin-color: #008000; + --jp-mirror-editor-bracket-color: #997; + --jp-mirror-editor-tag-color: #170; + --jp-mirror-editor-attribute-color: #00c; + --jp-mirror-editor-header-color: blue; + --jp-mirror-editor-quote-color: #090; + --jp-mirror-editor-link-color: #00c; + --jp-mirror-editor-error-color: #f00; + --jp-mirror-editor-hr-color: #999; + + /* + RTC user specific colors. + These colors are used for the cursor, username in the editor, + and the icon of the user. + */ + + --jp-collaborator-color1: #ffad8e; + --jp-collaborator-color2: #dac83d; + --jp-collaborator-color3: #72dd76; + --jp-collaborator-color4: #00e4d0; + --jp-collaborator-color5: #45d4ff; + --jp-collaborator-color6: #e2b1ff; + --jp-collaborator-color7: #ff9de6; + + /* Vega extension styles */ + + --jp-vega-background: white; + + /* Sidebar-related styles */ + + --jp-sidebar-min-width: 250px; + + /* Search-related styles */ + + --jp-search-toggle-off-opacity: 0.5; + --jp-search-toggle-hover-opacity: 0.8; + --jp-search-toggle-on-opacity: 1; + --jp-search-selected-match-background-color: rgb(245, 200, 0); + --jp-search-selected-match-color: black; + --jp-search-unselected-match-background-color: var( + --jp-inverse-layout-color0 + ); + --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0); + + /* Icon colors that work well with light or dark backgrounds */ + --jp-icon-contrast-color0: var(--md-purple-600); + --jp-icon-contrast-color1: var(--md-green-600); + --jp-icon-contrast-color2: var(--md-pink-600); + --jp-icon-contrast-color3: var(--md-blue-600); + + /* File or activity icons and switch semantic variables */ + --jp-jupyter-icon-color: #f37626; + --jp-notebook-icon-color: #f37626; + --jp-json-icon-color: var(--md-orange-700); + --jp-console-icon-background-color: var(--md-blue-700); + --jp-console-icon-color: white; + --jp-terminal-icon-background-color: var(--md-grey-800); + --jp-terminal-icon-color: var(--md-grey-200); + --jp-text-editor-icon-color: var(--md-grey-700); + --jp-inspector-icon-color: var(--md-grey-700); + --jp-switch-color: var(--md-grey-400); + --jp-switch-true-position-color: var(--md-orange-900); + } diff --git a/js/src/styles/theme.css b/js/src/styles/theme.css deleted file mode 100644 index a22ccb3..0000000 --- a/js/src/styles/theme.css +++ /dev/null @@ -1,760 +0,0 @@ -/* -This file is taken from the built JupyterLab theme.css -Found on share/nbconvert/templates/lab/static -Some changes have been made and marked with CHANGE -*/ - -.jupyter-wrapper { - /* Elevation - * - * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here: - * - * https://github.com/material-components/material-components-web - * https://material-components-web.appspot.com/elevation.html - */ - - --jp-shadow-base-lightness: 0; - --jp-shadow-umbra-color: rgba( - var(--jp-shadow-base-lightness), - var(--jp-shadow-base-lightness), - var(--jp-shadow-base-lightness), - 0.2 - ); - --jp-shadow-penumbra-color: rgba( - var(--jp-shadow-base-lightness), - var(--jp-shadow-base-lightness), - var(--jp-shadow-base-lightness), - 0.14 - ); - --jp-shadow-ambient-color: rgba( - var(--jp-shadow-base-lightness), - var(--jp-shadow-base-lightness), - var(--jp-shadow-base-lightness), - 0.12 - ); - --jp-elevation-z0: none; - --jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color), - 0px 1px 1px 0px var(--jp-shadow-penumbra-color), - 0px 1px 3px 0px var(--jp-shadow-ambient-color); - --jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color), - 0px 2px 2px 0px var(--jp-shadow-penumbra-color), - 0px 1px 5px 0px var(--jp-shadow-ambient-color); - --jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color), - 0px 4px 5px 0px var(--jp-shadow-penumbra-color), - 0px 1px 10px 0px var(--jp-shadow-ambient-color); - --jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color), - 0px 6px 10px 0px var(--jp-shadow-penumbra-color), - 0px 1px 18px 0px var(--jp-shadow-ambient-color); - --jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color), - 0px 8px 10px 1px var(--jp-shadow-penumbra-color), - 0px 3px 14px 2px var(--jp-shadow-ambient-color); - --jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color), - 0px 12px 17px 2px var(--jp-shadow-penumbra-color), - 0px 5px 22px 4px var(--jp-shadow-ambient-color); - --jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color), - 0px 16px 24px 2px var(--jp-shadow-penumbra-color), - 0px 6px 30px 5px var(--jp-shadow-ambient-color); - --jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color), - 0px 20px 31px 3px var(--jp-shadow-penumbra-color), - 0px 8px 38px 7px var(--jp-shadow-ambient-color); - --jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color), - 0px 24px 38px 3px var(--jp-shadow-penumbra-color), - 0px 9px 46px 8px var(--jp-shadow-ambient-color); - - /* Borders - * - * The following variables, specify the visual styling of borders in JupyterLab. - */ - - --jp-border-width: 1px; - --jp-border-color0: var(--md-grey-400); - --jp-border-color1: var(--md-grey-400); - --jp-border-color2: var(--md-grey-300); - --jp-border-color3: var(--md-grey-200); - --jp-border-radius: 2px; - - /* UI Fonts - * - * The UI font CSS variables are used for the typography all of the JupyterLab - * user interface elements that are not directly user generated content. - * - * The font sizing here is done assuming that the body font size of --jp-ui-font-size1 - * is applied to a parent element. When children elements, such as headings, are sized - * in em all things will be computed relative to that body size. - */ - - --jp-ui-font-scale-factor: 1.2; - --jp-ui-font-size0: 0.83333em; - --jp-ui-font-size1: 13px; /* Base font size */ - --jp-ui-font-size2: 1.2em; - --jp-ui-font-size3: 1.44em; - - --jp-ui-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", - Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", - "Segoe UI Symbol"; - - /* - * Use these font colors against the corresponding main layout colors. - * In a light theme, these go from dark to light. - */ - - /* Defaults use Material Design specification */ - --jp-ui-font-color0: rgba(0, 0, 0, 1); - --jp-ui-font-color1: rgba(0, 0, 0, 0.87); - --jp-ui-font-color2: rgba(0, 0, 0, 0.54); - --jp-ui-font-color3: rgba(0, 0, 0, 0.38); - - /* - * Use these against the brand/accent/warn/error colors. - * These will typically go from light to darker, in both a dark and light theme. - */ - - --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1); - --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1); - --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7); - --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5); - - /* Content Fonts - * - * Content font variables are used for typography of user generated content. - * - * The font sizing here is done assuming that the body font size of --jp-content-font-size1 - * is applied to a parent element. When children elements, such as headings, are sized - * in em all things will be computed relative to that body size. - */ - - --jp-content-line-height: 1.6; - --jp-content-font-scale-factor: 1.2; - --jp-content-font-size0: 0.83333em; - --jp-content-font-size1: 14px; /* Base font size */ - --jp-content-font-size2: 1.2em; - --jp-content-font-size3: 1.44em; - --jp-content-font-size4: 1.728em; - --jp-content-font-size5: 2.0736em; - - /* This gives a magnification of about 125% in presentation mode over normal. */ - --jp-content-presentation-font-size1: 17px; - - --jp-content-heading-line-height: 1; - --jp-content-heading-margin-top: 1.2em; - --jp-content-heading-margin-bottom: 0.8em; - --jp-content-heading-font-weight: 500; - - /* Defaults use Material Design specification */ - --jp-content-font-color0: rgba(0, 0, 0, 1); - --jp-content-font-color1: rgba(0, 0, 0, 0.87); - --jp-content-font-color2: rgba(0, 0, 0, 0.54); - --jp-content-font-color3: rgba(0, 0, 0, 0.38); - - --jp-content-link-color: var(--md-blue-700); - - --jp-content-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", - Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", - "Segoe UI Symbol"; - - /* - * Code Fonts - * - * Code font variables are used for typography of code and other monospaces content. - */ - - --jp-code-font-size: 13px; - --jp-code-line-height: 1.3077; /* 17px for 13px base */ - --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */ - --jp-code-font-family-default: Menlo, Consolas, "DejaVu Sans Mono", - monospace; - --jp-code-font-family: var(--jp-code-font-family-default); - - /* This gives a magnification of about 125% in presentation mode over normal. */ - --jp-code-presentation-font-size: 16px; - - /* may need to tweak cursor width if you change font size */ - --jp-code-cursor-width0: 1.4px; - --jp-code-cursor-width1: 2px; - --jp-code-cursor-width2: 4px; - - /* Layout - * - * The following are the main layout colors use in JupyterLab. In a light - * theme these would go from light to dark. - */ - - --jp-layout-color0: white; - --jp-layout-color1: white; - --jp-layout-color2: var(--md-grey-200); - --jp-layout-color3: var(--md-grey-400); - --jp-layout-color4: var(--md-grey-600); - - /* Inverse Layout - * - * The following are the inverse layout colors use in JupyterLab. In a light - * theme these would go from dark to light. - */ - - --jp-inverse-layout-color0: #111111; - --jp-inverse-layout-color1: var(--md-grey-900); - --jp-inverse-layout-color2: var(--md-grey-800); - --jp-inverse-layout-color3: var(--md-grey-700); - --jp-inverse-layout-color4: var(--md-grey-600); - - /* Brand/accent */ - - --jp-brand-color0: var(--md-blue-900); - --jp-brand-color1: var(--md-blue-700); - --jp-brand-color2: var(--md-blue-300); - --jp-brand-color3: var(--md-blue-100); - --jp-brand-color4: var(--md-blue-50); - - --jp-accent-color0: var(--md-green-900); - --jp-accent-color1: var(--md-green-700); - --jp-accent-color2: var(--md-green-300); - --jp-accent-color3: var(--md-green-100); - - /* State colors (warn, error, success, info) */ - - --jp-warn-color0: var(--md-orange-900); - --jp-warn-color1: var(--md-orange-700); - --jp-warn-color2: var(--md-orange-300); - --jp-warn-color3: var(--md-orange-100); - - --jp-error-color0: var(--md-red-900); - --jp-error-color1: var(--md-red-700); - --jp-error-color2: var(--md-red-300); - --jp-error-color3: var(--md-red-100); - - --jp-success-color0: var(--md-green-900); - --jp-success-color1: var(--md-green-700); - --jp-success-color2: var(--md-green-300); - --jp-success-color3: var(--md-green-100); - - --jp-info-color0: var(--md-cyan-900); - --jp-info-color1: var(--md-cyan-700); - --jp-info-color2: var(--md-cyan-300); - --jp-info-color3: var(--md-cyan-100); - - /* Cell specific styles */ - - --jp-cell-padding: 5px; - - --jp-cell-collapser-width: 8px; - --jp-cell-collapser-min-height: 20px; - --jp-cell-collapser-not-active-hover-opacity: 0.6; - - --jp-cell-editor-background: var(--md-grey-100); - --jp-cell-editor-border-color: var(--md-grey-300); - --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300); - --jp-cell-editor-active-background: var(--jp-layout-color0); - --jp-cell-editor-active-border-color: var(--jp-brand-color1); - - --jp-cell-prompt-width: 64px; - --jp-cell-prompt-font-family: var(--jp-code-font-family-default); - --jp-cell-prompt-letter-spacing: 0px; - --jp-cell-prompt-opacity: 1; - --jp-cell-prompt-not-active-opacity: 0.5; - --jp-cell-prompt-not-active-font-color: var(--md-grey-700); - /* A custom blend of MD grey and blue 600 - * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */ - --jp-cell-inprompt-font-color: #307fc1; - /* A custom blend of MD grey and orange 600 - * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */ - --jp-cell-outprompt-font-color: #bf5b3d; - - /* Notebook specific styles */ - - --jp-notebook-padding: 10px; - --jp-notebook-select-background: var(--jp-layout-color1); - --jp-notebook-multiselected-color: var(--md-blue-50); - - /* The scroll padding is calculated to fill enough space at the bottom of the - notebook to show one single-line cell (with appropriate padding) at the top - when the notebook is scrolled all the way to the bottom. We also subtract one - pixel so that no scrollbar appears if we have just one single-line cell in the - notebook. This padding is to enable a 'scroll past end' feature in a notebook. - */ - --jp-notebook-scroll-padding: calc( - 100% - var(--jp-code-font-size) * var(--jp-code-line-height) - - var(--jp-code-padding) - var(--jp-cell-padding) - 1px - ); - - /* Rendermime styles */ - - --jp-rendermime-error-background: #fdd; - --jp-rendermime-table-row-background: var(--md-grey-100); - --jp-rendermime-table-row-hover-background: var(--md-light-blue-50); - - /* Dialog specific styles */ - - --jp-dialog-background: rgba(0, 0, 0, 0.25); - - /* Console specific styles */ - - --jp-console-padding: 10px; - - /* Toolbar specific styles */ - - --jp-toolbar-border-color: var(--jp-border-color1); - --jp-toolbar-micro-height: 8px; - --jp-toolbar-background: var(--jp-layout-color1); - --jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.24); - --jp-toolbar-header-margin: 4px 4px 0px 4px; - --jp-toolbar-active-background: var(--md-grey-300); - - /* Statusbar specific styles */ - - --jp-statusbar-height: 24px; - - /* Input field styles */ - - --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300); - --jp-input-active-background: var(--jp-layout-color1); - --jp-input-hover-background: var(--jp-layout-color1); - --jp-input-background: var(--md-grey-100); - --jp-input-border-color: var(--jp-border-color1); - --jp-input-active-border-color: var(--jp-brand-color1); - --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3); - - /* General editor styles */ - - --jp-editor-selected-background: #d9d9d9; - --jp-editor-selected-focused-background: #d7d4f0; - --jp-editor-cursor-color: var(--jp-ui-font-color0); - - /* Code mirror specific styles */ - - --jp-mirror-editor-keyword-color: #008000; - --jp-mirror-editor-atom-color: #88f; - --jp-mirror-editor-number-color: #080; - --jp-mirror-editor-def-color: #00f; - --jp-mirror-editor-variable-color: var(--md-grey-900); - --jp-mirror-editor-variable-2-color: #05a; - --jp-mirror-editor-variable-3-color: #085; - --jp-mirror-editor-punctuation-color: #05a; - --jp-mirror-editor-property-color: #05a; - --jp-mirror-editor-operator-color: #aa22ff; - --jp-mirror-editor-comment-color: #408080; - --jp-mirror-editor-string-color: #ba2121; - --jp-mirror-editor-string-2-color: #708; - --jp-mirror-editor-meta-color: #aa22ff; - --jp-mirror-editor-qualifier-color: #555; - --jp-mirror-editor-builtin-color: #008000; - --jp-mirror-editor-bracket-color: #997; - --jp-mirror-editor-tag-color: #170; - --jp-mirror-editor-attribute-color: #00c; - --jp-mirror-editor-header-color: blue; - --jp-mirror-editor-quote-color: #090; - --jp-mirror-editor-link-color: #00c; - --jp-mirror-editor-error-color: #f00; - --jp-mirror-editor-hr-color: #999; - - /* Vega extension styles */ - - --jp-vega-background: white; - - /* Sidebar-related styles */ - - --jp-sidebar-min-width: 250px; - - /* Search-related styles */ - - --jp-search-toggle-off-opacity: 0.5; - --jp-search-toggle-hover-opacity: 0.8; - --jp-search-toggle-on-opacity: 1; - --jp-search-selected-match-background-color: rgb(245, 200, 0); - --jp-search-selected-match-color: black; - --jp-search-unselected-match-background-color: var( - --jp-inverse-layout-color0 - ); - --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0); - - /* Icon colors that work well with light or dark backgrounds */ - --jp-icon-contrast-color0: var(--md-purple-600); - --jp-icon-contrast-color1: var(--md-green-600); - --jp-icon-contrast-color2: var(--md-pink-600); - --jp-icon-contrast-color3: var(--md-blue-600); -} - -[data-md-color-scheme="slate"] .jupyter-wrapper { - /* Elevation - * - * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here: - * - * https://github.com/material-components/material-components-web - * https://material-components-web.appspot.com/elevation.html - */ - - /* The dark theme shadows need a bit of work, but this will probably also require work on the core layout - * colors used in the theme as well. */ - --jp-shadow-base-lightness: 32; - --jp-shadow-umbra-color: rgba( - var(--jp-shadow-base-lightness), - var(--jp-shadow-base-lightness), - var(--jp-shadow-base-lightness), - 0.2 - ); - --jp-shadow-penumbra-color: rgba( - var(--jp-shadow-base-lightness), - var(--jp-shadow-base-lightness), - var(--jp-shadow-base-lightness), - 0.14 - ); - --jp-shadow-ambient-color: rgba( - var(--jp-shadow-base-lightness), - var(--jp-shadow-base-lightness), - var(--jp-shadow-base-lightness), - 0.12 - ); - --jp-elevation-z0: none; - --jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color), - 0px 1px 1px 0px var(--jp-shadow-penumbra-color), - 0px 1px 3px 0px var(--jp-shadow-ambient-color); - --jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color), - 0px 2px 2px 0px var(--jp-shadow-penumbra-color), - 0px 1px 5px 0px var(--jp-shadow-ambient-color); - --jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color), - 0px 4px 5px 0px var(--jp-shadow-penumbra-color), - 0px 1px 10px 0px var(--jp-shadow-ambient-color); - --jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color), - 0px 6px 10px 0px var(--jp-shadow-penumbra-color), - 0px 1px 18px 0px var(--jp-shadow-ambient-color); - --jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color), - 0px 8px 10px 1px var(--jp-shadow-penumbra-color), - 0px 3px 14px 2px var(--jp-shadow-ambient-color); - --jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color), - 0px 12px 17px 2px var(--jp-shadow-penumbra-color), - 0px 5px 22px 4px var(--jp-shadow-ambient-color); - --jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color), - 0px 16px 24px 2px var(--jp-shadow-penumbra-color), - 0px 6px 30px 5px var(--jp-shadow-ambient-color); - --jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color), - 0px 20px 31px 3px var(--jp-shadow-penumbra-color), - 0px 8px 38px 7px var(--jp-shadow-ambient-color); - --jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color), - 0px 24px 38px 3px var(--jp-shadow-penumbra-color), - 0px 9px 46px 8px var(--jp-shadow-ambient-color); - - /* Borders - * - * The following variables, specify the visual styling of borders in JupyterLab. - */ - - --jp-border-width: 1px; - --jp-border-color0: var(--md-grey-700); - --jp-border-color1: var(--md-grey-700); - --jp-border-color2: var(--md-grey-800); - --jp-border-color3: var(--md-grey-900); - --jp-border-radius: 2px; - - /* UI Fonts - * - * The UI font CSS variables are used for the typography all of the JupyterLab - * user interface elements that are not directly user generated content. - * - * The font sizing here is done assuming that the body font size of --jp-ui-font-size1 - * is applied to a parent element. When children elements, such as headings, are sized - * in em all things will be computed relative to that body size. - */ - - --jp-ui-font-scale-factor: 1.2; - --jp-ui-font-size0: 0.83333em; - --jp-ui-font-size1: 13px; /* Base font size */ - --jp-ui-font-size2: 1.2em; - --jp-ui-font-size3: 1.44em; - - --jp-ui-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", - Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", - "Segoe UI Symbol"; - - /* - * Use these font colors against the corresponding main layout colors. - * In a light theme, these go from dark to light. - */ - - /* Defaults use Material Design specification */ - --jp-ui-font-color0: rgba(255, 255, 255, 1); - --jp-ui-font-color1: rgba(255, 255, 255, 0.87); - --jp-ui-font-color2: rgba(255, 255, 255, 0.54); - --jp-ui-font-color3: rgba(255, 255, 255, 0.38); - - /* - * Use these against the brand/accent/warn/error colors. - * These will typically go from light to darker, in both a dark and light theme. - */ - - --jp-ui-inverse-font-color0: rgba(0, 0, 0, 1); - --jp-ui-inverse-font-color1: rgba(0, 0, 0, 0.8); - --jp-ui-inverse-font-color2: rgba(0, 0, 0, 0.5); - --jp-ui-inverse-font-color3: rgba(0, 0, 0, 0.3); - - /* Content Fonts - * - * Content font variables are used for typography of user generated content. - * - * The font sizing here is done assuming that the body font size of --jp-content-font-size1 - * is applied to a parent element. When children elements, such as headings, are sized - * in em all things will be computed relative to that body size. - */ - - --jp-content-line-height: 1.6; - --jp-content-font-scale-factor: 1.2; - --jp-content-font-size0: 0.83333em; - --jp-content-font-size1: 14px; /* Base font size */ - --jp-content-font-size2: 1.2em; - --jp-content-font-size3: 1.44em; - --jp-content-font-size4: 1.728em; - --jp-content-font-size5: 2.0736em; - - /* This gives a magnification of about 125% in presentation mode over normal. */ - --jp-content-presentation-font-size1: 17px; - - --jp-content-heading-line-height: 1; - --jp-content-heading-margin-top: 1.2em; - --jp-content-heading-margin-bottom: 0.8em; - --jp-content-heading-font-weight: 500; - - /* Defaults use Material Design specification */ - --jp-content-font-color0: rgba(255, 255, 255, 1); - --jp-content-font-color1: rgba(255, 255, 255, 1); - --jp-content-font-color2: rgba(255, 255, 255, 0.7); - --jp-content-font-color3: rgba(255, 255, 255, 0.5); - - --jp-content-link-color: var(--md-blue-300); - - --jp-content-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", - Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", - "Segoe UI Symbol"; - - /* - * Code Fonts - * - * Code font variables are used for typography of code and other monospaces content. - */ - - --jp-code-font-size: 13px; - --jp-code-line-height: 1.3077; /* 17px for 13px base */ - --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */ - --jp-code-font-family-default: Menlo, Consolas, "DejaVu Sans Mono", - monospace; - --jp-code-font-family: var(--jp-code-font-family-default); - - /* This gives a magnification of about 125% in presentation mode over normal. */ - --jp-code-presentation-font-size: 16px; - - /* may need to tweak cursor width if you change font size */ - --jp-code-cursor-width0: 1.4px; - --jp-code-cursor-width1: 2px; - --jp-code-cursor-width2: 4px; - - /* Layout - * - * The following are the main layout colors use in JupyterLab. In a light - * theme these would go from light to dark. - */ - - --jp-layout-color0: #111111; - --jp-layout-color1: var(--md-grey-900); - --jp-layout-color2: var(--md-grey-800); - --jp-layout-color3: var(--md-grey-700); - --jp-layout-color4: var(--md-grey-600); - - /* Inverse Layout - * - * The following are the inverse layout colors use in JupyterLab. In a light - * theme these would go from dark to light. - */ - - --jp-inverse-layout-color0: white; - --jp-inverse-layout-color1: white; - --jp-inverse-layout-color2: var(--md-grey-200); - --jp-inverse-layout-color3: var(--md-grey-400); - --jp-inverse-layout-color4: var(--md-grey-600); - - /* Brand/accent */ - - --jp-brand-color0: var(--md-blue-700); - --jp-brand-color1: var(--md-blue-500); - --jp-brand-color2: var(--md-blue-300); - --jp-brand-color3: var(--md-blue-100); - --jp-brand-color4: var(--md-blue-50); - - --jp-accent-color0: var(--md-green-700); - --jp-accent-color1: var(--md-green-500); - --jp-accent-color2: var(--md-green-300); - --jp-accent-color3: var(--md-green-100); - - /* State colors (warn, error, success, info) */ - - --jp-warn-color0: var(--md-orange-700); - --jp-warn-color1: var(--md-orange-500); - --jp-warn-color2: var(--md-orange-300); - --jp-warn-color3: var(--md-orange-100); - - --jp-error-color0: var(--md-red-700); - --jp-error-color1: var(--md-red-500); - --jp-error-color2: var(--md-red-300); - --jp-error-color3: var(--md-red-100); - - --jp-success-color0: var(--md-green-700); - --jp-success-color1: var(--md-green-500); - --jp-success-color2: var(--md-green-300); - --jp-success-color3: var(--md-green-100); - - --jp-info-color0: var(--md-cyan-700); - --jp-info-color1: var(--md-cyan-500); - --jp-info-color2: var(--md-cyan-300); - --jp-info-color3: var(--md-cyan-100); - - /* Cell specific styles */ - - --jp-cell-padding: 5px; - - --jp-cell-collapser-width: 8px; - --jp-cell-collapser-min-height: 20px; - --jp-cell-collapser-not-active-hover-opacity: 0.6; - - --jp-cell-editor-background: var(--jp-layout-color1); - --jp-cell-editor-border-color: var(--md-grey-700); - --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300); - --jp-cell-editor-active-background: var(--jp-layout-color0); - --jp-cell-editor-active-border-color: var(--jp-brand-color1); - - --jp-cell-prompt-width: 64px; - --jp-cell-prompt-font-family: var(--jp-code-font-family-default); - --jp-cell-prompt-letter-spacing: 0px; - --jp-cell-prompt-opacity: 1; - --jp-cell-prompt-not-active-opacity: 1; - --jp-cell-prompt-not-active-font-color: var(--md-grey-300); - - /* A custom blend of MD grey and blue 600 - * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */ - --jp-cell-inprompt-font-color: #307fc1; - /* A custom blend of MD grey and orange 600 - * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */ - --jp-cell-outprompt-font-color: #bf5b3d; - - /* Notebook specific styles */ - - --jp-notebook-padding: 10px; - --jp-notebook-select-background: var(--jp-layout-color1); - --jp-notebook-multiselected-color: rgba(33, 150, 243, 0.24); - - /* The scroll padding is calculated to fill enough space at the bottom of the - notebook to show one single-line cell (with appropriate padding) at the top - when the notebook is scrolled all the way to the bottom. We also subtract one - pixel so that no scrollbar appears if we have just one single-line cell in the - notebook. This padding is to enable a 'scroll past end' feature in a notebook. - */ - --jp-notebook-scroll-padding: calc( - 100% - var(--jp-code-font-size) * var(--jp-code-line-height) - - var(--jp-code-padding) - var(--jp-cell-padding) - 1px - ); - - /* Rendermime styles */ - - --jp-rendermime-error-background: rgba(244, 67, 54, 0.28); - --jp-rendermime-table-row-background: var(--md-grey-900); - --jp-rendermime-table-row-hover-background: rgba(3, 169, 244, 0.2); - - /* Dialog specific styles */ - - --jp-dialog-background: rgba(0, 0, 0, 0.6); - - /* Console specific styles */ - - --jp-console-padding: 10px; - - /* Toolbar specific styles */ - - --jp-toolbar-border-color: var(--jp-border-color2); - --jp-toolbar-micro-height: 8px; - --jp-toolbar-background: var(--jp-layout-color1); - --jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.8); - --jp-toolbar-header-margin: 4px 4px 0px 4px; - --jp-toolbar-active-background: var(--jp-layout-color0); - - /* Statusbar specific styles */ - - --jp-statusbar-height: 24px; - - /* Input field styles */ - - --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300); - --jp-input-active-background: var(--jp-layout-color0); - --jp-input-hover-background: var(--jp-layout-color2); - --jp-input-background: var(--md-grey-800); - --jp-input-border-color: var(--jp-border-color1); - --jp-input-active-border-color: var(--jp-brand-color1); - --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3); - - /* General editor styles */ - - --jp-editor-selected-background: var(--jp-layout-color2); - --jp-editor-selected-focused-background: rgba(33, 150, 243, 0.24); - --jp-editor-cursor-color: var(--jp-ui-font-color0); - - /* Code mirror specific styles */ - - --jp-mirror-editor-keyword-color: var(--md-green-500); - --jp-mirror-editor-atom-color: var(--md-blue-300); - --jp-mirror-editor-number-color: var(--md-green-400); - --jp-mirror-editor-def-color: var(--md-blue-600); - --jp-mirror-editor-variable-color: var(--md-grey-300); - --jp-mirror-editor-variable-2-color: var(--md-blue-400); - --jp-mirror-editor-variable-3-color: var(--md-green-600); - --jp-mirror-editor-punctuation-color: var(--md-blue-400); - --jp-mirror-editor-property-color: var(--md-blue-400); - --jp-mirror-editor-operator-color: #aa22ff; - --jp-mirror-editor-comment-color: #408080; - --jp-mirror-editor-string-color: #ff7070; - --jp-mirror-editor-string-2-color: var(--md-purple-300); - --jp-mirror-editor-meta-color: #aa22ff; - --jp-mirror-editor-qualifier-color: #555; - --jp-mirror-editor-builtin-color: var(--md-green-600); - --jp-mirror-editor-bracket-color: #997; - --jp-mirror-editor-tag-color: var(--md-green-700); - --jp-mirror-editor-attribute-color: var(--md-blue-700); - --jp-mirror-editor-header-color: var(--md-blue-500); - --jp-mirror-editor-quote-color: var(--md-green-300); - --jp-mirror-editor-link-color: var(--md-blue-700); - --jp-mirror-editor-error-color: #f00; - --jp-mirror-editor-hr-color: #999; - - /* Vega extension styles */ - - --jp-vega-background: var(--md-grey-400); - - /* Sidebar-related styles */ - - --jp-sidebar-min-width: 250px; - - /* Search-related styles */ - - --jp-search-toggle-off-opacity: 0.6; - --jp-search-toggle-hover-opacity: 0.8; - --jp-search-toggle-on-opacity: 1; - --jp-search-selected-match-background-color: rgb(255, 225, 0); - --jp-search-selected-match-color: black; - --jp-search-unselected-match-background-color: var( - --jp-inverse-layout-color0 - ); - --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0); - - /* scrollbar related styles. Supports every browser except Edge. */ - - /* colors based on JetBrain's Darcula theme */ - - --jp-scrollbar-background-color: #3f4244; - --jp-scrollbar-thumb-color: 88, 96, 97; /* need to specify thumb color as an RGB triplet */ - - --jp-scrollbar-endpad: 3px; /* the minimum gap between the thumb and the ends of a scrollbar */ - - /* hacks for setting the thumb shape. These do nothing in Firefox */ - - --jp-scrollbar-thumb-margin: 3.5px; /* the space in between the sides of the thumb and the track */ - --jp-scrollbar-thumb-radius: 9px; /* set to a large-ish value for rounded endcaps on the thumb */ - - /* Icon colors that work well with light or dark backgrounds */ - --jp-icon-contrast-color0: var(--md-purple-600); - --jp-icon-contrast-color1: var(--md-green-600); - --jp-icon-contrast-color2: var(--md-pink-600); - --jp-icon-contrast-color3: var(--md-blue-600); -} diff --git a/js/src/styles/variables.scss b/js/src/styles/variables.scss new file mode 100644 index 0000000..4f49a06 --- /dev/null +++ b/js/src/styles/variables.scss @@ -0,0 +1,278 @@ +/* +These variables are taken from jupyter-lab.scss +We duplicated them to the root so they work in the cells +*/ +.jupyter-wrapper { + --md-red-50: #ffebee; + --md-red-100: #ffcdd2; + --md-red-200: #ef9a9a; + --md-red-300: #e57373; + --md-red-400: #ef5350; + --md-red-500: #f44336; + --md-red-600: #e53935; + --md-red-700: #d32f2f; + --md-red-800: #c62828; + --md-red-900: #b71c1c; + --md-red-A100: #ff8a80; + --md-red-A200: #ff5252; + --md-red-A400: #ff1744; + --md-red-A700: #d50000; + + --md-pink-50: #fce4ec; + --md-pink-100: #f8bbd0; + --md-pink-200: #f48fb1; + --md-pink-300: #f06292; + --md-pink-400: #ec407a; + --md-pink-500: #e91e63; + --md-pink-600: #d81b60; + --md-pink-700: #c2185b; + --md-pink-800: #ad1457; + --md-pink-900: #880e4f; + --md-pink-A100: #ff80ab; + --md-pink-A200: #ff4081; + --md-pink-A400: #f50057; + --md-pink-A700: #c51162; + + --md-purple-50: #f3e5f5; + --md-purple-100: #e1bee7; + --md-purple-200: #ce93d8; + --md-purple-300: #ba68c8; + --md-purple-400: #ab47bc; + --md-purple-500: #9c27b0; + --md-purple-600: #8e24aa; + --md-purple-700: #7b1fa2; + --md-purple-800: #6a1b9a; + --md-purple-900: #4a148c; + --md-purple-A100: #ea80fc; + --md-purple-A200: #e040fb; + --md-purple-A400: #d500f9; + --md-purple-A700: #aa00ff; + + --md-deep-purple-50: #ede7f6; + --md-deep-purple-100: #d1c4e9; + --md-deep-purple-200: #b39ddb; + --md-deep-purple-300: #9575cd; + --md-deep-purple-400: #7e57c2; + --md-deep-purple-500: #673ab7; + --md-deep-purple-600: #5e35b1; + --md-deep-purple-700: #512da8; + --md-deep-purple-800: #4527a0; + --md-deep-purple-900: #311b92; + --md-deep-purple-A100: #b388ff; + --md-deep-purple-A200: #7c4dff; + --md-deep-purple-A400: #651fff; + --md-deep-purple-A700: #6200ea; + + --md-indigo-50: #e8eaf6; + --md-indigo-100: #c5cae9; + --md-indigo-200: #9fa8da; + --md-indigo-300: #7986cb; + --md-indigo-400: #5c6bc0; + --md-indigo-500: #3f51b5; + --md-indigo-600: #3949ab; + --md-indigo-700: #303f9f; + --md-indigo-800: #283593; + --md-indigo-900: #1a237e; + --md-indigo-A100: #8c9eff; + --md-indigo-A200: #536dfe; + --md-indigo-A400: #3d5afe; + --md-indigo-A700: #304ffe; + + --md-blue-50: #e3f2fd; + --md-blue-100: #bbdefb; + --md-blue-200: #90caf9; + --md-blue-300: #64b5f6; + --md-blue-400: #42a5f5; + --md-blue-500: #2196f3; + --md-blue-600: #1e88e5; + --md-blue-700: #1976d2; + --md-blue-800: #1565c0; + --md-blue-900: #0d47a1; + --md-blue-A100: #82b1ff; + --md-blue-A200: #448aff; + --md-blue-A400: #2979ff; + --md-blue-A700: #2962ff; + + --md-light-blue-50: #e1f5fe; + --md-light-blue-100: #b3e5fc; + --md-light-blue-200: #81d4fa; + --md-light-blue-300: #4fc3f7; + --md-light-blue-400: #29b6f6; + --md-light-blue-500: #03a9f4; + --md-light-blue-600: #039be5; + --md-light-blue-700: #0288d1; + --md-light-blue-800: #0277bd; + --md-light-blue-900: #01579b; + --md-light-blue-A100: #80d8ff; + --md-light-blue-A200: #40c4ff; + --md-light-blue-A400: #00b0ff; + --md-light-blue-A700: #0091ea; + + --md-cyan-50: #e0f7fa; + --md-cyan-100: #b2ebf2; + --md-cyan-200: #80deea; + --md-cyan-300: #4dd0e1; + --md-cyan-400: #26c6da; + --md-cyan-500: #00bcd4; + --md-cyan-600: #00acc1; + --md-cyan-700: #0097a7; + --md-cyan-800: #00838f; + --md-cyan-900: #006064; + --md-cyan-A100: #84ffff; + --md-cyan-A200: #18ffff; + --md-cyan-A400: #00e5ff; + --md-cyan-A700: #00b8d4; + + --md-teal-50: #e0f2f1; + --md-teal-100: #b2dfdb; + --md-teal-200: #80cbc4; + --md-teal-300: #4db6ac; + --md-teal-400: #26a69a; + --md-teal-500: #009688; + --md-teal-600: #00897b; + --md-teal-700: #00796b; + --md-teal-800: #00695c; + --md-teal-900: #004d40; + --md-teal-A100: #a7ffeb; + --md-teal-A200: #64ffda; + --md-teal-A400: #1de9b6; + --md-teal-A700: #00bfa5; + + --md-green-50: #e8f5e9; + --md-green-100: #c8e6c9; + --md-green-200: #a5d6a7; + --md-green-300: #81c784; + --md-green-400: #66bb6a; + --md-green-500: #4caf50; + --md-green-600: #43a047; + --md-green-700: #388e3c; + --md-green-800: #2e7d32; + --md-green-900: #1b5e20; + --md-green-A100: #b9f6ca; + --md-green-A200: #69f0ae; + --md-green-A400: #00e676; + --md-green-A700: #00c853; + + --md-light-green-50: #f1f8e9; + --md-light-green-100: #dcedc8; + --md-light-green-200: #c5e1a5; + --md-light-green-300: #aed581; + --md-light-green-400: #9ccc65; + --md-light-green-500: #8bc34a; + --md-light-green-600: #7cb342; + --md-light-green-700: #689f38; + --md-light-green-800: #558b2f; + --md-light-green-900: #33691e; + --md-light-green-A100: #ccff90; + --md-light-green-A200: #b2ff59; + --md-light-green-A400: #76ff03; + --md-light-green-A700: #64dd17; + + --md-lime-50: #f9fbe7; + --md-lime-100: #f0f4c3; + --md-lime-200: #e6ee9c; + --md-lime-300: #dce775; + --md-lime-400: #d4e157; + --md-lime-500: #cddc39; + --md-lime-600: #c0ca33; + --md-lime-700: #afb42b; + --md-lime-800: #9e9d24; + --md-lime-900: #827717; + --md-lime-A100: #f4ff81; + --md-lime-A200: #eeff41; + --md-lime-A400: #c6ff00; + --md-lime-A700: #aeea00; + + --md-yellow-50: #fffde7; + --md-yellow-100: #fff9c4; + --md-yellow-200: #fff59d; + --md-yellow-300: #fff176; + --md-yellow-400: #ffee58; + --md-yellow-500: #ffeb3b; + --md-yellow-600: #fdd835; + --md-yellow-700: #fbc02d; + --md-yellow-800: #f9a825; + --md-yellow-900: #f57f17; + --md-yellow-A100: #ffff8d; + --md-yellow-A200: #ffff00; + --md-yellow-A400: #ffea00; + --md-yellow-A700: #ffd600; + + --md-amber-50: #fff8e1; + --md-amber-100: #ffecb3; + --md-amber-200: #ffe082; + --md-amber-300: #ffd54f; + --md-amber-400: #ffca28; + --md-amber-500: #ffc107; + --md-amber-600: #ffb300; + --md-amber-700: #ffa000; + --md-amber-800: #ff8f00; + --md-amber-900: #ff6f00; + --md-amber-A100: #ffe57f; + --md-amber-A200: #ffd740; + --md-amber-A400: #ffc400; + --md-amber-A700: #ffab00; + + --md-orange-50: #fff3e0; + --md-orange-100: #ffe0b2; + --md-orange-200: #ffcc80; + --md-orange-300: #ffb74d; + --md-orange-400: #ffa726; + --md-orange-500: #ff9800; + --md-orange-600: #fb8c00; + --md-orange-700: #f57c00; + --md-orange-800: #ef6c00; + --md-orange-900: #e65100; + --md-orange-A100: #ffd180; + --md-orange-A200: #ffab40; + --md-orange-A400: #ff9100; + --md-orange-A700: #ff6d00; + + --md-deep-orange-50: #fbe9e7; + --md-deep-orange-100: #ffccbc; + --md-deep-orange-200: #ffab91; + --md-deep-orange-300: #ff8a65; + --md-deep-orange-400: #ff7043; + --md-deep-orange-500: #ff5722; + --md-deep-orange-600: #f4511e; + --md-deep-orange-700: #e64a19; + --md-deep-orange-800: #d84315; + --md-deep-orange-900: #bf360c; + --md-deep-orange-A100: #ff9e80; + --md-deep-orange-A200: #ff6e40; + --md-deep-orange-A400: #ff3d00; + --md-deep-orange-A700: #dd2c00; + + --md-brown-50: #efebe9; + --md-brown-100: #d7ccc8; + --md-brown-200: #bcaaa4; + --md-brown-300: #a1887f; + --md-brown-400: #8d6e63; + --md-brown-500: #795548; + --md-brown-600: #6d4c41; + --md-brown-700: #5d4037; + --md-brown-800: #4e342e; + --md-brown-900: #3e2723; + + --md-grey-50: #fafafa; + --md-grey-100: #f5f5f5; + --md-grey-200: #eeeeee; + --md-grey-300: #e0e0e0; + --md-grey-400: #bdbdbd; + --md-grey-500: #9e9e9e; + --md-grey-600: #757575; + --md-grey-700: #616161; + --md-grey-800: #424242; + --md-grey-900: #212121; + + --md-blue-grey-50: #eceff1; + --md-blue-grey-100: #cfd8dc; + --md-blue-grey-200: #b0bec5; + --md-blue-grey-300: #90a4ae; + --md-blue-grey-400: #78909c; + --md-blue-grey-500: #607d8b; + --md-blue-grey-600: #546e7a; + --md-blue-grey-700: #455a64; + --md-blue-grey-800: #37474f; + --md-blue-grey-900: #263238; +} diff --git a/js/src/theme-dark.js b/js/src/theme-dark.js new file mode 100644 index 0000000..eac22fc --- /dev/null +++ b/js/src/theme-dark.js @@ -0,0 +1 @@ +import "./styles/jupyter-lab-theme-dark.scss"; diff --git a/js/src/theme-light.js b/js/src/theme-light.js new file mode 100644 index 0000000..812fa22 --- /dev/null +++ b/js/src/theme-light.js @@ -0,0 +1 @@ +import "./styles/jupyter-lab-theme-light.scss"; diff --git a/js/vite.config.js b/js/vite.config.js new file mode 100644 index 0000000..a9ecbce --- /dev/null +++ b/js/vite.config.js @@ -0,0 +1,26 @@ +import path from "path"; +import { defineConfig } from "vite"; + +export default defineConfig({ + build: { + outDir: path.join( + __dirname, + "..", + "mkdocs_jupyter", + "templates", + "mkdocs_html" + ), + rollupOptions: { + input: { + index: "src/index.js", + light: "src/theme-light.js", + dark: "src/theme-dark.js", + }, + output: { + entryFileNames: `assets/[name].js`, + chunkFileNames: `assets/[name].js`, + assetFileNames: `assets/[name].[ext]`, + }, + }, + }, +}); diff --git a/js/webpack.config.js b/js/webpack.config.js deleted file mode 100644 index 77ae753..0000000 --- a/js/webpack.config.js +++ /dev/null @@ -1,53 +0,0 @@ -var path = require("path") -const FileManagerPlugin = require("filemanager-webpack-plugin") -const FixStyleOnlyEntriesPlugin = require("webpack-fix-style-only-entries") -const MiniCssExtractPlugin = require("mini-css-extract-plugin") - -const extractPlugin = { - loader: MiniCssExtractPlugin.loader, -} - -const pythonPkgStatic = path.resolve( - __dirname, - "..", - "mkdocs_jupyter", - "templates", - "mkdocs_html", - "assets" -) - -module.exports = (env, argv) => { - const IS_PRODUCTION = argv.mode === "production" - - const config_lib = { - entry: path.resolve(__dirname, "src", "index.js"), - output: { - path: path.resolve(pythonPkgStatic), - filename: "mkdocs-jupyter.js", - }, - module: { - rules: [ - { - test: /\.(js)$/, - exclude: /node_modules/, - }, - { - test: /\.s?[ac]ss$/, - use: [extractPlugin, "css-loader", "sass-loader"], - }, - ], - }, - plugins: [ - new MiniCssExtractPlugin({ - filename: "mkdocs-jupyter.css", - }), - ], - mode: IS_PRODUCTION ? "production" : "development", - devtool: "source-map", - } - - let config = [] - config.push(config_lib) - - return config -} diff --git a/mkdocs_jupyter/nbconvert2.py b/mkdocs_jupyter/nbconvert2.py index 5e364b4..8e4188d 100644 --- a/mkdocs_jupyter/nbconvert2.py +++ b/mkdocs_jupyter/nbconvert2.py @@ -1,7 +1,7 @@ """ This modules is a wrapper around nbconvert -It provides a cleaner version of the HTML content that can be embedded into -existing HTML pages without breaking existing styles. +It provides a cleaner / more self-contained version of the HTML content +that can be embedded into existing HTML pages without breaking existing styles """ import io @@ -13,7 +13,6 @@ import mistune from nbconvert.exporters.html import HTMLExporter from nbconvert.exporters.markdown import MarkdownExporter - from nbconvert.exporters.templateexporter import default_filters from nbconvert.filters.highlight import _pygments_highlight from nbconvert.filters.markdown_mistune import ( @@ -42,7 +41,7 @@ def nb2html( nb_path, execute=False, kernel_name="", - theme=None, + theme="light", start=0, end=None, allow_errors=True, @@ -156,13 +155,18 @@ def custom_clean_html(element): } }, ) + content = content + f""" + + """ if highlight_extra_classes: content = content.replace( "jp-OutputArea-output", f"jp-OutputArea-output {highlight_extra_classes}", ) - return content + return content @@ -340,6 +344,6 @@ def _wrap_code(self, source): if __name__ == "__main__": - content = nb2html("tests/mkdocs/docs/demo.ipynb") + content = nb2html("./demo/docs/demo-nb.ipynb", theme="light") with open("./demo.html", "w") as f: f.write(content) diff --git a/mkdocs_jupyter/templates/mkdocs_html/assets/.gitignore b/mkdocs_jupyter/templates/mkdocs_html/assets/.gitignore new file mode 100644 index 0000000..ec9effe --- /dev/null +++ b/mkdocs_jupyter/templates/mkdocs_html/assets/.gitignore @@ -0,0 +1,3 @@ +*.js +*.css +!clipboard.umd.js diff --git a/mkdocs_jupyter/templates/mkdocs_html/notebook.html.j2 b/mkdocs_jupyter/templates/mkdocs_html/notebook.html.j2 index 8014a05..a3052b0 100644 --- a/mkdocs_jupyter/templates/mkdocs_html/notebook.html.j2 +++ b/mkdocs_jupyter/templates/mkdocs_html/notebook.html.j2 @@ -1,17 +1,18 @@ -{# Ovewrites: https://github.com/jupyter/nbconvert/blob/main/share/templates/lab/index.html.j2 #} +{# +Ovewrites: https://github.com/jupyter/nbconvert/blob/main/share/templates/lab/index.html.j2 +Look for CHANGE comments to see what we changed +#} {%- extends "lab/index.html.j2" -%} {% from "base/mathjax.html.j2" import mathjax %} {# CHANGE: Overwrite the header because lab/index.html outputs a full page #} -{# We want just the notebook content not a full HTML page #} +{# We want just the notebook content not the full HTML page #} {%- block header -%} -{# CHANGE: -1. Make RequireJS optional as might conflict with some JS stuff from material -#} {%- block html_head_js -%} +{# CHANGE: Include the copy button JS #} {{ resources.include_js("mkdocs_html/assets/clipboard.umd.js") }} +{# CHANGE: Make RequireJS optional as might conflict with some JS with +mkdocs-material #} {%- block html_head_js_requirejs -%} {%- if resources.mkdocs.include_requirejs -%} @@ -39,42 +42,49 @@ {% block extra_css %} {% endblock extra_css %} +{# CHANGE: replace CSS classes: .highlight -> .highlight-ipynb #} {% for css in resources.inlining.css -%} {% endfor %} +{# CHANGE: Replace the default styles for our own #} {% block notebook_css %} -{# CHANGE: Replace the default styles for our own that overwrite some things #} -{{ resources.include_css("mkdocs_html/assets/mkdocs-jupyter.css") }} -{# +{{ resources.include_css("mkdocs_html/assets/index.css") }} + {% if resources.theme == 'dark' %} - {{ resources.include_css("static/theme-dark.css") }} + {{ resources.include_css("mkdocs_html/assets/theme-dark.css") }} {% else %} - {{ resources.include_css("static/theme-light.css") }} + {{ resources.include_css("mkdocs_html/assets/theme-light.css") }} {% endif %} -#} +{# CHANGE: Remove the PDF CSS #} {%- endblock notebook_css %} -{{ mathjax() }} -{%- endblock header -%} +{%- block html_head_js_mathjax -%} +{{ mathjax(resources.mathjax_url) }} +{%- endblock html_head_js_mathjax -%} -{# CHANGE: Remove the footer - lab template outputs a full HTML page #} -{% block footer %} -{% endblock footer %} +{%- block html_head_js_mermaidjs -%} +{{ mermaid_js(resources.mermaid_js_url) }} +{%- endblock html_head_js_mermaidjs -%} + +{%- block html_head_css -%} +{%- endblock html_head_css -%} + +{%- endblock header -%} {# CHANGE: Overwrite body header and footer to include a .jupyter-wrapper div wrapper #} {%- block body_header -%}
+{% if resources.theme == 'dark' %} + {%- endblock codecell %} + +{% block body_footer %} +
+ +{% endblock body_footer %} + +{# CHANGE: Remove the footer - lab template outputs a full HTML page #} +{% block footer %} +{% endblock footer %}