(self.rspackChunk_jupyterlab_application_top=self.rspackChunk_jupyterlab_application_top||[]).push([[5531],{85841(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

#jp-MainLogo {
  width: calc(var(--jp-private-sidebar-tab-width) + var(--jp-border-width));
}

#jp-top-bar {
  --jp-private-toolbar-height: var(--jp-private-menu-panel-height);

  flex: 1 1 auto;
  padding: 0 2px;
  box-shadow: none;
  border: none;
  align-items: center;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/application-extension/style/base.css"],names:[],mappings:"AAAA;;;;8EAI8E;;AAE9E;EACE,yEAAyE;AAC3E;;AAEA;EACE,gEAAgE;;EAEhE,cAAc;EACd,cAAc;EACd,gBAAgB;EAChB,YAAY;EACZ,mBAAmB;AACrB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n|\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n#jp-MainLogo {\n  width: calc(var(--jp-private-sidebar-tab-width) + var(--jp-border-width));\n}\n\n#jp-top-bar {\n  --jp-private-toolbar-height: var(--jp-private-menu-panel-height);\n\n  flex: 1 1 auto;\n  padding: 0 2px;\n  box-shadow: none;\n  border: none;\n  align-items: center;\n}\n"],sourceRoot:""}]);let a=s},64665(e,t,n){"use strict";n.d(t,{A:()=>f});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(79591),l=n(98630),d=n(12693),c=n(71408),h=n(13714),u=n(70154),p=n(51767),m=n(92041),g=n(98490),A=n(35607),C=s()(o());C.i(a.A),C.i(l.A),C.i(d.A),C.i(c.A),C.i(h.A),C.i(u.A),C.i(p.A),C.i(m.A),C.i(g.A),C.i(A.A),C.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* Sibling imports */
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/application/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E,oBAAoB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Sibling imports */\n@import './core.css';\n@import './datagrid.css';\n@import './dockpanel.css';\n@import './menus.css';\n@import './scrollbar.css';\n@import './tabs.css';\n@import './buttons.css';\n@import './sidepanel.css';\n@import './titlepanel.css';\n@import './skiplink.css';\n"],sourceRoot:""}]);let f=C},51767(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-flat-button-height: 24px;
  --jp-flat-button-padding: 8px 12px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* Use :where() so this rule has specificity (0,0,1), lower than Font
 * Awesome's \`.fa\` and friends who have (0,1,0), so that \`<button class="fa">\`
 * keep their glyph font while plain buttons still get the UI font. */
:where(.jp-ThemedContainer) button {
  font-family: var(--jp-ui-font-family);
}

.jp-ThemedContainer button {
  border-radius: var(--jp-border-radius);
}

.jp-ThemedContainer button:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
  outline-offset: -1px;
}

button.jp-mod-styled.jp-mod-accept {
  background: var(--jp-accept-color-normal, var(--md-blue-500, #2196f3));
  border: 0;
  color: white;
}

button.jp-mod-styled.jp-mod-accept:hover {
  background: var(--jp-accept-color-hover, var(--md-blue-600, #1e88e5));
}

button.jp-mod-styled.jp-mod-accept:active {
  background: var(--jp-accept-color-active, var(--md-blue-700, #1976d2));
}

button.jp-mod-styled.jp-mod-accept:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-accept-color-active, var(--jp-focus-outline-color));
  outline-style: solid;
}

button.jp-mod-styled.jp-mod-reject {
  background: var(--jp-reject-color-normal, var(--md-grey-500, #9e9e9e));
  border: 0;
  color: white;
}

button.jp-mod-styled.jp-mod-reject:hover {
  background: var(--jp-reject-color-hover, var(--md-grey-600, #757575));
}

button.jp-mod-styled.jp-mod-reject:active {
  background: var(--jp-reject-color-active, var(--md-grey-700, #616161));
}

button.jp-mod-styled.jp-mod-reject:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-reject-color-active, var(--md-grey-700, #616161));
  outline-style: solid;
}

button.jp-mod-styled.jp-mod-warn {
  background: var(--jp-warn-color-normal, var(--jp-error-color1));
  border: 0;
  color: white;
}

button.jp-mod-styled.jp-mod-warn:hover {
  background: var(--jp-warn-color-hover, var(--md-red-600, #e53935));
}

button.jp-mod-styled.jp-mod-warn:active {
  background: var(--jp-warn-color-active, var(--md-red-700, #d32f2f));
}

button.jp-mod-styled.jp-mod-warn:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-warn-color-active, var(--md-red-700, #d32f2f));
  outline-style: solid;
}

.jp-Button-flat {
  text-decoration: none;
  padding: var(--jp-flat-button-padding);
  font-weight: 500;
  background-color: transparent;
  height: var(--jp-private-running-shutdown-button-height);
  line-height: var(--jp-private-running-shutdown-button-height);
  transition: background-color 0.1s ease;
  border-radius: 2px;
}

.jp-Button-flat:focus {
  border: none;
  box-shadow: none;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/application/style/buttons.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;8EAE8E;;AAE9E;EACE,6BAA6B;EAC7B,kCAAkC;AACpC;;AAEA;;;8EAG8E;;AAE9E;;qEAEqE;AACrE;EACE,qCAAqC;AACvC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,oBAAoB;AACtB;;AAEA;EACE,sEAAsE;EACtE,SAAS;EACT,YAAY;AACd;;AAEA;EACE,qEAAqE;AACvE;;AAEA;EACE,sEAAsE;AACxE;;AAEA;EACE,4CAA4C;EAC5C,2EAA2E;EAC3E,oBAAoB;AACtB;;AAEA;EACE,sEAAsE;EACtE,SAAS;EACT,YAAY;AACd;;AAEA;EACE,qEAAqE;AACvE;;AAEA;EACE,sEAAsE;AACxE;;AAEA;EACE,4CAA4C;EAC5C,yEAAyE;EACzE,oBAAoB;AACtB;;AAEA;EACE,+DAA+D;EAC/D,SAAS;EACT,YAAY;AACd;;AAEA;EACE,kEAAkE;AACpE;;AAEA;EACE,mEAAmE;AACrE;;AAEA;EACE,4CAA4C;EAC5C,sEAAsE;EACtE,oBAAoB;AACtB;;AAEA;EACE,qBAAqB;EACrB,sCAAsC;EACtC,gBAAgB;EAChB,6BAA6B;EAC7B,wDAAwD;EACxD,6DAA6D;EAC7D,sCAAsC;EACtC,kBAAkB;AACpB;;AAEA;EACE,YAAY;EACZ,gBAAgB;AAClB",sourcesContent:['/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-flat-button-height: 24px;\n  --jp-flat-button-padding: 8px 12px;\n}\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Use :where() so this rule has specificity (0,0,1), lower than Font\n * Awesome\'s `.fa` and friends who have (0,1,0), so that `<button class="fa">`\n * keep their glyph font while plain buttons still get the UI font. */\n:where(.jp-ThemedContainer) button {\n  font-family: var(--jp-ui-font-family);\n}\n\n.jp-ThemedContainer button {\n  border-radius: var(--jp-border-radius);\n}\n\n.jp-ThemedContainer button:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n  outline-offset: -1px;\n}\n\nbutton.jp-mod-styled.jp-mod-accept {\n  background: var(--jp-accept-color-normal, var(--md-blue-500, #2196f3));\n  border: 0;\n  color: white;\n}\n\nbutton.jp-mod-styled.jp-mod-accept:hover {\n  background: var(--jp-accept-color-hover, var(--md-blue-600, #1e88e5));\n}\n\nbutton.jp-mod-styled.jp-mod-accept:active {\n  background: var(--jp-accept-color-active, var(--md-blue-700, #1976d2));\n}\n\nbutton.jp-mod-styled.jp-mod-accept:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-accept-color-active, var(--jp-focus-outline-color));\n  outline-style: solid;\n}\n\nbutton.jp-mod-styled.jp-mod-reject {\n  background: var(--jp-reject-color-normal, var(--md-grey-500, #9e9e9e));\n  border: 0;\n  color: white;\n}\n\nbutton.jp-mod-styled.jp-mod-reject:hover {\n  background: var(--jp-reject-color-hover, var(--md-grey-600, #757575));\n}\n\nbutton.jp-mod-styled.jp-mod-reject:active {\n  background: var(--jp-reject-color-active, var(--md-grey-700, #616161));\n}\n\nbutton.jp-mod-styled.jp-mod-reject:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-reject-color-active, var(--md-grey-700, #616161));\n  outline-style: solid;\n}\n\nbutton.jp-mod-styled.jp-mod-warn {\n  background: var(--jp-warn-color-normal, var(--jp-error-color1));\n  border: 0;\n  color: white;\n}\n\nbutton.jp-mod-styled.jp-mod-warn:hover {\n  background: var(--jp-warn-color-hover, var(--md-red-600, #e53935));\n}\n\nbutton.jp-mod-styled.jp-mod-warn:active {\n  background: var(--jp-warn-color-active, var(--md-red-700, #d32f2f));\n}\n\nbutton.jp-mod-styled.jp-mod-warn:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-warn-color-active, var(--md-red-700, #d32f2f));\n  outline-style: solid;\n}\n\n.jp-Button-flat {\n  text-decoration: none;\n  padding: var(--jp-flat-button-padding);\n  font-weight: 500;\n  background-color: transparent;\n  height: var(--jp-private-running-shutdown-button-height);\n  line-height: var(--jp-private-running-shutdown-button-height);\n  transition: background-color 0.1s ease;\n  border-radius: 2px;\n}\n\n.jp-Button-flat:focus {\n  border: none;\n  box-shadow: none;\n}\n'],sourceRoot:""}]);let a=s},79591(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

:root {
  --jp-private-menu-panel-height: 27px;
}

.lm-Widget.lm-mod-hidden {
  display: none !important;
}

.jp-ThemedContainer {
  font-family: var(--jp-ui-font-family);
  background: var(--jp-layout-color3);
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.jp-LabShell {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.jp-LabShell.jp-mod-devMode {
  border-top: 4px solid red;
}

#jp-main-dock-panel {
  padding: var(--jp-private-dock-panel-padding, 5px);
}

#jp-main-dock-panel[data-mode='single-document'] {
  padding: 0;
}

#jp-main-dock-panel[data-mode='single-document'] .jp-MainAreaWidget {
  border: none;
}

#jp-top-panel {
  border-bottom: var(--jp-border-width) solid var(--jp-border-color0);
  background: var(--jp-layout-color1);
  display: flex;
  min-height: var(--jp-private-menubar-height);
  overflow: visible;

  /* relax lumino strict CSS contaiment to allow painting the menu bar item
  over the menu in order to create an illusion of partial border */
  contain: style size !important;
}

#jp-menu-panel {
  min-height: var(--jp-private-menu-panel-height);
  background: var(--jp-layout-color1);
}

#jp-down-stack {
  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
}

.jp-LabShell[data-shell-mode='single-document'] #jp-top-panel {
  border-bottom: none;
}

.jp-LabShell[data-shell-mode='single-document'] #jp-menu-panel {
  padding-left: calc(
    var(--jp-private-sidebar-tab-width) + var(--jp-border-width)
  );
  border-bottom: var(--jp-border-width) solid var(--jp-border-color0);

  /* Adjust min-height so open menus show up in the right place */
  min-height: calc(
    var(--jp-private-menu-panel-height) + var(--jp-border-width)
  );
}

#jp-bottom-panel {
  background: var(--jp-layout-color1);
  display: flex;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/application/style/core.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,oCAAoC;AACtC;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,qCAAqC;EACrC,mCAAmC;EACnC,SAAS;EACT,UAAU;EACV,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;AACX;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,mEAAmE;EACnE,mCAAmC;EACnC,aAAa;EACb,4CAA4C;EAC5C,iBAAiB;;EAEjB;kEACgE;EAChE,8BAA8B;AAChC;;AAEA;EACE,+CAA+C;EAC/C,mCAAmC;AACrC;;AAEA;EACE,mEAAmE;AACrE;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE;;GAEC;EACD,mEAAmE;;EAEnE,+DAA+D;EAC/D;;GAEC;AACH;;AAEA;EACE,mCAAmC;EACnC,aAAa;AACf",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-private-menu-panel-height: 27px;\n}\n\n.lm-Widget.lm-mod-hidden {\n  display: none !important;\n}\n\n.jp-ThemedContainer {\n  font-family: var(--jp-ui-font-family);\n  background: var(--jp-layout-color3);\n  margin: 0;\n  padding: 0;\n  overflow: hidden;\n}\n\n.jp-LabShell {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n}\n\n.jp-LabShell.jp-mod-devMode {\n  border-top: 4px solid red;\n}\n\n#jp-main-dock-panel {\n  padding: var(--jp-private-dock-panel-padding, 5px);\n}\n\n#jp-main-dock-panel[data-mode='single-document'] {\n  padding: 0;\n}\n\n#jp-main-dock-panel[data-mode='single-document'] .jp-MainAreaWidget {\n  border: none;\n}\n\n#jp-top-panel {\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color0);\n  background: var(--jp-layout-color1);\n  display: flex;\n  min-height: var(--jp-private-menubar-height);\n  overflow: visible;\n\n  /* relax lumino strict CSS contaiment to allow painting the menu bar item\n  over the menu in order to create an illusion of partial border */\n  contain: style size !important;\n}\n\n#jp-menu-panel {\n  min-height: var(--jp-private-menu-panel-height);\n  background: var(--jp-layout-color1);\n}\n\n#jp-down-stack {\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n.jp-LabShell[data-shell-mode='single-document'] #jp-top-panel {\n  border-bottom: none;\n}\n\n.jp-LabShell[data-shell-mode='single-document'] #jp-menu-panel {\n  padding-left: calc(\n    var(--jp-private-sidebar-tab-width) + var(--jp-border-width)\n  );\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color0);\n\n  /* Adjust min-height so open menus show up in the right place */\n  min-height: calc(\n    var(--jp-private-menu-panel-height) + var(--jp-border-width)\n  );\n}\n\n#jp-bottom-panel {\n  background: var(--jp-layout-color1);\n  display: flex;\n}\n"],sourceRoot:""}]);let a=s},98630(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.lm-DataGrid {
  min-width: 64px;
  min-height: 64px;
  border: var(--jp-border-width) solid var(--jp-border-color1);
}

.lm-DataGrid-scrollCorner {
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  background-color: #f0f0f0;
}

.lm-DataGrid-scrollCorner::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  background-color: #a0a0a0;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/application/style/datagrid.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,eAAe;EACf,gBAAgB;EAChB,4DAA4D;AAC9D;;AAEA;EACE,wEAAwE;EACxE,yBAAyB;AAC3B;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,UAAU;EACV,WAAW;EACX,wEAAwE;EACxE,yBAAyB;AAC3B",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.lm-DataGrid {\n  min-width: 64px;\n  min-height: 64px;\n  border: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n.lm-DataGrid-scrollCorner {\n  /* stylelint-disable-next-line declaration-property-value-allowed-list */\n  background-color: #f0f0f0;\n}\n\n.lm-DataGrid-scrollCorner::after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 1px;\n  height: 1px;\n  /* stylelint-disable-next-line declaration-property-value-allowed-list */\n  background-color: #a0a0a0;\n}\n"],sourceRoot:""}]);let a=s},12693(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| DockPanel
|----------------------------------------------------------------------------*/

.lm-DockPanel-widget,
.lm-TabPanel-stackedPanel {
  border-left: var(--jp-border-width) solid var(--jp-border-color1);
  border-right: var(--jp-border-width) solid var(--jp-border-color1);
  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
}

:where(.lm-DockPanel-widget),
.lm-TabPanel-stackedPanel {
  background: var(--jp-layout-color0);
}

.lm-DockPanel-overlay {
  background: rgba(33, 150, 243, 0.1);
  border: var(--jp-border-width) dashed var(--jp-brand-color1);
  transition-property: top, left, right, bottom;
  transition-duration: 150ms;
  transition-timing-function: ease;
}

.lm-DockPanel-overlay.lm-mod-root-top,
.lm-DockPanel-overlay.lm-mod-root-left,
.lm-DockPanel-overlay.lm-mod-root-right,
.lm-DockPanel-overlay.lm-mod-root-bottom,
.lm-DockPanel-overlay.lm-mod-root-center {
  border-width: 2px;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/application/style/dockpanel.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;;8EAE8E;;AAE9E;;EAEE,iEAAiE;EACjE,kEAAkE;EAClE,mEAAmE;AACrE;;AAEA;;EAEE,mCAAmC;AACrC;;AAEA;EACE,mCAAmC;EACnC,4DAA4D;EAC5D,6CAA6C;EAC7C,0BAA0B;EAC1B,gCAAgC;AAClC;;AAEA;;;;;EAKE,iBAAiB;AACnB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| DockPanel\n|----------------------------------------------------------------------------*/\n\n.lm-DockPanel-widget,\n.lm-TabPanel-stackedPanel {\n  border-left: var(--jp-border-width) solid var(--jp-border-color1);\n  border-right: var(--jp-border-width) solid var(--jp-border-color1);\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n:where(.lm-DockPanel-widget),\n.lm-TabPanel-stackedPanel {\n  background: var(--jp-layout-color0);\n}\n\n.lm-DockPanel-overlay {\n  background: rgba(33, 150, 243, 0.1);\n  border: var(--jp-border-width) dashed var(--jp-brand-color1);\n  transition-property: top, left, right, bottom;\n  transition-duration: 150ms;\n  transition-timing-function: ease;\n}\n\n.lm-DockPanel-overlay.lm-mod-root-top,\n.lm-DockPanel-overlay.lm-mod-root-left,\n.lm-DockPanel-overlay.lm-mod-root-right,\n.lm-DockPanel-overlay.lm-mod-root-bottom,\n.lm-DockPanel-overlay.lm-mod-root-center {\n  border-width: 2px;\n}\n"],sourceRoot:""}]);let a=s},71408(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-menubar-height: 28px;
  --jp-private-menu-item-height: 24px;
}

/*-----------------------------------------------------------------------------
| MenuBar
|----------------------------------------------------------------------------*/

.lm-MenuBar {
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  overflow: hidden;
}

.lm-MenuBar:hover {
  overflow-x: auto;
}

.lm-MenuBar-menu.jp-ThemedContainer {
  top: calc(-2 * var(--jp-border-width));
  scrollbar-width: none;
  -ms-overflow-style: none;
  overflow: auto;
  background:
    linear-gradient(var(--jp-layout-color0) 30%, rgba(0, 0, 0, 0)) center top,
    linear-gradient(rgba(0, 0, 0, 0), var(--jp-layout-color0) 70%) center bottom,
    radial-gradient(
        farthest-side at 50% 0,
        color-mix(
          in hsl,
          var(--jp-layout-color0) 50%,
          var(--jp-inverse-layout-color0) 30%
        ),
        rgba(0, 0, 0, 0)
      )
      center top,
    radial-gradient(
        farthest-side at 50% 100%,
        color-mix(
          in hsl,
          var(--jp-layout-color0) 50%,
          var(--jp-inverse-layout-color0) 30%
        ),
        rgba(0, 0, 0, 0)
      )
      center bottom;
  background-color: var(--jp-layout-color0);
  background-repeat: no-repeat;
  background-size:
    100% 40px,
    100% 40px,
    100% 14px,
    100% 14px;
  background-attachment: local, local, scroll, scroll;
}

.lm-MenuBar-menu.jp-ThemedContainer::-webkit-scrollbar {
  display: none;
}

.lm-MenuBar-item {
  padding: 0 8px;
  border-left: var(--jp-border-width) solid transparent;
  border-right: var(--jp-border-width) solid transparent;
  border-top: var(--jp-border-width) solid transparent;
  line-height: calc(
    var(--jp-private-menubar-height) - var(--jp-border-width) * 2
  );
}

.lm-MenuBar-content:focus-visible {
  outline-offset: -3px; /* this value is a compromise between Firefox, Chrome,
    and Safari over this outline's visibility and discretion */
}

.lm-MenuBar:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-accept-color-active, var(--jp-focus-outline-color));
  outline-style: solid;
  outline-offset: -1px;
}

.lm-MenuBar-menu:focus-visible,
.lm-Menu-item:focus-visible {
  outline: unset;
  outline-offset: unset;
  -moz-outline-radius: unset;
}

.lm-MenuBar-item:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
  outline-offset: -2px;
}

.lm-MenuBar-item.lm-mod-active {
  background: var(--jp-layout-color2);
}

.lm-MenuBar.lm-mod-active .lm-MenuBar-item.lm-mod-active {
  z-index: 10001;
  background: var(--jp-layout-color0);
  color: var(--jp-ui-font-color0);
  border-left: var(--jp-border-width) solid var(--jp-border-color1);
  border-right: var(--jp-border-width) solid var(--jp-border-color1);
  box-shadow: var(--jp-elevation-z6);
}

/* stylelint-disable-next-line selector-max-class */
.jp-LabShell[data-shell-mode='single-document']
  .lm-MenuBar.lm-mod-active
  .lm-MenuBar-item.lm-mod-active {
  border-top: var(--jp-border-width) solid var(--jp-border-color1);
}

.lm-MenuBar-item.lm-mod-disabled {
  color: var(--jp-ui-font-color3);
}

.lm-MenuBar-item.lm-type-separator {
  margin: 2px;
  padding: 0;
  border: none;
  border-left: var(--jp-border-width) solid var(--jp-border-color2);
}

.lm-MenuBar-itemMnemonic {
  text-decoration: underline;
}

/*-----------------------------------------------------------------------------
| Menu
|----------------------------------------------------------------------------*/

.lm-Menu {
  z-index: 10000;
  padding: 4px 0;
  background: var(--jp-layout-color0);
  color: var(--jp-ui-font-color0);
  border: var(--jp-border-width) solid var(--jp-border-color1);
  font-size: var(--jp-ui-font-size1);
  box-shadow: var(--jp-elevation-z6);
}

.lm-Menu-item {
  min-height: var(--jp-private-menu-item-height);
  max-height: var(--jp-private-menu-item-height);
  padding: 0;
  line-height: var(--jp-private-menu-item-height);
}

.lm-Menu-item.lm-mod-active {
  background: var(--jp-layout-color2);
}

.lm-Menu-item.lm-mod-disabled {
  color: var(--jp-ui-font-color3);
}

.lm-Menu-itemIcon {
  width: 21px;
  padding: 0 2px 0 4px;
  margin-top: -2px;
}

.lm-Menu-itemLabel {
  padding: 0 32px 0 2px;
}

.lm-Menu-itemMnemonic {
  text-decoration: underline;
}

.lm-Menu-itemShortcut {
  padding: 0;
}

.lm-Menu-itemSubmenuIcon {
  width: 18px;
  padding: 0 4px 0 0;
}

.lm-Menu-item[data-type='separator'] > div {
  padding: 0;
  height: 9px;
}

.lm-Menu-item[data-type='separator'] > div::after {
  content: '';
  display: block;
  position: relative;
  top: 4px;
  border-top: var(--jp-border-width) solid var(--jp-layout-color2);
  mix-blend-mode: multiply;
}

/* gray out icon/caret for disabled menu items */
.lm-Menu-item.lm-mod-disabled > .lm-Menu-itemIcon,
.lm-Menu-item[data-type='submenu'].lm-mod-disabled > .lm-Menu-itemSubmenuIcon {
  opacity: 0.4;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/application/style/menus.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;EACE,iCAAiC;EACjC,mCAAmC;AACrC;;AAEA;;8EAE8E;;AAE9E;EACE,mCAAmC;EACnC,+BAA+B;EAC/B,kCAAkC;EAClC,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,sCAAsC;EACtC,qBAAqB;EACrB,wBAAwB;EACxB,cAAc;EACd;;;;;;;;;;;;;;;;;;;;;;mBAsBiB;EACjB,yCAAyC;EACzC,4BAA4B;EAC5B;;;;aAIW;EACX,mDAAmD;AACrD;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,cAAc;EACd,qDAAqD;EACrD,sDAAsD;EACtD,oDAAoD;EACpD;;GAEC;AACH;;AAEA;EACE,oBAAoB,EAAE;8DACsC;AAC9D;;AAEA;EACE,4CAA4C;EAC5C,2EAA2E;EAC3E,oBAAoB;EACpB,oBAAoB;AACtB;;AAEA;;EAEE,cAAc;EACd,qBAAqB;EACrB,0BAA0B;AAC5B;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,oBAAoB;AACtB;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,cAAc;EACd,mCAAmC;EACnC,+BAA+B;EAC/B,iEAAiE;EACjE,kEAAkE;EAClE,kCAAkC;AACpC;;AAEA,mDAAmD;AACnD;;;EAGE,gEAAgE;AAClE;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,WAAW;EACX,UAAU;EACV,YAAY;EACZ,iEAAiE;AACnE;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;;8EAE8E;;AAE9E;EACE,cAAc;EACd,cAAc;EACd,mCAAmC;EACnC,+BAA+B;EAC/B,4DAA4D;EAC5D,kCAAkC;EAClC,kCAAkC;AACpC;;AAEA;EACE,8CAA8C;EAC9C,8CAA8C;EAC9C,UAAU;EACV,+CAA+C;AACjD;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,WAAW;EACX,oBAAoB;EACpB,gBAAgB;AAClB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,WAAW;EACX,kBAAkB;AACpB;;AAEA;EACE,UAAU;EACV,WAAW;AACb;;AAEA;EACE,WAAW;EACX,cAAc;EACd,kBAAkB;EAClB,QAAQ;EACR,gEAAgE;EAChE,wBAAwB;AAC1B;;AAEA,gDAAgD;AAChD;;EAEE,YAAY;AACd",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-private-menubar-height: 28px;\n  --jp-private-menu-item-height: 24px;\n}\n\n/*-----------------------------------------------------------------------------\n| MenuBar\n|----------------------------------------------------------------------------*/\n\n.lm-MenuBar {\n  background: var(--jp-layout-color1);\n  color: var(--jp-ui-font-color1);\n  font-size: var(--jp-ui-font-size1);\n  overflow: hidden;\n}\n\n.lm-MenuBar:hover {\n  overflow-x: auto;\n}\n\n.lm-MenuBar-menu.jp-ThemedContainer {\n  top: calc(-2 * var(--jp-border-width));\n  scrollbar-width: none;\n  -ms-overflow-style: none;\n  overflow: auto;\n  background:\n    linear-gradient(var(--jp-layout-color0) 30%, rgba(0, 0, 0, 0)) center top,\n    linear-gradient(rgba(0, 0, 0, 0), var(--jp-layout-color0) 70%) center bottom,\n    radial-gradient(\n        farthest-side at 50% 0,\n        color-mix(\n          in hsl,\n          var(--jp-layout-color0) 50%,\n          var(--jp-inverse-layout-color0) 30%\n        ),\n        rgba(0, 0, 0, 0)\n      )\n      center top,\n    radial-gradient(\n        farthest-side at 50% 100%,\n        color-mix(\n          in hsl,\n          var(--jp-layout-color0) 50%,\n          var(--jp-inverse-layout-color0) 30%\n        ),\n        rgba(0, 0, 0, 0)\n      )\n      center bottom;\n  background-color: var(--jp-layout-color0);\n  background-repeat: no-repeat;\n  background-size:\n    100% 40px,\n    100% 40px,\n    100% 14px,\n    100% 14px;\n  background-attachment: local, local, scroll, scroll;\n}\n\n.lm-MenuBar-menu.jp-ThemedContainer::-webkit-scrollbar {\n  display: none;\n}\n\n.lm-MenuBar-item {\n  padding: 0 8px;\n  border-left: var(--jp-border-width) solid transparent;\n  border-right: var(--jp-border-width) solid transparent;\n  border-top: var(--jp-border-width) solid transparent;\n  line-height: calc(\n    var(--jp-private-menubar-height) - var(--jp-border-width) * 2\n  );\n}\n\n.lm-MenuBar-content:focus-visible {\n  outline-offset: -3px; /* this value is a compromise between Firefox, Chrome,\n    and Safari over this outline's visibility and discretion */\n}\n\n.lm-MenuBar:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-accept-color-active, var(--jp-focus-outline-color));\n  outline-style: solid;\n  outline-offset: -1px;\n}\n\n.lm-MenuBar-menu:focus-visible,\n.lm-Menu-item:focus-visible {\n  outline: unset;\n  outline-offset: unset;\n  -moz-outline-radius: unset;\n}\n\n.lm-MenuBar-item:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n  outline-offset: -2px;\n}\n\n.lm-MenuBar-item.lm-mod-active {\n  background: var(--jp-layout-color2);\n}\n\n.lm-MenuBar.lm-mod-active .lm-MenuBar-item.lm-mod-active {\n  z-index: 10001;\n  background: var(--jp-layout-color0);\n  color: var(--jp-ui-font-color0);\n  border-left: var(--jp-border-width) solid var(--jp-border-color1);\n  border-right: var(--jp-border-width) solid var(--jp-border-color1);\n  box-shadow: var(--jp-elevation-z6);\n}\n\n/* stylelint-disable-next-line selector-max-class */\n.jp-LabShell[data-shell-mode='single-document']\n  .lm-MenuBar.lm-mod-active\n  .lm-MenuBar-item.lm-mod-active {\n  border-top: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n.lm-MenuBar-item.lm-mod-disabled {\n  color: var(--jp-ui-font-color3);\n}\n\n.lm-MenuBar-item.lm-type-separator {\n  margin: 2px;\n  padding: 0;\n  border: none;\n  border-left: var(--jp-border-width) solid var(--jp-border-color2);\n}\n\n.lm-MenuBar-itemMnemonic {\n  text-decoration: underline;\n}\n\n/*-----------------------------------------------------------------------------\n| Menu\n|----------------------------------------------------------------------------*/\n\n.lm-Menu {\n  z-index: 10000;\n  padding: 4px 0;\n  background: var(--jp-layout-color0);\n  color: var(--jp-ui-font-color0);\n  border: var(--jp-border-width) solid var(--jp-border-color1);\n  font-size: var(--jp-ui-font-size1);\n  box-shadow: var(--jp-elevation-z6);\n}\n\n.lm-Menu-item {\n  min-height: var(--jp-private-menu-item-height);\n  max-height: var(--jp-private-menu-item-height);\n  padding: 0;\n  line-height: var(--jp-private-menu-item-height);\n}\n\n.lm-Menu-item.lm-mod-active {\n  background: var(--jp-layout-color2);\n}\n\n.lm-Menu-item.lm-mod-disabled {\n  color: var(--jp-ui-font-color3);\n}\n\n.lm-Menu-itemIcon {\n  width: 21px;\n  padding: 0 2px 0 4px;\n  margin-top: -2px;\n}\n\n.lm-Menu-itemLabel {\n  padding: 0 32px 0 2px;\n}\n\n.lm-Menu-itemMnemonic {\n  text-decoration: underline;\n}\n\n.lm-Menu-itemShortcut {\n  padding: 0;\n}\n\n.lm-Menu-itemSubmenuIcon {\n  width: 18px;\n  padding: 0 4px 0 0;\n}\n\n.lm-Menu-item[data-type='separator'] > div {\n  padding: 0;\n  height: 9px;\n}\n\n.lm-Menu-item[data-type='separator'] > div::after {\n  content: '';\n  display: block;\n  position: relative;\n  top: 4px;\n  border-top: var(--jp-border-width) solid var(--jp-layout-color2);\n  mix-blend-mode: multiply;\n}\n\n/* gray out icon/caret for disabled menu items */\n.lm-Menu-item.lm-mod-disabled > .lm-Menu-itemIcon,\n.lm-Menu-item[data-type='submenu'].lm-mod-disabled > .lm-Menu-itemSubmenuIcon {\n  opacity: 0.4;\n}\n"],sourceRoot:""}]);let a=s},13714(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*
 * Mozilla scrollbar styling
 */

/* use standard opaque scrollbars for most nodes */
[data-jp-theme-scrollbars='true'] {
  scrollbar-color: rgb(var(--jp-scrollbar-thumb-color))
    var(--jp-scrollbar-background-color);
}

/* for code nodes, use a transparent style of scrollbar. These selectors
 * will match lower in the tree, and so will override the above */
[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,
[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar {
  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
}

/* tiny scrollbar */

.jp-scrollbar-tiny {
  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
  scrollbar-width: thin;
}

/* tiny scrollbar */

.jp-scrollbar-tiny::-webkit-scrollbar,
.jp-scrollbar-tiny::-webkit-scrollbar-corner {
  background-color: transparent;
  height: 4px;
  width: 4px;
}

.jp-scrollbar-tiny::-webkit-scrollbar-thumb {
  background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
}

.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {
  border-left: 0 solid transparent;
  border-right: 0 solid transparent;
}

.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
  border-top: 0 solid transparent;
  border-bottom: 0 solid transparent;
}

/*
 * Lumino
 *
 * The Lumino scrollbar (used by every DataGrid — CSV viewer, Debugger
 * Variables panel, …) is themed via the shared scrollbar variables.
 * Fallbacks equal the previous hardcoded values, so themes that do not
 * define \`--jp-scrollbar-*\` (the default light theme) are unchanged at
 * rest. Hover/active blend towards \`--jp-ui-font-color1\` (dark in the
 * light theme, light in the dark themes) with \`color-mix\` so the
 * feedback stays visible in every theme. See issue #18797.
 */
.lm-ScrollBar[data-orientation='horizontal'] {
  min-height: 16px;
  max-height: 16px;
  min-width: 45px;
  border-top: 1px solid var(--jp-border-color1);
}

.lm-ScrollBar[data-orientation='vertical'] {
  min-width: 16px;
  max-width: 16px;
  min-height: 45px;
  border-left: 1px solid var(--jp-border-color1);
}

.lm-ScrollBar-button {
  position: relative;
  background-color: var(--jp-scrollbar-background-color, #f0f0f0);
  min-height: 15px;
  max-height: 15px;
  min-width: 15px;
  max-width: 15px;
}

/*
 * The caret SVGs have a fixed fill, so render them as a theme-aware
 * mask tinted with --jp-ui-font-color1 (light in the dark themes, dark
 * in the light theme) rather than a fixed-colour background image, so
 * the arrows keep enough contrast in every theme.
 */
.lm-ScrollBar-button::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: var(--jp-ui-font-color1);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 17px;
  mask-size: 17px;
}

.lm-ScrollBar-button:hover {
  background-color: color-mix(
    in srgb,
    var(--jp-scrollbar-background-color, #f0f0f0) 86%,
    var(--jp-ui-font-color1) 14%
  );
}

.lm-ScrollBar-button.lm-mod-active {
  background-color: color-mix(
    in srgb,
    var(--jp-scrollbar-background-color, #f0f0f0) 74%,
    var(--jp-ui-font-color1) 26%
  );
}

.lm-ScrollBar-track {
  background: var(--jp-scrollbar-background-color, #f0f0f0);
}

.lm-ScrollBar-thumb {
  background: rgb(var(--jp-scrollbar-thumb-color, 205, 205, 205));
}

.lm-ScrollBar-thumb:hover {
  background: color-mix(
    in srgb,
    rgb(var(--jp-scrollbar-thumb-color, 205, 205, 205)) 78%,
    var(--jp-ui-font-color1) 22%
  );
}

.lm-ScrollBar-thumb.lm-mod-active {
  background: color-mix(
    in srgb,
    rgb(var(--jp-scrollbar-thumb-color, 205, 205, 205)) 62%,
    var(--jp-ui-font-color1) 38%
  );
}

.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb {
  height: 100%;
  min-width: 15px;
  border-left: 1px solid var(--jp-border-color1);
  border-right: 1px solid var(--jp-border-color1);
}

.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb {
  width: 100%;
  min-height: 15px;
  border-top: 1px solid var(--jp-border-color1);
  border-bottom: 1px solid var(--jp-border-color1);
}

.lm-ScrollBar[data-orientation='horizontal']
  .lm-ScrollBar-button[data-action='decrement']::before {
  -webkit-mask-image: var(--jp-icon-caret-left);
  mask-image: var(--jp-icon-caret-left);
}

.lm-ScrollBar[data-orientation='horizontal']
  .lm-ScrollBar-button[data-action='increment']::before {
  -webkit-mask-image: var(--jp-icon-caret-right);
  mask-image: var(--jp-icon-caret-right);
}

.lm-ScrollBar[data-orientation='vertical']
  .lm-ScrollBar-button[data-action='decrement']::before {
  -webkit-mask-image: var(--jp-icon-caret-up);
  mask-image: var(--jp-icon-caret-up);
}

.lm-ScrollBar[data-orientation='vertical']
  .lm-ScrollBar-button[data-action='increment']::before {
  -webkit-mask-image: var(--jp-icon-caret-down);
  mask-image: var(--jp-icon-caret-down);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/application/style/scrollbar.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;EAEE;;AAEF,kDAAkD;AAClD;EACE;wCACsC;AACxC;;AAEA;iEACiE;AACjE;;EAEE,uEAAuE;AACzE;;AAEA,mBAAmB;;AAEnB;EACE,uEAAuE;EACvE,qBAAqB;AACvB;;AAEA,mBAAmB;;AAEnB;;EAEE,6BAA6B;EAC7B,WAAW;EACX,UAAU;AACZ;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,gCAAgC;EAChC,iCAAiC;AACnC;;AAEA;EACE,+BAA+B;EAC/B,kCAAkC;AACpC;;AAEA;;;;;;;;;;EAUE;AACF;EACE,gBAAgB;EAChB,gBAAgB;EAChB,eAAe;EACf,6CAA6C;AAC/C;;AAEA;EACE,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,8CAA8C;AAChD;;AAEA;EACE,kBAAkB;EAClB,+DAA+D;EAC/D,gBAAgB;EAChB,gBAAgB;EAChB,eAAe;EACf,eAAe;AACjB;;AAEA;;;;;EAKE;AACF;EACE,WAAW;EACX,kBAAkB;EAClB,QAAQ;EACR,0CAA0C;EAC1C,6BAA6B;EAC7B,qBAAqB;EACrB,8BAA8B;EAC9B,sBAAsB;EACtB,uBAAuB;EACvB,eAAe;AACjB;;AAEA;EACE;;;;GAIC;AACH;;AAEA;EACE;;;;GAIC;AACH;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,+DAA+D;AACjE;;AAEA;EACE;;;;GAIC;AACH;;AAEA;EACE;;;;GAIC;AACH;;AAEA;EACE,YAAY;EACZ,eAAe;EACf,8CAA8C;EAC9C,+CAA+C;AACjD;;AAEA;EACE,WAAW;EACX,gBAAgB;EAChB,6CAA6C;EAC7C,gDAAgD;AAClD;;AAEA;;EAEE,6CAA6C;EAC7C,qCAAqC;AACvC;;AAEA;;EAEE,8CAA8C;EAC9C,sCAAsC;AACxC;;AAEA;;EAEE,2CAA2C;EAC3C,mCAAmC;AACrC;;AAEA;;EAEE,6CAA6C;EAC7C,qCAAqC;AACvC",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*\n * Mozilla scrollbar styling\n */\n\n/* use standard opaque scrollbars for most nodes */\n[data-jp-theme-scrollbars='true'] {\n  scrollbar-color: rgb(var(--jp-scrollbar-thumb-color))\n    var(--jp-scrollbar-background-color);\n}\n\n/* for code nodes, use a transparent style of scrollbar. These selectors\n * will match lower in the tree, and so will override the above */\n[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,\n[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar {\n  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;\n}\n\n/* tiny scrollbar */\n\n.jp-scrollbar-tiny {\n  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;\n  scrollbar-width: thin;\n}\n\n/* tiny scrollbar */\n\n.jp-scrollbar-tiny::-webkit-scrollbar,\n.jp-scrollbar-tiny::-webkit-scrollbar-corner {\n  background-color: transparent;\n  height: 4px;\n  width: 4px;\n}\n\n.jp-scrollbar-tiny::-webkit-scrollbar-thumb {\n  background: rgba(var(--jp-scrollbar-thumb-color), 0.5);\n}\n\n.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {\n  border-left: 0 solid transparent;\n  border-right: 0 solid transparent;\n}\n\n.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {\n  border-top: 0 solid transparent;\n  border-bottom: 0 solid transparent;\n}\n\n/*\n * Lumino\n *\n * The Lumino scrollbar (used by every DataGrid — CSV viewer, Debugger\n * Variables panel, …) is themed via the shared scrollbar variables.\n * Fallbacks equal the previous hardcoded values, so themes that do not\n * define `--jp-scrollbar-*` (the default light theme) are unchanged at\n * rest. Hover/active blend towards `--jp-ui-font-color1` (dark in the\n * light theme, light in the dark themes) with `color-mix` so the\n * feedback stays visible in every theme. See issue #18797.\n */\n.lm-ScrollBar[data-orientation='horizontal'] {\n  min-height: 16px;\n  max-height: 16px;\n  min-width: 45px;\n  border-top: 1px solid var(--jp-border-color1);\n}\n\n.lm-ScrollBar[data-orientation='vertical'] {\n  min-width: 16px;\n  max-width: 16px;\n  min-height: 45px;\n  border-left: 1px solid var(--jp-border-color1);\n}\n\n.lm-ScrollBar-button {\n  position: relative;\n  background-color: var(--jp-scrollbar-background-color, #f0f0f0);\n  min-height: 15px;\n  max-height: 15px;\n  min-width: 15px;\n  max-width: 15px;\n}\n\n/*\n * The caret SVGs have a fixed fill, so render them as a theme-aware\n * mask tinted with --jp-ui-font-color1 (light in the dark themes, dark\n * in the light theme) rather than a fixed-colour background image, so\n * the arrows keep enough contrast in every theme.\n */\n.lm-ScrollBar-button::before {\n  content: '';\n  position: absolute;\n  inset: 0;\n  background-color: var(--jp-ui-font-color1);\n  -webkit-mask-position: center;\n  mask-position: center;\n  -webkit-mask-repeat: no-repeat;\n  mask-repeat: no-repeat;\n  -webkit-mask-size: 17px;\n  mask-size: 17px;\n}\n\n.lm-ScrollBar-button:hover {\n  background-color: color-mix(\n    in srgb,\n    var(--jp-scrollbar-background-color, #f0f0f0) 86%,\n    var(--jp-ui-font-color1) 14%\n  );\n}\n\n.lm-ScrollBar-button.lm-mod-active {\n  background-color: color-mix(\n    in srgb,\n    var(--jp-scrollbar-background-color, #f0f0f0) 74%,\n    var(--jp-ui-font-color1) 26%\n  );\n}\n\n.lm-ScrollBar-track {\n  background: var(--jp-scrollbar-background-color, #f0f0f0);\n}\n\n.lm-ScrollBar-thumb {\n  background: rgb(var(--jp-scrollbar-thumb-color, 205, 205, 205));\n}\n\n.lm-ScrollBar-thumb:hover {\n  background: color-mix(\n    in srgb,\n    rgb(var(--jp-scrollbar-thumb-color, 205, 205, 205)) 78%,\n    var(--jp-ui-font-color1) 22%\n  );\n}\n\n.lm-ScrollBar-thumb.lm-mod-active {\n  background: color-mix(\n    in srgb,\n    rgb(var(--jp-scrollbar-thumb-color, 205, 205, 205)) 62%,\n    var(--jp-ui-font-color1) 38%\n  );\n}\n\n.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb {\n  height: 100%;\n  min-width: 15px;\n  border-left: 1px solid var(--jp-border-color1);\n  border-right: 1px solid var(--jp-border-color1);\n}\n\n.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb {\n  width: 100%;\n  min-height: 15px;\n  border-top: 1px solid var(--jp-border-color1);\n  border-bottom: 1px solid var(--jp-border-color1);\n}\n\n.lm-ScrollBar[data-orientation='horizontal']\n  .lm-ScrollBar-button[data-action='decrement']::before {\n  -webkit-mask-image: var(--jp-icon-caret-left);\n  mask-image: var(--jp-icon-caret-left);\n}\n\n.lm-ScrollBar[data-orientation='horizontal']\n  .lm-ScrollBar-button[data-action='increment']::before {\n  -webkit-mask-image: var(--jp-icon-caret-right);\n  mask-image: var(--jp-icon-caret-right);\n}\n\n.lm-ScrollBar[data-orientation='vertical']\n  .lm-ScrollBar-button[data-action='decrement']::before {\n  -webkit-mask-image: var(--jp-icon-caret-up);\n  mask-image: var(--jp-icon-caret-up);\n}\n\n.lm-ScrollBar[data-orientation='vertical']\n  .lm-ScrollBar-button[data-action='increment']::before {\n  -webkit-mask-image: var(--jp-icon-caret-down);\n  mask-image: var(--jp-icon-caret-down);\n}\n"],sourceRoot:""}]);let a=s},92041(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-sidebar-tab-width: 32px;
  --jp-private-sidebar-tab-horizontal-height: 28px;
  --jp-private-sidebar-tab-horizontal-scrollbar-height: 4px;
  --jp-private-sidebar-tab-horizontal-padding: 16px;

  /* Icon (20px, see \`.jp-SideBar-tabIcon\`) + horizontal padding on both
     sides — below this a horizontal tab clips its icon. */
  --jp-private-sidebar-tab-horizontal-min-width: calc(
    20px + 2 * var(--jp-private-sidebar-tab-horizontal-padding)
  );
}

/*-----------------------------------------------------------------------------
| SideBar
|----------------------------------------------------------------------------*/

.jp-SideBar {
  /* 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-SideBar.lm-TabBar,
#jp-down-stack .lm-TabBar {
  color: var(--jp-ui-font-color2);
  background: var(--jp-layout-color2);
  font-size: var(--jp-ui-font-size1);
  overflow: visible;
}

.jp-SideBar.lm-TabBar[data-orientation='vertical'] {
  min-width: calc(var(--jp-private-sidebar-tab-width) + var(--jp-border-width));
  max-width: calc(var(--jp-private-sidebar-tab-width) + var(--jp-border-width));
  display: block;
}

.jp-SideBar.lm-TabBar[data-orientation='horizontal'] {
  min-height: calc(
    var(--jp-private-sidebar-tab-horizontal-height) +
      var(--jp-private-sidebar-tab-horizontal-scrollbar-height) +
      var(--jp-border-width)
  );
  max-height: calc(
    var(--jp-private-sidebar-tab-horizontal-height) +
      var(--jp-private-sidebar-tab-horizontal-scrollbar-height) +
      var(--jp-border-width)
  );
}

.jp-SideBar[data-orientation='vertical'] .lm-TabBar-content {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
  list-style-type: none;
  height: var(--jp-private-sidebar-tab-width);
}

.jp-SideBar[data-orientation='horizontal'] .lm-TabBar-content {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
  list-style-type: none;
  height: 100%;
  width: 100%;

  /* Scroll horizontally on overflow with the same tiny scrollbar styling used
     elsewhere in the application. Reserve the gutter to avoid shifting tabs
     when the scrollbar appears. */
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.jp-SideBar[data-orientation='horizontal']
  .lm-TabBar-content::-webkit-scrollbar,
.jp-SideBar[data-orientation='horizontal']
  .lm-TabBar-content::-webkit-scrollbar-corner {
  background-color: transparent;
  height: var(--jp-private-sidebar-tab-horizontal-scrollbar-height);
  width: var(--jp-private-sidebar-tab-horizontal-scrollbar-height);
}

.jp-SideBar[data-orientation='horizontal']
  .lm-TabBar-content::-webkit-scrollbar-thumb {
  background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
}

.jp-SideBar[data-orientation='horizontal']
  .lm-TabBar-content::-webkit-scrollbar-track:horizontal {
  border-left: 0 solid transparent;
  border-right: 0 solid transparent;
}

.jp-SideBar[data-orientation='vertical'] .lm-TabBar-tab {
  padding: 16px 0;
  border: none;
  overflow: visible;
  flex-direction: column;
  position: relative;
}

.jp-SideBar[data-orientation='horizontal'] .lm-TabBar-tab {
  padding: 0 var(--jp-private-sidebar-tab-horizontal-padding);
  border: none;
  overflow: visible;
  flex-direction: row;
  align-items: center;
  position: relative;

  /* Floor at icon + padding so tabs can't shrink to clip the icon;
     beyond that, overflow scroll on \`.lm-TabBar-content\` takes over. */
  min-width: var(--jp-private-sidebar-tab-horizontal-min-width);
}

.jp-SideBar .lm-TabBar-tab:focus-visible {
  outline-color: var(--jp-focus-outline-color);
  outline-width: var(--jp-focus-outline-width);
  outline-style: solid;
  outline-offset: -3px;
}

.jp-SideBar .lm-TabBar-tab.lm-mod-current::after {
  /* Internal border override pseudo-element */
  position: absolute;
  content: '';
  bottom: 0;
  right: 0;
  top: 0;
  left: 0;
  border: var(--jp-border-width) solid var(--jp-layout-color1);
}

.jp-SideBar .lm-TabBar-tab:not(.lm-mod-current),
#jp-down-stack .lm-TabBar-tab:not(.lm-mod-current) {
  background: var(--jp-layout-color2);
}

.jp-SideBar .lm-TabBar-tabIcon.jp-SideBar-tabIcon {
  min-width: 20px;
  min-height: 20px;
  background-size: 20px;
  display: inline-block;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
}

.jp-SideBar[data-orientation='vertical'] .lm-TabBar-tabLabel {
  line-height: var(--jp-private-sidebar-tab-width);
}

.jp-SideBar[data-orientation='horizontal'] .lm-TabBar-tabLabel {
  line-height: var(--jp-private-sidebar-tab-horizontal-height);
}

.jp-SideBar .lm-TabBar-tab:hover:not(.lm-mod-current),
#jp-down-stack .lm-TabBar-tab:hover:not(.lm-mod-current) {
  background: var(--jp-layout-color1);
}

.jp-SideBar.lm-TabBar::after {
  /* Internal border pseudo-element */
  position: absolute;
  content: '';
  bottom: 0;
  right: 0;
  top: 0;
  left: 0;
  pointer-events: none;
}

/* Borders */

/* stylelint-disable selector-max-class */

.jp-SideBar.lm-TabBar[data-orientation='vertical']
  .lm-TabBar-tab
  + .lm-TabBar-tab {
  border-top: var(--jp-border-width) solid var(--jp-layout-color2);
}

.jp-SideBar.lm-TabBar[data-orientation='vertical']
  .lm-TabBar-tab.lm-mod-current
  + .lm-TabBar-tab {
  border-top: var(--jp-border-width) solid var(--jp-border-color0);
}

.jp-SideBar.lm-TabBar[data-orientation='vertical']
  .lm-TabBar-tab
  + .lm-TabBar-tab.lm-mod-current {
  border-top: var(--jp-border-width) solid var(--jp-border-color0);
}

.jp-SideBar.lm-TabBar[data-orientation='vertical']
  .lm-TabBar-tab.lm-mod-current:last-child {
  border-bottom: var(--jp-border-width) solid var(--jp-border-color0);
}

.jp-SideBar.lm-TabBar[data-orientation='horizontal']
  .lm-TabBar-tab
  + .lm-TabBar-tab {
  border-left: var(--jp-border-width) solid var(--jp-layout-color2);
}

.jp-SideBar.lm-TabBar[data-orientation='horizontal']
  .lm-TabBar-tab.lm-mod-current
  + .lm-TabBar-tab {
  border-left: var(--jp-border-width) solid var(--jp-border-color0);
}

.jp-SideBar.lm-TabBar[data-orientation='horizontal']
  .lm-TabBar-tab
  + .lm-TabBar-tab.lm-mod-current {
  border-left: var(--jp-border-width) solid var(--jp-border-color0);
}

.jp-SideBar.lm-TabBar[data-orientation='horizontal']
  .lm-TabBar-tab.lm-mod-current:last-child {
  border-right: var(--jp-border-width) solid var(--jp-border-color0);
}

.jp-SideBar.lm-TabBar[data-orientation='vertical'] .lm-TabBar-tabLabel {
  writing-mode: vertical-rl;
}

/* Left */

/* Borders */

.jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-content {
  /* Internal border spacing */
  margin-right: var(--jp-border-width);
}

.jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-tab.lm-mod-current::after {
  /* Internal border override */
  right: calc(-1 * var(--jp-border-width));
}

.jp-SideBar.lm-TabBar.jp-mod-left::after {
  /* Internal border */
  border-right: var(--jp-border-width) solid var(--jp-border-color0);
}

/* Transforms */

.jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-tabLabel {
  transform: rotate(180deg);
}

/* Right */

/* Borders */

.jp-SideBar.lm-TabBar.jp-mod-right .lm-TabBar-content {
  /* Internal border spacing */
  margin-left: var(--jp-border-width);
}

.jp-SideBar.lm-TabBar.jp-mod-right .lm-TabBar-tab.lm-mod-current::after {
  /* Internal border override */
  left: calc(-1 * var(--jp-border-width));
}

.jp-SideBar.lm-TabBar.jp-mod-right::after {
  /* Internal border */
  border-left: var(--jp-border-width) solid var(--jp-border-color0);
}

/* Top / Bottom (horizontal activity bar) */

.jp-SideBar.lm-TabBar[data-side='top'] .lm-TabBar-content,
.jp-SideBar.lm-TabBar[data-side='bottom'] .lm-TabBar-content {
  align-items: stretch;
}

.jp-SideBar.lm-TabBar[data-side='top'] {
  border-bottom: var(--jp-border-width) solid var(--jp-border-color0);
}

.jp-SideBar.lm-TabBar[data-side='bottom'] {
  border-top: var(--jp-border-width) solid var(--jp-border-color0);
}

.jp-SideBar.lm-TabBar[data-side='top'] .lm-TabBar-tab.lm-mod-current::after,
.jp-SideBar.lm-TabBar[data-side='bottom'] .lm-TabBar-tab.lm-mod-current::after {
  /* Reset side-mode override; use the default tab borders. */
  display: none;
}

/* Side area wrapper */

.jp-SideArea {
  /* The side area wrapper holds the activity bar (when in top/bottom mode)
     and the stacked panel. */
  background: var(--jp-layout-color1);

  /* Floor so the splitter can't be dragged to zero and lose the area.
     The stack panel children already enforce this in 'side' mode; setting
     it on the wrapper also covers 'top'/'bottom'. */
  min-width: var(--jp-sidebar-min-width);
}

.jp-SideArea[data-side='left'] {
  border-right: var(--jp-border-width) solid var(--jp-border-color1);
}

.jp-SideArea[data-side='right'] {
  border-left: var(--jp-border-width) solid var(--jp-border-color1);
}

/* Down */

/* Borders */

#jp-down-stack > .lm-TabBar {
  border-top: var(--jp-border-width) solid var(--jp-border-color0);
  border-bottom: var(--jp-border-width) solid var(--jp-border-color0);
}

#jp-down-stack > .lm-TabBar .lm-TabBar-tab {
  border-left: none;
  border-right: none;
}

#jp-down-stack > .lm-TabBar .lm-TabBar-tab.lm-mod-current {
  border: var(--jp-border-width) solid var(--jp-border-color1);
  border-bottom: none;
  transform: translateY(var(--jp-border-width));
}

#jp-down-stack > .lm-TabBar .lm-TabBar-tab.lm-mod-current:first-child {
  border: none;
  border-right: var(--jp-border-width) solid var(--jp-border-color1);
}

/* stylelint-enable selector-max-class */

/* Stack panels */

#jp-left-stack > .lm-Widget,
#jp-right-stack > .lm-Widget {
  min-width: var(--jp-sidebar-min-width);
  background-color: var(--jp-layout-color1);
}

#jp-down-stack > .lm-TabPanel-stackedPanel {
  border: none;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/application/style/sidepanel.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;EACE,oCAAoC;EACpC,gDAAgD;EAChD,yDAAyD;EACzD,iDAAiD;;EAEjD;0DACwD;EACxD;;GAEC;AACH;;AAEA;;8EAE8E;;AAE9E;EACE;iCAC+B;EAC/B,kCAAkC;AACpC;;AAEA;;EAEE,+BAA+B;EAC/B,mCAAmC;EACnC,kCAAkC;EAClC,iBAAiB;AACnB;;AAEA;EACE,6EAA6E;EAC7E,6EAA6E;EAC7E,cAAc;AAChB;;AAEA;EACE;;;;GAIC;EACD;;;;GAIC;AACH;;AAEA;EACE,SAAS;EACT,UAAU;EACV,aAAa;EACb,oBAAoB;EACpB,qBAAqB;EACrB,2CAA2C;AAC7C;;AAEA;EACE,SAAS;EACT,UAAU;EACV,aAAa;EACb,oBAAoB;EACpB,qBAAqB;EACrB,YAAY;EACZ,WAAW;;EAEX;;kCAEgC;EAChC,gBAAgB;EAChB,kBAAkB;EAClB,uEAAuE;EACvE,wBAAwB;EACxB,qBAAqB;AACvB;;AAEA;;;;EAIE,6BAA6B;EAC7B,iEAAiE;EACjE,gEAAgE;AAClE;;AAEA;;EAEE,sDAAsD;AACxD;;AAEA;;EAEE,gCAAgC;EAChC,iCAAiC;AACnC;;AAEA;EACE,eAAe;EACf,YAAY;EACZ,iBAAiB;EACjB,sBAAsB;EACtB,kBAAkB;AACpB;;AAEA;EACE,2DAA2D;EAC3D,YAAY;EACZ,iBAAiB;EACjB,mBAAmB;EACnB,mBAAmB;EACnB,kBAAkB;;EAElB;uEACqE;EACrE,6DAA6D;AAC/D;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,oBAAoB;AACtB;;AAEA;EACE,4CAA4C;EAC5C,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,QAAQ;EACR,MAAM;EACN,OAAO;EACP,4DAA4D;AAC9D;;AAEA;;EAEE,mCAAmC;AACrC;;AAEA;EACE,eAAe;EACf,gBAAgB;EAChB,qBAAqB;EACrB,qBAAqB;EACrB,sBAAsB;EACtB,4BAA4B;EAC5B,2BAA2B;AAC7B;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,4DAA4D;AAC9D;;AAEA;;EAEE,mCAAmC;AACrC;;AAEA;EACE,mCAAmC;EACnC,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,QAAQ;EACR,MAAM;EACN,OAAO;EACP,oBAAoB;AACtB;;AAEA,YAAY;;AAEZ,yCAAyC;;AAEzC;;;EAGE,gEAAgE;AAClE;;AAEA;;;EAGE,gEAAgE;AAClE;;AAEA;;;EAGE,gEAAgE;AAClE;;AAEA;;EAEE,mEAAmE;AACrE;;AAEA;;;EAGE,iEAAiE;AACnE;;AAEA;;;EAGE,iEAAiE;AACnE;;AAEA;;;EAGE,iEAAiE;AACnE;;AAEA;;EAEE,kEAAkE;AACpE;;AAEA;EACE,yBAAyB;AAC3B;;AAEA,SAAS;;AAET,YAAY;;AAEZ;EACE,4BAA4B;EAC5B,oCAAoC;AACtC;;AAEA;EACE,6BAA6B;EAC7B,wCAAwC;AAC1C;;AAEA;EACE,oBAAoB;EACpB,kEAAkE;AACpE;;AAEA,eAAe;;AAEf;EACE,yBAAyB;AAC3B;;AAEA,UAAU;;AAEV,YAAY;;AAEZ;EACE,4BAA4B;EAC5B,mCAAmC;AACrC;;AAEA;EACE,6BAA6B;EAC7B,uCAAuC;AACzC;;AAEA;EACE,oBAAoB;EACpB,iEAAiE;AACnE;;AAEA,2CAA2C;;AAE3C;;EAEE,oBAAoB;AACtB;;AAEA;EACE,mEAAmE;AACrE;;AAEA;EACE,gEAAgE;AAClE;;AAEA;;EAEE,2DAA2D;EAC3D,aAAa;AACf;;AAEA,sBAAsB;;AAEtB;EACE;6BAC2B;EAC3B,mCAAmC;;EAEnC;;oDAEkD;EAClD,sCAAsC;AACxC;;AAEA;EACE,kEAAkE;AACpE;;AAEA;EACE,iEAAiE;AACnE;;AAEA,SAAS;;AAET,YAAY;;AAEZ;EACE,gEAAgE;EAChE,mEAAmE;AACrE;;AAEA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,4DAA4D;EAC5D,mBAAmB;EACnB,6CAA6C;AAC/C;;AAEA;EACE,YAAY;EACZ,kEAAkE;AACpE;;AAEA,wCAAwC;;AAExC,iBAAiB;;AAEjB;;EAEE,sCAAsC;EACtC,yCAAyC;AAC3C;;AAEA;EACE,YAAY;AACd",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-private-sidebar-tab-width: 32px;\n  --jp-private-sidebar-tab-horizontal-height: 28px;\n  --jp-private-sidebar-tab-horizontal-scrollbar-height: 4px;\n  --jp-private-sidebar-tab-horizontal-padding: 16px;\n\n  /* Icon (20px, see `.jp-SideBar-tabIcon`) + horizontal padding on both\n     sides — below this a horizontal tab clips its icon. */\n  --jp-private-sidebar-tab-horizontal-min-width: calc(\n    20px + 2 * var(--jp-private-sidebar-tab-horizontal-padding)\n  );\n}\n\n/*-----------------------------------------------------------------------------\n| SideBar\n|----------------------------------------------------------------------------*/\n\n.jp-SideBar {\n  /* This is needed so that all font sizing of children done in ems is\n   * relative to this base size */\n  font-size: var(--jp-ui-font-size1);\n}\n\n.jp-SideBar.lm-TabBar,\n#jp-down-stack .lm-TabBar {\n  color: var(--jp-ui-font-color2);\n  background: var(--jp-layout-color2);\n  font-size: var(--jp-ui-font-size1);\n  overflow: visible;\n}\n\n.jp-SideBar.lm-TabBar[data-orientation='vertical'] {\n  min-width: calc(var(--jp-private-sidebar-tab-width) + var(--jp-border-width));\n  max-width: calc(var(--jp-private-sidebar-tab-width) + var(--jp-border-width));\n  display: block;\n}\n\n.jp-SideBar.lm-TabBar[data-orientation='horizontal'] {\n  min-height: calc(\n    var(--jp-private-sidebar-tab-horizontal-height) +\n      var(--jp-private-sidebar-tab-horizontal-scrollbar-height) +\n      var(--jp-border-width)\n  );\n  max-height: calc(\n    var(--jp-private-sidebar-tab-horizontal-height) +\n      var(--jp-private-sidebar-tab-horizontal-scrollbar-height) +\n      var(--jp-border-width)\n  );\n}\n\n.jp-SideBar[data-orientation='vertical'] .lm-TabBar-content {\n  margin: 0;\n  padding: 0;\n  display: flex;\n  align-items: stretch;\n  list-style-type: none;\n  height: var(--jp-private-sidebar-tab-width);\n}\n\n.jp-SideBar[data-orientation='horizontal'] .lm-TabBar-content {\n  margin: 0;\n  padding: 0;\n  display: flex;\n  align-items: stretch;\n  list-style-type: none;\n  height: 100%;\n  width: 100%;\n\n  /* Scroll horizontally on overflow with the same tiny scrollbar styling used\n     elsewhere in the application. Reserve the gutter to avoid shifting tabs\n     when the scrollbar appears. */\n  overflow-x: auto;\n  overflow-y: hidden;\n  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;\n  scrollbar-gutter: stable;\n  scrollbar-width: thin;\n}\n\n.jp-SideBar[data-orientation='horizontal']\n  .lm-TabBar-content::-webkit-scrollbar,\n.jp-SideBar[data-orientation='horizontal']\n  .lm-TabBar-content::-webkit-scrollbar-corner {\n  background-color: transparent;\n  height: var(--jp-private-sidebar-tab-horizontal-scrollbar-height);\n  width: var(--jp-private-sidebar-tab-horizontal-scrollbar-height);\n}\n\n.jp-SideBar[data-orientation='horizontal']\n  .lm-TabBar-content::-webkit-scrollbar-thumb {\n  background: rgba(var(--jp-scrollbar-thumb-color), 0.5);\n}\n\n.jp-SideBar[data-orientation='horizontal']\n  .lm-TabBar-content::-webkit-scrollbar-track:horizontal {\n  border-left: 0 solid transparent;\n  border-right: 0 solid transparent;\n}\n\n.jp-SideBar[data-orientation='vertical'] .lm-TabBar-tab {\n  padding: 16px 0;\n  border: none;\n  overflow: visible;\n  flex-direction: column;\n  position: relative;\n}\n\n.jp-SideBar[data-orientation='horizontal'] .lm-TabBar-tab {\n  padding: 0 var(--jp-private-sidebar-tab-horizontal-padding);\n  border: none;\n  overflow: visible;\n  flex-direction: row;\n  align-items: center;\n  position: relative;\n\n  /* Floor at icon + padding so tabs can't shrink to clip the icon;\n     beyond that, overflow scroll on `.lm-TabBar-content` takes over. */\n  min-width: var(--jp-private-sidebar-tab-horizontal-min-width);\n}\n\n.jp-SideBar .lm-TabBar-tab:focus-visible {\n  outline-color: var(--jp-focus-outline-color);\n  outline-width: var(--jp-focus-outline-width);\n  outline-style: solid;\n  outline-offset: -3px;\n}\n\n.jp-SideBar .lm-TabBar-tab.lm-mod-current::after {\n  /* Internal border override pseudo-element */\n  position: absolute;\n  content: '';\n  bottom: 0;\n  right: 0;\n  top: 0;\n  left: 0;\n  border: var(--jp-border-width) solid var(--jp-layout-color1);\n}\n\n.jp-SideBar .lm-TabBar-tab:not(.lm-mod-current),\n#jp-down-stack .lm-TabBar-tab:not(.lm-mod-current) {\n  background: var(--jp-layout-color2);\n}\n\n.jp-SideBar .lm-TabBar-tabIcon.jp-SideBar-tabIcon {\n  min-width: 20px;\n  min-height: 20px;\n  background-size: 20px;\n  display: inline-block;\n  vertical-align: middle;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n\n.jp-SideBar[data-orientation='vertical'] .lm-TabBar-tabLabel {\n  line-height: var(--jp-private-sidebar-tab-width);\n}\n\n.jp-SideBar[data-orientation='horizontal'] .lm-TabBar-tabLabel {\n  line-height: var(--jp-private-sidebar-tab-horizontal-height);\n}\n\n.jp-SideBar .lm-TabBar-tab:hover:not(.lm-mod-current),\n#jp-down-stack .lm-TabBar-tab:hover:not(.lm-mod-current) {\n  background: var(--jp-layout-color1);\n}\n\n.jp-SideBar.lm-TabBar::after {\n  /* Internal border pseudo-element */\n  position: absolute;\n  content: '';\n  bottom: 0;\n  right: 0;\n  top: 0;\n  left: 0;\n  pointer-events: none;\n}\n\n/* Borders */\n\n/* stylelint-disable selector-max-class */\n\n.jp-SideBar.lm-TabBar[data-orientation='vertical']\n  .lm-TabBar-tab\n  + .lm-TabBar-tab {\n  border-top: var(--jp-border-width) solid var(--jp-layout-color2);\n}\n\n.jp-SideBar.lm-TabBar[data-orientation='vertical']\n  .lm-TabBar-tab.lm-mod-current\n  + .lm-TabBar-tab {\n  border-top: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n.jp-SideBar.lm-TabBar[data-orientation='vertical']\n  .lm-TabBar-tab\n  + .lm-TabBar-tab.lm-mod-current {\n  border-top: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n.jp-SideBar.lm-TabBar[data-orientation='vertical']\n  .lm-TabBar-tab.lm-mod-current:last-child {\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n.jp-SideBar.lm-TabBar[data-orientation='horizontal']\n  .lm-TabBar-tab\n  + .lm-TabBar-tab {\n  border-left: var(--jp-border-width) solid var(--jp-layout-color2);\n}\n\n.jp-SideBar.lm-TabBar[data-orientation='horizontal']\n  .lm-TabBar-tab.lm-mod-current\n  + .lm-TabBar-tab {\n  border-left: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n.jp-SideBar.lm-TabBar[data-orientation='horizontal']\n  .lm-TabBar-tab\n  + .lm-TabBar-tab.lm-mod-current {\n  border-left: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n.jp-SideBar.lm-TabBar[data-orientation='horizontal']\n  .lm-TabBar-tab.lm-mod-current:last-child {\n  border-right: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n.jp-SideBar.lm-TabBar[data-orientation='vertical'] .lm-TabBar-tabLabel {\n  writing-mode: vertical-rl;\n}\n\n/* Left */\n\n/* Borders */\n\n.jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-content {\n  /* Internal border spacing */\n  margin-right: var(--jp-border-width);\n}\n\n.jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-tab.lm-mod-current::after {\n  /* Internal border override */\n  right: calc(-1 * var(--jp-border-width));\n}\n\n.jp-SideBar.lm-TabBar.jp-mod-left::after {\n  /* Internal border */\n  border-right: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n/* Transforms */\n\n.jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-tabLabel {\n  transform: rotate(180deg);\n}\n\n/* Right */\n\n/* Borders */\n\n.jp-SideBar.lm-TabBar.jp-mod-right .lm-TabBar-content {\n  /* Internal border spacing */\n  margin-left: var(--jp-border-width);\n}\n\n.jp-SideBar.lm-TabBar.jp-mod-right .lm-TabBar-tab.lm-mod-current::after {\n  /* Internal border override */\n  left: calc(-1 * var(--jp-border-width));\n}\n\n.jp-SideBar.lm-TabBar.jp-mod-right::after {\n  /* Internal border */\n  border-left: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n/* Top / Bottom (horizontal activity bar) */\n\n.jp-SideBar.lm-TabBar[data-side='top'] .lm-TabBar-content,\n.jp-SideBar.lm-TabBar[data-side='bottom'] .lm-TabBar-content {\n  align-items: stretch;\n}\n\n.jp-SideBar.lm-TabBar[data-side='top'] {\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n.jp-SideBar.lm-TabBar[data-side='bottom'] {\n  border-top: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n.jp-SideBar.lm-TabBar[data-side='top'] .lm-TabBar-tab.lm-mod-current::after,\n.jp-SideBar.lm-TabBar[data-side='bottom'] .lm-TabBar-tab.lm-mod-current::after {\n  /* Reset side-mode override; use the default tab borders. */\n  display: none;\n}\n\n/* Side area wrapper */\n\n.jp-SideArea {\n  /* The side area wrapper holds the activity bar (when in top/bottom mode)\n     and the stacked panel. */\n  background: var(--jp-layout-color1);\n\n  /* Floor so the splitter can't be dragged to zero and lose the area.\n     The stack panel children already enforce this in 'side' mode; setting\n     it on the wrapper also covers 'top'/'bottom'. */\n  min-width: var(--jp-sidebar-min-width);\n}\n\n.jp-SideArea[data-side='left'] {\n  border-right: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n.jp-SideArea[data-side='right'] {\n  border-left: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n/* Down */\n\n/* Borders */\n\n#jp-down-stack > .lm-TabBar {\n  border-top: var(--jp-border-width) solid var(--jp-border-color0);\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n#jp-down-stack > .lm-TabBar .lm-TabBar-tab {\n  border-left: none;\n  border-right: none;\n}\n\n#jp-down-stack > .lm-TabBar .lm-TabBar-tab.lm-mod-current {\n  border: var(--jp-border-width) solid var(--jp-border-color1);\n  border-bottom: none;\n  transform: translateY(var(--jp-border-width));\n}\n\n#jp-down-stack > .lm-TabBar .lm-TabBar-tab.lm-mod-current:first-child {\n  border: none;\n  border-right: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n/* stylelint-enable selector-max-class */\n\n/* Stack panels */\n\n#jp-left-stack > .lm-Widget,\n#jp-right-stack > .lm-Widget {\n  min-width: var(--jp-sidebar-min-width);\n  background-color: var(--jp-layout-color1);\n}\n\n#jp-down-stack > .lm-TabPanel-stackedPanel {\n  border: none;\n}\n"],sourceRoot:""}]);let a=s},35607(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-skiplink-wrapper {
  overflow: visible;

  /* override strict containment added via Lumino PR
   [#506](https://github.com/jupyterlab/lumino/pull/506) */
  contain: size style !important;
}

.jp-skiplink {
  position: absolute;
  top: -100em;
}

.jp-skiplink:focus-within {
  position: absolute;
  z-index: 10000;
  top: 0;
  left: 46%;
  margin: 0 auto;
  padding: 1em;
  width: 15%;
  box-shadow: var(--jp-elevation-z4);
  border-radius: 4px;
  background: var(--jp-layout-color0);
  text-align: center;
}

.jp-skiplink:focus-within a {
  text-decoration: underline;
  color: var(--jp-content-link-color);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/application/style/skiplink.css"],names:[],mappings:"AAAA;;;;8EAI8E;;AAE9E;EACE,iBAAiB;;EAEjB;0DACwD;EACxD,8BAA8B;AAChC;;AAEA;EACE,kBAAkB;EAClB,WAAW;AACb;;AAEA;EACE,kBAAkB;EAClB,cAAc;EACd,MAAM;EACN,SAAS;EACT,cAAc;EACd,YAAY;EACZ,UAAU;EACV,kCAAkC;EAClC,kBAAkB;EAClB,mCAAmC;EACnC,kBAAkB;AACpB;;AAEA;EACE,0BAA0B;EAC1B,mCAAmC;AACrC",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n|\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-skiplink-wrapper {\n  overflow: visible;\n\n  /* override strict containment added via Lumino PR\n   [#506](https://github.com/jupyterlab/lumino/pull/506) */\n  contain: size style !important;\n}\n\n.jp-skiplink {\n  position: absolute;\n  top: -100em;\n}\n\n.jp-skiplink:focus-within {\n  position: absolute;\n  z-index: 10000;\n  top: 0;\n  left: 46%;\n  margin: 0 auto;\n  padding: 1em;\n  width: 15%;\n  box-shadow: var(--jp-elevation-z4);\n  border-radius: 4px;\n  background: var(--jp-layout-color0);\n  text-align: center;\n}\n\n.jp-skiplink:focus-within a {\n  text-decoration: underline;\n  color: var(--jp-content-link-color);\n}\n"],sourceRoot:""}]);let a=s},70154(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  /* These need to be root because tabs get attached to the body during dragging. */
  --jp-private-horizontal-tab-height: 24px;
  --jp-private-horizontal-tab-width: 216px;
  --jp-private-horizontal-tab-active-top-border: 2px;
}

/*-----------------------------------------------------------------------------
| Tabs in the dock panel
|----------------------------------------------------------------------------*/

.lm-DockPanel-tabBar,
.lm-TabPanel-tabBar {
  overflow: visible;
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
}

.lm-DockPanel-tabBar[data-orientation='horizontal'],
.lm-TabPanel-tabBar[data-orientation='horizontal'] {
  min-height: calc(
    var(--jp-private-horizontal-tab-height) + 2 * var(--jp-border-width)
  );
}

.lm-DockPanel-tabBar[data-orientation='vertical'] {
  min-width: 80px;
}

.lm-DockPanel-tabBar > .lm-TabBar-content,
.lm-TabPanel-tabBar > .lm-TabBar-content {
  align-items: flex-end;
  min-width: 0;
  min-height: 0;
}

.lm-DockPanel-tabBar .lm-TabBar-tab,
.lm-TabPanel-tabBar .lm-TabBar-tab {
  flex: 0 1 var(--jp-private-horizontal-tab-width);
  align-items: center;
  min-height: calc(
    var(--jp-private-horizontal-tab-height) + 2 * var(--jp-border-width)
  );
  min-width: 0;
  margin-left: calc(-1 * var(--jp-border-width));
  line-height: var(--jp-private-horizontal-tab-height);
  padding: 0 8px;
  background: var(--jp-layout-color2);
  border: var(--jp-border-width) solid var(--jp-border-color1);
  border-bottom: none;
  position: relative;
}

.lm-DockPanel-tabBar .lm-TabBar-tab:focus-visible,
.lm-DockPanel-tabBar .lm-TabBar-addButton:focus-visible,
.lm-TabPanel-tabBar .lm-TabBar-tab:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
  outline-offset: calc(-1 * var(--jp-focus-outline-width));
}

.lm-DockPanel-tabBar .lm-TabBar-tab:not(.lm-mod-current):focus-visible::after,
.lm-TabPanel-tabBar .lm-TabBar-tab:not(.lm-mod-current):focus-visible::after {
  border-bottom-color: var(--jp-focus-outline-color);
}

.lm-DockPanel-tabBar .lm-TabBar-tab:hover:not(.lm-mod-current),
.lm-TabPanel-tabBar .lm-TabBar-tab:hover:not(.lm-mod-current) {
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
}

.lm-DockPanel-tabBar .lm-TabBar-tab:not(.lm-mod-current)::after,
.lm-DockPanel-tabBar .lm-TabBar-addButton::after {
  position: absolute;
  content: '';
  bottom: 0;
  left: calc(-1 * var(--jp-border-width));
  width: calc(100% + 2 * var(--jp-border-width));
  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
}

.lm-DockPanel-tabBar .lm-TabBar-tab:first-child,
.lm-TabPanel-tabBar .lm-TabBar-tab:first-child {
  margin-left: 0;
}

/* This is a current tab of a tab bar in the dock panel: each tab bar has 1. */
.lm-DockPanel-tabBar .lm-TabBar-tab.lm-mod-current {
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
}

.lm-TabPanel-tabBar .lm-TabBar-tab.lm-mod-current {
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
}

/* This is the main application level current tab: only 1 exists. */
.lm-DockPanel-tabBar .lm-TabBar-tab.jp-mod-current::before {
  position: absolute;
  top: calc(-1 * var(--jp-border-width) + 1px);
  left: calc(-1 * var(--jp-border-width));
  content: '';
  height: var(--jp-private-horizontal-tab-active-top-border);
  width: calc(100% + 2 * var(--jp-border-width));
  background: var(--jp-brand-color1);
}

/* This is the left tab bar current tab: only 1 exists. */
.lm-TabBar-tab.lm-mod-current {
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
}

.lm-DockPanel-tabBar .lm-TabBar.lm-mod-left .lm-TabBar-tab,
.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab {
  flex: 0 1 40px;
  margin-top: -1px;
  line-height: 40px;
}

.lm-DockPanel-tabBar .lm-TabBar.lm-mod-left .lm-TabBar-tab {
  border-right: none;
}

.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab {
  border-left: none;
}

.lm-DockPanel-tabBar .lm-TabBar.lm-mod-left .lm-TabBar-tab:first-child,
.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab:first-child {
  margin-top: 0;
}

/* stylelint-disable selector-max-class */

.lm-DockPanel-tabBar .lm-TabBar.lm-mod-left .lm-TabBar-tab.lm-mod-current,
.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab.lm-mod-current {
  min-width: 80px;
  max-width: 80px;
}

.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab.lm-mod-current {
  transform: translateX(-1px);
}

.lm-DockPanel-tabBar .lm-TabBar-tab .lm-TabBar-tabIcon,
.lm-TabBar-tab.lm-mod-drag-image .lm-TabBar-tabIcon,
.lm-TabPanel-tabBar .lm-TabBar-tab .lm-TabBar-tabIcon {
  width: 14px;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 14px;
  margin-right: 4px;
}

/* stylelint-enable selector-max-class */

.lm-TabBar-tab.lm-mod-drag-image {
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  border: var(--jp-border-width) solid var(--jp-border-color1);
  border-top: var(--jp-border-width) solid var(--jp-brand-color1);
  box-shadow: var(--jp-elevation-z4);
  font-size: var(--jp-ui-font-size1);
  line-height: var(--jp-private-horizontal-tab-height);
  min-height: var(--jp-private-horizontal-tab-height);
  min-width: var(--jp-private-horizontal-tab-width);
  padding: 0 10px;
  transform: translateX(-40%) translateY(-58%);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/application/style/tabs.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;EACE,iFAAiF;EACjF,wCAAwC;EACxC,wCAAwC;EACxC,kDAAkD;AACpD;;AAEA;;8EAE8E;;AAE9E;;EAEE,iBAAiB;EACjB,+BAA+B;EAC/B,kCAAkC;AACpC;;AAEA;;EAEE;;GAEC;AACH;;AAEA;EACE,eAAe;AACjB;;AAEA;;EAEE,qBAAqB;EACrB,YAAY;EACZ,aAAa;AACf;;AAEA;;EAEE,gDAAgD;EAChD,mBAAmB;EACnB;;GAEC;EACD,YAAY;EACZ,8CAA8C;EAC9C,oDAAoD;EACpD,cAAc;EACd,mCAAmC;EACnC,4DAA4D;EAC5D,mBAAmB;EACnB,kBAAkB;AACpB;;AAEA;;;EAGE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,wDAAwD;AAC1D;;AAEA;;EAEE,kDAAkD;AACpD;;AAEA;;EAEE,mCAAmC;EACnC,+BAA+B;AACjC;;AAEA;;EAEE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,uCAAuC;EACvC,8CAA8C;EAC9C,mEAAmE;AACrE;;AAEA;;EAEE,cAAc;AAChB;;AAEA,8EAA8E;AAC9E;EACE,mCAAmC;EACnC,+BAA+B;AACjC;;AAEA;EACE,mCAAmC;EACnC,+BAA+B;AACjC;;AAEA,mEAAmE;AACnE;EACE,kBAAkB;EAClB,4CAA4C;EAC5C,uCAAuC;EACvC,WAAW;EACX,0DAA0D;EAC1D,8CAA8C;EAC9C,kCAAkC;AACpC;;AAEA,yDAAyD;AACzD;EACE,mCAAmC;EACnC,+BAA+B;AACjC;;AAEA;;EAEE,cAAc;EACd,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;;EAEE,aAAa;AACf;;AAEA,yCAAyC;;AAEzC;;EAEE,eAAe;EACf,eAAe;AACjB;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;;;EAGE,WAAW;EACX,gCAAgC;EAChC,4BAA4B;EAC5B,qBAAqB;EACrB,iBAAiB;AACnB;;AAEA,wCAAwC;;AAExC;EACE,mCAAmC;EACnC,+BAA+B;EAC/B,4DAA4D;EAC5D,+DAA+D;EAC/D,kCAAkC;EAClC,kCAAkC;EAClC,oDAAoD;EACpD,mDAAmD;EACnD,iDAAiD;EACjD,eAAe;EACf,4CAA4C;AAC9C",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n  /* These need to be root because tabs get attached to the body during dragging. */\n  --jp-private-horizontal-tab-height: 24px;\n  --jp-private-horizontal-tab-width: 216px;\n  --jp-private-horizontal-tab-active-top-border: 2px;\n}\n\n/*-----------------------------------------------------------------------------\n| Tabs in the dock panel\n|----------------------------------------------------------------------------*/\n\n.lm-DockPanel-tabBar,\n.lm-TabPanel-tabBar {\n  overflow: visible;\n  color: var(--jp-ui-font-color1);\n  font-size: var(--jp-ui-font-size1);\n}\n\n.lm-DockPanel-tabBar[data-orientation='horizontal'],\n.lm-TabPanel-tabBar[data-orientation='horizontal'] {\n  min-height: calc(\n    var(--jp-private-horizontal-tab-height) + 2 * var(--jp-border-width)\n  );\n}\n\n.lm-DockPanel-tabBar[data-orientation='vertical'] {\n  min-width: 80px;\n}\n\n.lm-DockPanel-tabBar > .lm-TabBar-content,\n.lm-TabPanel-tabBar > .lm-TabBar-content {\n  align-items: flex-end;\n  min-width: 0;\n  min-height: 0;\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab,\n.lm-TabPanel-tabBar .lm-TabBar-tab {\n  flex: 0 1 var(--jp-private-horizontal-tab-width);\n  align-items: center;\n  min-height: calc(\n    var(--jp-private-horizontal-tab-height) + 2 * var(--jp-border-width)\n  );\n  min-width: 0;\n  margin-left: calc(-1 * var(--jp-border-width));\n  line-height: var(--jp-private-horizontal-tab-height);\n  padding: 0 8px;\n  background: var(--jp-layout-color2);\n  border: var(--jp-border-width) solid var(--jp-border-color1);\n  border-bottom: none;\n  position: relative;\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab:focus-visible,\n.lm-DockPanel-tabBar .lm-TabBar-addButton:focus-visible,\n.lm-TabPanel-tabBar .lm-TabBar-tab:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n  outline-offset: calc(-1 * var(--jp-focus-outline-width));\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab:not(.lm-mod-current):focus-visible::after,\n.lm-TabPanel-tabBar .lm-TabBar-tab:not(.lm-mod-current):focus-visible::after {\n  border-bottom-color: var(--jp-focus-outline-color);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab:hover:not(.lm-mod-current),\n.lm-TabPanel-tabBar .lm-TabBar-tab:hover:not(.lm-mod-current) {\n  background: var(--jp-layout-color1);\n  color: var(--jp-ui-font-color1);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab:not(.lm-mod-current)::after,\n.lm-DockPanel-tabBar .lm-TabBar-addButton::after {\n  position: absolute;\n  content: '';\n  bottom: 0;\n  left: calc(-1 * var(--jp-border-width));\n  width: calc(100% + 2 * var(--jp-border-width));\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab:first-child,\n.lm-TabPanel-tabBar .lm-TabBar-tab:first-child {\n  margin-left: 0;\n}\n\n/* This is a current tab of a tab bar in the dock panel: each tab bar has 1. */\n.lm-DockPanel-tabBar .lm-TabBar-tab.lm-mod-current {\n  background: var(--jp-layout-color1);\n  color: var(--jp-ui-font-color1);\n}\n\n.lm-TabPanel-tabBar .lm-TabBar-tab.lm-mod-current {\n  background: var(--jp-layout-color1);\n  color: var(--jp-ui-font-color1);\n}\n\n/* This is the main application level current tab: only 1 exists. */\n.lm-DockPanel-tabBar .lm-TabBar-tab.jp-mod-current::before {\n  position: absolute;\n  top: calc(-1 * var(--jp-border-width) + 1px);\n  left: calc(-1 * var(--jp-border-width));\n  content: '';\n  height: var(--jp-private-horizontal-tab-active-top-border);\n  width: calc(100% + 2 * var(--jp-border-width));\n  background: var(--jp-brand-color1);\n}\n\n/* This is the left tab bar current tab: only 1 exists. */\n.lm-TabBar-tab.lm-mod-current {\n  background: var(--jp-layout-color1);\n  color: var(--jp-ui-font-color1);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-left .lm-TabBar-tab,\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab {\n  flex: 0 1 40px;\n  margin-top: -1px;\n  line-height: 40px;\n}\n\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-left .lm-TabBar-tab {\n  border-right: none;\n}\n\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab {\n  border-left: none;\n}\n\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-left .lm-TabBar-tab:first-child,\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab:first-child {\n  margin-top: 0;\n}\n\n/* stylelint-disable selector-max-class */\n\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-left .lm-TabBar-tab.lm-mod-current,\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab.lm-mod-current {\n  min-width: 80px;\n  max-width: 80px;\n}\n\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab.lm-mod-current {\n  transform: translateX(-1px);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab .lm-TabBar-tabIcon,\n.lm-TabBar-tab.lm-mod-drag-image .lm-TabBar-tabIcon,\n.lm-TabPanel-tabBar .lm-TabBar-tab .lm-TabBar-tabIcon {\n  width: 14px;\n  background-position: left center;\n  background-repeat: no-repeat;\n  background-size: 14px;\n  margin-right: 4px;\n}\n\n/* stylelint-enable selector-max-class */\n\n.lm-TabBar-tab.lm-mod-drag-image {\n  background: var(--jp-layout-color1);\n  color: var(--jp-ui-font-color1);\n  border: var(--jp-border-width) solid var(--jp-border-color1);\n  border-top: var(--jp-border-width) solid var(--jp-brand-color1);\n  box-shadow: var(--jp-elevation-z4);\n  font-size: var(--jp-ui-font-size1);\n  line-height: var(--jp-private-horizontal-tab-height);\n  min-height: var(--jp-private-horizontal-tab-height);\n  min-width: var(--jp-private-horizontal-tab-width);\n  padding: 0 10px;\n  transform: translateX(-40%) translateY(-58%);\n}\n"],sourceRoot:""}]);let a=s},98490(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

:root {
  --jp-private-title-panel-height: 28px;
}

#jp-title-panel {
  min-height: var(--jp-private-title-panel-height);
  width: 100%;
  display: flex;
  background: var(--jp-layout-color1);
}

#jp-title-panel-title {
  flex: 1 1 auto;
  margin-left: 8px;
}

#jp-title-panel-title input {
  background: transparent;
  margin: 0;
  height: 28px;
  width: 100%;
  box-sizing: border-box;
  border: none;
  font-size: calc(var(--jp-ui-font-size1) * 18 / 13);
  font-weight: normal;
  font-family: var(--jp-ui-font-family);
  line-height: var(--jp-private-title-panel-height);
  color: var(--jp-ui-font-color0);
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/application/style/titlepanel.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,qCAAqC;AACvC;;AAEA;EACE,gDAAgD;EAChD,WAAW;EACX,aAAa;EACb,mCAAmC;AACrC;;AAEA;EACE,cAAc;EACd,gBAAgB;AAClB;;AAEA;EACE,uBAAuB;EACvB,SAAS;EACT,YAAY;EACZ,WAAW;EACX,sBAAsB;EACtB,YAAY;EACZ,kDAAkD;EAClD,mBAAmB;EACnB,qCAAqC;EACrC,iDAAiD;EACjD,+BAA+B;EAC/B,aAAa;EACb,gBAAgB;EAChB,wBAAwB;EACxB,qBAAqB;AACvB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-private-title-panel-height: 28px;\n}\n\n#jp-title-panel {\n  min-height: var(--jp-private-title-panel-height);\n  width: 100%;\n  display: flex;\n  background: var(--jp-layout-color1);\n}\n\n#jp-title-panel-title {\n  flex: 1 1 auto;\n  margin-left: 8px;\n}\n\n#jp-title-panel-title input {\n  background: transparent;\n  margin: 0;\n  height: 28px;\n  width: 100%;\n  box-sizing: border-box;\n  border: none;\n  font-size: calc(var(--jp-ui-font-size1) * 18 / 13);\n  font-weight: normal;\n  font-family: var(--jp-ui-font-family);\n  line-height: var(--jp-private-title-panel-height);\n  color: var(--jp-ui-font-color0);\n  outline: none;\n  appearance: none;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n}\n"],sourceRoot:""}]);let a=s},94559(e,t,n){"use strict";n.d(t,{A:()=>h});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(83121),l=n(60449),d=n(40820),c=s()(o());c.i(a.A),c.i(l.A),c.i(d.A),c.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/apputils-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n@import './notification.css';\n@import './splash.css';\n@import './contextualhelp.css';\n"],sourceRoot:""}]);let h=c},40820(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

:root {
  --jp-private-shortcuts-key-padding-horizontal: 0.47em;
  --jp-private-shortcuts-key-padding-vertical: 0.28em;
  --jp-private-shortcuts-label-padding-horizontal: 0.47em;
}

.jp-ContextualShortcut-TableRow {
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
}

.jp-ContextualShortcut-TableItem {
  margin-left: auto;
  margin-right: auto;
  color: var(--jp-inverse-layout-color0);
  font-size: var(--jp-ui-font-size1);
  line-height: 2em;
  padding-right: var(--jp-private-shortcuts-label-padding-horizontal);
}

.jp-ContextualShortcut-TableLastRow {
  height: 2em;
}

.jp-ContextualShortcut-Key {
  font-family: var(--jp-code-font-family);
  border-width: var(--jp-border-width);
  border-radius: var(--jp-border-radius);
  border-style: solid;
  border-color: var(--jp-border-color1);
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);
  padding-left: var(--jp-private-shortcuts-key-padding-horizontal);
  padding-right: var(--jp-private-shortcuts-key-padding-horizontal);
  padding-top: var(--jp-private-shortcuts-key-padding-vertical);
  padding-bottom: var(--jp-private-shortcuts-key-padding-vertical);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/apputils-extension/style/contextualhelp.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;EACE,qDAAqD;EACrD,mDAAmD;EACnD,uDAAuD;AACzD;;AAEA;EACE,kCAAkC;EAClC,qCAAqC;AACvC;;AAEA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,sCAAsC;EACtC,kCAAkC;EAClC,gBAAgB;EAChB,mEAAmE;AACrE;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,uCAAuC;EACvC,oCAAoC;EACpC,sCAAsC;EACtC,mBAAmB;EACnB,qCAAqC;EACrC,+BAA+B;EAC/B,mCAAmC;EACnC,gEAAgE;EAChE,iEAAiE;EACjE,6DAA6D;EAC7D,gEAAgE;AAClE",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n:root {\n  --jp-private-shortcuts-key-padding-horizontal: 0.47em;\n  --jp-private-shortcuts-key-padding-vertical: 0.28em;\n  --jp-private-shortcuts-label-padding-horizontal: 0.47em;\n}\n\n.jp-ContextualShortcut-TableRow {\n  font-size: var(--jp-ui-font-size1);\n  font-family: var(--jp-ui-font-family);\n}\n\n.jp-ContextualShortcut-TableItem {\n  margin-left: auto;\n  margin-right: auto;\n  color: var(--jp-inverse-layout-color0);\n  font-size: var(--jp-ui-font-size1);\n  line-height: 2em;\n  padding-right: var(--jp-private-shortcuts-label-padding-horizontal);\n}\n\n.jp-ContextualShortcut-TableLastRow {\n  height: 2em;\n}\n\n.jp-ContextualShortcut-Key {\n  font-family: var(--jp-code-font-family);\n  border-width: var(--jp-border-width);\n  border-radius: var(--jp-border-radius);\n  border-style: solid;\n  border-color: var(--jp-border-color1);\n  color: var(--jp-ui-font-color1);\n  background: var(--jp-layout-color1);\n  padding-left: var(--jp-private-shortcuts-key-padding-horizontal);\n  padding-right: var(--jp-private-shortcuts-key-padding-horizontal);\n  padding-top: var(--jp-private-shortcuts-key-padding-vertical);\n  padding-bottom: var(--jp-private-shortcuts-key-padding-vertical);\n}\n"],sourceRoot:""}]);let a=s},83121(e,t,n){"use strict";n.d(t,{A:()=>d});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(24349),l=s()(o());l.i(a.A),l.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

:root {
  --toastify-color-light: var(--jp-layout-color1);
  --toastify-color-dark: var(--jp-layout-color1);
  --toastify-color-info: var(--jp-info-color1);
  --toastify-color-success: var(--jp-success-color1);
  --toastify-color-warning: var(--jp-warn-color1);
  --toastify-color-error: var(--jp-error-color1);
  --toastify-color-transparent: rgba(255, 255, 255, 0.7);
  --toastify-icon-color-info: var(--toastify-color-info);
  --toastify-icon-color-success: var(--toastify-color-success);
  --toastify-icon-color-warning: var(--toastify-color-warning);
  --toastify-icon-color-error: var(--toastify-color-error);
  --toastify-toast-width: 25em;
  --toastify-toast-background: var(--jp-layout-color1);
  --toastify-toast-min-height: 64px;
  --toastify-toast-max-height: 800px;
  --toastify-font-family: var(--jp-ui-font-family);
  --toastify-z-index: 9999;
  --toastify-text-color-light: var(--jp-ui-font-color1);
  --toastify-text-color-dark: var(--jp-ui-font-color1);
  --toastify-text-color-info: var(--jp-ui-font-color1);
  --toastify-text-color-success: var(--jp-ui-font-color1);
  --toastify-text-color-warning: var(--jp-ui-font-color1);
  --toastify-text-color-error: var(--jp-ui-font-color1);
  --toastify-spinner-color: #616161;
  --toastify-spinner-color-empty-area: #e0e0e0;
  --toastify-color-progress-light: linear-gradient(
    to right,
    #4cd964,
    #5ac8fa,
    #007aff,
    #34aadc,
    #5856d6,
    #ff2d55
  );
  --toastify-color-progress-dark: #bb86fc;
  --toastify-color-progress-info: var(--toastify-color-info);
  --toastify-color-progress-success: var(--toastify-color-success);
  --toastify-color-progress-warning: var(--toastify-color-warning);
  --toastify-color-progress-error: var(--toastify-color-error);
}

.jp-Notification-List {
  list-style: none;
  margin: 0;
  padding: 4px;
  width: var(--toastify-toast-width);
  overflow-y: auto;
  max-height: 55vh;
  box-sizing: border-box;
  background-color: var(--jp-layout-color2);
}

.jp-Notification-Header {
  display: flex;
  font-size: var(--jp-ui-font-size1);
  padding-left: 8px;
  padding-right: 4px;
  margin: 0;
  align-items: center;
  user-select: none;
}

.jp-Notification-List-Item {
  padding: 2px 0;
}

.jp-Notification-List .Toastify__toast {
  margin: 0;
}

.jp-Notification-Status.jp-mod-selected {
  background-color: var(--jp-brand-color1);
}

.jp-Notification-Status.jp-mod-selected .jp-Notification-Status-Text {
  color: var(--jp-ui-inverse-font-color1);
}

.Toastify__toast {
  min-height: unset;
  padding: 4px;
  font-size: var(--jp-ui-font-size1);
  border-width: var(--jp-border-width);
  border-radius: var(--jp-border-radius);
  border-color: var(--jp-border-color1);
  box-shadow: var(--jp-elevation-z4);
  cursor: default;
}

.Toastify__toast-body {
  display: flex;
  flex-grow: 1;
}

.jp-Notification-Toast-Close {
  padding: 0;
  position: absolute;
  right: 0.1px;
  cursor: pointer;
}

.jp-Notification-Toast-Close-Margin {
  margin-right: 4px;
}

.jp-toastContainer .jp-Notification-Toast-Close:hover {
  /* The close button has its own hover style */
  background: none;
}

.Toastify__toast.jp-Notification-Toast-error {
  border-top: 5px solid var(--jp-error-color1);
}

.Toastify__toast.jp-Notification-Toast-warning {
  border-top: 5px solid var(--jp-warn-color1);
}

.Toastify__toast.jp-Notification-Toast-info {
  border-top: 5px solid var(--jp-info-color1);
}

.Toastify__toast.jp-Notification-Toast-success {
  border-top: 5px solid var(--jp-success-color1);
}

.Toastify__toast.jp-Notification-Toast-in-progress {
  border-top: 5px solid var(--jp-layout-color1);
}

.Toastify__toast-body a {
  color: var(--jp-content-link-color);
}

.Toastify__toast-body a:hover {
  color: var(--jp-content-link-color);
  text-decoration: underline;
}

.jp-toast-message {
  padding-inline-end: 16px;
}

/* p elements are added by the markdown rendering.
 * Removing its default margin allows to reduce toast size.
 */
.Toastify__toast-body p:first-child,
.Toastify__toast-body h1:first-child,
.Toastify__toast-body h2:first-child,
.Toastify__toast-body h3:first-child,
.Toastify__toast-body h4:first-child,
.Toastify__toast-body h5:first-child,
.Toastify__toast-body h6:first-child,
.Toastify__toast-body ol:first-child,
.Toastify__toast-body ul:first-child {
  margin-top: 0;
}

.Toastify__toast-body p:last-child,
.Toastify__toast-body h1:last-child,
.Toastify__toast-body h2:last-child,
.Toastify__toast-body h3:last-child,
.Toastify__toast-body h4:last-child,
.Toastify__toast-body h5:last-child,
.Toastify__toast-body h6:last-child,
.Toastify__toast-body ol:last-child,
.Toastify__toast-body ul:last-child {
  margin-bottom: 0;
}

.jp-toast-buttonBar {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  flex: 0 0 auto;
  padding-block-start: 8px;
}

.jp-toast-spacer {
  flex-grow: 1;
  flex-shrink: 1;
}

.jp-toast-button {
  margin-top: 1px;
  margin-bottom: 1px;
  margin-right: 0;
  margin-left: 3px;
  color: var(--jp-ui-font-color1);
  background-color: var(--jp-layout-color2);
  border: none;
}

.jp-toast-button:focus {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-reject-color-normal, var(--jp-layout-color2));
  outline-style: solid;
  outline-offset: 1px;
  -moz-outline-radius: 0;
}

.jp-toast-button:focus-visible {
  border: none;
}

.jp-toast-button:hover {
  background-color: var(--jp-layout-color3);
}

.jp-toast-button.jp-mod-accept {
  background: var(--jp-accept-color-normal, var(--jp-brand-color1));
  color: var(--jp-ui-inverse-font-color1);
}

.jp-toast-button.jp-mod-accept:focus {
  outline-color: var(--jp-accept-color-normal, var(--jp-brand-color1));
}

.jp-toast-button.jp-mod-accept:hover {
  background: var(--jp-accept-color-hover, var(--jp-brand-color0));
}

.jp-toast-button.jp-mod-warn {
  background: var(--jp-warn-color-normal, var(--jp-warn-color1));
  color: var(--jp-ui-inverse-font-color1);
}

.jp-toast-button.jp-mod-warn:focus {
  outline-color: var(--jp-warn-color-normal, var(--jp-warn-color1));
}

.jp-toast-button.jp-mod-warn:hover {
  background: var(--jp-warn-color-hover, var(--jp-warn-color0));
}

.jp-toast-button.jp-mod-link {
  color: var(--jp-content-link-color);
  text-decoration: underline;
  text-decoration-color: var(--jp-content-link-color);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/apputils-extension/style/notification.css"],names:[],mappings:"AAAA;;;EAGE;;AAIF;EACE,+CAA+C;EAC/C,8CAA8C;EAC9C,4CAA4C;EAC5C,kDAAkD;EAClD,+CAA+C;EAC/C,8CAA8C;EAC9C,sDAAsD;EACtD,sDAAsD;EACtD,4DAA4D;EAC5D,4DAA4D;EAC5D,wDAAwD;EACxD,4BAA4B;EAC5B,oDAAoD;EACpD,iCAAiC;EACjC,kCAAkC;EAClC,gDAAgD;EAChD,wBAAwB;EACxB,qDAAqD;EACrD,oDAAoD;EACpD,oDAAoD;EACpD,uDAAuD;EACvD,uDAAuD;EACvD,qDAAqD;EACrD,iCAAiC;EACjC,4CAA4C;EAC5C;;;;;;;;GAQC;EACD,uCAAuC;EACvC,0DAA0D;EAC1D,gEAAgE;EAChE,gEAAgE;EAChE,4DAA4D;AAC9D;;AAEA;EACE,gBAAgB;EAChB,SAAS;EACT,YAAY;EACZ,kCAAkC;EAClC,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,yCAAyC;AAC3C;;AAEA;EACE,aAAa;EACb,kCAAkC;EAClC,iBAAiB;EACjB,kBAAkB;EAClB,SAAS;EACT,mBAAmB;EACnB,iBAAiB;AACnB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,SAAS;AACX;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,iBAAiB;EACjB,YAAY;EACZ,kCAAkC;EAClC,oCAAoC;EACpC,sCAAsC;EACtC,qCAAqC;EACrC,kCAAkC;EAClC,eAAe;AACjB;;AAEA;EACE,aAAa;EACb,YAAY;AACd;;AAEA;EACE,UAAU;EACV,kBAAkB;EAClB,YAAY;EACZ,eAAe;AACjB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,6CAA6C;EAC7C,gBAAgB;AAClB;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,8CAA8C;AAChD;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,mCAAmC;EACnC,0BAA0B;AAC5B;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;;EAEE;AACF;;;;;;;;;EASE,aAAa;AACf;;AAEA;;;;;;;;;EASE,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB,cAAc;EACd,wBAAwB;AAC1B;;AAEA;EACE,YAAY;EACZ,cAAc;AAChB;;AAEA;EACE,eAAe;EACf,kBAAkB;EAClB,eAAe;EACf,gBAAgB;EAChB,+BAA+B;EAC/B,yCAAyC;EACzC,YAAY;AACd;;AAEA;EACE,4CAA4C;EAC5C,qEAAqE;EACrE,oBAAoB;EACpB,mBAAmB;EACnB,sBAAsB;AACxB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,iEAAiE;EACjE,uCAAuC;AACzC;;AAEA;EACE,oEAAoE;AACtE;;AAEA;EACE,gEAAgE;AAClE;;AAEA;EACE,8DAA8D;EAC9D,uCAAuC;AACzC;;AAEA;EACE,iEAAiE;AACnE;;AAEA;EACE,6DAA6D;AAC/D;;AAEA;EACE,mCAAmC;EACnC,0BAA0B;EAC1B,mDAAmD;AACrD",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n@import '~react-toastify/dist/ReactToastify.min.css';\n\n:root {\n  --toastify-color-light: var(--jp-layout-color1);\n  --toastify-color-dark: var(--jp-layout-color1);\n  --toastify-color-info: var(--jp-info-color1);\n  --toastify-color-success: var(--jp-success-color1);\n  --toastify-color-warning: var(--jp-warn-color1);\n  --toastify-color-error: var(--jp-error-color1);\n  --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n  --toastify-icon-color-info: var(--toastify-color-info);\n  --toastify-icon-color-success: var(--toastify-color-success);\n  --toastify-icon-color-warning: var(--toastify-color-warning);\n  --toastify-icon-color-error: var(--toastify-color-error);\n  --toastify-toast-width: 25em;\n  --toastify-toast-background: var(--jp-layout-color1);\n  --toastify-toast-min-height: 64px;\n  --toastify-toast-max-height: 800px;\n  --toastify-font-family: var(--jp-ui-font-family);\n  --toastify-z-index: 9999;\n  --toastify-text-color-light: var(--jp-ui-font-color1);\n  --toastify-text-color-dark: var(--jp-ui-font-color1);\n  --toastify-text-color-info: var(--jp-ui-font-color1);\n  --toastify-text-color-success: var(--jp-ui-font-color1);\n  --toastify-text-color-warning: var(--jp-ui-font-color1);\n  --toastify-text-color-error: var(--jp-ui-font-color1);\n  --toastify-spinner-color: #616161;\n  --toastify-spinner-color-empty-area: #e0e0e0;\n  --toastify-color-progress-light: linear-gradient(\n    to right,\n    #4cd964,\n    #5ac8fa,\n    #007aff,\n    #34aadc,\n    #5856d6,\n    #ff2d55\n  );\n  --toastify-color-progress-dark: #bb86fc;\n  --toastify-color-progress-info: var(--toastify-color-info);\n  --toastify-color-progress-success: var(--toastify-color-success);\n  --toastify-color-progress-warning: var(--toastify-color-warning);\n  --toastify-color-progress-error: var(--toastify-color-error);\n}\n\n.jp-Notification-List {\n  list-style: none;\n  margin: 0;\n  padding: 4px;\n  width: var(--toastify-toast-width);\n  overflow-y: auto;\n  max-height: 55vh;\n  box-sizing: border-box;\n  background-color: var(--jp-layout-color2);\n}\n\n.jp-Notification-Header {\n  display: flex;\n  font-size: var(--jp-ui-font-size1);\n  padding-left: 8px;\n  padding-right: 4px;\n  margin: 0;\n  align-items: center;\n  user-select: none;\n}\n\n.jp-Notification-List-Item {\n  padding: 2px 0;\n}\n\n.jp-Notification-List .Toastify__toast {\n  margin: 0;\n}\n\n.jp-Notification-Status.jp-mod-selected {\n  background-color: var(--jp-brand-color1);\n}\n\n.jp-Notification-Status.jp-mod-selected .jp-Notification-Status-Text {\n  color: var(--jp-ui-inverse-font-color1);\n}\n\n.Toastify__toast {\n  min-height: unset;\n  padding: 4px;\n  font-size: var(--jp-ui-font-size1);\n  border-width: var(--jp-border-width);\n  border-radius: var(--jp-border-radius);\n  border-color: var(--jp-border-color1);\n  box-shadow: var(--jp-elevation-z4);\n  cursor: default;\n}\n\n.Toastify__toast-body {\n  display: flex;\n  flex-grow: 1;\n}\n\n.jp-Notification-Toast-Close {\n  padding: 0;\n  position: absolute;\n  right: 0.1px;\n  cursor: pointer;\n}\n\n.jp-Notification-Toast-Close-Margin {\n  margin-right: 4px;\n}\n\n.jp-toastContainer .jp-Notification-Toast-Close:hover {\n  /* The close button has its own hover style */\n  background: none;\n}\n\n.Toastify__toast.jp-Notification-Toast-error {\n  border-top: 5px solid var(--jp-error-color1);\n}\n\n.Toastify__toast.jp-Notification-Toast-warning {\n  border-top: 5px solid var(--jp-warn-color1);\n}\n\n.Toastify__toast.jp-Notification-Toast-info {\n  border-top: 5px solid var(--jp-info-color1);\n}\n\n.Toastify__toast.jp-Notification-Toast-success {\n  border-top: 5px solid var(--jp-success-color1);\n}\n\n.Toastify__toast.jp-Notification-Toast-in-progress {\n  border-top: 5px solid var(--jp-layout-color1);\n}\n\n.Toastify__toast-body a {\n  color: var(--jp-content-link-color);\n}\n\n.Toastify__toast-body a:hover {\n  color: var(--jp-content-link-color);\n  text-decoration: underline;\n}\n\n.jp-toast-message {\n  padding-inline-end: 16px;\n}\n\n/* p elements are added by the markdown rendering.\n * Removing its default margin allows to reduce toast size.\n */\n.Toastify__toast-body p:first-child,\n.Toastify__toast-body h1:first-child,\n.Toastify__toast-body h2:first-child,\n.Toastify__toast-body h3:first-child,\n.Toastify__toast-body h4:first-child,\n.Toastify__toast-body h5:first-child,\n.Toastify__toast-body h6:first-child,\n.Toastify__toast-body ol:first-child,\n.Toastify__toast-body ul:first-child {\n  margin-top: 0;\n}\n\n.Toastify__toast-body p:last-child,\n.Toastify__toast-body h1:last-child,\n.Toastify__toast-body h2:last-child,\n.Toastify__toast-body h3:last-child,\n.Toastify__toast-body h4:last-child,\n.Toastify__toast-body h5:last-child,\n.Toastify__toast-body h6:last-child,\n.Toastify__toast-body ol:last-child,\n.Toastify__toast-body ul:last-child {\n  margin-bottom: 0;\n}\n\n.jp-toast-buttonBar {\n  display: flex;\n  flex-direction: row;\n  flex-wrap: nowrap;\n  flex: 0 0 auto;\n  padding-block-start: 8px;\n}\n\n.jp-toast-spacer {\n  flex-grow: 1;\n  flex-shrink: 1;\n}\n\n.jp-toast-button {\n  margin-top: 1px;\n  margin-bottom: 1px;\n  margin-right: 0;\n  margin-left: 3px;\n  color: var(--jp-ui-font-color1);\n  background-color: var(--jp-layout-color2);\n  border: none;\n}\n\n.jp-toast-button:focus {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-reject-color-normal, var(--jp-layout-color2));\n  outline-style: solid;\n  outline-offset: 1px;\n  -moz-outline-radius: 0;\n}\n\n.jp-toast-button:focus-visible {\n  border: none;\n}\n\n.jp-toast-button:hover {\n  background-color: var(--jp-layout-color3);\n}\n\n.jp-toast-button.jp-mod-accept {\n  background: var(--jp-accept-color-normal, var(--jp-brand-color1));\n  color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-toast-button.jp-mod-accept:focus {\n  outline-color: var(--jp-accept-color-normal, var(--jp-brand-color1));\n}\n\n.jp-toast-button.jp-mod-accept:hover {\n  background: var(--jp-accept-color-hover, var(--jp-brand-color0));\n}\n\n.jp-toast-button.jp-mod-warn {\n  background: var(--jp-warn-color-normal, var(--jp-warn-color1));\n  color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-toast-button.jp-mod-warn:focus {\n  outline-color: var(--jp-warn-color-normal, var(--jp-warn-color1));\n}\n\n.jp-toast-button.jp-mod-warn:hover {\n  background: var(--jp-warn-color-hover, var(--jp-warn-color0));\n}\n\n.jp-toast-button.jp-mod-link {\n  color: var(--jp-content-link-color);\n  text-decoration: underline;\n  text-decoration-color: var(--jp-content-link-color);\n}\n"],sourceRoot:""}]);let d=l},60449(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

#jupyterlab-splash {
  z-index: 10;
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background-position: center 40%;
  background-repeat: no-repeat;
  background-size: cover;
}

#jupyterlab-splash.light {
  background-color: white;
}

#jupyterlab-splash.dark {
  background-color: var(--md-grey-900, #212121);
}

.splash-fade {
  animation: 0.5s fade-out forwards;
}

#galaxy {
  position: relative;
  width: 100%;
  height: 100%;
}

.planet {
  background-repeat: no-repeat;
  background-size: cover;
  animation-iteration-count: infinite;
  animation-name: orbit;
}

#moon1.orbit {
  opacity: 1;
  animation: orbit 2s ease;
  width: 200px;
  height: 140px;
  margin-top: -53px;
  margin-left: -54px;
}

#moon2.orbit {
  opacity: 1;
  animation: orbit 2s ease;
  width: 132px;
  height: 180px;
  margin-top: -66px;
  margin-left: -85px;
}

#moon3.orbit {
  opacity: 1;
  display: flex;
  align-items: flex-end;
  animation: orbit 2s ease;
  width: 220px;
  height: 166px;
  margin-top: -96px;
  margin-left: -50px;
}

#moon1 .planet {
  height: 12px;
  width: 12px;
  border-radius: 50%;
}

#moon2 .planet {
  height: 16px;
  width: 16px;
  border-radius: 50%;
  float: right;
}

#moon3 .planet {
  height: 20px;
  width: 20px;
  border-radius: 50%;
}

#jupyterlab-splash.light #moon1 .planet {
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  background-color: #6f7070;
}

#jupyterlab-splash.light #moon2 .planet {
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  background-color: #767677;
}

#jupyterlab-splash.light #moon3 .planet {
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  background-color: #989798;
}

#jupyterlab-splash.dark #moon1 .planet,
#jupyterlab-splash.dark #moon2 .planet,
#jupyterlab-splash.dark #moon3 .planet {
  background-color: white;
}

.orbit {
  animation-iteration-count: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
}

@keyframes orbit {
  0% {
    transform: rotateZ(0deg);
  }

  100% {
    transform: rotateZ(-720deg);
  }
}

@keyframes orbit2 {
  0% {
    transform: rotateZ(0deg);
  }

  100% {
    transform: rotateZ(720deg);
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/apputils-extension/style/splash.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,WAAW;EACX,kBAAkB;EAClB,gBAAgB;EAChB,WAAW;EACX,YAAY;EACZ,+BAA+B;EAC/B,4BAA4B;EAC5B,sBAAsB;AACxB;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,YAAY;AACd;;AAEA;EACE,4BAA4B;EAC5B,sBAAsB;EACtB,mCAAmC;EACnC,qBAAqB;AACvB;;AAEA;EACE,UAAU;EACV,wBAAwB;EACxB,YAAY;EACZ,aAAa;EACb,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,UAAU;EACV,wBAAwB;EACxB,YAAY;EACZ,aAAa;EACb,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,UAAU;EACV,aAAa;EACb,qBAAqB;EACrB,wBAAwB;EACxB,YAAY;EACZ,aAAa;EACb,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,YAAY;EACZ,WAAW;EACX,kBAAkB;AACpB;;AAEA;EACE,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,YAAY;AACd;;AAEA;EACE,YAAY;EACZ,WAAW;EACX,kBAAkB;AACpB;;AAEA;EACE,wEAAwE;EACxE,yBAAyB;AAC3B;;AAEA;EACE,wEAAwE;EACxE,yBAAyB;AAC3B;;AAEA;EACE,wEAAwE;EACxE,yBAAyB;AAC3B;;AAEA;;;EAGE,uBAAuB;AACzB;;AAEA;EACE,4BAA4B;EAC5B,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,kBAAkB;AACpB;;AAEA;EACE;IACE,wBAAwB;EAC1B;;EAEA;IACE,2BAA2B;EAC7B;AACF;;AAEA;EACE;IACE,wBAAwB;EAC1B;;EAEA;IACE,0BAA0B;EAC5B;AACF;;AAEA;EACE;IACE,UAAU;EACZ;;EAEA;IACE,UAAU;EACZ;AACF;;AAEA;EACE;IACE,UAAU;EACZ;;EAEA;IACE,UAAU;EACZ;AACF",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n#jupyterlab-splash {\n  z-index: 10;\n  position: absolute;\n  overflow: hidden;\n  width: 100%;\n  height: 100%;\n  background-position: center 40%;\n  background-repeat: no-repeat;\n  background-size: cover;\n}\n\n#jupyterlab-splash.light {\n  background-color: white;\n}\n\n#jupyterlab-splash.dark {\n  background-color: var(--md-grey-900, #212121);\n}\n\n.splash-fade {\n  animation: 0.5s fade-out forwards;\n}\n\n#galaxy {\n  position: relative;\n  width: 100%;\n  height: 100%;\n}\n\n.planet {\n  background-repeat: no-repeat;\n  background-size: cover;\n  animation-iteration-count: infinite;\n  animation-name: orbit;\n}\n\n#moon1.orbit {\n  opacity: 1;\n  animation: orbit 2s ease;\n  width: 200px;\n  height: 140px;\n  margin-top: -53px;\n  margin-left: -54px;\n}\n\n#moon2.orbit {\n  opacity: 1;\n  animation: orbit 2s ease;\n  width: 132px;\n  height: 180px;\n  margin-top: -66px;\n  margin-left: -85px;\n}\n\n#moon3.orbit {\n  opacity: 1;\n  display: flex;\n  align-items: flex-end;\n  animation: orbit 2s ease;\n  width: 220px;\n  height: 166px;\n  margin-top: -96px;\n  margin-left: -50px;\n}\n\n#moon1 .planet {\n  height: 12px;\n  width: 12px;\n  border-radius: 50%;\n}\n\n#moon2 .planet {\n  height: 16px;\n  width: 16px;\n  border-radius: 50%;\n  float: right;\n}\n\n#moon3 .planet {\n  height: 20px;\n  width: 20px;\n  border-radius: 50%;\n}\n\n#jupyterlab-splash.light #moon1 .planet {\n  /* stylelint-disable-next-line declaration-property-value-allowed-list */\n  background-color: #6f7070;\n}\n\n#jupyterlab-splash.light #moon2 .planet {\n  /* stylelint-disable-next-line declaration-property-value-allowed-list */\n  background-color: #767677;\n}\n\n#jupyterlab-splash.light #moon3 .planet {\n  /* stylelint-disable-next-line declaration-property-value-allowed-list */\n  background-color: #989798;\n}\n\n#jupyterlab-splash.dark #moon1 .planet,\n#jupyterlab-splash.dark #moon2 .planet,\n#jupyterlab-splash.dark #moon3 .planet {\n  background-color: white;\n}\n\n.orbit {\n  animation-iteration-count: 1;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  border-radius: 50%;\n}\n\n@keyframes orbit {\n  0% {\n    transform: rotateZ(0deg);\n  }\n\n  100% {\n    transform: rotateZ(-720deg);\n  }\n}\n\n@keyframes orbit2 {\n  0% {\n    transform: rotateZ(0deg);\n  }\n\n  100% {\n    transform: rotateZ(720deg);\n  }\n}\n\n@keyframes fade-in {\n  0% {\n    opacity: 0;\n  }\n\n  100% {\n    opacity: 1;\n  }\n}\n\n@keyframes fade-out {\n  0% {\n    opacity: 1;\n  }\n\n  100% {\n    opacity: 0;\n  }\n}\n"],sourceRoot:""}]);let a=s},93079(e,t,n){"use strict";n.d(t,{A:()=>g});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(50136),l=n(87716),d=n(99318),c=n(52720),h=n(92516),u=n(65275),p=n(52023),m=s()(o());m.i(a.A),m.i(l.A),m.i(d.A),m.i(c.A),m.i(h.A),m.i(u.A),m.i(p.A),m.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/apputils/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n@import './commandpalette.css';\n@import './dialog.css';\n@import './inputdialog.css';\n@import './licenses.css';\n@import './mainareawidget.css';\n@import './materialcolors.css';\n@import './toolbar.css';\n"],sourceRoot:""}]);let g=m},50136(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-commandpalette-search-height: 28px;
}

/*-----------------------------------------------------------------------------
| Overall styles
|----------------------------------------------------------------------------*/

.lm-CommandPalette {
  padding-bottom: 0;
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);

  /* This is needed so that all font sizing of children done in ems is
   * relative to this base size */
  font-size: var(--jp-ui-font-size1);
}

/*-----------------------------------------------------------------------------
| Modal variant
|----------------------------------------------------------------------------*/

.jp-ModalCommandPalette.jp-ThemedContainer {
  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 {
  /* stylelint-disable-next-line csstree/validator */
  overflow: overlay;
  padding: 0 9px;
  background-color: var(--jp-input-active-background);
  height: 30px;
  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
}

.lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper {
  box-shadow:
    inset 0 0 0 1px var(--jp-input-active-box-shadow-color),
    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
}

.jp-SearchIconGroup {
  color: white;
  position: absolute;
  top: 4px;
  right: 4px;
  padding: 5px 5px 1px;
}

.jp-SearchIconGroup svg {
  height: 20px;
  width: 20px;
}

.jp-SearchIconGroup .jp-icon3[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.lm-CommandPalette-input {
  background: transparent;
  width: calc(100% - 18px);
  float: left;
  border: none;
  outline: none;
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color0);
  line-height: var(--jp-private-commandpalette-search-height);
}

.lm-CommandPalette-input::-webkit-input-placeholder,
.lm-CommandPalette-input::-moz-placeholder,
.lm-CommandPalette-input:-ms-input-placeholder {
  color: var(--jp-ui-font-color2);
  font-size: var(--jp-ui-font-size1);
}

/*-----------------------------------------------------------------------------
| Results
|----------------------------------------------------------------------------*/

.lm-CommandPalette-header:first-child {
  margin-top: 0;
}

.lm-CommandPalette-header {
  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
  color: var(--jp-ui-font-color1);
  cursor: pointer;
  display: flex;
  font-size: var(--jp-ui-font-size0);
  font-weight: 600;
  letter-spacing: 1px;
  margin-top: 8px;
  padding: 8px 0 8px 12px;
  text-transform: uppercase;
}

.lm-CommandPalette-header.lm-mod-active {
  background: var(--jp-layout-color2);
}

.lm-CommandPalette-header > mark {
  background-color: transparent;
  font-weight: bold;
  color: var(--jp-ui-font-color1);
}

.lm-CommandPalette-item {
  padding: 4px 12px 4px 4px;
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  font-weight: 400;
  display: flex;
}

.lm-CommandPalette-item.lm-mod-disabled {
  color: var(--jp-ui-font-color2);
}

.lm-CommandPalette-item.lm-mod-active {
  color: var(--jp-ui-inverse-font-color1);
  background: var(--jp-brand-color1);
}

.lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark {
  color: var(--jp-ui-inverse-font-color0);
}

.lm-CommandPalette-item.lm-mod-active .jp-icon-selectable[fill] {
  fill: var(--jp-layout-color0);
}

.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {
  color: var(--jp-ui-inverse-font-color1);
  background: var(--jp-brand-color1);
}

.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) {
  background: var(--jp-layout-color2);
}

.lm-CommandPalette-itemContent {
  overflow: hidden;
}

.lm-CommandPalette-itemLabel > mark {
  color: var(--jp-ui-font-color0);
  background-color: transparent;
  font-weight: bold;
}

.lm-CommandPalette-item.lm-mod-disabled mark {
  color: var(--jp-ui-font-color2);
}

.lm-CommandPalette-item .lm-CommandPalette-itemIcon {
  margin: 0 4px 0 0;
  position: relative;
  width: 16px;
  top: 2px;
  flex: 0 0 auto;
}

.lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon {
  opacity: 0.6;
}

.lm-CommandPalette-item .lm-CommandPalette-itemShortcut {
  flex: 0 0 auto;
}

.lm-CommandPalette-itemCaption {
  display: none;
}

.lm-CommandPalette-content {
  background-color: var(--jp-layout-color1);
}

.lm-CommandPalette-content:empty::after {
  content: 'No results';
  margin: auto;
  margin-top: 20px;
  width: 100px;
  display: block;
  font-size: var(--jp-ui-font-size2);
  font-family: var(--jp-ui-font-family);
  font-weight: lighter;
}

.lm-CommandPalette-emptyMessage {
  text-align: center;
  margin-top: 24px;
  line-height: 1.32;
  padding: 0 8px;
  color: var(--jp-content-font-color3);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/apputils/style/commandpalette.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;EACE,+CAA+C;AACjD;;AAEA;;8EAE8E;;AAE9E;EACE,iBAAiB;EACjB,+BAA+B;EAC/B,mCAAmC;;EAEnC;iCAC+B;EAC/B,kCAAkC;AACpC;;AAEA;;8EAE8E;;AAE9E;EACE,kBAAkB;EAClB,cAAc;EACd,SAAS;EACT,SAAS;EACT,SAAS;EACT,YAAY;EACZ,UAAU;EACV,kCAAkC;EAClC,kBAAkB;EAClB,mCAAmC;AACrC;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;;;EAGE,aAAa;AACf;;AAEA;;8EAE8E;;AAE9E;EACE,YAAY;EACZ,yCAAyC;EACzC,UAAU;AACZ;;AAEA;EACE,kDAAkD;EAClD,iBAAiB;EACjB,cAAc;EACd,mDAAmD;EACnD,YAAY;EACZ,2EAA2E;AAC7E;;AAEA;EACE;;2DAEyD;AAC3D;;AAEA;EACE,YAAY;EACZ,kBAAkB;EAClB,QAAQ;EACR,UAAU;EACV,oBAAoB;AACtB;;AAEA;EACE,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,uBAAuB;EACvB,wBAAwB;EACxB,WAAW;EACX,YAAY;EACZ,aAAa;EACb,kCAAkC;EAClC,+BAA+B;EAC/B,2DAA2D;AAC7D;;AAEA;;;EAGE,+BAA+B;EAC/B,kCAAkC;AACpC;;AAEA;;8EAE8E;;AAE9E;EACE,aAAa;AACf;;AAEA;EACE,mEAAmE;EACnE,+BAA+B;EAC/B,eAAe;EACf,aAAa;EACb,kCAAkC;EAClC,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,uBAAuB;EACvB,yBAAyB;AAC3B;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,6BAA6B;EAC7B,iBAAiB;EACjB,+BAA+B;AACjC;;AAEA;EACE,yBAAyB;EACzB,+BAA+B;EAC/B,kCAAkC;EAClC,gBAAgB;EAChB,aAAa;AACf;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,uCAAuC;EACvC,kCAAkC;AACpC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,uCAAuC;EACvC,kCAAkC;AACpC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,+BAA+B;EAC/B,6BAA6B;EAC7B,iBAAiB;AACnB;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,WAAW;EACX,QAAQ;EACR,cAAc;AAChB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,qBAAqB;EACrB,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,cAAc;EACd,kCAAkC;EAClC,qCAAqC;EACrC,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,iBAAiB;EACjB,cAAc;EACd,oCAAoC;AACtC",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-private-commandpalette-search-height: 28px;\n}\n\n/*-----------------------------------------------------------------------------\n| Overall styles\n|----------------------------------------------------------------------------*/\n\n.lm-CommandPalette {\n  padding-bottom: 0;\n  color: var(--jp-ui-font-color1);\n  background: var(--jp-layout-color1);\n\n  /* This is needed so that all font sizing of children done in ems is\n   * relative to this base size */\n  font-size: var(--jp-ui-font-size1);\n}\n\n/*-----------------------------------------------------------------------------\n| Modal variant\n|----------------------------------------------------------------------------*/\n\n.jp-ModalCommandPalette.jp-ThemedContainer {\n  position: absolute;\n  z-index: 10000;\n  top: 38px;\n  left: 30%;\n  margin: 0;\n  padding: 4px;\n  width: 40%;\n  box-shadow: var(--jp-elevation-z4);\n  border-radius: 4px;\n  background: var(--jp-layout-color0);\n}\n\n.jp-ModalCommandPalette .lm-CommandPalette {\n  max-height: 40vh;\n}\n\n.jp-ModalCommandPalette .lm-CommandPalette .lm-close-icon::after {\n  display: none;\n}\n\n.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-header {\n  display: none;\n}\n\n.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item {\n  margin-left: 4px;\n  margin-right: 4px;\n}\n\n.jp-ModalCommandPalette\n  .lm-CommandPalette\n  .lm-CommandPalette-item.lm-mod-disabled {\n  display: none;\n}\n\n/*-----------------------------------------------------------------------------\n| Search\n|----------------------------------------------------------------------------*/\n\n.lm-CommandPalette-search {\n  padding: 4px;\n  background-color: var(--jp-layout-color1);\n  z-index: 2;\n}\n\n.lm-CommandPalette-wrapper {\n  /* stylelint-disable-next-line csstree/validator */\n  overflow: overlay;\n  padding: 0 9px;\n  background-color: var(--jp-input-active-background);\n  height: 30px;\n  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);\n}\n\n.lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper {\n  box-shadow:\n    inset 0 0 0 1px var(--jp-input-active-box-shadow-color),\n    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);\n}\n\n.jp-SearchIconGroup {\n  color: white;\n  position: absolute;\n  top: 4px;\n  right: 4px;\n  padding: 5px 5px 1px;\n}\n\n.jp-SearchIconGroup svg {\n  height: 20px;\n  width: 20px;\n}\n\n.jp-SearchIconGroup .jp-icon3[fill] {\n  fill: var(--jp-inverse-layout-color3);\n}\n\n.lm-CommandPalette-input {\n  background: transparent;\n  width: calc(100% - 18px);\n  float: left;\n  border: none;\n  outline: none;\n  font-size: var(--jp-ui-font-size1);\n  color: var(--jp-ui-font-color0);\n  line-height: var(--jp-private-commandpalette-search-height);\n}\n\n.lm-CommandPalette-input::-webkit-input-placeholder,\n.lm-CommandPalette-input::-moz-placeholder,\n.lm-CommandPalette-input:-ms-input-placeholder {\n  color: var(--jp-ui-font-color2);\n  font-size: var(--jp-ui-font-size1);\n}\n\n/*-----------------------------------------------------------------------------\n| Results\n|----------------------------------------------------------------------------*/\n\n.lm-CommandPalette-header:first-child {\n  margin-top: 0;\n}\n\n.lm-CommandPalette-header {\n  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);\n  color: var(--jp-ui-font-color1);\n  cursor: pointer;\n  display: flex;\n  font-size: var(--jp-ui-font-size0);\n  font-weight: 600;\n  letter-spacing: 1px;\n  margin-top: 8px;\n  padding: 8px 0 8px 12px;\n  text-transform: uppercase;\n}\n\n.lm-CommandPalette-header.lm-mod-active {\n  background: var(--jp-layout-color2);\n}\n\n.lm-CommandPalette-header > mark {\n  background-color: transparent;\n  font-weight: bold;\n  color: var(--jp-ui-font-color1);\n}\n\n.lm-CommandPalette-item {\n  padding: 4px 12px 4px 4px;\n  color: var(--jp-ui-font-color1);\n  font-size: var(--jp-ui-font-size1);\n  font-weight: 400;\n  display: flex;\n}\n\n.lm-CommandPalette-item.lm-mod-disabled {\n  color: var(--jp-ui-font-color2);\n}\n\n.lm-CommandPalette-item.lm-mod-active {\n  color: var(--jp-ui-inverse-font-color1);\n  background: var(--jp-brand-color1);\n}\n\n.lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark {\n  color: var(--jp-ui-inverse-font-color0);\n}\n\n.lm-CommandPalette-item.lm-mod-active .jp-icon-selectable[fill] {\n  fill: var(--jp-layout-color0);\n}\n\n.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {\n  color: var(--jp-ui-inverse-font-color1);\n  background: var(--jp-brand-color1);\n}\n\n.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) {\n  background: var(--jp-layout-color2);\n}\n\n.lm-CommandPalette-itemContent {\n  overflow: hidden;\n}\n\n.lm-CommandPalette-itemLabel > mark {\n  color: var(--jp-ui-font-color0);\n  background-color: transparent;\n  font-weight: bold;\n}\n\n.lm-CommandPalette-item.lm-mod-disabled mark {\n  color: var(--jp-ui-font-color2);\n}\n\n.lm-CommandPalette-item .lm-CommandPalette-itemIcon {\n  margin: 0 4px 0 0;\n  position: relative;\n  width: 16px;\n  top: 2px;\n  flex: 0 0 auto;\n}\n\n.lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon {\n  opacity: 0.6;\n}\n\n.lm-CommandPalette-item .lm-CommandPalette-itemShortcut {\n  flex: 0 0 auto;\n}\n\n.lm-CommandPalette-itemCaption {\n  display: none;\n}\n\n.lm-CommandPalette-content {\n  background-color: var(--jp-layout-color1);\n}\n\n.lm-CommandPalette-content:empty::after {\n  content: 'No results';\n  margin: auto;\n  margin-top: 20px;\n  width: 100px;\n  display: block;\n  font-size: var(--jp-ui-font-size2);\n  font-family: var(--jp-ui-font-family);\n  font-weight: lighter;\n}\n\n.lm-CommandPalette-emptyMessage {\n  text-align: center;\n  margin-top: 24px;\n  line-height: 1.32;\n  padding: 0 8px;\n  color: var(--jp-content-font-color3);\n}\n"],sourceRoot:""}]);let a=s},87716(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Dialog.jp-ThemedContainer {
  position: absolute;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background: var(--jp-dialog-background);
  container-type: inline-size;
}

.jp-Dialog-content {
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  background: var(--jp-layout-color1);
  padding: 24px 24px 12px;
  min-width: 300px;
  min-height: 150px;
  max-width: 1000px;
  max-height: 500px;
  box-sizing: border-box;
  box-shadow: var(--jp-elevation-z20);
  word-wrap: break-word;
  border-radius: var(--jp-border-radius);

  /* This is needed so that all font sizing of children done in ems is
   * relative to this base size */
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color1);
  resize: both;
  overflow: hidden;
}

.jp-Dialog-content.jp-Dialog-content-small {
  max-width: 500px;
}

.jp-Dialog-button {
  overflow: visible;
}

button.jp-Dialog-button:disabled {
  opacity: 0.6;
}

button.jp-Dialog-button:focus {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
  outline-offset: 4px;
  -moz-outline-radius: 0;
}

button.jp-Dialog-button:focus::-moz-focus-inner {
  border: 0;
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus,
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus,
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
  outline-offset: 4px;
  -moz-outline-radius: 0;
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-accept-color-normal, var(--jp-focus-outline-color));
  outline-style: solid;
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-warn-color-normal, var(--jp-error-color1));
  outline-style: solid;
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-reject-color-normal, var(--md-grey-600, #757575));
  outline-style: solid;
}

button.jp-Dialog-close-button {
  padding: 0;
  height: 100%;
  min-width: unset;
  min-height: unset;
}

.jp-Dialog-header {
  display: flex;
  justify-content: space-between;
  flex: 0 0 auto;
  padding-bottom: 12px;
  font-size: var(--jp-ui-font-size3);
  font-weight: 400;
  color: var(--jp-ui-font-color1);
}

.jp-Dialog-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  font-size: var(--jp-ui-font-size1);
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  overflow: auto;
}

.jp-Dialog-footer {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: start;
  flex: 0 0 auto;
  gap: 5px;
  margin-left: -12px;
  margin-right: -12px;
  padding: 12px;
}

.jp-Dialog-footerButtons {
  width: 100%;
  text-align: end;
}

.jp-Dialog-checkbox {
  padding-right: 5px;
  display: flex;
  align-items: center;
}

.jp-Dialog-spacer {
  flex: 1 1 auto;
}

.jp-Dialog-title {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.jp-Dialog-body > .jp-select-wrapper {
  width: 100%;
}

.jp-Dialog-body > button {
  padding: 0 16px;
}

.jp-Dialog-body > label {
  line-height: 1.4;
  color: var(--jp-ui-font-color0);
}

.jp-Dialog-button.jp-mod-styled:not(:last-child) {
  margin-right: 12px;
}

@container (max-width: 560px) {
  .jp-Dialog-footer {
    flex-direction: column;
    align-items: center;
    gap: 7px;
  }
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/apputils/style/dialog.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,kBAAkB;EAClB,cAAc;EACd,aAAa;EACb,sBAAsB;EACtB,mBAAmB;EACnB,uBAAuB;EACvB,MAAM;EACN,OAAO;EACP,SAAS;EACT,UAAU;EACV,WAAW;EACX,YAAY;EACZ,uCAAuC;EACvC,2BAA2B;AAC7B;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,iBAAiB;EACjB,kBAAkB;EAClB,mCAAmC;EACnC,uBAAuB;EACvB,gBAAgB;EAChB,iBAAiB;EACjB,iBAAiB;EACjB,iBAAiB;EACjB,sBAAsB;EACtB,mCAAmC;EACnC,qBAAqB;EACrB,sCAAsC;;EAEtC;iCAC+B;EAC/B,kCAAkC;EAClC,+BAA+B;EAC/B,YAAY;EACZ,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,mBAAmB;EACnB,sBAAsB;AACxB;;AAEA;EACE,SAAS;AACX;;AAEA;;;EAGE,mBAAmB;EACnB,sBAAsB;AACxB;;AAEA;EACE,4CAA4C;EAC5C,2EAA2E;EAC3E,oBAAoB;AACtB;;AAEA;EACE,4CAA4C;EAC5C,kEAAkE;EAClE,oBAAoB;AACtB;;AAEA;EACE,4CAA4C;EAC5C,yEAAyE;EACzE,oBAAoB;AACtB;;AAEA;EACE,UAAU;EACV,YAAY;EACZ,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,8BAA8B;EAC9B,cAAc;EACd,oBAAoB;EACpB,kCAAkC;EAClC,gBAAgB;EAChB,+BAA+B;AACjC;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,cAAc;EACd,kCAAkC;EAClC,mCAAmC;EACnC,+BAA+B;EAC/B,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,yBAAyB;EACzB,kBAAkB;EAClB,cAAc;EACd,QAAQ;EACR,kBAAkB;EAClB,mBAAmB;EACnB,aAAa;AACf;;AAEA;EACE,WAAW;EACX,eAAe;AACjB;;AAEA;EACE,kBAAkB;EAClB,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,gBAAgB;EAChB,+BAA+B;AACjC;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE;IACE,sBAAsB;IACtB,mBAAmB;IACnB,QAAQ;EACV;AACF",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Dialog.jp-ThemedContainer {\n  position: absolute;\n  z-index: 10000;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  top: 0;\n  left: 0;\n  margin: 0;\n  padding: 0;\n  width: 100%;\n  height: 100%;\n  background: var(--jp-dialog-background);\n  container-type: inline-size;\n}\n\n.jp-Dialog-content {\n  display: flex;\n  flex-direction: column;\n  margin-left: auto;\n  margin-right: auto;\n  background: var(--jp-layout-color1);\n  padding: 24px 24px 12px;\n  min-width: 300px;\n  min-height: 150px;\n  max-width: 1000px;\n  max-height: 500px;\n  box-sizing: border-box;\n  box-shadow: var(--jp-elevation-z20);\n  word-wrap: break-word;\n  border-radius: var(--jp-border-radius);\n\n  /* This is needed so that all font sizing of children done in ems is\n   * relative to this base size */\n  font-size: var(--jp-ui-font-size1);\n  color: var(--jp-ui-font-color1);\n  resize: both;\n  overflow: hidden;\n}\n\n.jp-Dialog-content.jp-Dialog-content-small {\n  max-width: 500px;\n}\n\n.jp-Dialog-button {\n  overflow: visible;\n}\n\nbutton.jp-Dialog-button:disabled {\n  opacity: 0.6;\n}\n\nbutton.jp-Dialog-button:focus {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n  outline-offset: 4px;\n  -moz-outline-radius: 0;\n}\n\nbutton.jp-Dialog-button:focus::-moz-focus-inner {\n  border: 0;\n}\n\nbutton.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus,\nbutton.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus,\nbutton.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {\n  outline-offset: 4px;\n  -moz-outline-radius: 0;\n}\n\nbutton.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-accept-color-normal, var(--jp-focus-outline-color));\n  outline-style: solid;\n}\n\nbutton.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-warn-color-normal, var(--jp-error-color1));\n  outline-style: solid;\n}\n\nbutton.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-reject-color-normal, var(--md-grey-600, #757575));\n  outline-style: solid;\n}\n\nbutton.jp-Dialog-close-button {\n  padding: 0;\n  height: 100%;\n  min-width: unset;\n  min-height: unset;\n}\n\n.jp-Dialog-header {\n  display: flex;\n  justify-content: space-between;\n  flex: 0 0 auto;\n  padding-bottom: 12px;\n  font-size: var(--jp-ui-font-size3);\n  font-weight: 400;\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-Dialog-body {\n  display: flex;\n  flex-direction: column;\n  flex: 1 1 auto;\n  font-size: var(--jp-ui-font-size1);\n  background: var(--jp-layout-color1);\n  color: var(--jp-ui-font-color1);\n  overflow: auto;\n}\n\n.jp-Dialog-footer {\n  display: flex;\n  flex-direction: column;\n  justify-content: flex-end;\n  align-items: start;\n  flex: 0 0 auto;\n  gap: 5px;\n  margin-left: -12px;\n  margin-right: -12px;\n  padding: 12px;\n}\n\n.jp-Dialog-footerButtons {\n  width: 100%;\n  text-align: end;\n}\n\n.jp-Dialog-checkbox {\n  padding-right: 5px;\n  display: flex;\n  align-items: center;\n}\n\n.jp-Dialog-spacer {\n  flex: 1 1 auto;\n}\n\n.jp-Dialog-title {\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n}\n\n.jp-Dialog-body > .jp-select-wrapper {\n  width: 100%;\n}\n\n.jp-Dialog-body > button {\n  padding: 0 16px;\n}\n\n.jp-Dialog-body > label {\n  line-height: 1.4;\n  color: var(--jp-ui-font-color0);\n}\n\n.jp-Dialog-button.jp-mod-styled:not(:last-child) {\n  margin-right: 12px;\n}\n\n@container (max-width: 560px) {\n  .jp-Dialog-footer {\n    flex-direction: column;\n    align-items: center;\n    gap: 7px;\n  }\n}\n"],sourceRoot:""}]);let a=s},99318(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-Input-Boolean-Dialog {
  flex-direction: row-reverse;
  align-items: end;
  width: 100%;
}

.jp-Input-Boolean-Dialog > label {
  flex: 1 1 auto;
}

.jp-InputDialog-inputWrapper {
  display: flex;
  align-items: baseline;
}

.jp-InputDialog-inputWrapper > input.jp-mod-styled:invalid {
  border-color: var(--jp-error-color0);
  background: var(--jp-error-color3);
}

.jp-InputDialog-inputWrapper
  > input[required].jp-mod-styled:invalid:placeholder-shown {
  /* Do not show invalid style when placeholder is shown */
  border-color: unset;
  background: unset;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/apputils/style/inputdialog.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;EACE,2BAA2B;EAC3B,gBAAgB;EAChB,WAAW;AACb;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,qBAAqB;AACvB;;AAEA;EACE,oCAAoC;EACpC,kCAAkC;AACpC;;AAEA;;EAEE,wDAAwD;EACxD,mBAAmB;EACnB,iBAAiB;AACnB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-Input-Boolean-Dialog {\n  flex-direction: row-reverse;\n  align-items: end;\n  width: 100%;\n}\n\n.jp-Input-Boolean-Dialog > label {\n  flex: 1 1 auto;\n}\n\n.jp-InputDialog-inputWrapper {\n  display: flex;\n  align-items: baseline;\n}\n\n.jp-InputDialog-inputWrapper > input.jp-mod-styled:invalid {\n  border-color: var(--jp-error-color0);\n  background: var(--jp-error-color3);\n}\n\n.jp-InputDialog-inputWrapper\n  > input[required].jp-mod-styled:invalid:placeholder-shown {\n  /* Do not show invalid style when placeholder is shown */\n  border-color: unset;\n  background: unset;\n}\n"],sourceRoot:""}]);let a=s},52720(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* licenses */
.jp-Licenses {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  background-color: var(--jp-layout-color0);
}

.jp-Licenses-FormArea {
  display: flex;
  flex-direction: column;
  min-width: calc(10 * var(--jp-ui-font-size1));
  width: calc(18 * var(--jp-ui-font-size1));
}

.jp-Licenses .lm-SplitPanel-handle:hover {
  background-color: var(--jp-brand-color2);
}

/* filters */
.jp-Licenses-Filters {
  padding: var(--jp-ui-font-size1) calc(var(--jp-ui-font-size1) / 2) 0
    var(--jp-ui-font-size1);
}

.jp-Licenses-Filters label {
  display: block;
}

.jp-Licenses-Filters-title {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: var(--jp-ui-font-size0);
  color: var(--jp-ui-font-color0);
}

.jp-RenderedHTMLCommon.jp-Licenses-Filters ul,
.jp-RenderedHTMLCommon.jp-Licenses-Filters li {
  list-style: none;
  color: var(--jp-ui-font-color0);
}

.jp-Licenses-Filters input {
  width: 100%;
}

.jp-RenderedHTMLCommon.jp-Licenses-Filters ul {
  padding: 0 0 var(--jp-ui-font-size1) 0;
  margin: 0;
  padding-bottom: var(--jp-ui-font-size1);
}

/* bundles */
.jp-Licenses-Bundles {
  background-color: var(--jp-layout-color2);
  overflow-y: auto;
  flex: 1;
}

.jp-Licenses-Bundles .lm-TabBar-content {
  width: 100%;
}

.jp-Licenses-Bundles .lm-TabBar-tab {
  padding: calc(var(--jp-ui-font-size1) / 2);
  background-color: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
}

.jp-Licenses-Bundles .lm-TabBar-tabLabel {
  text-overflow: ellipsis;
}

.jp-Licenses-Bundles .lm-TabBar-tab label {
  background-color: var(--jp-layout-color2);
  border-radius: var(--jp-ui-font-size1);
  width: calc(2.5 * var(--jp-ui-font-size1));
  padding: 0 calc(var(--jp-ui-font-size1) / 2);
  text-align: center;
  margin-left: calc(var(--jp-ui-font-size1) / 2);
}

.jp-Licenses-Bundles .lm-TabBar-tab.lm-mod-current {
  background-color: var(--jp-brand-color1);
  color: white;
}

.jp-Licenses-Bundles .lm-TabBar-tab.lm-mod-current label {
  background-color: white;
  color: var(--jp-brand-color1);
}

/* license grid */
.jp-Licenses-Grid.jp-RenderedHTMLCommon {
  min-width: calc(var(--jp-ui-font-size1) * 10);
  display: flex;
  flex-direction: column;
  padding: 0;
}

.jp-Licenses-Grid.jp-RenderedHTMLCommon form {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: scroll;
  margin: 0;
  padding: 0;
}

.jp-RenderedHTMLCommon.jp-Licenses-Grid table {
  flex: 1;
  max-width: 100%;
  border: solid var(--jp-border-width) var(--jp-border-color2);
  border-top: 0;
  border-bottom: 0;
  margin: 0;
}

.jp-Licenses-Grid.jp-RenderedHTMLCommon td,
.jp-Licenses-Grid.jp-RenderedHTMLCommon th {
  text-align: left;
}

.jp-Licenses-Grid td:nth-child(1) {
  max-width: calc(2 * var(--jp-ui-font-size1));
}

.jp-Licenses-Grid label {
  width: 100%;
}

.jp-Licenses .jp-Licenses-Grid.jp-RenderedHTMLCommon code {
  background-color: transparent;
  padding: 0;
}

.jp-Licenses-Grid.jp-RenderedHTMLCommon tr.jp-mod-selected {
  background-color: var(--jp-brand-color1);
  color: white;
}

.jp-Licenses-Grid.jp-RenderedHTMLCommon .jp-mod-selected code {
  color: white;
}

/* license text */
.jp-Licenses-Text {
  min-width: calc(10 * var(--jp-ui-font-size1));
  padding: 0 0 0 var(--jp-ui-font-size1);
  display: flex;
  flex-direction: column;
}

.jp-Licenses-Text h1 {
  flex: initial;
  margin-bottom: 0;
}

.jp-Licenses-Text h1:empty {
  display: none;
}

.jp-Licenses-Text blockquote {
  flex: initial;
}

.jp-Licenses-Text.jp-RenderedHTMLCommon code {
  overflow-wrap: anywhere;
  overflow-y: auto;
  flex: 1;
  padding-right: var(--jp-ui-font-size1);
  margin-bottom: 0;
  padding-bottom: var(--jp-ui-font-size1);
}

.jp-Licenses-Text code:empty {
  display: none;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/apputils/style/licenses.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E,aAAa;AACb;EACE,aAAa;EACb,mBAAmB;EACnB,oBAAoB;EACpB,yCAAyC;AAC3C;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,6CAA6C;EAC7C,yCAAyC;AAC3C;;AAEA;EACE,wCAAwC;AAC1C;;AAEA,YAAY;AACZ;EACE;2BACyB;AAC3B;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,gBAAgB;EAChB,yBAAyB;EACzB,mBAAmB;EACnB,kCAAkC;EAClC,+BAA+B;AACjC;;AAEA;;EAEE,gBAAgB;EAChB,+BAA+B;AACjC;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,sCAAsC;EACtC,SAAS;EACT,uCAAuC;AACzC;;AAEA,YAAY;AACZ;EACE,yCAAyC;EACzC,gBAAgB;EAChB,OAAO;AACT;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,0CAA0C;EAC1C,yCAAyC;EACzC,+BAA+B;AACjC;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,yCAAyC;EACzC,sCAAsC;EACtC,0CAA0C;EAC1C,4CAA4C;EAC5C,kBAAkB;EAClB,8CAA8C;AAChD;;AAEA;EACE,wCAAwC;EACxC,YAAY;AACd;;AAEA;EACE,uBAAuB;EACvB,6BAA6B;AAC/B;;AAEA,iBAAiB;AACjB;EACE,6CAA6C;EAC7C,aAAa;EACb,sBAAsB;EACtB,UAAU;AACZ;;AAEA;EACE,OAAO;EACP,aAAa;EACb,sBAAsB;EACtB,kBAAkB;EAClB,SAAS;EACT,UAAU;AACZ;;AAEA;EACE,OAAO;EACP,eAAe;EACf,4DAA4D;EAC5D,aAAa;EACb,gBAAgB;EAChB,SAAS;AACX;;AAEA;;EAEE,gBAAgB;AAClB;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,6BAA6B;EAC7B,UAAU;AACZ;;AAEA;EACE,wCAAwC;EACxC,YAAY;AACd;;AAEA;EACE,YAAY;AACd;;AAEA,iBAAiB;AACjB;EACE,6CAA6C;EAC7C,sCAAsC;EACtC,aAAa;EACb,sBAAsB;AACxB;;AAEA;EACE,aAAa;EACb,gBAAgB;AAClB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,OAAO;EACP,sCAAsC;EACtC,gBAAgB;EAChB,uCAAuC;AACzC;;AAEA;EACE,aAAa;AACf",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* licenses */\n.jp-Licenses {\n  display: flex;\n  flex-direction: row;\n  align-items: stretch;\n  background-color: var(--jp-layout-color0);\n}\n\n.jp-Licenses-FormArea {\n  display: flex;\n  flex-direction: column;\n  min-width: calc(10 * var(--jp-ui-font-size1));\n  width: calc(18 * var(--jp-ui-font-size1));\n}\n\n.jp-Licenses .lm-SplitPanel-handle:hover {\n  background-color: var(--jp-brand-color2);\n}\n\n/* filters */\n.jp-Licenses-Filters {\n  padding: var(--jp-ui-font-size1) calc(var(--jp-ui-font-size1) / 2) 0\n    var(--jp-ui-font-size1);\n}\n\n.jp-Licenses-Filters label {\n  display: block;\n}\n\n.jp-Licenses-Filters-title {\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 1px;\n  font-size: var(--jp-ui-font-size0);\n  color: var(--jp-ui-font-color0);\n}\n\n.jp-RenderedHTMLCommon.jp-Licenses-Filters ul,\n.jp-RenderedHTMLCommon.jp-Licenses-Filters li {\n  list-style: none;\n  color: var(--jp-ui-font-color0);\n}\n\n.jp-Licenses-Filters input {\n  width: 100%;\n}\n\n.jp-RenderedHTMLCommon.jp-Licenses-Filters ul {\n  padding: 0 0 var(--jp-ui-font-size1) 0;\n  margin: 0;\n  padding-bottom: var(--jp-ui-font-size1);\n}\n\n/* bundles */\n.jp-Licenses-Bundles {\n  background-color: var(--jp-layout-color2);\n  overflow-y: auto;\n  flex: 1;\n}\n\n.jp-Licenses-Bundles .lm-TabBar-content {\n  width: 100%;\n}\n\n.jp-Licenses-Bundles .lm-TabBar-tab {\n  padding: calc(var(--jp-ui-font-size1) / 2);\n  background-color: var(--jp-layout-color1);\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-Licenses-Bundles .lm-TabBar-tabLabel {\n  text-overflow: ellipsis;\n}\n\n.jp-Licenses-Bundles .lm-TabBar-tab label {\n  background-color: var(--jp-layout-color2);\n  border-radius: var(--jp-ui-font-size1);\n  width: calc(2.5 * var(--jp-ui-font-size1));\n  padding: 0 calc(var(--jp-ui-font-size1) / 2);\n  text-align: center;\n  margin-left: calc(var(--jp-ui-font-size1) / 2);\n}\n\n.jp-Licenses-Bundles .lm-TabBar-tab.lm-mod-current {\n  background-color: var(--jp-brand-color1);\n  color: white;\n}\n\n.jp-Licenses-Bundles .lm-TabBar-tab.lm-mod-current label {\n  background-color: white;\n  color: var(--jp-brand-color1);\n}\n\n/* license grid */\n.jp-Licenses-Grid.jp-RenderedHTMLCommon {\n  min-width: calc(var(--jp-ui-font-size1) * 10);\n  display: flex;\n  flex-direction: column;\n  padding: 0;\n}\n\n.jp-Licenses-Grid.jp-RenderedHTMLCommon form {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  overflow-y: scroll;\n  margin: 0;\n  padding: 0;\n}\n\n.jp-RenderedHTMLCommon.jp-Licenses-Grid table {\n  flex: 1;\n  max-width: 100%;\n  border: solid var(--jp-border-width) var(--jp-border-color2);\n  border-top: 0;\n  border-bottom: 0;\n  margin: 0;\n}\n\n.jp-Licenses-Grid.jp-RenderedHTMLCommon td,\n.jp-Licenses-Grid.jp-RenderedHTMLCommon th {\n  text-align: left;\n}\n\n.jp-Licenses-Grid td:nth-child(1) {\n  max-width: calc(2 * var(--jp-ui-font-size1));\n}\n\n.jp-Licenses-Grid label {\n  width: 100%;\n}\n\n.jp-Licenses .jp-Licenses-Grid.jp-RenderedHTMLCommon code {\n  background-color: transparent;\n  padding: 0;\n}\n\n.jp-Licenses-Grid.jp-RenderedHTMLCommon tr.jp-mod-selected {\n  background-color: var(--jp-brand-color1);\n  color: white;\n}\n\n.jp-Licenses-Grid.jp-RenderedHTMLCommon .jp-mod-selected code {\n  color: white;\n}\n\n/* license text */\n.jp-Licenses-Text {\n  min-width: calc(10 * var(--jp-ui-font-size1));\n  padding: 0 0 0 var(--jp-ui-font-size1);\n  display: flex;\n  flex-direction: column;\n}\n\n.jp-Licenses-Text h1 {\n  flex: initial;\n  margin-bottom: 0;\n}\n\n.jp-Licenses-Text h1:empty {\n  display: none;\n}\n\n.jp-Licenses-Text blockquote {\n  flex: initial;\n}\n\n.jp-Licenses-Text.jp-RenderedHTMLCommon code {\n  overflow-wrap: anywhere;\n  overflow-y: auto;\n  flex: 1;\n  padding-right: var(--jp-ui-font-size1);\n  margin-bottom: 0;\n  padding-bottom: var(--jp-ui-font-size1);\n}\n\n.jp-Licenses-Text code:empty {\n  display: none;\n}\n"],sourceRoot:""}]);let a=s},92516(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) 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;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/apputils/style/mainareawidget.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,aAAa;AACf;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,WAAW;EACX,aAAa;EACb,kCAAkC;EAClC,2DAA2D;EAC3D,sCAAsC;EACtC,+BAA+B;EAC/B,kCAAkC;EAClC,qBAAqB;EACrB,qBAAqB;AACvB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-MainAreaWidget > :focus {\n  outline: none;\n}\n\n.jp-MainAreaWidget .jp-MainAreaWidget-error {\n  padding: 6px;\n}\n\n.jp-MainAreaWidget .jp-MainAreaWidget-error > pre {\n  width: auto;\n  padding: 10px;\n  background: var(--jp-error-color3);\n  border: var(--jp-border-width) solid var(--jp-error-color1);\n  border-radius: var(--jp-border-radius);\n  color: var(--jp-ui-font-color1);\n  font-size: var(--jp-ui-font-size1);\n  white-space: pre-wrap;\n  word-wrap: break-word;\n}\n"],sourceRoot:""}]);let a=s},65275(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/**
 * google-material-color v1.2.6
 * https://github.com/danlevan/google-material-color
 */
:root {
  --md-red-50: #ffebee;
  --md-red-100: #ffcdd2;
  --md-red-200: #ef9a9a;
  --md-red-300: #e57373;
  --md-red-400: #ef5350;
  --md-red-500: #f44336;
  --md-red-600: #e53935;
  --md-red-700: #d32f2f;
  --md-red-800: #c62828;
  --md-red-900: #b71c1c;
  --md-red-A100: #ff8a80;
  --md-red-A200: #ff5252;
  --md-red-A400: #ff1744;
  --md-red-A700: #d50000;
  --md-pink-50: #fce4ec;
  --md-pink-100: #f8bbd0;
  --md-pink-200: #f48fb1;
  --md-pink-300: #f06292;
  --md-pink-400: #ec407a;
  --md-pink-500: #e91e63;
  --md-pink-600: #d81b60;
  --md-pink-700: #c2185b;
  --md-pink-800: #ad1457;
  --md-pink-900: #880e4f;
  --md-pink-A100: #ff80ab;
  --md-pink-A200: #ff4081;
  --md-pink-A400: #f50057;
  --md-pink-A700: #c51162;
  --md-purple-50: #f3e5f5;
  --md-purple-100: #e1bee7;
  --md-purple-200: #ce93d8;
  --md-purple-300: #ba68c8;
  --md-purple-400: #ab47bc;
  --md-purple-500: #9c27b0;
  --md-purple-600: #8e24aa;
  --md-purple-700: #7b1fa2;
  --md-purple-800: #6a1b9a;
  --md-purple-900: #4a148c;
  --md-purple-A100: #ea80fc;
  --md-purple-A200: #e040fb;
  --md-purple-A400: #d500f9;
  --md-purple-A700: #a0f;
  --md-deep-purple-50: #ede7f6;
  --md-deep-purple-100: #d1c4e9;
  --md-deep-purple-200: #b39ddb;
  --md-deep-purple-300: #9575cd;
  --md-deep-purple-400: #7e57c2;
  --md-deep-purple-500: #673ab7;
  --md-deep-purple-600: #5e35b1;
  --md-deep-purple-700: #512da8;
  --md-deep-purple-800: #4527a0;
  --md-deep-purple-900: #311b92;
  --md-deep-purple-A100: #b388ff;
  --md-deep-purple-A200: #7c4dff;
  --md-deep-purple-A400: #651fff;
  --md-deep-purple-A700: #6200ea;
  --md-indigo-50: #e8eaf6;
  --md-indigo-100: #c5cae9;
  --md-indigo-200: #9fa8da;
  --md-indigo-300: #7986cb;
  --md-indigo-400: #5c6bc0;
  --md-indigo-500: #3f51b5;
  --md-indigo-600: #3949ab;
  --md-indigo-700: #303f9f;
  --md-indigo-800: #283593;
  --md-indigo-900: #1a237e;
  --md-indigo-A100: #8c9eff;
  --md-indigo-A200: #536dfe;
  --md-indigo-A400: #3d5afe;
  --md-indigo-A700: #304ffe;
  --md-blue-50: #e3f2fd;
  --md-blue-100: #bbdefb;
  --md-blue-200: #90caf9;
  --md-blue-300: #64b5f6;
  --md-blue-400: #42a5f5;
  --md-blue-500: #2196f3;
  --md-blue-600: #1e88e5;
  --md-blue-700: #1976d2;
  --md-blue-800: #1565c0;
  --md-blue-900: #0d47a1;
  --md-blue-A100: #82b1ff;
  --md-blue-A200: #448aff;
  --md-blue-A400: #2979ff;
  --md-blue-A700: #2962ff;
  --md-light-blue-50: #e1f5fe;
  --md-light-blue-100: #b3e5fc;
  --md-light-blue-200: #81d4fa;
  --md-light-blue-300: #4fc3f7;
  --md-light-blue-400: #29b6f6;
  --md-light-blue-500: #03a9f4;
  --md-light-blue-600: #039be5;
  --md-light-blue-700: #0288d1;
  --md-light-blue-800: #0277bd;
  --md-light-blue-900: #01579b;
  --md-light-blue-A100: #80d8ff;
  --md-light-blue-A200: #40c4ff;
  --md-light-blue-A400: #00b0ff;
  --md-light-blue-A700: #0091ea;
  --md-cyan-50: #e0f7fa;
  --md-cyan-100: #b2ebf2;
  --md-cyan-200: #80deea;
  --md-cyan-300: #4dd0e1;
  --md-cyan-400: #26c6da;
  --md-cyan-500: #00bcd4;
  --md-cyan-600: #00acc1;
  --md-cyan-700: #0097a7;
  --md-cyan-800: #00838f;
  --md-cyan-900: #006064;
  --md-cyan-A100: #84ffff;
  --md-cyan-A200: #18ffff;
  --md-cyan-A400: #00e5ff;
  --md-cyan-A700: #00b8d4;
  --md-teal-50: #e0f2f1;
  --md-teal-100: #b2dfdb;
  --md-teal-200: #80cbc4;
  --md-teal-300: #4db6ac;
  --md-teal-400: #26a69a;
  --md-teal-500: #009688;
  --md-teal-600: #00897b;
  --md-teal-700: #00796b;
  --md-teal-800: #00695c;
  --md-teal-900: #004d40;
  --md-teal-A100: #a7ffeb;
  --md-teal-A200: #64ffda;
  --md-teal-A400: #1de9b6;
  --md-teal-A700: #00bfa5;
  --md-green-50: #e8f5e9;
  --md-green-100: #c8e6c9;
  --md-green-200: #a5d6a7;
  --md-green-300: #81c784;
  --md-green-400: #66bb6a;
  --md-green-500: #4caf50;
  --md-green-600: #43a047;
  --md-green-700: #388e3c;
  --md-green-800: #2e7d32;
  --md-green-900: #1b5e20;
  --md-green-A100: #b9f6ca;
  --md-green-A200: #69f0ae;
  --md-green-A400: #00e676;
  --md-green-A700: #00c853;
  --md-light-green-50: #f1f8e9;
  --md-light-green-100: #dcedc8;
  --md-light-green-200: #c5e1a5;
  --md-light-green-300: #aed581;
  --md-light-green-400: #9ccc65;
  --md-light-green-500: #8bc34a;
  --md-light-green-600: #7cb342;
  --md-light-green-700: #689f38;
  --md-light-green-800: #558b2f;
  --md-light-green-900: #33691e;
  --md-light-green-A100: #ccff90;
  --md-light-green-A200: #b2ff59;
  --md-light-green-A400: #76ff03;
  --md-light-green-A700: #64dd17;
  --md-lime-50: #f9fbe7;
  --md-lime-100: #f0f4c3;
  --md-lime-200: #e6ee9c;
  --md-lime-300: #dce775;
  --md-lime-400: #d4e157;
  --md-lime-500: #cddc39;
  --md-lime-600: #c0ca33;
  --md-lime-700: #afb42b;
  --md-lime-800: #9e9d24;
  --md-lime-900: #827717;
  --md-lime-A100: #f4ff81;
  --md-lime-A200: #eeff41;
  --md-lime-A400: #c6ff00;
  --md-lime-A700: #aeea00;
  --md-yellow-50: #fffde7;
  --md-yellow-100: #fff9c4;
  --md-yellow-200: #fff59d;
  --md-yellow-300: #fff176;
  --md-yellow-400: #ffee58;
  --md-yellow-500: #ffeb3b;
  --md-yellow-600: #fdd835;
  --md-yellow-700: #fbc02d;
  --md-yellow-800: #f9a825;
  --md-yellow-900: #f57f17;
  --md-yellow-A100: #ffff8d;
  --md-yellow-A200: #ff0;
  --md-yellow-A400: #ffea00;
  --md-yellow-A700: #ffd600;
  --md-amber-50: #fff8e1;
  --md-amber-100: #ffecb3;
  --md-amber-200: #ffe082;
  --md-amber-300: #ffd54f;
  --md-amber-400: #ffca28;
  --md-amber-500: #ffc107;
  --md-amber-600: #ffb300;
  --md-amber-700: #ffa000;
  --md-amber-800: #ff8f00;
  --md-amber-900: #ff6f00;
  --md-amber-A100: #ffe57f;
  --md-amber-A200: #ffd740;
  --md-amber-A400: #ffc400;
  --md-amber-A700: #ffab00;
  --md-orange-50: #fff3e0;
  --md-orange-100: #ffe0b2;
  --md-orange-200: #ffcc80;
  --md-orange-300: #ffb74d;
  --md-orange-400: #ffa726;
  --md-orange-500: #ff9800;
  --md-orange-600: #fb8c00;
  --md-orange-700: #f57c00;
  --md-orange-800: #ef6c00;
  --md-orange-900: #e65100;
  --md-orange-A100: #ffd180;
  --md-orange-A200: #ffab40;
  --md-orange-A400: #ff9100;
  --md-orange-A700: #ff6d00;
  --md-deep-orange-50: #fbe9e7;
  --md-deep-orange-100: #ffccbc;
  --md-deep-orange-200: #ffab91;
  --md-deep-orange-300: #ff8a65;
  --md-deep-orange-400: #ff7043;
  --md-deep-orange-500: #ff5722;
  --md-deep-orange-600: #f4511e;
  --md-deep-orange-700: #e64a19;
  --md-deep-orange-800: #d84315;
  --md-deep-orange-900: #bf360c;
  --md-deep-orange-A100: #ff9e80;
  --md-deep-orange-A200: #ff6e40;
  --md-deep-orange-A400: #ff3d00;
  --md-deep-orange-A700: #dd2c00;
  --md-brown-50: #efebe9;
  --md-brown-100: #d7ccc8;
  --md-brown-200: #bcaaa4;
  --md-brown-300: #a1887f;
  --md-brown-400: #8d6e63;
  --md-brown-500: #795548;
  --md-brown-600: #6d4c41;
  --md-brown-700: #5d4037;
  --md-brown-800: #4e342e;
  --md-brown-900: #3e2723;
  --md-grey-50: #fafafa;
  --md-grey-100: #f5f5f5;
  --md-grey-200: #eee;
  --md-grey-300: #e0e0e0;
  --md-grey-400: #bdbdbd;
  --md-grey-500: #9e9e9e;
  --md-grey-600: #757575;
  --md-grey-700: #616161;
  --md-grey-800: #424242;
  --md-grey-900: #212121;
  --md-blue-grey-50: #eceff1;
  --md-blue-grey-100: #cfd8dc;
  --md-blue-grey-200: #b0bec5;
  --md-blue-grey-300: #90a4ae;
  --md-blue-grey-400: #78909c;
  --md-blue-grey-500: #607d8b;
  --md-blue-grey-600: #546e7a;
  --md-blue-grey-700: #455a64;
  --md-blue-grey-800: #37474f;
  --md-blue-grey-900: #263238;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/apputils/style/materialcolors.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;;EAGE;AACF;EACE,oBAAoB;EACpB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,qBAAqB;EACrB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,yBAAyB;EACzB,yBAAyB;EACzB,yBAAyB;EACzB,sBAAsB;EACtB,4BAA4B;EAC5B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,8BAA8B;EAC9B,8BAA8B;EAC9B,8BAA8B;EAC9B,8BAA8B;EAC9B,uBAAuB;EACvB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,yBAAyB;EACzB,yBAAyB;EACzB,yBAAyB;EACzB,yBAAyB;EACzB,qBAAqB;EACrB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,2BAA2B;EAC3B,4BAA4B;EAC5B,4BAA4B;EAC5B,4BAA4B;EAC5B,4BAA4B;EAC5B,4BAA4B;EAC5B,4BAA4B;EAC5B,4BAA4B;EAC5B,4BAA4B;EAC5B,4BAA4B;EAC5B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,qBAAqB;EACrB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,qBAAqB;EACrB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,4BAA4B;EAC5B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,8BAA8B;EAC9B,8BAA8B;EAC9B,8BAA8B;EAC9B,8BAA8B;EAC9B,qBAAqB;EACrB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,yBAAyB;EACzB,sBAAsB;EACtB,yBAAyB;EACzB,yBAAyB;EACzB,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,uBAAuB;EACvB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,yBAAyB;EACzB,yBAAyB;EACzB,yBAAyB;EACzB,yBAAyB;EACzB,4BAA4B;EAC5B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,6BAA6B;EAC7B,8BAA8B;EAC9B,8BAA8B;EAC9B,8BAA8B;EAC9B,8BAA8B;EAC9B,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,uBAAuB;EACvB,qBAAqB;EACrB,sBAAsB;EACtB,mBAAmB;EACnB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,sBAAsB;EACtB,0BAA0B;EAC1B,2BAA2B;EAC3B,2BAA2B;EAC3B,2BAA2B;EAC3B,2BAA2B;EAC3B,2BAA2B;EAC3B,2BAA2B;EAC3B,2BAA2B;EAC3B,2BAA2B;EAC3B,2BAA2B;AAC7B",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/**\n * google-material-color v1.2.6\n * https://github.com/danlevan/google-material-color\n */\n:root {\n  --md-red-50: #ffebee;\n  --md-red-100: #ffcdd2;\n  --md-red-200: #ef9a9a;\n  --md-red-300: #e57373;\n  --md-red-400: #ef5350;\n  --md-red-500: #f44336;\n  --md-red-600: #e53935;\n  --md-red-700: #d32f2f;\n  --md-red-800: #c62828;\n  --md-red-900: #b71c1c;\n  --md-red-A100: #ff8a80;\n  --md-red-A200: #ff5252;\n  --md-red-A400: #ff1744;\n  --md-red-A700: #d50000;\n  --md-pink-50: #fce4ec;\n  --md-pink-100: #f8bbd0;\n  --md-pink-200: #f48fb1;\n  --md-pink-300: #f06292;\n  --md-pink-400: #ec407a;\n  --md-pink-500: #e91e63;\n  --md-pink-600: #d81b60;\n  --md-pink-700: #c2185b;\n  --md-pink-800: #ad1457;\n  --md-pink-900: #880e4f;\n  --md-pink-A100: #ff80ab;\n  --md-pink-A200: #ff4081;\n  --md-pink-A400: #f50057;\n  --md-pink-A700: #c51162;\n  --md-purple-50: #f3e5f5;\n  --md-purple-100: #e1bee7;\n  --md-purple-200: #ce93d8;\n  --md-purple-300: #ba68c8;\n  --md-purple-400: #ab47bc;\n  --md-purple-500: #9c27b0;\n  --md-purple-600: #8e24aa;\n  --md-purple-700: #7b1fa2;\n  --md-purple-800: #6a1b9a;\n  --md-purple-900: #4a148c;\n  --md-purple-A100: #ea80fc;\n  --md-purple-A200: #e040fb;\n  --md-purple-A400: #d500f9;\n  --md-purple-A700: #a0f;\n  --md-deep-purple-50: #ede7f6;\n  --md-deep-purple-100: #d1c4e9;\n  --md-deep-purple-200: #b39ddb;\n  --md-deep-purple-300: #9575cd;\n  --md-deep-purple-400: #7e57c2;\n  --md-deep-purple-500: #673ab7;\n  --md-deep-purple-600: #5e35b1;\n  --md-deep-purple-700: #512da8;\n  --md-deep-purple-800: #4527a0;\n  --md-deep-purple-900: #311b92;\n  --md-deep-purple-A100: #b388ff;\n  --md-deep-purple-A200: #7c4dff;\n  --md-deep-purple-A400: #651fff;\n  --md-deep-purple-A700: #6200ea;\n  --md-indigo-50: #e8eaf6;\n  --md-indigo-100: #c5cae9;\n  --md-indigo-200: #9fa8da;\n  --md-indigo-300: #7986cb;\n  --md-indigo-400: #5c6bc0;\n  --md-indigo-500: #3f51b5;\n  --md-indigo-600: #3949ab;\n  --md-indigo-700: #303f9f;\n  --md-indigo-800: #283593;\n  --md-indigo-900: #1a237e;\n  --md-indigo-A100: #8c9eff;\n  --md-indigo-A200: #536dfe;\n  --md-indigo-A400: #3d5afe;\n  --md-indigo-A700: #304ffe;\n  --md-blue-50: #e3f2fd;\n  --md-blue-100: #bbdefb;\n  --md-blue-200: #90caf9;\n  --md-blue-300: #64b5f6;\n  --md-blue-400: #42a5f5;\n  --md-blue-500: #2196f3;\n  --md-blue-600: #1e88e5;\n  --md-blue-700: #1976d2;\n  --md-blue-800: #1565c0;\n  --md-blue-900: #0d47a1;\n  --md-blue-A100: #82b1ff;\n  --md-blue-A200: #448aff;\n  --md-blue-A400: #2979ff;\n  --md-blue-A700: #2962ff;\n  --md-light-blue-50: #e1f5fe;\n  --md-light-blue-100: #b3e5fc;\n  --md-light-blue-200: #81d4fa;\n  --md-light-blue-300: #4fc3f7;\n  --md-light-blue-400: #29b6f6;\n  --md-light-blue-500: #03a9f4;\n  --md-light-blue-600: #039be5;\n  --md-light-blue-700: #0288d1;\n  --md-light-blue-800: #0277bd;\n  --md-light-blue-900: #01579b;\n  --md-light-blue-A100: #80d8ff;\n  --md-light-blue-A200: #40c4ff;\n  --md-light-blue-A400: #00b0ff;\n  --md-light-blue-A700: #0091ea;\n  --md-cyan-50: #e0f7fa;\n  --md-cyan-100: #b2ebf2;\n  --md-cyan-200: #80deea;\n  --md-cyan-300: #4dd0e1;\n  --md-cyan-400: #26c6da;\n  --md-cyan-500: #00bcd4;\n  --md-cyan-600: #00acc1;\n  --md-cyan-700: #0097a7;\n  --md-cyan-800: #00838f;\n  --md-cyan-900: #006064;\n  --md-cyan-A100: #84ffff;\n  --md-cyan-A200: #18ffff;\n  --md-cyan-A400: #00e5ff;\n  --md-cyan-A700: #00b8d4;\n  --md-teal-50: #e0f2f1;\n  --md-teal-100: #b2dfdb;\n  --md-teal-200: #80cbc4;\n  --md-teal-300: #4db6ac;\n  --md-teal-400: #26a69a;\n  --md-teal-500: #009688;\n  --md-teal-600: #00897b;\n  --md-teal-700: #00796b;\n  --md-teal-800: #00695c;\n  --md-teal-900: #004d40;\n  --md-teal-A100: #a7ffeb;\n  --md-teal-A200: #64ffda;\n  --md-teal-A400: #1de9b6;\n  --md-teal-A700: #00bfa5;\n  --md-green-50: #e8f5e9;\n  --md-green-100: #c8e6c9;\n  --md-green-200: #a5d6a7;\n  --md-green-300: #81c784;\n  --md-green-400: #66bb6a;\n  --md-green-500: #4caf50;\n  --md-green-600: #43a047;\n  --md-green-700: #388e3c;\n  --md-green-800: #2e7d32;\n  --md-green-900: #1b5e20;\n  --md-green-A100: #b9f6ca;\n  --md-green-A200: #69f0ae;\n  --md-green-A400: #00e676;\n  --md-green-A700: #00c853;\n  --md-light-green-50: #f1f8e9;\n  --md-light-green-100: #dcedc8;\n  --md-light-green-200: #c5e1a5;\n  --md-light-green-300: #aed581;\n  --md-light-green-400: #9ccc65;\n  --md-light-green-500: #8bc34a;\n  --md-light-green-600: #7cb342;\n  --md-light-green-700: #689f38;\n  --md-light-green-800: #558b2f;\n  --md-light-green-900: #33691e;\n  --md-light-green-A100: #ccff90;\n  --md-light-green-A200: #b2ff59;\n  --md-light-green-A400: #76ff03;\n  --md-light-green-A700: #64dd17;\n  --md-lime-50: #f9fbe7;\n  --md-lime-100: #f0f4c3;\n  --md-lime-200: #e6ee9c;\n  --md-lime-300: #dce775;\n  --md-lime-400: #d4e157;\n  --md-lime-500: #cddc39;\n  --md-lime-600: #c0ca33;\n  --md-lime-700: #afb42b;\n  --md-lime-800: #9e9d24;\n  --md-lime-900: #827717;\n  --md-lime-A100: #f4ff81;\n  --md-lime-A200: #eeff41;\n  --md-lime-A400: #c6ff00;\n  --md-lime-A700: #aeea00;\n  --md-yellow-50: #fffde7;\n  --md-yellow-100: #fff9c4;\n  --md-yellow-200: #fff59d;\n  --md-yellow-300: #fff176;\n  --md-yellow-400: #ffee58;\n  --md-yellow-500: #ffeb3b;\n  --md-yellow-600: #fdd835;\n  --md-yellow-700: #fbc02d;\n  --md-yellow-800: #f9a825;\n  --md-yellow-900: #f57f17;\n  --md-yellow-A100: #ffff8d;\n  --md-yellow-A200: #ff0;\n  --md-yellow-A400: #ffea00;\n  --md-yellow-A700: #ffd600;\n  --md-amber-50: #fff8e1;\n  --md-amber-100: #ffecb3;\n  --md-amber-200: #ffe082;\n  --md-amber-300: #ffd54f;\n  --md-amber-400: #ffca28;\n  --md-amber-500: #ffc107;\n  --md-amber-600: #ffb300;\n  --md-amber-700: #ffa000;\n  --md-amber-800: #ff8f00;\n  --md-amber-900: #ff6f00;\n  --md-amber-A100: #ffe57f;\n  --md-amber-A200: #ffd740;\n  --md-amber-A400: #ffc400;\n  --md-amber-A700: #ffab00;\n  --md-orange-50: #fff3e0;\n  --md-orange-100: #ffe0b2;\n  --md-orange-200: #ffcc80;\n  --md-orange-300: #ffb74d;\n  --md-orange-400: #ffa726;\n  --md-orange-500: #ff9800;\n  --md-orange-600: #fb8c00;\n  --md-orange-700: #f57c00;\n  --md-orange-800: #ef6c00;\n  --md-orange-900: #e65100;\n  --md-orange-A100: #ffd180;\n  --md-orange-A200: #ffab40;\n  --md-orange-A400: #ff9100;\n  --md-orange-A700: #ff6d00;\n  --md-deep-orange-50: #fbe9e7;\n  --md-deep-orange-100: #ffccbc;\n  --md-deep-orange-200: #ffab91;\n  --md-deep-orange-300: #ff8a65;\n  --md-deep-orange-400: #ff7043;\n  --md-deep-orange-500: #ff5722;\n  --md-deep-orange-600: #f4511e;\n  --md-deep-orange-700: #e64a19;\n  --md-deep-orange-800: #d84315;\n  --md-deep-orange-900: #bf360c;\n  --md-deep-orange-A100: #ff9e80;\n  --md-deep-orange-A200: #ff6e40;\n  --md-deep-orange-A400: #ff3d00;\n  --md-deep-orange-A700: #dd2c00;\n  --md-brown-50: #efebe9;\n  --md-brown-100: #d7ccc8;\n  --md-brown-200: #bcaaa4;\n  --md-brown-300: #a1887f;\n  --md-brown-400: #8d6e63;\n  --md-brown-500: #795548;\n  --md-brown-600: #6d4c41;\n  --md-brown-700: #5d4037;\n  --md-brown-800: #4e342e;\n  --md-brown-900: #3e2723;\n  --md-grey-50: #fafafa;\n  --md-grey-100: #f5f5f5;\n  --md-grey-200: #eee;\n  --md-grey-300: #e0e0e0;\n  --md-grey-400: #bdbdbd;\n  --md-grey-500: #9e9e9e;\n  --md-grey-600: #757575;\n  --md-grey-700: #616161;\n  --md-grey-800: #424242;\n  --md-grey-900: #212121;\n  --md-blue-grey-50: #eceff1;\n  --md-blue-grey-100: #cfd8dc;\n  --md-blue-grey-200: #b0bec5;\n  --md-blue-grey-300: #90a4ae;\n  --md-blue-grey-400: #78909c;\n  --md-blue-grey-500: #607d8b;\n  --md-blue-grey-600: #546e7a;\n  --md-blue-grey-700: #455a64;\n  --md-blue-grey-800: #37474f;\n  --md-blue-grey-900: #263238;\n}\n"],sourceRoot:""}]);let a=s},52023(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/* @deprecated dead code to be removed in JupyterLab 5 */
.jp-Toolbar-item.jp-Toolbar-kernelStatus {
  display: inline-block;
  width: 32px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/apputils/style/toolbar.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF,wDAAwD;AACxD;EACE,qBAAqB;EACrB,WAAW;EACX,4BAA4B;EAC5B,2BAA2B;EAC3B,qBAAqB;AACvB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/* @deprecated dead code to be removed in JupyterLab 5 */\n.jp-Toolbar-item.jp-Toolbar-kernelStatus {\n  display: inline-block;\n  width: 32px;\n  background-repeat: no-repeat;\n  background-position: center;\n  background-size: 16px;\n}\n"],sourceRoot:""}]);let a=s},9317(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/**
 * Base styles for the audio viewer
 */

.jp-AudioViewer {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 20px;
  box-sizing: border-box;
}

.jp-AudioViewer > audio {
  width: 100%;
  object-fit: contain;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/audio-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;EAEE;;AAEF;EACE,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;EACX,YAAY;EACZ,aAAa;EACb,sBAAsB;AACxB;;AAEA;EACE,WAAW;EACX,mBAAmB;AACrB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/**\n * Base styles for the audio viewer\n */\n\n.jp-AudioViewer {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  width: 100%;\n  height: 100%;\n  padding: 20px;\n  box-sizing: border-box;\n}\n\n.jp-AudioViewer > audio {\n  width: 100%;\n  object-fit: contain;\n}\n"],sourceRoot:""}]);let a=s},13153(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-cell-button .jp-icon3[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-cell-button:hover .jp-icon3[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-toolbar-overlap .jp-cell-toolbar {
  display: none;
}

.jp-cell-toolbar {
  display: flex;
  flex-direction: row;
  padding: 0;
  min-height: 25px;
  z-index: 6;
  position: absolute;
  right: 3px;

  /* Override .jp-Toolbar */
  background-color: transparent;
  border-bottom: inherit;
  box-shadow: none;
}

/* Overrides for mobile view hiding cell toolbar */
@media only screen and (width <= 760px) {
  .jp-cell-toolbar {
    display: none;
  }
}

.jp-cell-toolbar button.jp-ToolbarButtonComponent {
  cursor: pointer;
}

.jp-cell-toolbar .jp-ToolbarButton button {
  display: none;
}

.jp-cell-toolbar .jp-ToolbarButton .jp-cell-all,
.jp-CodeCell .jp-ToolbarButton .jp-cell-code,
.jp-MarkdownCell .jp-ToolbarButton .jp-cell-markdown,
.jp-RawCell .jp-ToolbarButton .jp-cell-raw {
  display: block;
}

.jp-cell-toolbar .jp-Toolbar-spacer {
  flex: 1 1 auto;
}

.jp-cell-mod-click {
  cursor: pointer;
}

/* Custom styling for rendered markdown cells so that cell toolbar is visible */
.jp-MarkdownOutput {
  border-width: var(--jp-border-width);
  border-color: transparent;
  border-style: solid;
}

.jp-mod-active .jp-MarkdownOutput {
  border-color: var(--jp-cell-editor-border-color);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/cell-toolbar/style/base.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,UAAU;EACV,gBAAgB;EAChB,UAAU;EACV,kBAAkB;EAClB,UAAU;;EAEV,yBAAyB;EACzB,6BAA6B;EAC7B,sBAAsB;EACtB,gBAAgB;AAClB;;AAEA,kDAAkD;AAClD;EACE;IACE,aAAa;EACf;AACF;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,aAAa;AACf;;AAEA;;;;EAIE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,eAAe;AACjB;;AAEA,+EAA+E;AAC/E;EACE,oCAAoC;EACpC,yBAAyB;EACzB,mBAAmB;AACrB;;AAEA;EACE,gDAAgD;AAClD",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-cell-button .jp-icon3[fill] {\n  fill: var(--jp-inverse-layout-color4);\n}\n\n.jp-cell-button:hover .jp-icon3[fill] {\n  fill: var(--jp-inverse-layout-color2);\n}\n\n.jp-toolbar-overlap .jp-cell-toolbar {\n  display: none;\n}\n\n.jp-cell-toolbar {\n  display: flex;\n  flex-direction: row;\n  padding: 0;\n  min-height: 25px;\n  z-index: 6;\n  position: absolute;\n  right: 3px;\n\n  /* Override .jp-Toolbar */\n  background-color: transparent;\n  border-bottom: inherit;\n  box-shadow: none;\n}\n\n/* Overrides for mobile view hiding cell toolbar */\n@media only screen and (width <= 760px) {\n  .jp-cell-toolbar {\n    display: none;\n  }\n}\n\n.jp-cell-toolbar button.jp-ToolbarButtonComponent {\n  cursor: pointer;\n}\n\n.jp-cell-toolbar .jp-ToolbarButton button {\n  display: none;\n}\n\n.jp-cell-toolbar .jp-ToolbarButton .jp-cell-all,\n.jp-CodeCell .jp-ToolbarButton .jp-cell-code,\n.jp-MarkdownCell .jp-ToolbarButton .jp-cell-markdown,\n.jp-RawCell .jp-ToolbarButton .jp-cell-raw {\n  display: block;\n}\n\n.jp-cell-toolbar .jp-Toolbar-spacer {\n  flex: 1 1 auto;\n}\n\n.jp-cell-mod-click {\n  cursor: pointer;\n}\n\n/* Custom styling for rendered markdown cells so that cell toolbar is visible */\n.jp-MarkdownOutput {\n  border-width: var(--jp-border-width);\n  border-color: transparent;\n  border-style: solid;\n}\n\n.jp-mod-active .jp-MarkdownOutput {\n  border-color: var(--jp-cell-editor-border-color);\n}\n"],sourceRoot:""}]);let a=s},25798(e,t,n){"use strict";n.d(t,{A:()=>p});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(82232),l=n(76967),d=n(27850),c=n(50062),h=n(85521),u=s()(o());u.i(a.A),u.i(l.A),u.i(d.A),u.i(c.A),u.i(h.A),u.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/cells/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n@import './collapser.css';\n@import './headerfooter.css';\n@import './inputarea.css';\n@import './placeholder.css';\n@import './widget.css';\n"],sourceRoot:""}]);let p=u},82232(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Collapser {
  flex: 0 0 var(--jp-cell-collapser-width);
  padding: 0;
  margin: 0;
  border: none;
  outline: none;
  background: transparent;
  border-radius: var(--jp-border-radius);
  opacity: 1;
}

.jp-Collapser-child {
  display: block;
  width: 100%;
  box-sizing: border-box;

  /* height: 100% doesn't work because the height of its parent is computed from content */
  position: absolute;
  top: 0;
  bottom: 0;
}

/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/

/*
Hiding collapsers in print mode.

Note: input and output wrappers have "display: block" property in print mode.
*/

@media print {
  .jp-Collapser {
    display: none;
  }
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/cells/style/collapser.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,wCAAwC;EACxC,UAAU;EACV,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uBAAuB;EACvB,sCAAsC;EACtC,UAAU;AACZ;;AAEA;EACE,cAAc;EACd,WAAW;EACX,sBAAsB;;EAEtB,wFAAwF;EACxF,kBAAkB;EAClB,MAAM;EACN,SAAS;AACX;;AAEA;;8EAE8E;;AAE9E;;;;CAIC;;AAED;EACE;IACE,aAAa;EACf;AACF",sourcesContent:['/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Collapser {\n  flex: 0 0 var(--jp-cell-collapser-width);\n  padding: 0;\n  margin: 0;\n  border: none;\n  outline: none;\n  background: transparent;\n  border-radius: var(--jp-border-radius);\n  opacity: 1;\n}\n\n.jp-Collapser-child {\n  display: block;\n  width: 100%;\n  box-sizing: border-box;\n\n  /* height: 100% doesn\'t work because the height of its parent is computed from content */\n  position: absolute;\n  top: 0;\n  bottom: 0;\n}\n\n/*-----------------------------------------------------------------------------\n| Printing\n|----------------------------------------------------------------------------*/\n\n/*\nHiding collapsers in print mode.\n\nNote: input and output wrappers have "display: block" property in print mode.\n*/\n\n@media print {\n  .jp-Collapser {\n    display: none;\n  }\n}\n'],sourceRoot:""}]);let a=s},76967(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Header/Footer
|----------------------------------------------------------------------------*/

/* Hidden by zero height by default */
.jp-CellHeader,
.jp-CellFooter {
  height: 0;
  width: 100%;
  padding: 0;
  margin: 0;
  border: none;
  outline: none;
  background: transparent;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/cells/style/headerfooter.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E,qCAAqC;AACrC;;EAEE,SAAS;EACT,WAAW;EACX,UAAU;EACV,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uBAAuB;AACzB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Header/Footer\n|----------------------------------------------------------------------------*/\n\n/* Hidden by zero height by default */\n.jp-CellHeader,\n.jp-CellFooter {\n  height: 0;\n  width: 100%;\n  padding: 0;\n  margin: 0;\n  border: none;\n  outline: none;\n  background: transparent;\n}\n"],sourceRoot:""}]);let a=s},27850(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| 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;
  width: 100%;
  overflow: hidden;
}

.jp-InputArea-editor {
  flex: 1 1 auto;
  overflow: hidden;

  /* This is the non-active, default styling */
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  border-radius: 0;
  background: var(--jp-cell-editor-background);
}

.jp-InputPrompt {
  flex: 0 0 var(--jp-cell-prompt-width);
  width: var(--jp-cell-prompt-width);
  color: var(--jp-cell-inprompt-font-color);
  font-family: var(--jp-cell-prompt-font-family);
  padding: var(--jp-code-padding);
  letter-spacing: var(--jp-cell-prompt-letter-spacing);
  opacity: var(--jp-cell-prompt-opacity);
  line-height: var(--jp-code-line-height);
  font-size: var(--jp-code-font-size);
  border: var(--jp-border-width) solid transparent;

  /* Right align prompt text, don't wrap to handle large prompt numbers */
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  /* Disable text selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/*-----------------------------------------------------------------------------
| Print
|----------------------------------------------------------------------------*/
@media print {
  .jp-InputArea {
    display: table;
    table-layout: fixed;
  }

  .jp-InputArea-editor {
    display: table-cell;
    vertical-align: top;
  }

  .jp-InputPrompt {
    display: table-cell;
    vertical-align: top;
  }
}

/*-----------------------------------------------------------------------------
| Mobile
|----------------------------------------------------------------------------*/
@media only screen and (width <= 760px) {
  .jp-InputArea {
    flex-direction: column;
  }

  .jp-InputArea-editor {
    margin-left: var(--jp-code-padding);
  }

  .jp-InputPrompt {
    flex: 0 0 auto;
    text-align: left;
  }
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/cells/style/inputarea.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E,oBAAoB;AACpB;EACE,aAAa;EACb,mBAAmB;EACnB,WAAW;EACX,gBAAgB;AAClB;;AAEA;EACE,cAAc;EACd,gBAAgB;;EAEhB,4CAA4C;EAC5C,uEAAuE;EACvE,gBAAgB;EAChB,4CAA4C;AAC9C;;AAEA;EACE,qCAAqC;EACrC,kCAAkC;EAClC,yCAAyC;EACzC,8CAA8C;EAC9C,+BAA+B;EAC/B,oDAAoD;EACpD,sCAAsC;EACtC,uCAAuC;EACvC,mCAAmC;EACnC,gDAAgD;;EAEhD,uEAAuE;EACvE,iBAAiB;EACjB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;;EAEvB,2BAA2B;EAC3B,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;AACnB;;AAEA;;8EAE8E;AAC9E;EACE;IACE,cAAc;IACd,mBAAmB;EACrB;;EAEA;IACE,mBAAmB;IACnB,mBAAmB;EACrB;;EAEA;IACE,mBAAmB;IACnB,mBAAmB;EACrB;AACF;;AAEA;;8EAE8E;AAC9E;EACE;IACE,sBAAsB;EACxB;;EAEA;IACE,mCAAmC;EACrC;;EAEA;IACE,cAAc;IACd,gBAAgB;EAClB;AACF",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Input\n|----------------------------------------------------------------------------*/\n\n/* All input areas */\n.jp-InputArea {\n  display: flex;\n  flex-direction: row;\n  width: 100%;\n  overflow: hidden;\n}\n\n.jp-InputArea-editor {\n  flex: 1 1 auto;\n  overflow: hidden;\n\n  /* This is the non-active, default styling */\n  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);\n  border-radius: 0;\n  background: var(--jp-cell-editor-background);\n}\n\n.jp-InputPrompt {\n  flex: 0 0 var(--jp-cell-prompt-width);\n  width: var(--jp-cell-prompt-width);\n  color: var(--jp-cell-inprompt-font-color);\n  font-family: var(--jp-cell-prompt-font-family);\n  padding: var(--jp-code-padding);\n  letter-spacing: var(--jp-cell-prompt-letter-spacing);\n  opacity: var(--jp-cell-prompt-opacity);\n  line-height: var(--jp-code-line-height);\n  font-size: var(--jp-code-font-size);\n  border: var(--jp-border-width) solid transparent;\n\n  /* Right align prompt text, don't wrap to handle large prompt numbers */\n  text-align: right;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n\n  /* Disable text selection */\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n/*-----------------------------------------------------------------------------\n| Print\n|----------------------------------------------------------------------------*/\n@media print {\n  .jp-InputArea {\n    display: table;\n    table-layout: fixed;\n  }\n\n  .jp-InputArea-editor {\n    display: table-cell;\n    vertical-align: top;\n  }\n\n  .jp-InputPrompt {\n    display: table-cell;\n    vertical-align: top;\n  }\n}\n\n/*-----------------------------------------------------------------------------\n| Mobile\n|----------------------------------------------------------------------------*/\n@media only screen and (width <= 760px) {\n  .jp-InputArea {\n    flex-direction: column;\n  }\n\n  .jp-InputArea-editor {\n    margin-left: var(--jp-code-padding);\n  }\n\n  .jp-InputPrompt {\n    flex: 0 0 auto;\n    text-align: left;\n  }\n}\n"],sourceRoot:""}]);let a=s},50062(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Placeholder
|----------------------------------------------------------------------------*/

.jp-Placeholder {
  display: flex;
  flex-direction: row;
  width: 100%;
}

.jp-Placeholder-prompt {
  flex: 0 0 var(--jp-cell-prompt-width);
  box-sizing: border-box;
}

.jp-Placeholder-content {
  flex: 1 1 auto;
  padding: 4px 6px;
  border: 1px solid transparent;
  border-radius: 0;
  background: none;
  box-sizing: border-box;
  cursor: pointer;
}

.jp-Placeholder-contentContainer {
  display: flex;
}

.jp-Placeholder-content:hover,
.jp-InputPlaceholder > .jp-Placeholder-content:hover {
  border-color: var(--jp-layout-color3);
}

.jp-Placeholder-content .jp-MoreHorizIcon {
  width: 32px;
  height: 16px;
  border: 1px solid transparent;
  border-radius: var(--jp-border-radius);
}

.jp-Placeholder-content .jp-MoreHorizIcon:hover {
  border: 1px solid var(--jp-border-color1);
  box-shadow: var(--jp-toolbar-box-shadow);
  background-color: var(--jp-layout-color0);
}

.jp-PlaceholderText {
  white-space: nowrap;
  overflow-x: hidden;
  color: var(--jp-inverse-layout-color3);
  font-family: var(--jp-code-font-family);
}

.jp-InputPlaceholder > .jp-Placeholder-content {
  border-color: var(--jp-cell-editor-border-color);
  background: var(--jp-cell-editor-background);
}

/*-----------------------------------------------------------------------------
| Print
|----------------------------------------------------------------------------*/
@media print {
  .jp-Placeholder {
    display: table;
    table-layout: fixed;
  }

  .jp-Placeholder-content {
    display: table-cell;
  }

  .jp-Placeholder-prompt {
    display: table-cell;
  }
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/cells/style/placeholder.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;EACE,aAAa;EACb,mBAAmB;EACnB,WAAW;AACb;;AAEA;EACE,qCAAqC;EACrC,sBAAsB;AACxB;;AAEA;EACE,cAAc;EACd,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,eAAe;AACjB;;AAEA;EACE,aAAa;AACf;;AAEA;;EAEE,qCAAqC;AACvC;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,6BAA6B;EAC7B,sCAAsC;AACxC;;AAEA;EACE,yCAAyC;EACzC,wCAAwC;EACxC,yCAAyC;AAC3C;;AAEA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,sCAAsC;EACtC,uCAAuC;AACzC;;AAEA;EACE,gDAAgD;EAChD,4CAA4C;AAC9C;;AAEA;;8EAE8E;AAC9E;EACE;IACE,cAAc;IACd,mBAAmB;EACrB;;EAEA;IACE,mBAAmB;EACrB;;EAEA;IACE,mBAAmB;EACrB;AACF",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Placeholder\n|----------------------------------------------------------------------------*/\n\n.jp-Placeholder {\n  display: flex;\n  flex-direction: row;\n  width: 100%;\n}\n\n.jp-Placeholder-prompt {\n  flex: 0 0 var(--jp-cell-prompt-width);\n  box-sizing: border-box;\n}\n\n.jp-Placeholder-content {\n  flex: 1 1 auto;\n  padding: 4px 6px;\n  border: 1px solid transparent;\n  border-radius: 0;\n  background: none;\n  box-sizing: border-box;\n  cursor: pointer;\n}\n\n.jp-Placeholder-contentContainer {\n  display: flex;\n}\n\n.jp-Placeholder-content:hover,\n.jp-InputPlaceholder > .jp-Placeholder-content:hover {\n  border-color: var(--jp-layout-color3);\n}\n\n.jp-Placeholder-content .jp-MoreHorizIcon {\n  width: 32px;\n  height: 16px;\n  border: 1px solid transparent;\n  border-radius: var(--jp-border-radius);\n}\n\n.jp-Placeholder-content .jp-MoreHorizIcon:hover {\n  border: 1px solid var(--jp-border-color1);\n  box-shadow: var(--jp-toolbar-box-shadow);\n  background-color: var(--jp-layout-color0);\n}\n\n.jp-PlaceholderText {\n  white-space: nowrap;\n  overflow-x: hidden;\n  color: var(--jp-inverse-layout-color3);\n  font-family: var(--jp-code-font-family);\n}\n\n.jp-InputPlaceholder > .jp-Placeholder-content {\n  border-color: var(--jp-cell-editor-border-color);\n  background: var(--jp-cell-editor-background);\n}\n\n/*-----------------------------------------------------------------------------\n| Print\n|----------------------------------------------------------------------------*/\n@media print {\n  .jp-Placeholder {\n    display: table;\n    table-layout: fixed;\n  }\n\n  .jp-Placeholder-content {\n    display: table-cell;\n  }\n\n  .jp-Placeholder-prompt {\n    display: table-cell;\n  }\n}\n"],sourceRoot:""}]);let a=s},85521(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Private CSS variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-cell-scrolling-output-offset: 5px;
}

/*-----------------------------------------------------------------------------
| Cell
|----------------------------------------------------------------------------*/

.jp-Cell {
  padding: var(--jp-cell-padding);
  margin: 0;
  border: none;
  outline: none;
  background: transparent;
}

/*-----------------------------------------------------------------------------
| Common input/output
|----------------------------------------------------------------------------*/

.jp-Cell-inputWrapper,
.jp-Cell-outputWrapper {
  display: flex;
  flex-direction: row;
  padding: 0;
  margin: 0;

  /* Added to reveal the box-shadow on the input and output collapsers. */
  overflow: visible;
}

/* Only input/output areas inside cells */
.jp-Cell-inputArea,
.jp-Cell-outputArea {
  flex: 1 1 auto;
}

/*-----------------------------------------------------------------------------
| Collapser
|----------------------------------------------------------------------------*/

/* Make the output collapser disappear when there is not output, but do so
 * in a manner that leaves it in the layout and preserves its width.
 */
.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser {
  border: none !important;
  background: transparent !important;
}

.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser {
  min-height: var(--jp-cell-collapser-min-height);
}

/*-----------------------------------------------------------------------------
| Output
|----------------------------------------------------------------------------*/

/* Put a space between input and output when there IS output */
.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper {
  margin-top: 5px;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea {
  overflow-y: auto;
  max-height: 24em;
  margin-left: var(--jp-private-cell-scrolling-output-offset);
  resize: vertical;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea[style*='height'] {
  max-height: unset;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after {
  content: ' ';
  box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%);
  width: 100%;
  height: 100%;
  position: sticky;
  bottom: 0;
  top: 0;
  margin-top: -50%;
  float: left;
  display: block;
  pointer-events: none;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child {
  padding-top: 6px;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {
  width: calc(
    var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset)
  );
  flex: 0 0
    calc(
      var(--jp-cell-prompt-width) -
        var(--jp-private-cell-scrolling-output-offset)
    );
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay {
  position: fixed;
  top: anchor(top);
  bottom: anchor(bottom);
  left: anchor(left);
  position-anchor: --jp-output-area;
  height: unset;
  width: calc(
    var(--jp-cell-prompt-width) - 1 *
      var(--jp-private-cell-scrolling-output-offset)
  );
}

/*-----------------------------------------------------------------------------
| CodeCell
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| MarkdownCell
|----------------------------------------------------------------------------*/

.jp-MarkdownOutput {
  flex: 1 1 auto;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: var(--jp-code-padding);
}

.jp-MarkdownOutput.jp-RenderedHTMLCommon {
  overflow: auto;
}

/* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */
.jp-collapseHeadingButton {
  display: flex;
  min-height: var(--jp-cell-collapser-min-height);
  font-size: var(--jp-code-font-size);
  position: absolute;
  background-color: transparent;
  background-size: 25px;
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: top;
  background-image: var(--jp-icon-caret-down);
  right: 0;
  top: 0;
  bottom: 0;
}

.jp-collapseHeadingButton.jp-mod-collapsed {
  background-image: var(--jp-icon-caret-right);
}

/*
 set the container font size to match that of content
 so that the nested collapse buttons have the right size
*/
.jp-MarkdownCell .jp-InputPrompt {
  font-size: var(--jp-content-font-size1);
}

/*
  Align collapseHeadingButton with cell top header
  The font sizes are identical to the ones in packages/rendermime/style/base.css
*/
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] {
  font-size: var(--jp-content-font-size5);
  background-position-y: calc(0.3 * var(--jp-content-font-size5));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] {
  font-size: var(--jp-content-font-size4);
  background-position-y: calc(0.3 * var(--jp-content-font-size4));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] {
  font-size: var(--jp-content-font-size3);
  background-position-y: calc(0.3 * var(--jp-content-font-size3));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] {
  font-size: var(--jp-content-font-size2);
  background-position-y: calc(0.3 * var(--jp-content-font-size2));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] {
  font-size: var(--jp-content-font-size1);
  background-position-y: top;
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] {
  font-size: var(--jp-content-font-size0);
  background-position-y: top;
}

/* collapseHeadingButton (show only on (hover,active) if hiddenCellsButton is shown) */
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-collapseHeadingButton {
  display: none;
}

.jp-Notebook.jp-mod-showHiddenCellsButton
  :is(.jp-MarkdownCell:hover, .jp-mod-active)
  .jp-collapseHeadingButton {
  display: flex;
}

/* showHiddenCellsButton (only show if jp-mod-showHiddenCellsButton is set, which
is a consequence of the showHiddenCellsButton option in Notebook Settings)*/
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton {
  margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding));
  margin-top: var(--jp-code-padding);
  border: 1px solid var(--jp-border-color2);
  background-color: var(--jp-border-color3) !important;
  color: var(--jp-content-font-color0) !important;
  display: flex;
}

.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton:hover {
  background-color: var(--jp-border-color2) !important;
}

.jp-showHiddenCellsButton {
  display: none;
}

/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/

/*
Using block instead of flex to allow the use of the break-inside CSS property for
cell outputs.
*/

@media print {
  .jp-Cell-inputWrapper,
  .jp-Cell-outputWrapper {
    display: block;
  }

  .jp-MarkdownOutput {
    display: table-cell;
  }
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/cells/style/widget.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;EACE,8CAA8C;AAChD;;AAEA;;8EAE8E;;AAE9E;EACE,+BAA+B;EAC/B,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uBAAuB;AACzB;;AAEA;;8EAE8E;;AAE9E;;EAEE,aAAa;EACb,mBAAmB;EACnB,UAAU;EACV,SAAS;;EAET,uEAAuE;EACvE,iBAAiB;AACnB;;AAEA,yCAAyC;AACzC;;EAEE,cAAc;AAChB;;AAEA;;8EAE8E;;AAE9E;;EAEE;AACF;EACE,uBAAuB;EACvB,kCAAkC;AACpC;;AAEA;EACE,+CAA+C;AACjD;;AAEA;;8EAE8E;;AAE9E,8DAA8D;AAC9D;EACE,eAAe;AACjB;;AAEA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,2DAA2D;EAC3D,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,YAAY;EACZ,8CAA8C;EAC9C,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,SAAS;EACT,MAAM;EACN,gBAAgB;EAChB,WAAW;EACX,cAAc;EACd,oBAAoB;AACtB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE;;GAEC;EACD;;;;KAIG;AACL;;AAEA;EACE,eAAe;EACf,gBAAgB;EAChB,sBAAsB;EACtB,kBAAkB;EAClB,iCAAiC;EACjC,aAAa;EACb;;;GAGC;AACH;;AAEA;;8EAE8E;;AAE9E;;8EAE8E;;AAE9E;EACE,cAAc;EACd,WAAW;EACX,aAAa;EACb,gBAAgB;EAChB,oCAAoC;AACtC;;AAEA;EACE,cAAc;AAChB;;AAEA,4EAA4E;AAC5E;EACE,aAAa;EACb,+CAA+C;EAC/C,mCAAmC;EACnC,kBAAkB;EAClB,6BAA6B;EAC7B,qBAAqB;EACrB,4BAA4B;EAC5B,6BAA6B;EAC7B,0BAA0B;EAC1B,2CAA2C;EAC3C,QAAQ;EACR,MAAM;EACN,SAAS;AACX;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;;;CAGC;AACD;EACE,uCAAuC;AACzC;;AAEA;;;CAGC;AACD;EACE,uCAAuC;EACvC,+DAA+D;AACjE;;AAEA;EACE,uCAAuC;EACvC,+DAA+D;AACjE;;AAEA;EACE,uCAAuC;EACvC,+DAA+D;AACjE;;AAEA;EACE,uCAAuC;EACvC,+DAA+D;AACjE;;AAEA;EACE,uCAAuC;EACvC,0BAA0B;AAC5B;;AAEA;EACE,uCAAuC;EACvC,0BAA0B;AAC5B;;AAEA,sFAAsF;AACtF;EACE,aAAa;AACf;;AAEA;;;EAGE,aAAa;AACf;;AAEA;2EAC2E;AAC3E;EACE,2EAA2E;EAC3E,kCAAkC;EAClC,yCAAyC;EACzC,oDAAoD;EACpD,+CAA+C;EAC/C,aAAa;AACf;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,aAAa;AACf;;AAEA;;8EAE8E;;AAE9E;;;CAGC;;AAED;EACE;;IAEE,cAAc;EAChB;;EAEA;IACE,mBAAmB;EACrB;AACF",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Private CSS variables\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-private-cell-scrolling-output-offset: 5px;\n}\n\n/*-----------------------------------------------------------------------------\n| Cell\n|----------------------------------------------------------------------------*/\n\n.jp-Cell {\n  padding: var(--jp-cell-padding);\n  margin: 0;\n  border: none;\n  outline: none;\n  background: transparent;\n}\n\n/*-----------------------------------------------------------------------------\n| Common input/output\n|----------------------------------------------------------------------------*/\n\n.jp-Cell-inputWrapper,\n.jp-Cell-outputWrapper {\n  display: flex;\n  flex-direction: row;\n  padding: 0;\n  margin: 0;\n\n  /* Added to reveal the box-shadow on the input and output collapsers. */\n  overflow: visible;\n}\n\n/* Only input/output areas inside cells */\n.jp-Cell-inputArea,\n.jp-Cell-outputArea {\n  flex: 1 1 auto;\n}\n\n/*-----------------------------------------------------------------------------\n| Collapser\n|----------------------------------------------------------------------------*/\n\n/* Make the output collapser disappear when there is not output, but do so\n * in a manner that leaves it in the layout and preserves its width.\n */\n.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser {\n  border: none !important;\n  background: transparent !important;\n}\n\n.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser {\n  min-height: var(--jp-cell-collapser-min-height);\n}\n\n/*-----------------------------------------------------------------------------\n| Output\n|----------------------------------------------------------------------------*/\n\n/* Put a space between input and output when there IS output */\n.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper {\n  margin-top: 5px;\n}\n\n.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea {\n  overflow-y: auto;\n  max-height: 24em;\n  margin-left: var(--jp-private-cell-scrolling-output-offset);\n  resize: vertical;\n}\n\n.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea[style*='height'] {\n  max-height: unset;\n}\n\n.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after {\n  content: ' ';\n  box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%);\n  width: 100%;\n  height: 100%;\n  position: sticky;\n  bottom: 0;\n  top: 0;\n  margin-top: -50%;\n  float: left;\n  display: block;\n  pointer-events: none;\n}\n\n.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child {\n  padding-top: 6px;\n}\n\n.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {\n  width: calc(\n    var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset)\n  );\n  flex: 0 0\n    calc(\n      var(--jp-cell-prompt-width) -\n        var(--jp-private-cell-scrolling-output-offset)\n    );\n}\n\n.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay {\n  position: fixed;\n  top: anchor(top);\n  bottom: anchor(bottom);\n  left: anchor(left);\n  position-anchor: --jp-output-area;\n  height: unset;\n  width: calc(\n    var(--jp-cell-prompt-width) - 1 *\n      var(--jp-private-cell-scrolling-output-offset)\n  );\n}\n\n/*-----------------------------------------------------------------------------\n| CodeCell\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| MarkdownCell\n|----------------------------------------------------------------------------*/\n\n.jp-MarkdownOutput {\n  flex: 1 1 auto;\n  width: 100%;\n  margin-top: 0;\n  margin-bottom: 0;\n  padding-left: var(--jp-code-padding);\n}\n\n.jp-MarkdownOutput.jp-RenderedHTMLCommon {\n  overflow: auto;\n}\n\n/* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */\n.jp-collapseHeadingButton {\n  display: flex;\n  min-height: var(--jp-cell-collapser-min-height);\n  font-size: var(--jp-code-font-size);\n  position: absolute;\n  background-color: transparent;\n  background-size: 25px;\n  background-repeat: no-repeat;\n  background-position-x: center;\n  background-position-y: top;\n  background-image: var(--jp-icon-caret-down);\n  right: 0;\n  top: 0;\n  bottom: 0;\n}\n\n.jp-collapseHeadingButton.jp-mod-collapsed {\n  background-image: var(--jp-icon-caret-right);\n}\n\n/*\n set the container font size to match that of content\n so that the nested collapse buttons have the right size\n*/\n.jp-MarkdownCell .jp-InputPrompt {\n  font-size: var(--jp-content-font-size1);\n}\n\n/*\n  Align collapseHeadingButton with cell top header\n  The font sizes are identical to the ones in packages/rendermime/style/base.css\n*/\n.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] {\n  font-size: var(--jp-content-font-size5);\n  background-position-y: calc(0.3 * var(--jp-content-font-size5));\n}\n\n.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] {\n  font-size: var(--jp-content-font-size4);\n  background-position-y: calc(0.3 * var(--jp-content-font-size4));\n}\n\n.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] {\n  font-size: var(--jp-content-font-size3);\n  background-position-y: calc(0.3 * var(--jp-content-font-size3));\n}\n\n.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] {\n  font-size: var(--jp-content-font-size2);\n  background-position-y: calc(0.3 * var(--jp-content-font-size2));\n}\n\n.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] {\n  font-size: var(--jp-content-font-size1);\n  background-position-y: top;\n}\n\n.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] {\n  font-size: var(--jp-content-font-size0);\n  background-position-y: top;\n}\n\n/* collapseHeadingButton (show only on (hover,active) if hiddenCellsButton is shown) */\n.jp-Notebook.jp-mod-showHiddenCellsButton .jp-collapseHeadingButton {\n  display: none;\n}\n\n.jp-Notebook.jp-mod-showHiddenCellsButton\n  :is(.jp-MarkdownCell:hover, .jp-mod-active)\n  .jp-collapseHeadingButton {\n  display: flex;\n}\n\n/* showHiddenCellsButton (only show if jp-mod-showHiddenCellsButton is set, which\nis a consequence of the showHiddenCellsButton option in Notebook Settings)*/\n.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton {\n  margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding));\n  margin-top: var(--jp-code-padding);\n  border: 1px solid var(--jp-border-color2);\n  background-color: var(--jp-border-color3) !important;\n  color: var(--jp-content-font-color0) !important;\n  display: flex;\n}\n\n.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton:hover {\n  background-color: var(--jp-border-color2) !important;\n}\n\n.jp-showHiddenCellsButton {\n  display: none;\n}\n\n/*-----------------------------------------------------------------------------\n| Printing\n|----------------------------------------------------------------------------*/\n\n/*\nUsing block instead of flex to allow the use of the break-inside CSS property for\ncell outputs.\n*/\n\n@media print {\n  .jp-Cell-inputWrapper,\n  .jp-Cell-outputWrapper {\n    display: block;\n  }\n\n  .jp-MarkdownOutput {\n    display: table-cell;\n  }\n}\n"],sourceRoot:""}]);let a=s},21670(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

:root {
  --jp-add-tag-extra-width: 8px;
}

.jp-CellTags-Tag {
  height: 20px;
  border-radius: 10px;
  margin-right: 5px;
  margin-bottom: 10px;
  padding: 0 8px;
  font-size: var(--jp-ui-font-size1);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  max-width: calc(100% - 25px);
  border: 1px solid var(--jp-border-color1);
  color: var(--jp-ui-font-color1);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jp-CellTags-Unapplied {
  background-color: var(--jp-layout-color2);
}

.jp-CellTags-Applied {
  background-color: var(--jp-layout-color3);
}

.jp-CellTags-Add {
  white-space: nowrap;
  overflow: hidden;
  border: none;
  outline: none;
  resize: horizontal;
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color2);
  font-family: var(--jp-ui-font-family);
}

.jp-CellTags-Holder {
  display: flex;
  justify-content: center;
  align-items: center;
}

.jp-CellTags-Empty {
  width: 4em;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/celltags-extension/style/base.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;EACE,6BAA6B;AAC/B;;AAEA;EACE,YAAY;EACZ,mBAAmB;EACnB,iBAAiB;EACjB,mBAAmB;EACnB,cAAc;EACd,kCAAkC;EAClC,oBAAoB;EACpB,uBAAuB;EACvB,mBAAmB;EACnB,4BAA4B;EAC5B,yCAAyC;EACzC,+BAA+B;EAC/B,2BAA2B;EAC3B,yBAAyB;EACzB,wBAAwB;EACxB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;AACnB;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,mBAAmB;EACnB,gBAAgB;EAChB,YAAY;EACZ,aAAa;EACb,kBAAkB;EAClB,kCAAkC;EAClC,+BAA+B;EAC/B,mCAAmC;EACnC,qCAAqC;AACvC;;AAEA;EACE,aAAa;EACb,uBAAuB;EACvB,mBAAmB;AACrB;;AAEA;EACE,UAAU;AACZ",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n:root {\n  --jp-add-tag-extra-width: 8px;\n}\n\n.jp-CellTags-Tag {\n  height: 20px;\n  border-radius: 10px;\n  margin-right: 5px;\n  margin-bottom: 10px;\n  padding: 0 8px;\n  font-size: var(--jp-ui-font-size1);\n  display: inline-flex;\n  justify-content: center;\n  align-items: center;\n  max-width: calc(100% - 25px);\n  border: 1px solid var(--jp-border-color1);\n  color: var(--jp-ui-font-color1);\n  -webkit-touch-callout: none;\n  -webkit-user-select: none;\n  -khtml-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.jp-CellTags-Unapplied {\n  background-color: var(--jp-layout-color2);\n}\n\n.jp-CellTags-Applied {\n  background-color: var(--jp-layout-color3);\n}\n\n.jp-CellTags-Add {\n  white-space: nowrap;\n  overflow: hidden;\n  border: none;\n  outline: none;\n  resize: horizontal;\n  font-size: var(--jp-ui-font-size1);\n  color: var(--jp-ui-font-color1);\n  background: var(--jp-layout-color2);\n  font-family: var(--jp-ui-font-family);\n}\n\n.jp-CellTags-Holder {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n\n.jp-CellTags-Empty {\n  width: 4em;\n}\n"],sourceRoot:""}]);let a=s},18015(e,t,n){"use strict";n.d(t,{A:()=>d});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(17750),l=s()(o());l.i(a.A),l.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-JSONEditor {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.jp-JSONEditor-host {
  flex: 1 1 auto;
  border: var(--jp-border-width) solid var(--jp-input-border-color);
  border-radius: 0;
  background: var(--jp-layout-color0);
  min-height: 50px;
  padding: 1px;
}

.jp-JSONEditor.jp-mod-error .jp-JSONEditor-host {
  border-color: var(--jp-error-color0);
  outline-color: var(--jp-error-color0);
}

.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);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/codeeditor/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAG9E;EACE,aAAa;EACb,sBAAsB;EACtB,WAAW;AACb;;AAEA;EACE,cAAc;EACd,iEAAiE;EACjE,gBAAgB;EAChB,mCAAmC;EACnC,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,oCAAoC;EACpC,qCAAqC;AACvC;;AAEA;EACE,aAAa;EACb,cAAc;EACd,mBAAmB;AACrB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,YAAY;EACZ,WAAW;EACX,qBAAqB;EACrB,4BAA4B;EAC5B,2BAA2B;AAC7B;;AAEA;EACE,mDAAmD;EACnD,qDAAqD;EACrD,sCAAsC;AACxC;;AAEA;EACE,wEAAwE;EACxE,sCAAsC;AACxC",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n@import url('./linecol.css');\n\n.jp-JSONEditor {\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n}\n\n.jp-JSONEditor-host {\n  flex: 1 1 auto;\n  border: var(--jp-border-width) solid var(--jp-input-border-color);\n  border-radius: 0;\n  background: var(--jp-layout-color0);\n  min-height: 50px;\n  padding: 1px;\n}\n\n.jp-JSONEditor.jp-mod-error .jp-JSONEditor-host {\n  border-color: var(--jp-error-color0);\n  outline-color: var(--jp-error-color0);\n}\n\n.jp-JSONEditor-header {\n  display: flex;\n  flex: 1 0 auto;\n  padding: 0 0 0 12px;\n}\n\n.jp-JSONEditor-header label {\n  flex: 0 0 auto;\n}\n\n.jp-JSONEditor-commitButton {\n  height: 16px;\n  width: 16px;\n  background-size: 18px;\n  background-repeat: no-repeat;\n  background-position: center;\n}\n\n.jp-JSONEditor-host.jp-mod-focused {\n  background-color: var(--jp-input-active-background);\n  border: 1px solid var(--jp-input-active-border-color);\n  box-shadow: var(--jp-input-box-shadow);\n}\n\n.jp-Editor.jp-mod-dropTarget {\n  border: var(--jp-border-width) solid var(--jp-input-active-border-color);\n  box-shadow: var(--jp-input-box-shadow);\n}\n"],sourceRoot:""}]);let d=l},17750(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-lineFormSearch {
  padding: 4px 12px;
  background-color: var(--jp-layout-color2);
  box-shadow: var(--jp-toolbar-box-shadow);
  z-index: 2;
  font-size: var(--jp-ui-font-size1);
}

.jp-lineFormCaption {
  font-size: var(--jp-ui-font-size0);
  line-height: var(--jp-ui-font-size1);
  margin-top: 4px;
  color: var(--jp-ui-font-color0);
}

.jp-baseLineForm {
  border: none;
  border-top-right-radius: var(--jp-border-radius);
  border-bottom-right-radius: var(--jp-border-radius);
  position: absolute;
  background-size: 16px;
  background-repeat: no-repeat;
  background-position: center;
  outline: none;
}

.jp-lineFormButtonContainer {
  top: 4px;
  right: 8px;
  height: 24px;
  padding: 0 12px;
  width: 12px;
}

.jp-lineFormButtonIcon {
  top: 0;
  right: 0;
  background-color: var(--jp-brand-color1);
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  padding: 4px 6px;
}

.jp-lineFormButton {
  top: 0;
  right: 0;
  background-color: transparent;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
}

.jp-lineFormWrapper {
  overflow: hidden;
  padding: 0 8px;
  border: 1px solid var(--jp-border-color0);
  border-top-left-radius: var(--jp-border-radius);
  border-bottom-left-radius: var(--jp-border-radius);
  background-color: var(--jp-input-active-background);
  height: 22px;
}

.jp-lineFormWrapperFocusWithin {
  border: var(--jp-border-width) solid var(--jp-input-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
}

.jp-lineFormInput {
  background: transparent;
  width: 200px;
  height: 100%;
  border: none;
  outline: none;
  color: var(--jp-ui-font-color0);
  padding: 0;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/codeeditor/style/linecol.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;EACE,iBAAiB;EACjB,yCAAyC;EACzC,wCAAwC;EACxC,UAAU;EACV,kCAAkC;AACpC;;AAEA;EACE,kCAAkC;EAClC,oCAAoC;EACpC,eAAe;EACf,+BAA+B;AACjC;;AAEA;EACE,YAAY;EACZ,gDAAgD;EAChD,mDAAmD;EACnD,kBAAkB;EAClB,qBAAqB;EACrB,4BAA4B;EAC5B,2BAA2B;EAC3B,aAAa;AACf;;AAEA;EACE,QAAQ;EACR,UAAU;EACV,YAAY;EACZ,eAAe;EACf,WAAW;AACb;;AAEA;EACE,MAAM;EACN,QAAQ;EACR,wCAAwC;EACxC,YAAY;EACZ,WAAW;EACX,sBAAsB;EACtB,gBAAgB;AAClB;;AAEA;EACE,MAAM;EACN,QAAQ;EACR,6BAA6B;EAC7B,YAAY;EACZ,WAAW;EACX,sBAAsB;AACxB;;AAEA;EACE,gBAAgB;EAChB,cAAc;EACd,yCAAyC;EACzC,+CAA+C;EAC/C,kDAAkD;EAClD,mDAAmD;EACnD,YAAY;AACd;;AAEA;EACE,wEAAwE;EACxE,sCAAsC;AACxC;;AAEA;EACE,uBAAuB;EACvB,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,+BAA+B;EAC/B,UAAU;AACZ",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-lineFormSearch {\n  padding: 4px 12px;\n  background-color: var(--jp-layout-color2);\n  box-shadow: var(--jp-toolbar-box-shadow);\n  z-index: 2;\n  font-size: var(--jp-ui-font-size1);\n}\n\n.jp-lineFormCaption {\n  font-size: var(--jp-ui-font-size0);\n  line-height: var(--jp-ui-font-size1);\n  margin-top: 4px;\n  color: var(--jp-ui-font-color0);\n}\n\n.jp-baseLineForm {\n  border: none;\n  border-top-right-radius: var(--jp-border-radius);\n  border-bottom-right-radius: var(--jp-border-radius);\n  position: absolute;\n  background-size: 16px;\n  background-repeat: no-repeat;\n  background-position: center;\n  outline: none;\n}\n\n.jp-lineFormButtonContainer {\n  top: 4px;\n  right: 8px;\n  height: 24px;\n  padding: 0 12px;\n  width: 12px;\n}\n\n.jp-lineFormButtonIcon {\n  top: 0;\n  right: 0;\n  background-color: var(--jp-brand-color1);\n  height: 100%;\n  width: 100%;\n  box-sizing: border-box;\n  padding: 4px 6px;\n}\n\n.jp-lineFormButton {\n  top: 0;\n  right: 0;\n  background-color: transparent;\n  height: 100%;\n  width: 100%;\n  box-sizing: border-box;\n}\n\n.jp-lineFormWrapper {\n  overflow: hidden;\n  padding: 0 8px;\n  border: 1px solid var(--jp-border-color0);\n  border-top-left-radius: var(--jp-border-radius);\n  border-bottom-left-radius: var(--jp-border-radius);\n  background-color: var(--jp-input-active-background);\n  height: 22px;\n}\n\n.jp-lineFormWrapperFocusWithin {\n  border: var(--jp-border-width) solid var(--jp-input-active-border-color);\n  box-shadow: var(--jp-input-box-shadow);\n}\n\n.jp-lineFormInput {\n  background: transparent;\n  width: 200px;\n  height: 100%;\n  border: none;\n  outline: none;\n  color: var(--jp-ui-font-color0);\n  padding: 0;\n}\n"],sourceRoot:""}]);let a=s},83341(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.cm-editor {
  line-height: var(--jp-code-line-height);
  font-size: var(--jp-code-font-size);
  font-family: var(--jp-code-font-family);
  border: 0;
  border-radius: 0;
  height: auto;

  /* Changed to auto to autogrow */
}

/* Suppress automatic focus indicator outline */
.cm-editor.cm-focused {
  outline: unset;
}

.cm-editor pre {
  padding: 0 var(--jp-code-padding);
}

.jp-CodeMirrorEditor[data-type='inline'] .cm-dialog {
  background-color: var(--jp-layout-color0);
  color: var(--jp-content-font-color1);
}

.jp-CodeMirrorEditor {
  cursor: text;
}

/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */
@media screen and (width >= 2138px) and (width <= 4319px) {
  .jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
    border-left: var(--jp-code-cursor-width1) solid
      var(--jp-editor-cursor-color);
  }
}

/* When zoomed out less than 33% */
@media screen and (width >= 4320px) {
  .jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
    border-left: var(--jp-code-cursor-width2) solid
      var(--jp-editor-cursor-color);
  }
}

/* stylelint-disable selector-max-class */

/* We need all this classes for higher specificity to override CodeMirror's rule */
.cm-editor.jp-mod-readOnly > .cm-scroller > .cm-cursorLayer .cm-cursor {
  display: none;
}

/* stylelint-enable selector-max-class */

.jp-CollaboratorCursor {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: none;
  border-bottom: 3px solid;
  background-clip: content-box;
  margin-left: -5px;
  margin-right: -5px;
}

.cm-builtin {
  color: var(--jp-mirror-editor-builtin-color);
}

.cm-searching,
.cm-searching span {
  /* \`.cm-searching span\`: we need to override syntax highlighting */
  background-color: var(--jp-search-unselected-match-background-color);
  color: var(--jp-search-unselected-match-color);
}

.cm-searching::selection,
.cm-searching span::selection {
  background-color: var(--jp-search-unselected-match-background-color);
  color: var(--jp-search-unselected-match-color);
}

.jp-current-match.cm-searching,
.jp-current-match > .cm-searching,
.jp-current-match > .cm-searching span,
.cm-searching > .jp-current-match,
.cm-searching > .jp-current-match span {
  background-color: var(--jp-search-selected-match-background-color);
  color: var(--jp-search-selected-match-color);
}

.jp-current-match > .cm-searching::selection,
.jp-current-match > .cm-searching span::selection,
.cm-searching > .jp-current-match::selection,
.cm-searching > .jp-current-match span::selection {
  background-color: var(--jp-search-selected-match-background-color);
  color: var(--jp-search-selected-match-color);
}

.jp-CollaboratorCursor-hover {
  position: absolute;
  z-index: 1;
  transform: translateX(-50%);
  color: white;
  border-radius: 3px;
  padding-left: 4px;
  padding-right: 4px;
  padding-top: 1px;
  padding-bottom: 1px;
  text-align: center;
  font-size: var(--jp-ui-font-size1);
  white-space: nowrap;
}

.jp-CodeMirror-ruler {
  border-left: 1px dashed var(--jp-border-color2);
}

/* Styles for shared cursors (remote cursor locations and selected ranges) */
.jp-CodeMirrorEditor .cm-ySelectionCaret {
  position: relative;
  border-left: 1px solid black;
  margin-left: -1px;
  margin-right: -1px;
  box-sizing: border-box;
}

.jp-CodeMirrorEditor .cm-ySelectionCaret > .cm-ySelectionInfo {
  white-space: nowrap;
  position: absolute;
  top: -1.15em;
  padding-bottom: 0.05em;
  left: -1px;
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  font-size: 0.95em;
  font-family: var(--jp-ui-font-family);
  font-weight: bold;
  line-height: normal;
  user-select: none;
  color: white;
  padding-left: 2px;
  padding-right: 2px;
  z-index: 101;
  transition: opacity 0.3s ease-in-out;
}

.jp-CodeMirrorEditor .cm-ySelectionInfo {
  transition-delay: 0.7s;
  opacity: 0;
}

.jp-CodeMirrorEditor .cm-ySelectionCaret:hover > .cm-ySelectionInfo {
  opacity: 1;
  transition-delay: 0s;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/codemirror/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,uCAAuC;EACvC,mCAAmC;EACnC,uCAAuC;EACvC,SAAS;EACT,gBAAgB;EAChB,YAAY;;EAEZ,gCAAgC;AAClC;;AAEA,+CAA+C;AAC/C;EACE,cAAc;AAChB;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,yCAAyC;EACzC,oCAAoC;AACtC;;AAEA;EACE,YAAY;AACd;;AAEA,uEAAuE;AACvE;EACE;IACE;mCAC+B;EACjC;AACF;;AAEA,kCAAkC;AAClC;EACE;IACE;mCAC+B;EACjC;AACF;;AAEA,yCAAyC;;AAEzC,kFAAkF;AAClF;EACE,aAAa;AACf;;AAEA,wCAAwC;;AAExC;EACE,kCAAkC;EAClC,mCAAmC;EACnC,gBAAgB;EAChB,wBAAwB;EACxB,4BAA4B;EAC5B,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;;EAEE,kEAAkE;EAClE,oEAAoE;EACpE,8CAA8C;AAChD;;AAEA;;EAEE,oEAAoE;EACpE,8CAA8C;AAChD;;AAEA;;;;;EAKE,kEAAkE;EAClE,4CAA4C;AAC9C;;AAEA;;;;EAIE,kEAAkE;EAClE,4CAA4C;AAC9C;;AAEA;EACE,kBAAkB;EAClB,UAAU;EACV,2BAA2B;EAC3B,YAAY;EACZ,kBAAkB;EAClB,iBAAiB;EACjB,kBAAkB;EAClB,gBAAgB;EAChB,mBAAmB;EACnB,kBAAkB;EAClB,kCAAkC;EAClC,mBAAmB;AACrB;;AAEA;EACE,+CAA+C;AACjD;;AAEA,4EAA4E;AAC5E;EACE,kBAAkB;EAClB,4BAA4B;EAC5B,iBAAiB;EACjB,kBAAkB;EAClB,sBAAsB;AACxB;;AAEA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,YAAY;EACZ,sBAAsB;EACtB,UAAU;EACV,wEAAwE;EACxE,iBAAiB;EACjB,qCAAqC;EACrC,iBAAiB;EACjB,mBAAmB;EACnB,iBAAiB;EACjB,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EAClB,YAAY;EACZ,oCAAoC;AACtC;;AAEA;EACE,sBAAsB;EACtB,UAAU;AACZ;;AAEA;EACE,UAAU;EACV,oBAAoB;AACtB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.cm-editor {\n  line-height: var(--jp-code-line-height);\n  font-size: var(--jp-code-font-size);\n  font-family: var(--jp-code-font-family);\n  border: 0;\n  border-radius: 0;\n  height: auto;\n\n  /* Changed to auto to autogrow */\n}\n\n/* Suppress automatic focus indicator outline */\n.cm-editor.cm-focused {\n  outline: unset;\n}\n\n.cm-editor pre {\n  padding: 0 var(--jp-code-padding);\n}\n\n.jp-CodeMirrorEditor[data-type='inline'] .cm-dialog {\n  background-color: var(--jp-layout-color0);\n  color: var(--jp-content-font-color1);\n}\n\n.jp-CodeMirrorEditor {\n  cursor: text;\n}\n\n/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */\n@media screen and (width >= 2138px) and (width <= 4319px) {\n  .jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {\n    border-left: var(--jp-code-cursor-width1) solid\n      var(--jp-editor-cursor-color);\n  }\n}\n\n/* When zoomed out less than 33% */\n@media screen and (width >= 4320px) {\n  .jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {\n    border-left: var(--jp-code-cursor-width2) solid\n      var(--jp-editor-cursor-color);\n  }\n}\n\n/* stylelint-disable selector-max-class */\n\n/* We need all this classes for higher specificity to override CodeMirror's rule */\n.cm-editor.jp-mod-readOnly > .cm-scroller > .cm-cursorLayer .cm-cursor {\n  display: none;\n}\n\n/* stylelint-enable selector-max-class */\n\n.jp-CollaboratorCursor {\n  border-left: 5px solid transparent;\n  border-right: 5px solid transparent;\n  border-top: none;\n  border-bottom: 3px solid;\n  background-clip: content-box;\n  margin-left: -5px;\n  margin-right: -5px;\n}\n\n.cm-builtin {\n  color: var(--jp-mirror-editor-builtin-color);\n}\n\n.cm-searching,\n.cm-searching span {\n  /* `.cm-searching span`: we need to override syntax highlighting */\n  background-color: var(--jp-search-unselected-match-background-color);\n  color: var(--jp-search-unselected-match-color);\n}\n\n.cm-searching::selection,\n.cm-searching span::selection {\n  background-color: var(--jp-search-unselected-match-background-color);\n  color: var(--jp-search-unselected-match-color);\n}\n\n.jp-current-match.cm-searching,\n.jp-current-match > .cm-searching,\n.jp-current-match > .cm-searching span,\n.cm-searching > .jp-current-match,\n.cm-searching > .jp-current-match span {\n  background-color: var(--jp-search-selected-match-background-color);\n  color: var(--jp-search-selected-match-color);\n}\n\n.jp-current-match > .cm-searching::selection,\n.jp-current-match > .cm-searching span::selection,\n.cm-searching > .jp-current-match::selection,\n.cm-searching > .jp-current-match span::selection {\n  background-color: var(--jp-search-selected-match-background-color);\n  color: var(--jp-search-selected-match-color);\n}\n\n.jp-CollaboratorCursor-hover {\n  position: absolute;\n  z-index: 1;\n  transform: translateX(-50%);\n  color: white;\n  border-radius: 3px;\n  padding-left: 4px;\n  padding-right: 4px;\n  padding-top: 1px;\n  padding-bottom: 1px;\n  text-align: center;\n  font-size: var(--jp-ui-font-size1);\n  white-space: nowrap;\n}\n\n.jp-CodeMirror-ruler {\n  border-left: 1px dashed var(--jp-border-color2);\n}\n\n/* Styles for shared cursors (remote cursor locations and selected ranges) */\n.jp-CodeMirrorEditor .cm-ySelectionCaret {\n  position: relative;\n  border-left: 1px solid black;\n  margin-left: -1px;\n  margin-right: -1px;\n  box-sizing: border-box;\n}\n\n.jp-CodeMirrorEditor .cm-ySelectionCaret > .cm-ySelectionInfo {\n  white-space: nowrap;\n  position: absolute;\n  top: -1.15em;\n  padding-bottom: 0.05em;\n  left: -1px;\n  /* stylelint-disable-next-line declaration-property-value-allowed-list */\n  font-size: 0.95em;\n  font-family: var(--jp-ui-font-family);\n  font-weight: bold;\n  line-height: normal;\n  user-select: none;\n  color: white;\n  padding-left: 2px;\n  padding-right: 2px;\n  z-index: 101;\n  transition: opacity 0.3s ease-in-out;\n}\n\n.jp-CodeMirrorEditor .cm-ySelectionInfo {\n  transition-delay: 0.7s;\n  opacity: 0;\n}\n\n.jp-CodeMirrorEditor .cm-ySelectionCaret:hover > .cm-ySelectionInfo {\n  opacity: 1;\n  transition-delay: 0s;\n}\n"],sourceRoot:""}]);let a=s},46064(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

:root {
  --jp-private-completer-item-height: 24px;

  /* Shift the baseline of the type character to align with the match text */
  --jp-private-completer-type-offset: 2px;
}

.jp-Completer {
  box-shadow: var(--jp-elevation-z6);
  background: var(--jp-layout-color1);
  color: var(--jp-content-font-color1);
  border: var(--jp-border-width) solid var(--jp-border-color1);
  padding: 0;
  display: flex;
  flex-direction: row;

  /* Needed to avoid scrollbar issues when using cached width. */
  box-sizing: content-box;

  /* Position the completer relative to the text editor, align the '.' */
  margin: 4px 0 0 -30px;
  z-index: 10001;
}

.jp-Completer-docpanel {
  border-left: var(--jp-border-width) solid var(--jp-border-color1);
  width: 400px;
  flex-shrink: 0;
  overflow-y: scroll;
  overflow-x: auto;
  padding: 8px;
  max-height: calc((10 * var(--jp-private-completer-item-height)) - 16px);
}

.jp-Completer-docpanel pre {
  border: none;
  margin: 0;
  padding: 0;
  white-space: pre-wrap;
}

.jp-Completer-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  overflow-y: scroll;
  overflow-x: hidden;
  max-height: calc((10 * var(--jp-private-completer-item-height)));
  min-height: calc(var(--jp-private-completer-item-height));
  width: 100%;
}

.jp-Completer-item {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  height: var(--jp-private-completer-item-height);
  min-width: 150px;
  display: grid;
  grid-template-columns: min-content 1fr min-content;
  position: relative;
}

.jp-Completer-item .jp-Completer-match {
  box-sizing: border-box;
  margin: 0;
  padding: 0 8px 0 6px;
  height: var(--jp-private-completer-item-height);
  font-family: var(--jp-code-font-family);
  font-size: var(--jp-code-font-size);
  line-height: var(--jp-private-completer-item-height);
  white-space: nowrap;
}

.jp-Completer-deprecated .jp-Completer-match {
  text-decoration: line-through;
  color: var(--jp-content-font-color2);
}

.jp-Completer-item .jp-Completer-type {
  box-sizing: border-box;
  height: var(--jp-private-completer-item-height);
  background: transparent;
  width: var(--jp-private-completer-item-height);
}

.jp-Completer-item .jp-Completer-icon {
  /* Normal element size from LabIconStyle.ISheetOptions */
  height: 16px;
  width: 16px;
}

.jp-Completer-item .jp-Completer-monogram {
  text-align: center;
  color: white;
  width: var(--jp-private-completer-item-height);
  font-family: var(--jp-ui-font-family);
  font-size: var(--jp-ui-font-size1);
  line-height: calc(
    var(--jp-private-completer-item-height) -
      var(--jp-private-completer-type-offset)
  );
  padding-bottom: var(--jp-private-completer-type-offset);
}

.jp-Completer-item .jp-Completer-typeExtended {
  box-sizing: border-box;
  height: var(--jp-private-completer-item-height);
  text-align: right;
  background: transparent;
  color: var(--jp-ui-font-color2);
  font-family: var(--jp-code-font-family);
  font-size: var(--jp-code-font-size);
  line-height: var(--jp-private-completer-item-height);
  padding-right: 8px;
}

.jp-Completer-item:hover {
  background: var(--jp-layout-color2);
  opacity: 0.8;
}

.jp-Completer-item.jp-mod-active {
  background: var(--jp-brand-color1);
  color: white;
}

.jp-Completer-item .jp-Completer-match mark {
  font-weight: bold;
  background: inherit;
  color: inherit;
}

.jp-Completer-item.jp-mod-active .jp-Completer-typeExtended {
  color: var(--jp-ui-font-color0);
}

.jp-Completer-type[data-color-index='0'] {
  background: var(--jp-completer-type-background0, transparent);
}

.jp-Completer-type[data-color-index='1'] {
  background: var(--jp-completer-type-background1, #1f77b4);
}

.jp-Completer-type[data-color-index='2'] {
  background: var(--jp-completer-type-background2, #ff7f0e);
}

.jp-Completer-type[data-color-index='3'] {
  background: var(--jp-completer-type-background3, #2ca02c);
}

.jp-Completer-type[data-color-index='4'] {
  background: var(--jp-completer-type-background4, #d62728);
}

.jp-Completer-type[data-color-index='5'] {
  background: var(--jp-completer-type-background5, #9467bd);
}

.jp-Completer-type[data-color-index='6'] {
  background: var(--jp-completer-type-background6, #8c564b);
}

.jp-Completer-type[data-color-index='7'] {
  background: var(--jp-completer-type-background7, #e377c2);
}

.jp-Completer-type[data-color-index='8'] {
  background: var(--jp-completer-type-background8, #7f7f7f);
}

.jp-Completer-type[data-color-index='9'] {
  background: var(--jp-completer-type-background9, #bcbd22);
}

.jp-Completer-type[data-color-index='10'] {
  background: var(--jp-completer-type-background10, #17becf);
}

.jp-Completer-loading-bar-container {
  height: 2px;
  width: calc(100% - var(--jp-private-completer-item-height));
  left: var(--jp-private-completer-item-height);
  position: absolute;
  overflow: hidden;
  top: 0;
}

.jp-Completer-loading-bar {
  height: 100%;
  width: 50%;
  background-color: var(--jp-accent-color2);
  position: absolute;
  left: -50%;
  animation: jp-Completer-loading 2s ease-in 0.5s infinite;
}

@keyframes jp-Completer-loading {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(400%);
  }
}

.jp-GhostText {
  color: var(--jp-ui-font-color0);
  white-space: pre-wrap;
  font-style: italic;
  transition: opacity 0.2s ease;
  opacity: 0.38;
}

.jp-GhostText-lineSpacer,
.jp-GhostText-letterSpacer {
  opacity: 0;
  display: inline-block;
  vertical-align: top;
  /* stylelint-disable-next-line csstree/validator */
  text-wrap: none;
}

.jp-GhostText-letterSpacer {
  max-width: 0;
}

.jp-GhostText-lineSpacer {
  /* duration and delay are overwritten by inline styles */
  animation: jp-GhostText-hide 300ms 700ms ease-out forwards;
}

@keyframes jp-GhostText-hide {
  0% {
    font-size: unset;
  }

  100% {
    font-size: 0;
  }
}

.jp-GhostText-expandHidden {
  border: 1px solid var(--jp-border-color0);
  border-radius: var(--jp-border-radius);
  background: var(--jp-layout-color0);
  color: var(--jp-content-font-color3);
  padding: 0 4px;
  margin: 0 4px;
  cursor: default;
}

.jp-GhostText-hiddenWrapper:hover > .jp-GhostText-hiddenLines {
  display: inline;
}

.jp-GhostText-hiddenLines {
  display: none;
}

.jp-GhostText[data-animation='uncover'] {
  position: relative;
}

.jp-GhostText-streamedToken {
  white-space: pre;
}

.jp-GhostText[data-animation='uncover'] > .jp-GhostText-streamedToken {
  animation: jp-GhostText-typing 2s forwards;
  display: inline-flex;
  overflow: hidden;
}

@keyframes jp-GhostText-typing {
  from {
    max-width: 0;
  }

  to {
    max-width: 100%;
  }
}

.jp-GhostText-streamingIndicator::after {
  animation: jp-GhostText-streaming 2s infinite;
  animation-delay: 400ms;
  content: ' ';
  background: var(--jp-layout-color4);
  opacity: 0.2;
}

@keyframes jp-GhostText-streaming {
  0% {
    opacity: 0.2;
  }

  20% {
    opacity: 0.4;
  }

  40% {
    opacity: 0.2;
  }
}

.jp-GhostText-errorIndicator::after {
  animation: jp-GhostText-error 500ms 1;
  animation-delay: 3500ms;
  color: var(--jp-error-color1);
  font-size: 150%;
  line-height: 10px;
  margin-left: 2px;
  padding: 0 4px;
  content: '⚠';
  cursor: help;
  position: relative;
  top: 2px;
}

@keyframes jp-GhostText-error {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.jp-InlineCompleter {
  box-shadow: var(--jp-elevation-z2);
  background: var(--jp-layout-color1);
  color: var(--jp-content-font-color1);
  border: var(--jp-border-width) solid var(--jp-border-color1);
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 8px;
}

.jp-InlineCompleter-progressBar {
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--jp-accent-color2);
}

.jp-InlineCompleter[data-display='onHover'] {
  opacity: 0;
  transition:
    visibility 0s linear 0.1s,
    opacity 0.1s linear;
  visibility: hidden;
}

.jp-InlineCompleter[data-display='onHover']:hover,
.jp-InlineCompleter-hover[data-display='onHover'] {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.jp-InlineCompleter[data-display='never'] {
  display: none;
}

.jp-InlineCompleter > .jp-Toolbar {
  box-shadow: none;
  border-bottom: none;
  background: none;
}

.jp-InlineCompleter[data-show-shortcuts='false']
  .jp-ToolbarButtonComponent-label {
  display: none;
}

.jp-InlineCompleter [data-command='inline-completer:next'] > svg,
.jp-InlineCompleter [data-command='inline-completer:previous'] > svg {
  scale: 1.5;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/completer/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,wCAAwC;;EAExC,0EAA0E;EAC1E,uCAAuC;AACzC;;AAEA;EACE,kCAAkC;EAClC,mCAAmC;EACnC,oCAAoC;EACpC,4DAA4D;EAC5D,UAAU;EACV,aAAa;EACb,mBAAmB;;EAEnB,8DAA8D;EAC9D,uBAAuB;;EAEvB,sEAAsE;EACtE,qBAAqB;EACrB,cAAc;AAChB;;AAEA;EACE,iEAAiE;EACjE,YAAY;EACZ,cAAc;EACd,kBAAkB;EAClB,gBAAgB;EAChB,YAAY;EACZ,uEAAuE;AACzE;;AAEA;EACE,YAAY;EACZ,SAAS;EACT,UAAU;EACV,qBAAqB;AACvB;;AAEA;EACE,SAAS;EACT,UAAU;EACV,qBAAqB;EACrB,kBAAkB;EAClB,kBAAkB;EAClB,gEAAgE;EAChE,yDAAyD;EACzD,WAAW;AACb;;AAEA;EACE,sBAAsB;EACtB,SAAS;EACT,UAAU;EACV,+CAA+C;EAC/C,gBAAgB;EAChB,aAAa;EACb,kDAAkD;EAClD,kBAAkB;AACpB;;AAEA;EACE,sBAAsB;EACtB,SAAS;EACT,oBAAoB;EACpB,+CAA+C;EAC/C,uCAAuC;EACvC,mCAAmC;EACnC,oDAAoD;EACpD,mBAAmB;AACrB;;AAEA;EACE,6BAA6B;EAC7B,oCAAoC;AACtC;;AAEA;EACE,sBAAsB;EACtB,+CAA+C;EAC/C,uBAAuB;EACvB,8CAA8C;AAChD;;AAEA;EACE,wDAAwD;EACxD,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,kBAAkB;EAClB,YAAY;EACZ,8CAA8C;EAC9C,qCAAqC;EACrC,kCAAkC;EAClC;;;GAGC;EACD,uDAAuD;AACzD;;AAEA;EACE,sBAAsB;EACtB,+CAA+C;EAC/C,iBAAiB;EACjB,uBAAuB;EACvB,+BAA+B;EAC/B,uCAAuC;EACvC,mCAAmC;EACnC,oDAAoD;EACpD,kBAAkB;AACpB;;AAEA;EACE,mCAAmC;EACnC,YAAY;AACd;;AAEA;EACE,kCAAkC;EAClC,YAAY;AACd;;AAEA;EACE,iBAAiB;EACjB,mBAAmB;EACnB,cAAc;AAChB;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,6DAA6D;AAC/D;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,WAAW;EACX,2DAA2D;EAC3D,6CAA6C;EAC7C,kBAAkB;EAClB,gBAAgB;EAChB,MAAM;AACR;;AAEA;EACE,YAAY;EACZ,UAAU;EACV,yCAAyC;EACzC,kBAAkB;EAClB,UAAU;EACV,wDAAwD;AAC1D;;AAEA;EACE;IACE,wBAAwB;EAC1B;;EAEA;IACE,2BAA2B;EAC7B;AACF;;AAEA;EACE,+BAA+B;EAC/B,qBAAqB;EACrB,kBAAkB;EAClB,6BAA6B;EAC7B,aAAa;AACf;;AAEA;;EAEE,UAAU;EACV,qBAAqB;EACrB,mBAAmB;EACnB,kDAAkD;EAClD,eAAe;AACjB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,wDAAwD;EACxD,0DAA0D;AAC5D;;AAEA;EACE;IACE,gBAAgB;EAClB;;EAEA;IACE,YAAY;EACd;AACF;;AAEA;EACE,yCAAyC;EACzC,sCAAsC;EACtC,mCAAmC;EACnC,oCAAoC;EACpC,cAAc;EACd,aAAa;EACb,eAAe;AACjB;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,0CAA0C;EAC1C,oBAAoB;EACpB,gBAAgB;AAClB;;AAEA;EACE;IACE,YAAY;EACd;;EAEA;IACE,eAAe;EACjB;AACF;;AAEA;EACE,6CAA6C;EAC7C,sBAAsB;EACtB,YAAY;EACZ,mCAAmC;EACnC,YAAY;AACd;;AAEA;EACE;IACE,YAAY;EACd;;EAEA;IACE,YAAY;EACd;;EAEA;IACE,YAAY;EACd;AACF;;AAEA;EACE,qCAAqC;EACrC,uBAAuB;EACvB,6BAA6B;EAC7B,eAAe;EACf,iBAAiB;EACjB,gBAAgB;EAChB,cAAc;EACd,YAAY;EACZ,YAAY;EACZ,kBAAkB;EAClB,QAAQ;AACV;;AAEA;EACE;IACE,UAAU;EACZ;;EAEA;IACE,UAAU;EACZ;AACF;;AAEA;EACE,kCAAkC;EAClC,mCAAmC;EACnC,oCAAoC;EACpC,4DAA4D;EAC5D,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,cAAc;AAChB;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,yCAAyC;AAC3C;;AAEA;EACE,UAAU;EACV;;uBAEqB;EACrB,kBAAkB;AACpB;;AAEA;;EAEE,UAAU;EACV,mBAAmB;EACnB,oBAAoB;AACtB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,gBAAgB;AAClB;;AAEA;;EAEE,aAAa;AACf;;AAEA;;EAEE,UAAU;AACZ",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-private-completer-item-height: 24px;\n\n  /* Shift the baseline of the type character to align with the match text */\n  --jp-private-completer-type-offset: 2px;\n}\n\n.jp-Completer {\n  box-shadow: var(--jp-elevation-z6);\n  background: var(--jp-layout-color1);\n  color: var(--jp-content-font-color1);\n  border: var(--jp-border-width) solid var(--jp-border-color1);\n  padding: 0;\n  display: flex;\n  flex-direction: row;\n\n  /* Needed to avoid scrollbar issues when using cached width. */\n  box-sizing: content-box;\n\n  /* Position the completer relative to the text editor, align the '.' */\n  margin: 4px 0 0 -30px;\n  z-index: 10001;\n}\n\n.jp-Completer-docpanel {\n  border-left: var(--jp-border-width) solid var(--jp-border-color1);\n  width: 400px;\n  flex-shrink: 0;\n  overflow-y: scroll;\n  overflow-x: auto;\n  padding: 8px;\n  max-height: calc((10 * var(--jp-private-completer-item-height)) - 16px);\n}\n\n.jp-Completer-docpanel pre {\n  border: none;\n  margin: 0;\n  padding: 0;\n  white-space: pre-wrap;\n}\n\n.jp-Completer-list {\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n  overflow-y: scroll;\n  overflow-x: hidden;\n  max-height: calc((10 * var(--jp-private-completer-item-height)));\n  min-height: calc(var(--jp-private-completer-item-height));\n  width: 100%;\n}\n\n.jp-Completer-item {\n  box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n  height: var(--jp-private-completer-item-height);\n  min-width: 150px;\n  display: grid;\n  grid-template-columns: min-content 1fr min-content;\n  position: relative;\n}\n\n.jp-Completer-item .jp-Completer-match {\n  box-sizing: border-box;\n  margin: 0;\n  padding: 0 8px 0 6px;\n  height: var(--jp-private-completer-item-height);\n  font-family: var(--jp-code-font-family);\n  font-size: var(--jp-code-font-size);\n  line-height: var(--jp-private-completer-item-height);\n  white-space: nowrap;\n}\n\n.jp-Completer-deprecated .jp-Completer-match {\n  text-decoration: line-through;\n  color: var(--jp-content-font-color2);\n}\n\n.jp-Completer-item .jp-Completer-type {\n  box-sizing: border-box;\n  height: var(--jp-private-completer-item-height);\n  background: transparent;\n  width: var(--jp-private-completer-item-height);\n}\n\n.jp-Completer-item .jp-Completer-icon {\n  /* Normal element size from LabIconStyle.ISheetOptions */\n  height: 16px;\n  width: 16px;\n}\n\n.jp-Completer-item .jp-Completer-monogram {\n  text-align: center;\n  color: white;\n  width: var(--jp-private-completer-item-height);\n  font-family: var(--jp-ui-font-family);\n  font-size: var(--jp-ui-font-size1);\n  line-height: calc(\n    var(--jp-private-completer-item-height) -\n      var(--jp-private-completer-type-offset)\n  );\n  padding-bottom: var(--jp-private-completer-type-offset);\n}\n\n.jp-Completer-item .jp-Completer-typeExtended {\n  box-sizing: border-box;\n  height: var(--jp-private-completer-item-height);\n  text-align: right;\n  background: transparent;\n  color: var(--jp-ui-font-color2);\n  font-family: var(--jp-code-font-family);\n  font-size: var(--jp-code-font-size);\n  line-height: var(--jp-private-completer-item-height);\n  padding-right: 8px;\n}\n\n.jp-Completer-item:hover {\n  background: var(--jp-layout-color2);\n  opacity: 0.8;\n}\n\n.jp-Completer-item.jp-mod-active {\n  background: var(--jp-brand-color1);\n  color: white;\n}\n\n.jp-Completer-item .jp-Completer-match mark {\n  font-weight: bold;\n  background: inherit;\n  color: inherit;\n}\n\n.jp-Completer-item.jp-mod-active .jp-Completer-typeExtended {\n  color: var(--jp-ui-font-color0);\n}\n\n.jp-Completer-type[data-color-index='0'] {\n  background: var(--jp-completer-type-background0, transparent);\n}\n\n.jp-Completer-type[data-color-index='1'] {\n  background: var(--jp-completer-type-background1, #1f77b4);\n}\n\n.jp-Completer-type[data-color-index='2'] {\n  background: var(--jp-completer-type-background2, #ff7f0e);\n}\n\n.jp-Completer-type[data-color-index='3'] {\n  background: var(--jp-completer-type-background3, #2ca02c);\n}\n\n.jp-Completer-type[data-color-index='4'] {\n  background: var(--jp-completer-type-background4, #d62728);\n}\n\n.jp-Completer-type[data-color-index='5'] {\n  background: var(--jp-completer-type-background5, #9467bd);\n}\n\n.jp-Completer-type[data-color-index='6'] {\n  background: var(--jp-completer-type-background6, #8c564b);\n}\n\n.jp-Completer-type[data-color-index='7'] {\n  background: var(--jp-completer-type-background7, #e377c2);\n}\n\n.jp-Completer-type[data-color-index='8'] {\n  background: var(--jp-completer-type-background8, #7f7f7f);\n}\n\n.jp-Completer-type[data-color-index='9'] {\n  background: var(--jp-completer-type-background9, #bcbd22);\n}\n\n.jp-Completer-type[data-color-index='10'] {\n  background: var(--jp-completer-type-background10, #17becf);\n}\n\n.jp-Completer-loading-bar-container {\n  height: 2px;\n  width: calc(100% - var(--jp-private-completer-item-height));\n  left: var(--jp-private-completer-item-height);\n  position: absolute;\n  overflow: hidden;\n  top: 0;\n}\n\n.jp-Completer-loading-bar {\n  height: 100%;\n  width: 50%;\n  background-color: var(--jp-accent-color2);\n  position: absolute;\n  left: -50%;\n  animation: jp-Completer-loading 2s ease-in 0.5s infinite;\n}\n\n@keyframes jp-Completer-loading {\n  0% {\n    transform: translateX(0);\n  }\n\n  100% {\n    transform: translateX(400%);\n  }\n}\n\n.jp-GhostText {\n  color: var(--jp-ui-font-color0);\n  white-space: pre-wrap;\n  font-style: italic;\n  transition: opacity 0.2s ease;\n  opacity: 0.38;\n}\n\n.jp-GhostText-lineSpacer,\n.jp-GhostText-letterSpacer {\n  opacity: 0;\n  display: inline-block;\n  vertical-align: top;\n  /* stylelint-disable-next-line csstree/validator */\n  text-wrap: none;\n}\n\n.jp-GhostText-letterSpacer {\n  max-width: 0;\n}\n\n.jp-GhostText-lineSpacer {\n  /* duration and delay are overwritten by inline styles */\n  animation: jp-GhostText-hide 300ms 700ms ease-out forwards;\n}\n\n@keyframes jp-GhostText-hide {\n  0% {\n    font-size: unset;\n  }\n\n  100% {\n    font-size: 0;\n  }\n}\n\n.jp-GhostText-expandHidden {\n  border: 1px solid var(--jp-border-color0);\n  border-radius: var(--jp-border-radius);\n  background: var(--jp-layout-color0);\n  color: var(--jp-content-font-color3);\n  padding: 0 4px;\n  margin: 0 4px;\n  cursor: default;\n}\n\n.jp-GhostText-hiddenWrapper:hover > .jp-GhostText-hiddenLines {\n  display: inline;\n}\n\n.jp-GhostText-hiddenLines {\n  display: none;\n}\n\n.jp-GhostText[data-animation='uncover'] {\n  position: relative;\n}\n\n.jp-GhostText-streamedToken {\n  white-space: pre;\n}\n\n.jp-GhostText[data-animation='uncover'] > .jp-GhostText-streamedToken {\n  animation: jp-GhostText-typing 2s forwards;\n  display: inline-flex;\n  overflow: hidden;\n}\n\n@keyframes jp-GhostText-typing {\n  from {\n    max-width: 0;\n  }\n\n  to {\n    max-width: 100%;\n  }\n}\n\n.jp-GhostText-streamingIndicator::after {\n  animation: jp-GhostText-streaming 2s infinite;\n  animation-delay: 400ms;\n  content: ' ';\n  background: var(--jp-layout-color4);\n  opacity: 0.2;\n}\n\n@keyframes jp-GhostText-streaming {\n  0% {\n    opacity: 0.2;\n  }\n\n  20% {\n    opacity: 0.4;\n  }\n\n  40% {\n    opacity: 0.2;\n  }\n}\n\n.jp-GhostText-errorIndicator::after {\n  animation: jp-GhostText-error 500ms 1;\n  animation-delay: 3500ms;\n  color: var(--jp-error-color1);\n  font-size: 150%;\n  line-height: 10px;\n  margin-left: 2px;\n  padding: 0 4px;\n  content: '⚠';\n  cursor: help;\n  position: relative;\n  top: 2px;\n}\n\n@keyframes jp-GhostText-error {\n  0% {\n    opacity: 1;\n  }\n\n  100% {\n    opacity: 0;\n  }\n}\n\n.jp-InlineCompleter {\n  box-shadow: var(--jp-elevation-z2);\n  background: var(--jp-layout-color1);\n  color: var(--jp-content-font-color1);\n  border: var(--jp-border-width) solid var(--jp-border-color1);\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  padding: 0 8px;\n}\n\n.jp-InlineCompleter-progressBar {\n  height: 2px;\n  position: absolute;\n  top: 0;\n  left: 0;\n  background-color: var(--jp-accent-color2);\n}\n\n.jp-InlineCompleter[data-display='onHover'] {\n  opacity: 0;\n  transition:\n    visibility 0s linear 0.1s,\n    opacity 0.1s linear;\n  visibility: hidden;\n}\n\n.jp-InlineCompleter[data-display='onHover']:hover,\n.jp-InlineCompleter-hover[data-display='onHover'] {\n  opacity: 1;\n  visibility: visible;\n  transition-delay: 0s;\n}\n\n.jp-InlineCompleter[data-display='never'] {\n  display: none;\n}\n\n.jp-InlineCompleter > .jp-Toolbar {\n  box-shadow: none;\n  border-bottom: none;\n  background: none;\n}\n\n.jp-InlineCompleter[data-show-shortcuts='false']\n  .jp-ToolbarButtonComponent-label {\n  display: none;\n}\n\n.jp-InlineCompleter [data-command='inline-completer:next'] > svg,\n.jp-InlineCompleter [data-command='inline-completer:previous'] > svg {\n  scale: 1.5;\n}\n"],sourceRoot:""}]);let a=s},5278(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* Toolbar menu to select the prompt cell position */
.jp-CodeConsolePromptMenu {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.jp-CodeConsolePromptMenu .lm-Menu-itemIcon > svg {
  vertical-align: sub;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/console-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E,oDAAoD;AACpD;EACE,aAAa;EACb,sBAAsB;EACtB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,mBAAmB;AACrB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Toolbar menu to select the prompt cell position */\n.jp-CodeConsolePromptMenu {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n}\n\n.jp-CodeConsolePromptMenu .lm-Menu-itemIcon > svg {\n  vertical-align: sub;\n}\n"],sourceRoot:""}]);let a=s},5534(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-ConsolePanel {
  display: flex;
  margin-top: -1px;
  min-width: 240px;
  min-height: 120px;
}

.jp-CodeConsole {
  height: 100%;
  padding: 0;
  display: flex;
}

.jp-CodeConsole .jp-Cell {
  padding: var(--jp-cell-padding);
}

/*-----------------------------------------------------------------------------
| Content (already run cells)
|----------------------------------------------------------------------------*/

.jp-CodeConsole-content {
  background: var(--jp-layout-color0);
  overflow: auto;
  padding: 0 var(--jp-console-padding);
  min-width: calc(10 * var(--jp-ui-font-size1));
  min-height: calc(5 * var(--jp-ui-font-size1));
}

.jp-CodeConsole-content .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {
  opacity: var(--jp-cell-prompt-not-active-opacity);
  color: var(--jp-cell-inprompt-font-color);
  cursor: move;
}

.jp-CodeConsole-content .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {
  opacity: var(--jp-cell-prompt-not-active-opacity);
  color: var(--jp-cell-outprompt-font-color);
}

/* This rule is for styling cell run by another activity in this console */

/* .jp-CodeConsole-content .jp-Cell.jp-CodeConsole-foreignCell {
} */

.jp-CodeConsole-content .jp-InputArea-editor.jp-InputArea-editor {
  background: transparent;
  border: 1px solid transparent;
}

.jp-CodeConsole-content .jp-CodeConsole-banner .jp-InputPrompt {
  display: none;
}

/* collapser is hovered */
.jp-CodeConsole-content .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);
}

.jp-CodeConsole-input:focus-visible,
.jp-CodeConsole-content:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
  outline-offset: calc(-1 * var(--jp-focus-outline-width));
}

/*-----------------------------------------------------------------------------
| Input/prompt cell
|----------------------------------------------------------------------------*/

.jp-CodeConsole-input {
  overflow: auto;
  padding: var(--jp-cell-padding) var(--jp-console-padding);

  /* This matches the box shadow on the notebook toolbar, eventually we should create
   * CSS variables for this */
  box-shadow: 0 0.4px 6px 0 rgba(0, 0, 0, 0.1);
  background: var(--jp-layout-color0);
  min-width: calc(10 * var(--jp-ui-font-size1));
  min-height: calc(4 * var(--jp-ui-font-size1));
}

.jp-CodeConsole-input .jp-CodeConsole-prompt .jp-InputArea {
  height: 100%;
  min-height: 100%;
}

.jp-CodeConsole-promptCell .jp-InputArea-editor.jp-mod-focused {
  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);
}

/*-----------------------------------------------------------------------------
| Presentation Mode (.jp-mod-presentationMode)
|----------------------------------------------------------------------------*/

.jp-mod-presentationMode .jp-CodeConsole {
  --jp-content-font-size1: var(--jp-content-presentation-font-size1);
  --jp-code-font-size: var(--jp-code-presentation-font-size);
}

.jp-mod-presentationMode .jp-CodeConsole .jp-Cell .jp-InputPrompt,
.jp-mod-presentationMode .jp-CodeConsole .jp-Cell .jp-OutputPrompt {
  flex: 0 0 110px;
}

/*-----------------------------------------------------------------------------
| Split Panel Container
|----------------------------------------------------------------------------*/
.jp-CodeConsole-split {
  display: flex;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

.jp-CodeConsole-split.lm-SplitPanel .lm-SplitPanel-handle::after {
  background-color: var(--jp-border-color2);
  min-height: calc(2 * var(--jp-border-width));
  min-width: calc(2 * var(--jp-border-width));
}

/*-----------------------------------------------------------------------------
| Mobile
|----------------------------------------------------------------------------*/
@media only screen and (width <= 760px) {
  .jp-CodeConsole-input {
    min-height: calc(6 * var(--jp-ui-font-size1));
  }
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/console/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,aAAa;EACb,gBAAgB;EAChB,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;EACE,YAAY;EACZ,UAAU;EACV,aAAa;AACf;;AAEA;EACE,+BAA+B;AACjC;;AAEA;;8EAE8E;;AAE9E;EACE,mCAAmC;EACnC,cAAc;EACd,oCAAoC;EACpC,6CAA6C;EAC7C,6CAA6C;AAC/C;;AAEA;EACE,iDAAiD;EACjD,yCAAyC;EACzC,YAAY;AACd;;AAEA;EACE,iDAAiD;EACjD,0CAA0C;AAC5C;;AAEA,0EAA0E;;AAE1E;GACG;;AAEH;EACE,uBAAuB;EACvB,6BAA6B;AAC/B;;AAEA;EACE,aAAa;AACf;;AAEA,yBAAyB;AACzB;EACE,kCAAkC;EAClC,kCAAkC;EAClC,0DAA0D;AAC5D;;AAEA;;EAEE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,wDAAwD;AAC1D;;AAEA;;8EAE8E;;AAE9E;EACE,cAAc;EACd,yDAAyD;;EAEzD;6BAC2B;EAC3B,4CAA4C;EAC5C,mCAAmC;EACnC,6CAA6C;EAC7C,6CAA6C;AAC/C;;AAEA;EACE,YAAY;EACZ,gBAAgB;AAClB;;AAEA;EACE,8EAA8E;EAC9E,sCAAsC;EACtC,yDAAyD;AAC3D;;AAEA;;8EAE8E;;AAE9E;EACE,kEAAkE;EAClE,0DAA0D;AAC5D;;AAEA;;EAEE,eAAe;AACjB;;AAEA;;8EAE8E;AAC9E;EACE,aAAa;EACb,YAAY;EACZ,WAAW;EACX,gBAAgB;AAClB;;AAEA;EACE,yCAAyC;EACzC,4CAA4C;EAC5C,2CAA2C;AAC7C;;AAEA;;8EAE8E;AAC9E;EACE;IACE,6CAA6C;EAC/C;AACF",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-ConsolePanel {\n  display: flex;\n  margin-top: -1px;\n  min-width: 240px;\n  min-height: 120px;\n}\n\n.jp-CodeConsole {\n  height: 100%;\n  padding: 0;\n  display: flex;\n}\n\n.jp-CodeConsole .jp-Cell {\n  padding: var(--jp-cell-padding);\n}\n\n/*-----------------------------------------------------------------------------\n| Content (already run cells)\n|----------------------------------------------------------------------------*/\n\n.jp-CodeConsole-content {\n  background: var(--jp-layout-color0);\n  overflow: auto;\n  padding: 0 var(--jp-console-padding);\n  min-width: calc(10 * var(--jp-ui-font-size1));\n  min-height: calc(5 * var(--jp-ui-font-size1));\n}\n\n.jp-CodeConsole-content .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {\n  opacity: var(--jp-cell-prompt-not-active-opacity);\n  color: var(--jp-cell-inprompt-font-color);\n  cursor: move;\n}\n\n.jp-CodeConsole-content .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {\n  opacity: var(--jp-cell-prompt-not-active-opacity);\n  color: var(--jp-cell-outprompt-font-color);\n}\n\n/* This rule is for styling cell run by another activity in this console */\n\n/* .jp-CodeConsole-content .jp-Cell.jp-CodeConsole-foreignCell {\n} */\n\n.jp-CodeConsole-content .jp-InputArea-editor.jp-InputArea-editor {\n  background: transparent;\n  border: 1px solid transparent;\n}\n\n.jp-CodeConsole-content .jp-CodeConsole-banner .jp-InputPrompt {\n  display: none;\n}\n\n/* collapser is hovered */\n.jp-CodeConsole-content .jp-Cell .jp-Collapser:hover {\n  box-shadow: var(--jp-elevation-z2);\n  background: var(--jp-brand-color1);\n  opacity: var(--jp-cell-collapser-not-active-hover-opacity);\n}\n\n.jp-CodeConsole-input:focus-visible,\n.jp-CodeConsole-content:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n  outline-offset: calc(-1 * var(--jp-focus-outline-width));\n}\n\n/*-----------------------------------------------------------------------------\n| Input/prompt cell\n|----------------------------------------------------------------------------*/\n\n.jp-CodeConsole-input {\n  overflow: auto;\n  padding: var(--jp-cell-padding) var(--jp-console-padding);\n\n  /* This matches the box shadow on the notebook toolbar, eventually we should create\n   * CSS variables for this */\n  box-shadow: 0 0.4px 6px 0 rgba(0, 0, 0, 0.1);\n  background: var(--jp-layout-color0);\n  min-width: calc(10 * var(--jp-ui-font-size1));\n  min-height: calc(4 * var(--jp-ui-font-size1));\n}\n\n.jp-CodeConsole-input .jp-CodeConsole-prompt .jp-InputArea {\n  height: 100%;\n  min-height: 100%;\n}\n\n.jp-CodeConsole-promptCell .jp-InputArea-editor.jp-mod-focused {\n  border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);\n  box-shadow: var(--jp-input-box-shadow);\n  background-color: var(--jp-cell-editor-active-background);\n}\n\n/*-----------------------------------------------------------------------------\n| Presentation Mode (.jp-mod-presentationMode)\n|----------------------------------------------------------------------------*/\n\n.jp-mod-presentationMode .jp-CodeConsole {\n  --jp-content-font-size1: var(--jp-content-presentation-font-size1);\n  --jp-code-font-size: var(--jp-code-presentation-font-size);\n}\n\n.jp-mod-presentationMode .jp-CodeConsole .jp-Cell .jp-InputPrompt,\n.jp-mod-presentationMode .jp-CodeConsole .jp-Cell .jp-OutputPrompt {\n  flex: 0 0 110px;\n}\n\n/*-----------------------------------------------------------------------------\n| Split Panel Container\n|----------------------------------------------------------------------------*/\n.jp-CodeConsole-split {\n  display: flex;\n  height: 100%;\n  width: 100%;\n  overflow: hidden;\n}\n\n.jp-CodeConsole-split.lm-SplitPanel .lm-SplitPanel-handle::after {\n  background-color: var(--jp-border-color2);\n  min-height: calc(2 * var(--jp-border-width));\n  min-width: calc(2 * var(--jp-border-width));\n}\n\n/*-----------------------------------------------------------------------------\n| Mobile\n|----------------------------------------------------------------------------*/\n@media only screen and (width <= 760px) {\n  .jp-CodeConsole-input {\n    min-height: calc(6 * var(--jp-ui-font-size1));\n  }\n}\n"],sourceRoot:""}]);let a=s},69401(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-CSVViewer {
  display: flex;
  flex-direction: column;
  outline: none;

  /* 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-CSVDelimiter {
  display: flex;
  flex: 0 0 auto;
  flex-direction: row;
  border: none;
  min-height: 24px;
  background: var(--jp-toolbar-background);
  z-index: 1;
}

.jp-CSVDelimiter .jp-CSVDelimiter-label {
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  padding-left: 8px;
  padding-right: 8px;
}

.jp-CSVDelimiter .jp-CSVDelimiter-dropdown {
  flex: 0 0 auto;
  vertical-align: middle;
  border-radius: 0;
  outline: none;
  height: 20px;
  margin-top: 2px;
  margin-bottom: 2px;
}

.jp-CSVDelimiter .jp-CSVDelimiter-dropdown select.jp-mod-styled {
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);
  font-size: var(--jp-ui-font-size1);
  height: 20px;
  padding-right: 20px;
}

.jp-CSVViewer-grid {
  flex: 1 1 auto;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/csvviewer/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,aAAa;EACb,sBAAsB;EACtB,aAAa;;EAEb;iCAC+B;EAC/B,kCAAkC;AACpC;;AAEA;EACE,aAAa;EACb,cAAc;EACd,mBAAmB;EACnB,YAAY;EACZ,gBAAgB;EAChB,wCAAwC;EACxC,UAAU;AACZ;;AAEA;EACE,+BAA+B;EAC/B,kCAAkC;EAClC,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,cAAc;EACd,sBAAsB;EACtB,gBAAgB;EAChB,aAAa;EACb,YAAY;EACZ,eAAe;EACf,kBAAkB;AACpB;;AAEA;EACE,+BAA+B;EAC/B,mCAAmC;EACnC,kCAAkC;EAClC,YAAY;EACZ,mBAAmB;AACrB;;AAEA;EACE,cAAc;AAChB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-CSVViewer {\n  display: flex;\n  flex-direction: column;\n  outline: none;\n\n  /* This is needed so that all font sizing of children done in ems is\n   * relative to this base size */\n  font-size: var(--jp-ui-font-size1);\n}\n\n.jp-CSVDelimiter {\n  display: flex;\n  flex: 0 0 auto;\n  flex-direction: row;\n  border: none;\n  min-height: 24px;\n  background: var(--jp-toolbar-background);\n  z-index: 1;\n}\n\n.jp-CSVDelimiter .jp-CSVDelimiter-label {\n  color: var(--jp-ui-font-color1);\n  font-size: var(--jp-ui-font-size1);\n  padding-left: 8px;\n  padding-right: 8px;\n}\n\n.jp-CSVDelimiter .jp-CSVDelimiter-dropdown {\n  flex: 0 0 auto;\n  vertical-align: middle;\n  border-radius: 0;\n  outline: none;\n  height: 20px;\n  margin-top: 2px;\n  margin-bottom: 2px;\n}\n\n.jp-CSVDelimiter .jp-CSVDelimiter-dropdown select.jp-mod-styled {\n  color: var(--jp-ui-font-color1);\n  background: var(--jp-layout-color1);\n  font-size: var(--jp-ui-font-size1);\n  height: 20px;\n  padding-right: 20px;\n}\n\n.jp-CSVViewer-grid {\n  flex: 1 1 auto;\n}\n"],sourceRoot:""}]);let a=s},57384(e,t,n){"use strict";n.d(t,{A:()=>g});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(19259),l=n(90159),d=n(96676),c=n(30828),h=n(70179),u=n(77917),p=n(60740),m=s()(o());m.i(a.A),m.i(l.A),m.i(d.A),m.i(c.A),m.i(h.A),m.i(u.A),m.i(p.A),m.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-left-truncated {
  overflow: hidden;
  text-overflow: ellipsis;
  direction: ltr;
}

#jp-debugger .jp-switch-label {
  margin-right: 0;
}

.jp-DebuggerBugButton[aria-pressed='true'] {
  /* Undo default toolkit style */
  box-shadow: none;
}

.jp-DebuggerBugButton[aria-pressed='true'] path {
  fill: var(--jp-warn-color0);
}

.jp-DebuggerPausedOverlay {
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border: 1px solid var(--jp-border-color2);
  border-radius: 4px;
  background: var(--jp-layout-color2);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color1);
}

.jp-DebuggerPausedButton {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 3px;
  background: transparent;
  cursor: pointer;
  padding: 0;
}

.jp-DebuggerPausedButton:hover {
  background: var(--jp-layout-color3);
}

.jp-DebuggerStopButton path {
  fill: var(--jp-error-color0) !important;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/debugger/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAU9E;EACE,gBAAgB;EAChB,uBAAuB;EACvB,cAAc;AAChB;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,+BAA+B;EAC/B,gBAAgB;AAClB;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,2BAA2B;EAC3B,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,gBAAgB;EAChB,yCAAyC;EACzC,kBAAkB;EAClB,mCAAmC;EACnC,wCAAwC;EACxC,aAAa;EACb,kCAAkC;EAClC,+BAA+B;AACjC;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,kBAAkB;EAClB,uBAAuB;EACvB,eAAe;EACf,UAAU;AACZ;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,uCAAuC;AACzC",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n@import './breakpoints.css';\n@import './callstack.css';\n@import './editor.css';\n@import './kernelSources.css';\n@import './sidebar.css';\n@import './sources.css';\n@import './variables.css';\n\n.jp-left-truncated {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  direction: ltr;\n}\n\n#jp-debugger .jp-switch-label {\n  margin-right: 0;\n}\n\n.jp-DebuggerBugButton[aria-pressed='true'] {\n  /* Undo default toolkit style */\n  box-shadow: none;\n}\n\n.jp-DebuggerBugButton[aria-pressed='true'] path {\n  fill: var(--jp-warn-color0);\n}\n\n.jp-DebuggerPausedOverlay {\n  position: absolute;\n  top: 8px;\n  left: 50%;\n  transform: translateX(-50%);\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  padding: 4px 8px;\n  border: 1px solid var(--jp-border-color2);\n  border-radius: 4px;\n  background: var(--jp-layout-color2);\n  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n  z-index: 1000;\n  font-size: var(--jp-ui-font-size1);\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-DebuggerPausedButton {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 24px;\n  height: 24px;\n  border: none;\n  border-radius: 3px;\n  background: transparent;\n  cursor: pointer;\n  padding: 0;\n}\n\n.jp-DebuggerPausedButton:hover {\n  background: var(--jp-layout-color3);\n}\n\n.jp-DebuggerStopButton path {\n  fill: var(--jp-error-color0) !important;\n}\n"],sourceRoot:""}]);let g=m},19259(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-DebuggerBreakpoints {
  display: flex;
  flex-direction: column;
  min-height: 50px;
  padding-top: 3px;
}

.jp-DebuggerBreakpoints-body {
  padding: 10px;
  overflow: auto;
}

.jp-DebuggerBreakpoint {
  display: flex;
  align-items: center;
  height: 24px;
}

.jp-DebuggerBreakpoint:hover {
  background: var(--jp-layout-color2);
  cursor: pointer;
}

.jp-DebuggerBreakpoint-container {
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
}

.jp-DebuggerBreakpoint-source {
  white-space: nowrap;
  margin-right: 5px;
}

.jp-DebuggerBreakpoint-line {
  margin-left: auto;
}

.jp-DebuggerCallstackFrame {
  display: flex;
  align-items: center;
}

.jp-DebuggerCallstackFrame-name {
  white-space: nowrap;
  margin-right: 5px;
}

.jp-DebuggerCallstackFrame-location {
  margin-left: auto;
}

[data-jp-debugger='true'] .cm-breakpoint-gutter .cm-gutterElement:empty::after {
  color: var(--jp-error-color1);
  opacity: 0;
}

.cm-gutter {
  cursor: default;
}

.cm-breakpoint-gutter .cm-gutterElement {
  padding-top: 1.1px;
  height: 18.2px;
}

[data-jp-debugger='true'].jp-Editor
  .cm-breakpoint-gutter
  .cm-gutterElement:empty:hover::after,
[data-jp-debugger='true']
  .jp-Notebook
  .jp-CodeCell.jp-mod-selected
  .cm-breakpoint-gutter:empty:hover::after,
[data-jp-debugger='true']
  .jp-Editor
  .cm-breakpoint-gutter
  .cm-gutterElement:empty:hover::after {
  opacity: 0.5;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/debugger/style/breakpoints.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,YAAY;AACd;;AAEA;EACE,mCAAmC;EACnC,eAAe;AACjB;;AAEA;EACE,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;AACpB;;AAEA;EACE,mBAAmB;EACnB,iBAAiB;AACnB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,mBAAmB;EACnB,iBAAiB;AACnB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,6BAA6B;EAC7B,UAAU;AACZ;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,kBAAkB;EAClB,cAAc;AAChB;;AAEA;;;;;;;;;;;EAWE,YAAY;AACd",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-DebuggerBreakpoints {\n  display: flex;\n  flex-direction: column;\n  min-height: 50px;\n  padding-top: 3px;\n}\n\n.jp-DebuggerBreakpoints-body {\n  padding: 10px;\n  overflow: auto;\n}\n\n.jp-DebuggerBreakpoint {\n  display: flex;\n  align-items: center;\n  height: 24px;\n}\n\n.jp-DebuggerBreakpoint:hover {\n  background: var(--jp-layout-color2);\n  cursor: pointer;\n}\n\n.jp-DebuggerBreakpoint-container {\n  height: 24px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin-right: 10px;\n}\n\n.jp-DebuggerBreakpoint-source {\n  white-space: nowrap;\n  margin-right: 5px;\n}\n\n.jp-DebuggerBreakpoint-line {\n  margin-left: auto;\n}\n\n.jp-DebuggerCallstackFrame {\n  display: flex;\n  align-items: center;\n}\n\n.jp-DebuggerCallstackFrame-name {\n  white-space: nowrap;\n  margin-right: 5px;\n}\n\n.jp-DebuggerCallstackFrame-location {\n  margin-left: auto;\n}\n\n[data-jp-debugger='true'] .cm-breakpoint-gutter .cm-gutterElement:empty::after {\n  color: var(--jp-error-color1);\n  opacity: 0;\n}\n\n.cm-gutter {\n  cursor: default;\n}\n\n.cm-breakpoint-gutter .cm-gutterElement {\n  padding-top: 1.1px;\n  height: 18.2px;\n}\n\n[data-jp-debugger='true'].jp-Editor\n  .cm-breakpoint-gutter\n  .cm-gutterElement:empty:hover::after,\n[data-jp-debugger='true']\n  .jp-Notebook\n  .jp-CodeCell.jp-mod-selected\n  .cm-breakpoint-gutter:empty:hover::after,\n[data-jp-debugger='true']\n  .jp-Editor\n  .cm-breakpoint-gutter\n  .cm-gutterElement:empty:hover::after {\n  opacity: 0.5;\n}\n"],sourceRoot:""}]);let a=s},90159(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-DebuggerCallstack {
  display: flex;
  flex-direction: column;
  min-height: 50px;
  padding-top: 3px;
}

.jp-DebuggerCallstack-body {
  overflow: auto;
}

.jp-DebuggerCallstack-body ul {
  list-style: none;
  margin: 0;
  padding: 0;
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
}

.jp-DebuggerCallstack-body li {
  padding: 5px;
  padding-left: 8px;
}

.jp-DebuggerCallstack-body li.selected {
  color: white;
  background: var(--jp-brand-color1);
}

.jp-DebuggerCallstack .jp-ToolbarButtonComponent-label {
  display: none;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/debugger/style/callstack.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,gBAAgB;EAChB,SAAS;EACT,UAAU;EACV,mCAAmC;EACnC,+BAA+B;EAC/B,kCAAkC;AACpC;;AAEA;EACE,YAAY;EACZ,iBAAiB;AACnB;;AAEA;EACE,YAAY;EACZ,kCAAkC;AACpC;;AAEA;EACE,aAAa;AACf",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-DebuggerCallstack {\n  display: flex;\n  flex-direction: column;\n  min-height: 50px;\n  padding-top: 3px;\n}\n\n.jp-DebuggerCallstack-body {\n  overflow: auto;\n}\n\n.jp-DebuggerCallstack-body ul {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  background: var(--jp-layout-color1);\n  color: var(--jp-ui-font-color1);\n  font-size: var(--jp-ui-font-size1);\n}\n\n.jp-DebuggerCallstack-body li {\n  padding: 5px;\n  padding-left: 8px;\n}\n\n.jp-DebuggerCallstack-body li.selected {\n  color: white;\n  background: var(--jp-brand-color1);\n}\n\n.jp-DebuggerCallstack .jp-ToolbarButtonComponent-label {\n  display: none;\n}\n"],sourceRoot:""}]);let a=s},96676(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-DebuggerEditor-highlight {
  text-shadow: 0 0 1px var(--jp-layout-color0);
  outline: 1px solid;
}

body[data-jp-theme-light='false'] .jp-DebuggerEditor-highlight {
  background-color: var(--md-brown-800, #4e342e);
  outline-color: var(--md-brown-600, #6d4c41);
}

body[data-jp-theme-light='true'] .jp-DebuggerEditor-highlight {
  background-color: var(--md-brown-100, #d7ccc8);
  outline-color: var(--md-brown-300, #a1887f);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/debugger/style/editor.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,4CAA4C;EAC5C,kBAAkB;AACpB;;AAEA;EACE,8CAA8C;EAC9C,2CAA2C;AAC7C;;AAEA;EACE,8CAA8C;EAC9C,2CAA2C;AAC7C",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-DebuggerEditor-highlight {\n  text-shadow: 0 0 1px var(--jp-layout-color0);\n  outline: 1px solid;\n}\n\nbody[data-jp-theme-light='false'] .jp-DebuggerEditor-highlight {\n  background-color: var(--md-brown-800, #4e342e);\n  outline-color: var(--md-brown-600, #6d4c41);\n}\n\nbody[data-jp-theme-light='true'] .jp-DebuggerEditor-highlight {\n  background-color: var(--md-brown-100, #d7ccc8);\n  outline-color: var(--md-brown-300, #a1887f);\n}\n"],sourceRoot:""}]);let a=s},30828(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-DebuggerKernelSources {
  min-height: 50px;
  margin-top: 3px;
}

[data-jp-debugger='true'].jp-Editor .jp-mod-readOnly {
  background: var(--jp-layout-color2);
  height: 100%;
}

.jp-DebuggerKernelSources-body [data-jp-debugger='true'].jp-Editor {
  height: 100%;
}

.jp-DebuggerKernelSources-body {
  height: 100%;
  overflow-y: auto;
}

.jp-DebuggerKernelSource-source {
  display: flex;
  align-items: center;
  padding: 4px;
  cursor: pointer;
}

.jp-DebuggerKernelSource-source:hover {
  background-color: var(--jp-layout-color2);
}

.jp-DebuggerKernelSource-source > svg {
  height: 16px;
  width: 16px;
}

.jp-DebuggerKernelSources-header .jp-Toolbar-item[data-jp-item-name='filter'] {
  flex: 1 1 0;
  min-width: 0;
}

.jp-Debugger-KernelSources-Filter {
  font-weight: 400;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/debugger/style/kernelSources.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,gBAAgB;EAChB,eAAe;AACjB;;AAEA;EACE,mCAAmC;EACnC,YAAY;AACd;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,YAAY;EACZ,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,YAAY;EACZ,eAAe;AACjB;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,gBAAgB;AAClB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-DebuggerKernelSources {\n  min-height: 50px;\n  margin-top: 3px;\n}\n\n[data-jp-debugger='true'].jp-Editor .jp-mod-readOnly {\n  background: var(--jp-layout-color2);\n  height: 100%;\n}\n\n.jp-DebuggerKernelSources-body [data-jp-debugger='true'].jp-Editor {\n  height: 100%;\n}\n\n.jp-DebuggerKernelSources-body {\n  height: 100%;\n  overflow-y: auto;\n}\n\n.jp-DebuggerKernelSource-source {\n  display: flex;\n  align-items: center;\n  padding: 4px;\n  cursor: pointer;\n}\n\n.jp-DebuggerKernelSource-source:hover {\n  background-color: var(--jp-layout-color2);\n}\n\n.jp-DebuggerKernelSource-source > svg {\n  height: 16px;\n  width: 16px;\n}\n\n.jp-DebuggerKernelSources-header .jp-Toolbar-item[data-jp-item-name='filter'] {\n  flex: 1 1 0;\n  min-width: 0;\n}\n\n.jp-Debugger-KernelSources-Filter {\n  font-weight: 400;\n}\n"],sourceRoot:""}]);let a=s},70179(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-SidePanel-header > h2 {
  /* Set font-size to override default h2 sizing but keeping default --jp-ui-font-size0 */
  font-size: 100%;
  font-weight: 600;
  margin: 0 auto 0 0;
  padding: 4px 10px;
}

.jp-DebuggerSidebar-body
  .jp-AccordionPanel-title
  jp-toolbar::part(positioning-region) {
  flex-wrap: nowrap;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/debugger/style/sidebar.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,uFAAuF;EACvF,eAAe;EACf,gBAAgB;EAChB,kBAAkB;EAClB,iBAAiB;AACnB;;AAEA;;;EAGE,iBAAiB;AACnB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-SidePanel-header > h2 {\n  /* Set font-size to override default h2 sizing but keeping default --jp-ui-font-size0 */\n  font-size: 100%;\n  font-weight: 600;\n  margin: 0 auto 0 0;\n  padding: 4px 10px;\n}\n\n.jp-DebuggerSidebar-body\n  .jp-AccordionPanel-title\n  jp-toolbar::part(positioning-region) {\n  flex-wrap: nowrap;\n}\n"],sourceRoot:""}]);let a=s},77917(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-DebuggerSources {
  min-height: 50px;
  margin-top: 3px;
  overflow-y: scroll;
}

[data-jp-debugger='true'].jp-Editor .jp-mod-readOnly {
  background: var(--jp-layout-color2);
  height: 100%;
}

.jp-DebuggerSources-body [data-jp-debugger='true'].jp-Editor {
  height: 100%;
}

.jp-DebuggerSources-body {
  height: 100%;
}

.jp-DebuggerSources-header-path {
  overflow: hidden;
  cursor: pointer;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--jp-ui-font-size0);
  color: var(--jp-ui-font-color1);
  user-select: text;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/debugger/style/sources.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,gBAAgB;EAChB,eAAe;EACf,kBAAkB;AACpB;;AAEA;EACE,mCAAmC;EACnC,YAAY;AACd;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,gBAAgB;EAChB,eAAe;EACf,uBAAuB;EACvB,mBAAmB;EACnB,kCAAkC;EAClC,+BAA+B;EAC/B,iBAAiB;AACnB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-DebuggerSources {\n  min-height: 50px;\n  margin-top: 3px;\n  overflow-y: scroll;\n}\n\n[data-jp-debugger='true'].jp-Editor .jp-mod-readOnly {\n  background: var(--jp-layout-color2);\n  height: 100%;\n}\n\n.jp-DebuggerSources-body [data-jp-debugger='true'].jp-Editor {\n  height: 100%;\n}\n\n.jp-DebuggerSources-body {\n  height: 100%;\n}\n\n.jp-DebuggerSources-header-path {\n  overflow: hidden;\n  cursor: pointer;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  font-size: var(--jp-ui-font-size0);\n  color: var(--jp-ui-font-color1);\n  user-select: text;\n}\n"],sourceRoot:""}]);let a=s},60740(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-DebuggerVariables {
  display: flex;
  flex-direction: column;
  min-height: 50px;
  padding-top: 3px;
}

.jp-DebuggerVariables-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 24px;
  overflow: auto;

  /* For absolute positioning of jp-DebuggerVariables-buttons. */
  position: relative;
}

.jp-DebuggerVariables-name {
  color: var(--jp-mirror-editor-attribute-color);
  grid-area: name;
}

.jp-DebuggerVariables-name:last-of-type {
  flex: 1 1 auto;
}

.jp-DebuggerVariables-name::after {
  content: ':';
  margin-right: 5px;
}

.jp-DebuggerVariables-detail {
  /* detail contains value for primitive types or name of the type otherwise */
  color: var(--jp-mirror-editor-string-color);
  flex: 1 1 auto;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.jp-DebuggerVariables-grid {
  flex: 1 1 auto;
}

.jp-DebuggerVariables-grid .lm-DataGrid {
  border: none;
}

.jp-DebuggerVariables-colorPalette {
  visibility: hidden;
  z-index: -999;
  position: absolute;
  left: -999px;
  top: -999px;
}

.jp-DebuggerVariables-colorPalette .jp-mod-void {
  color: var(--jp-layout-color1);
}

.jp-DebuggerVariables-colorPalette .jp-mod-background {
  color: var(--jp-rendermime-table-row-background);
}

.jp-DebuggerVariables-colorPalette .jp-mod-header-background {
  color: var(--jp-layout-color2);
}

.jp-DebuggerVariables-colorPalette .jp-mod-grid-line {
  color: var(--jp-border-color3);
}

.jp-DebuggerVariables-colorPalette .jp-mod-header-grid-line {
  color: var(--jp-border-color3);
}

.jp-DebuggerVariables-colorPalette .jp-mod-selection {
  color: color-mix(in srgb, var(--jp-info-color1) 20%, transparent);
}

.jp-DebuggerVariables-colorPalette .jp-mod-text {
  color: var(--jp-content-font-color0);
  font-family: var(--jp-datagrid-font-family, var(--jp-content-font-family));
  font-size: var(--jp-datagrid-font-size, 12px);
}

.jp-VariableRendererPanel {
  overflow: auto;
}

.jp-VariableRendererPanel-renderer {
  overflow: auto;
  height: 100%;
}

.jp-DebuggerRichVariable div[data-mime-type='text/plain'] > pre {
  white-space: normal;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/debugger/style/variables.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,cAAc;EACd,gBAAgB;EAChB,cAAc;;EAEd,8DAA8D;EAC9D,kBAAkB;AACpB;;AAEA;EACE,8CAA8C;EAC9C,eAAe;AACjB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,YAAY;EACZ,iBAAiB;AACnB;;AAEA;EACE,4EAA4E;EAC5E,2CAA2C;EAC3C,cAAc;EACd,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,aAAa;EACb,kBAAkB;EAClB,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,iEAAiE;AACnE;;AAEA;EACE,oCAAoC;EACpC,0EAA0E;EAC1E,6CAA6C;AAC/C;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;EACd,YAAY;AACd;;AAEA;EACE,mBAAmB;AACrB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-DebuggerVariables {\n  display: flex;\n  flex-direction: column;\n  min-height: 50px;\n  padding-top: 3px;\n}\n\n.jp-DebuggerVariables-body {\n  display: flex;\n  flex-direction: column;\n  flex: 1 1 auto;\n  min-height: 24px;\n  overflow: auto;\n\n  /* For absolute positioning of jp-DebuggerVariables-buttons. */\n  position: relative;\n}\n\n.jp-DebuggerVariables-name {\n  color: var(--jp-mirror-editor-attribute-color);\n  grid-area: name;\n}\n\n.jp-DebuggerVariables-name:last-of-type {\n  flex: 1 1 auto;\n}\n\n.jp-DebuggerVariables-name::after {\n  content: ':';\n  margin-right: 5px;\n}\n\n.jp-DebuggerVariables-detail {\n  /* detail contains value for primitive types or name of the type otherwise */\n  color: var(--jp-mirror-editor-string-color);\n  flex: 1 1 auto;\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n}\n\n.jp-DebuggerVariables-grid {\n  flex: 1 1 auto;\n}\n\n.jp-DebuggerVariables-grid .lm-DataGrid {\n  border: none;\n}\n\n.jp-DebuggerVariables-colorPalette {\n  visibility: hidden;\n  z-index: -999;\n  position: absolute;\n  left: -999px;\n  top: -999px;\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-void {\n  color: var(--jp-layout-color1);\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-background {\n  color: var(--jp-rendermime-table-row-background);\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-header-background {\n  color: var(--jp-layout-color2);\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-grid-line {\n  color: var(--jp-border-color3);\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-header-grid-line {\n  color: var(--jp-border-color3);\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-selection {\n  color: color-mix(in srgb, var(--jp-info-color1) 20%, transparent);\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-text {\n  color: var(--jp-content-font-color0);\n  font-family: var(--jp-datagrid-font-family, var(--jp-content-font-family));\n  font-size: var(--jp-datagrid-font-size, 12px);\n}\n\n.jp-VariableRendererPanel {\n  overflow: auto;\n}\n\n.jp-VariableRendererPanel-renderer {\n  overflow: auto;\n  height: 100%;\n}\n\n.jp-DebuggerRichVariable div[data-mime-type='text/plain'] > pre {\n  white-space: normal;\n}\n"],sourceRoot:""}]);let a=s},60702(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-MimeDocument {
  outline: none;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/docregistry/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,aAAa;AACf",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-MimeDocument {\n  outline: none;\n}\n"],sourceRoot:""}]);let a=s},65642(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-DocumentSearch-input {
  border: none;
  outline: none;
  color: var(--jp-ui-font-color0);
  font-size: var(--jp-ui-font-size1);
  background-color: var(--jp-layout-color0);
  font-family: var(--jp-ui-font-family);
  padding: 2px 1px;
  resize: none;
  white-space: pre;
}

.jp-DocumentSearch-overlay {
  position: absolute;
  background-color: var(--jp-toolbar-background);
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  border-left: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  top: 0;
  right: 0;
  z-index: 7;
  min-width: 405px;
  padding: 2px;
  font-size: var(--jp-ui-font-size1);

  --jp-private-document-search-button-height: 20px;
}

.jp-DocumentSearch-overlay button {
  background-color: var(--jp-toolbar-background);
  outline: 0;
}

.jp-DocumentSearch-button-wrapper:disabled > .jp-DocumentSearch-button-content {
  opacity: 0.6;
  cursor: not-allowed;
}

.jp-DocumentSearch-overlay button:not(:disabled):hover {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-overlay button:not(:disabled):active {
  background-color: var(--jp-layout-color3);
}

.jp-DocumentSearch-overlay-row {
  display: flex;
  align-items: center;
  margin-bottom: 2px;
}

.jp-DocumentSearch-button-content {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

.jp-DocumentSearch-button-content svg {
  width: 100%;
  height: 100%;
}

.jp-DocumentSearch-input-wrapper .jp-DocumentSearch-button-wrapper {
  height: calc(var(--jp-private-document-search-button-height) - 6px);
  width: calc(var(--jp-private-document-search-button-height) - 6px);
  margin: 3px 3px 3px 1px;
}

.jp-DocumentSearch-input-wrapper .jp-DocumentSearch-button-content {
  padding: 1px;
}

.jp-DocumentSearch-input-wrapper {
  border: var(--jp-border-width) solid var(--jp-border-color0);
  display: flex;
  background-color: var(--jp-layout-color0);
  margin: 2px;
}

.jp-DocumentSearch-input-wrapper:focus-within {
  border-color: var(--jp-focus-outline-color);
}

.jp-DocumentSearch-toggle-wrapper,
.jp-DocumentSearch-button-wrapper {
  all: initial;
  overflow: hidden;
  display: inline-block;
  border: none;
  box-sizing: border-box;
}

.jp-DocumentSearch-toggle-wrapper {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.jp-DocumentSearch-button-wrapper {
  flex-shrink: 0;
  width: var(--jp-private-document-search-button-height);
  height: var(--jp-private-document-search-button-height);
}

/* Higher specificity is needed to override .jp-ThemedContainer button:focus-visible */
.jp-DocumentSearch-overlay .jp-DocumentSearch-button-wrapper:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
  outline-offset: -2px;
}

.jp-DocumentSearch-overlay
  .jp-DocumentSearch-input-wrapper
  .jp-DocumentSearch-button-wrapper:focus-visible {
  outline-offset: 1px;
}

.jp-DocumentSearch-toggle-wrapper,
.jp-DocumentSearch-button-wrapper,
.jp-DocumentSearch-button-content:focus {
  outline: none;
}

.jp-DocumentSearch-toggle-placeholder {
  width: 5px;
}

.jp-DocumentSearch-input-button::before {
  display: block;
  padding-top: 100%;
}

.jp-DocumentSearch-input-button-off {
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color1);
}

.jp-DocumentSearch-input-button-on {
  background-color: var(--jp-brand-color1);
  color: var(--jp-ui-inverse-font-color1);
}

.jp-DocumentSearch-input-button-off:hover {
  background-color: var(--jp-layout-color3);
  color: var(--jp-ui-font-color1);
}

.jp-DocumentSearch-input-button-on:hover {
  background-color: var(--jp-brand-color2);
  color: var(--jp-ui-inverse-font-color1);
}

.jp-DocumentSearch-index-counter {
  padding-left: 10px;
  padding-right: 10px;
  user-select: none;
  min-width: 35px;
  display: inline-block;
}

.jp-DocumentSearch-up-down-wrapper {
  display: inline-block;
  padding-right: 2px;
  margin-left: auto;
  white-space: nowrap;
}

.jp-DocumentSearch-spacer {
  margin-left: auto;
}

.jp-DocumentSearch-up-down-wrapper button {
  outline: 0;
  border: none;
  width: var(--jp-private-document-search-button-height);
  height: var(--jp-private-document-search-button-height);
  vertical-align: middle;
  margin: 1px 5px 2px;
}

button:not(:disabled) > .jp-DocumentSearch-up-down-button:hover {
  background-color: var(--jp-layout-color2);
}

button:not(:disabled) > .jp-DocumentSearch-up-down-button:active {
  background-color: var(--jp-layout-color3);
}

.jp-DocumentSearch-filter-button {
  border-radius: var(--jp-border-radius);
}

.jp-DocumentSearch-filter-button:hover {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-filter-button-enabled {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-filter-button-enabled:hover {
  background-color: var(--jp-layout-color3);
}

.jp-DocumentSearch-search-options {
  padding: 0 8px;
  margin-left: 3px;
  width: 100%;
  display: grid;
  justify-content: start;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-items: stretch;
}

.jp-DocumentSearch-search-filter-disabled {
  color: var(--jp-ui-font-color2);
}

.jp-DocumentSearch-search-filter {
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
}

.jp-DocumentSearch-regex-error {
  color: var(--jp-error-color0);
}

.jp-DocumentSearch-replace-button-wrapper {
  overflow: hidden;
  display: inline-block;
  box-sizing: border-box;
  border: var(--jp-border-width) solid var(--jp-border-color0);
  margin: auto 2px;
  padding: 1px 4px;
  height: calc(var(--jp-private-document-search-button-height) + 2px);
  flex-shrink: 0;
}

.jp-DocumentSearch-replace-button-wrapper:focus {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
}

.jp-DocumentSearch-replace-button {
  display: inline-block;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  color: var(--jp-ui-font-color1);

  /* height - 2 * (padding of wrapper) */
  line-height: calc(var(--jp-private-document-search-button-height) - 2px);
  width: 100%;
  height: 100%;
}

.jp-DocumentSearch-replace-button:focus {
  outline: none;
}

.jp-DocumentSearch-replace-wrapper-class {
  margin-left: 14px;
  display: flex;
}

.jp-DocumentSearch-replace-toggle {
  border: none;
  background-color: var(--jp-toolbar-background);
  border-radius: var(--jp-border-radius);
}

.jp-DocumentSearch-replace-toggle:hover {
  background-color: var(--jp-layout-color2);
}

/*
  The following few rules allow the search box to expand horizontally,
  as the text within it grows. This is done by using putting
  the text within a wrapper element and using that wrapper for sizing,
  as <textarea> and <input> tags do not grow automatically.
  This is the underlying technique:
  https://til.simonwillison.net/css/resizing-textarea
*/
.jp-DocumentSearch-input-label::after {
  content: attr(data-value) ' ';
  visibility: hidden;
  white-space: pre;
}

.jp-DocumentSearch-input-label {
  display: inline-grid;
  align-items: stretch;
}

.jp-DocumentSearch-input-label::after,
.jp-DocumentSearch-input-label > .jp-DocumentSearch-input {
  width: auto;
  min-width: 1em;
  grid-area: 1/2;
  font: inherit;
  padding: 2px 3px;
  margin: 0;
  resize: none;
  background: none;
  appearance: none;
  border: none;
  overflow: hidden;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/documentsearch/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;AAC9E;EACE,YAAY;EACZ,aAAa;EACb,+BAA+B;EAC/B,kCAAkC;EAClC,yCAAyC;EACzC,qCAAqC;EACrC,gBAAgB;EAChB,YAAY;EACZ,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,8CAA8C;EAC9C,0EAA0E;EAC1E,wEAAwE;EACxE,MAAM;EACN,QAAQ;EACR,UAAU;EACV,gBAAgB;EAChB,YAAY;EACZ,kCAAkC;;EAElC,gDAAgD;AAClD;;AAEA;EACE,8CAA8C;EAC9C,UAAU;AACZ;;AAEA;EACE,YAAY;EACZ,mBAAmB;AACrB;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,eAAe;EACf,sBAAsB;EACtB,WAAW;EACX,YAAY;AACd;;AAEA;EACE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,mEAAmE;EACnE,kEAAkE;EAClE,uBAAuB;AACzB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,4DAA4D;EAC5D,aAAa;EACb,yCAAyC;EACzC,WAAW;AACb;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;;EAEE,YAAY;EACZ,gBAAgB;EAChB,qBAAqB;EACrB,YAAY;EACZ,sBAAsB;AACxB;;AAEA;EACE,cAAc;EACd,WAAW;EACX,YAAY;AACd;;AAEA;EACE,cAAc;EACd,sDAAsD;EACtD,uDAAuD;AACzD;;AAEA,sFAAsF;AACtF;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,oBAAoB;AACtB;;AAEA;;;EAGE,mBAAmB;AACrB;;AAEA;;;EAGE,aAAa;AACf;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,cAAc;EACd,iBAAiB;AACnB;;AAEA;EACE,yCAAyC;EACzC,+BAA+B;AACjC;;AAEA;EACE,wCAAwC;EACxC,uCAAuC;AACzC;;AAEA;EACE,yCAAyC;EACzC,+BAA+B;AACjC;;AAEA;EACE,wCAAwC;EACxC,uCAAuC;AACzC;;AAEA;EACE,kBAAkB;EAClB,mBAAmB;EACnB,iBAAiB;EACjB,eAAe;EACf,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;EACrB,kBAAkB;EAClB,iBAAiB;EACjB,mBAAmB;AACrB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,UAAU;EACV,YAAY;EACZ,sDAAsD;EACtD,uDAAuD;EACvD,sBAAsB;EACtB,mBAAmB;AACrB;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,cAAc;EACd,gBAAgB;EAChB,WAAW;EACX,aAAa;EACb,sBAAsB;EACtB,8BAA8B;EAC9B,mBAAmB;EACnB,sBAAsB;AACxB;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,iBAAiB;AACnB;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,gBAAgB;EAChB,qBAAqB;EACrB,sBAAsB;EACtB,4DAA4D;EAC5D,gBAAgB;EAChB,gBAAgB;EAChB,mEAAmE;EACnE,cAAc;AAChB;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;AACtB;;AAEA;EACE,qBAAqB;EACrB,kBAAkB;EAClB,eAAe;EACf,sBAAsB;EACtB,+BAA+B;;EAE/B,sCAAsC;EACtC,wEAAwE;EACxE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,iBAAiB;EACjB,aAAa;AACf;;AAEA;EACE,YAAY;EACZ,8CAA8C;EAC9C,sCAAsC;AACxC;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;;;;;;;CAOC;AACD;EACE,6BAA6B;EAC7B,kBAAkB;EAClB,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,oBAAoB;AACtB;;AAEA;;EAEE,WAAW;EACX,cAAc;EACd,cAAc;EACd,aAAa;EACb,gBAAgB;EAChB,SAAS;EACT,YAAY;EACZ,gBAAgB;EAChB,gBAAgB;EAChB,YAAY;EACZ,gBAAgB;AAClB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n.jp-DocumentSearch-input {\n  border: none;\n  outline: none;\n  color: var(--jp-ui-font-color0);\n  font-size: var(--jp-ui-font-size1);\n  background-color: var(--jp-layout-color0);\n  font-family: var(--jp-ui-font-family);\n  padding: 2px 1px;\n  resize: none;\n  white-space: pre;\n}\n\n.jp-DocumentSearch-overlay {\n  position: absolute;\n  background-color: var(--jp-toolbar-background);\n  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);\n  border-left: var(--jp-border-width) solid var(--jp-toolbar-border-color);\n  top: 0;\n  right: 0;\n  z-index: 7;\n  min-width: 405px;\n  padding: 2px;\n  font-size: var(--jp-ui-font-size1);\n\n  --jp-private-document-search-button-height: 20px;\n}\n\n.jp-DocumentSearch-overlay button {\n  background-color: var(--jp-toolbar-background);\n  outline: 0;\n}\n\n.jp-DocumentSearch-button-wrapper:disabled > .jp-DocumentSearch-button-content {\n  opacity: 0.6;\n  cursor: not-allowed;\n}\n\n.jp-DocumentSearch-overlay button:not(:disabled):hover {\n  background-color: var(--jp-layout-color2);\n}\n\n.jp-DocumentSearch-overlay button:not(:disabled):active {\n  background-color: var(--jp-layout-color3);\n}\n\n.jp-DocumentSearch-overlay-row {\n  display: flex;\n  align-items: center;\n  margin-bottom: 2px;\n}\n\n.jp-DocumentSearch-button-content {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  box-sizing: border-box;\n  width: 100%;\n  height: 100%;\n}\n\n.jp-DocumentSearch-button-content svg {\n  width: 100%;\n  height: 100%;\n}\n\n.jp-DocumentSearch-input-wrapper .jp-DocumentSearch-button-wrapper {\n  height: calc(var(--jp-private-document-search-button-height) - 6px);\n  width: calc(var(--jp-private-document-search-button-height) - 6px);\n  margin: 3px 3px 3px 1px;\n}\n\n.jp-DocumentSearch-input-wrapper .jp-DocumentSearch-button-content {\n  padding: 1px;\n}\n\n.jp-DocumentSearch-input-wrapper {\n  border: var(--jp-border-width) solid var(--jp-border-color0);\n  display: flex;\n  background-color: var(--jp-layout-color0);\n  margin: 2px;\n}\n\n.jp-DocumentSearch-input-wrapper:focus-within {\n  border-color: var(--jp-focus-outline-color);\n}\n\n.jp-DocumentSearch-toggle-wrapper,\n.jp-DocumentSearch-button-wrapper {\n  all: initial;\n  overflow: hidden;\n  display: inline-block;\n  border: none;\n  box-sizing: border-box;\n}\n\n.jp-DocumentSearch-toggle-wrapper {\n  flex-shrink: 0;\n  width: 14px;\n  height: 14px;\n}\n\n.jp-DocumentSearch-button-wrapper {\n  flex-shrink: 0;\n  width: var(--jp-private-document-search-button-height);\n  height: var(--jp-private-document-search-button-height);\n}\n\n/* Higher specificity is needed to override .jp-ThemedContainer button:focus-visible */\n.jp-DocumentSearch-overlay .jp-DocumentSearch-button-wrapper:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n  outline-offset: -2px;\n}\n\n.jp-DocumentSearch-overlay\n  .jp-DocumentSearch-input-wrapper\n  .jp-DocumentSearch-button-wrapper:focus-visible {\n  outline-offset: 1px;\n}\n\n.jp-DocumentSearch-toggle-wrapper,\n.jp-DocumentSearch-button-wrapper,\n.jp-DocumentSearch-button-content:focus {\n  outline: none;\n}\n\n.jp-DocumentSearch-toggle-placeholder {\n  width: 5px;\n}\n\n.jp-DocumentSearch-input-button::before {\n  display: block;\n  padding-top: 100%;\n}\n\n.jp-DocumentSearch-input-button-off {\n  background-color: var(--jp-layout-color2);\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-DocumentSearch-input-button-on {\n  background-color: var(--jp-brand-color1);\n  color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-DocumentSearch-input-button-off:hover {\n  background-color: var(--jp-layout-color3);\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-DocumentSearch-input-button-on:hover {\n  background-color: var(--jp-brand-color2);\n  color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-DocumentSearch-index-counter {\n  padding-left: 10px;\n  padding-right: 10px;\n  user-select: none;\n  min-width: 35px;\n  display: inline-block;\n}\n\n.jp-DocumentSearch-up-down-wrapper {\n  display: inline-block;\n  padding-right: 2px;\n  margin-left: auto;\n  white-space: nowrap;\n}\n\n.jp-DocumentSearch-spacer {\n  margin-left: auto;\n}\n\n.jp-DocumentSearch-up-down-wrapper button {\n  outline: 0;\n  border: none;\n  width: var(--jp-private-document-search-button-height);\n  height: var(--jp-private-document-search-button-height);\n  vertical-align: middle;\n  margin: 1px 5px 2px;\n}\n\nbutton:not(:disabled) > .jp-DocumentSearch-up-down-button:hover {\n  background-color: var(--jp-layout-color2);\n}\n\nbutton:not(:disabled) > .jp-DocumentSearch-up-down-button:active {\n  background-color: var(--jp-layout-color3);\n}\n\n.jp-DocumentSearch-filter-button {\n  border-radius: var(--jp-border-radius);\n}\n\n.jp-DocumentSearch-filter-button:hover {\n  background-color: var(--jp-layout-color2);\n}\n\n.jp-DocumentSearch-filter-button-enabled {\n  background-color: var(--jp-layout-color2);\n}\n\n.jp-DocumentSearch-filter-button-enabled:hover {\n  background-color: var(--jp-layout-color3);\n}\n\n.jp-DocumentSearch-search-options {\n  padding: 0 8px;\n  margin-left: 3px;\n  width: 100%;\n  display: grid;\n  justify-content: start;\n  grid-template-columns: 1fr 1fr;\n  align-items: center;\n  justify-items: stretch;\n}\n\n.jp-DocumentSearch-search-filter-disabled {\n  color: var(--jp-ui-font-color2);\n}\n\n.jp-DocumentSearch-search-filter {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  user-select: none;\n}\n\n.jp-DocumentSearch-regex-error {\n  color: var(--jp-error-color0);\n}\n\n.jp-DocumentSearch-replace-button-wrapper {\n  overflow: hidden;\n  display: inline-block;\n  box-sizing: border-box;\n  border: var(--jp-border-width) solid var(--jp-border-color0);\n  margin: auto 2px;\n  padding: 1px 4px;\n  height: calc(var(--jp-private-document-search-button-height) + 2px);\n  flex-shrink: 0;\n}\n\n.jp-DocumentSearch-replace-button-wrapper:focus {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n}\n\n.jp-DocumentSearch-replace-button {\n  display: inline-block;\n  text-align: center;\n  cursor: pointer;\n  box-sizing: border-box;\n  color: var(--jp-ui-font-color1);\n\n  /* height - 2 * (padding of wrapper) */\n  line-height: calc(var(--jp-private-document-search-button-height) - 2px);\n  width: 100%;\n  height: 100%;\n}\n\n.jp-DocumentSearch-replace-button:focus {\n  outline: none;\n}\n\n.jp-DocumentSearch-replace-wrapper-class {\n  margin-left: 14px;\n  display: flex;\n}\n\n.jp-DocumentSearch-replace-toggle {\n  border: none;\n  background-color: var(--jp-toolbar-background);\n  border-radius: var(--jp-border-radius);\n}\n\n.jp-DocumentSearch-replace-toggle:hover {\n  background-color: var(--jp-layout-color2);\n}\n\n/*\n  The following few rules allow the search box to expand horizontally,\n  as the text within it grows. This is done by using putting\n  the text within a wrapper element and using that wrapper for sizing,\n  as <textarea> and <input> tags do not grow automatically.\n  This is the underlying technique:\n  https://til.simonwillison.net/css/resizing-textarea\n*/\n.jp-DocumentSearch-input-label::after {\n  content: attr(data-value) ' ';\n  visibility: hidden;\n  white-space: pre;\n}\n\n.jp-DocumentSearch-input-label {\n  display: inline-grid;\n  align-items: stretch;\n}\n\n.jp-DocumentSearch-input-label::after,\n.jp-DocumentSearch-input-label > .jp-DocumentSearch-input {\n  width: auto;\n  min-width: 1em;\n  grid-area: 1/2;\n  font: inherit;\n  padding: 2px 3px;\n  margin: 0;\n  resize: none;\n  background: none;\n  appearance: none;\n  border: none;\n  overflow: hidden;\n}\n"],sourceRoot:""}]);let a=s},75863(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*
  Main widget layout and styling
*/

.jp-extensionmanager-view .lm-SplitPanel-child {
  overflow-y: auto;
}

.jp-extensionmanager-header {
  width: 100%;
}

.jp-extensionmanager-title {
  display: flex;
  margin: 4px 10px 0;
}

.jp-extensionmanager-title svg {
  width: 14px;
}

.jp-extensionmanager-title .jp-icon3[fill] {
  fill: currentcolor;
}

.jp-extensionmanager-path {
  display: inline flex;
  padding-left: 4px;
}

.jp-extensionmanager-header .jp-FilterBox {
  margin: 4px 10px 0;
  width: calc(100% - 20px);
  font-weight: normal;
}

.jp-extensionmanager-disclaimer {
  padding: 0 8px;
  min-height: 160px;
}

.jp-extensionmanager-disclaimer a {
  color: var(--jp-content-link-color);
  text-decoration: none;
}

.jp-extensionmanager-disclaimer a:hover {
  color: var(--jp-content-link-hover-color, var(--jp-content-link-color));
  text-decoration: underline;
}

.jp-extensionmanager-disclaimer .jp-Button {
  margin: 0 5px;
}

/*
  List view layout and styling
*/

.jp-extensionmanager-listview-wrapper {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.jp-extensionmanager-listview {
  list-style-type: none;
  margin: 0;
  padding: 0;
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
}

/*
  Error messages
*/

.jp-extensionmanager-view .jp-extensionmanager-error pre {
  white-space: pre-wrap;
}

/*
  List view pagination styling
*/

.jp-extensionmanager-pagination li {
  display: inline-block;
}

/* stylelint-disable selector-max-type */
.jp-extensionmanager-pagination li > a {
  padding: 0 5px;
  cursor: pointer;
}
/* stylelint-enable selector-max-type */

.jp-extensionmanager-pagination li.active > a {
  background: var(--jp-brand-color1);
  color: var(--jp-layout-color1);
}

.jp-extensionmanager-pagination li > a:hover {
  background-color: var(--jp-layout-color2);
}

.jp-extensionmanager-pagination .break > a {
  cursor: default;
}

.jp-extensionmanager-installedlist,
.jp-extensionmanager-searchresults {
  min-height: 100px;
}

/*
  Entry layout and styling
*/

.jp-extensionmanager-entry {
  padding: 8px;
  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
}

.jp-extensionmanager-entry-description {
  min-width: 0;
  flex-grow: 1;
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color2);
  font-weight: 400;
}

.jp-extensionmanager-entry-title {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.jp-extensionmanager-entry.jp-extensionmanager-entry-should-be-uninstalled {
  background-color: var(--jp-error-color3);
}

/* Precedence order update/error/warning matters! */

.jp-extensionmanager-entry.jp-extensionmanager-entry-error {
  border-left: solid 8px var(--jp-error-color2);
  padding-left: 4px;
}

.jp-extensionmanager-entry-name {
  font-size: var(--jp-ui-font-size1);
  font-weight: 600;
  padding: 0 8px 0 0;
  margin-bottom: 4px;
  overflow-wrap: anywhere;
}

.jp-extensionmanager-entry-name a:link {
  color: var(--jp-content-link-color);
  text-decoration: none;
}

.jp-extensionmanager-entry-name a:visited {
  color: var(--jp-content-link-visited-color, var(--jp-content-link-color));
  text-decoration: none;
}

.jp-extensionmanager-entry-name a:hover {
  color: var(--jp-content-link-hover-color, var(--jp-content-link-color));
  text-decoration: underline;
}

.jp-extensionmanager-loader,
.jp-extensionmanager-error,
.jp-extensionmanager-listview-message {
  padding: 4px 12px;
}

.jp-extensionmanager-listview-message {
  font-size: var(--jp-ui-font-size1);
}

.jp-extensionmanager-entry-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/*
  Pending entry progress indicator
*/

.jp-extensionmanager-pending {
  height: 4px;
  width: 100%;
  position: relative;
  overflow: hidden;
  flex: 0 0 auto;
  background-color: var(--jp-layout-color1);
}

.jp-extensionmanager-pending.jp-mod-hasPending::before {
  display: block;
  position: absolute;
  content: '';
  left: -200px;
  width: 200px;
  height: 4px;
  border-radius: 4px;
  background-color: var(--jp-brand-color1);
  animation: loading 2s linear infinite;
}

@keyframes loading {
  0% {
    left: -200px;
    width: 30%;
  }

  50% {
    width: 30%;
  }

  70% {
    width: 70%;
  }

  80% {
    left: 50%;
  }

  95% {
    left: 120%;
  }

  100% {
    left: 100%;
  }
}

/*
  Disclaimer buttons
*/

.jp-extensionmanager-disclaimer-disable {
  background-color: var(--jp-reject-color-normal) !important;
  color: white !important;
  border: 0;
  background-image: none !important;
}

.jp-extensionmanager-disclaimer-enable {
  background-color: var(--jp-error-color1) !important;
  color: white !important;
  border: 0;
  background-image: none !important;
}

/*
  Entry buttons layout and styling
*/

.jp-extensionmanager-entry-buttons {
  display: flex;
  flex-direction: row;
  padding-block-start: 4px;
  justify-content: flex-end;
}

/*
  Generic dialog
*/

.jp-extensionmanager-dialog .jp-extensionmanager-dialog-subheader {
  font-size: var(--jp-ui-font-size1);
  font-weight: 600;
  color: var(--jp-ui-font-color0);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/extensionmanager/style/base.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;CAEC;;AAED;EACE,gBAAgB;AAClB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,aAAa;EACb,kBAAkB;AACpB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,oBAAoB;EACpB,iBAAiB;AACnB;;AAEA;EACE,kBAAkB;EAClB,wBAAwB;EACxB,mBAAmB;AACrB;;AAEA;EACE,cAAc;EACd,iBAAiB;AACnB;;AAEA;EACE,mCAAmC;EACnC,qBAAqB;AACvB;;AAEA;EACE,uEAAuE;EACvE,0BAA0B;AAC5B;;AAEA;EACE,aAAa;AACf;;AAEA;;CAEC;;AAED;EACE,SAAS;EACT,UAAU;EACV,aAAa;EACb,sBAAsB;EACtB,YAAY;AACd;;AAEA;EACE,qBAAqB;EACrB,SAAS;EACT,UAAU;EACV,aAAa;EACb,cAAc;EACd,cAAc;AAChB;;AAEA;;CAEC;;AAED;EACE,qBAAqB;AACvB;;AAEA;;CAEC;;AAED;EACE,qBAAqB;AACvB;;AAEA,wCAAwC;AACxC;EACE,cAAc;EACd,eAAe;AACjB;AACA,uCAAuC;;AAEvC;EACE,kCAAkC;EAClC,8BAA8B;AAChC;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,eAAe;AACjB;;AAEA;;EAEE,iBAAiB;AACnB;;AAEA;;CAEC;;AAED;EACE,YAAY;EACZ,mEAAmE;AACrE;;AAEA;EACE,YAAY;EACZ,YAAY;EACZ,kCAAkC;EAClC,+BAA+B;EAC/B,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,mBAAmB;AACrB;;AAEA;EACE,wCAAwC;AAC1C;;AAEA,mDAAmD;;AAEnD;EACE,6CAA6C;EAC7C,iBAAiB;AACnB;;AAEA;EACE,kCAAkC;EAClC,gBAAgB;EAChB,kBAAkB;EAClB,kBAAkB;EAClB,uBAAuB;AACzB;;AAEA;EACE,mCAAmC;EACnC,qBAAqB;AACvB;;AAEA;EACE,yEAAyE;EACzE,qBAAqB;AACvB;;AAEA;EACE,uEAAuE;EACvE,0BAA0B;AAC5B;;AAEA;;;EAGE,iBAAiB;AACnB;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,8BAA8B;AAChC;;AAEA;;CAEC;;AAED;EACE,WAAW;EACX,WAAW;EACX,kBAAkB;EAClB,gBAAgB;EAChB,cAAc;EACd,yCAAyC;AAC3C;;AAEA;EACE,cAAc;EACd,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,wCAAwC;EACxC,qCAAqC;AACvC;;AAEA;EACE;IACE,YAAY;IACZ,UAAU;EACZ;;EAEA;IACE,UAAU;EACZ;;EAEA;IACE,UAAU;EACZ;;EAEA;IACE,SAAS;EACX;;EAEA;IACE,UAAU;EACZ;;EAEA;IACE,UAAU;EACZ;AACF;;AAEA;;CAEC;;AAED;EACE,0DAA0D;EAC1D,uBAAuB;EACvB,SAAS;EACT,iCAAiC;AACnC;;AAEA;EACE,mDAAmD;EACnD,uBAAuB;EACvB,SAAS;EACT,iCAAiC;AACnC;;AAEA;;CAEC;;AAED;EACE,aAAa;EACb,mBAAmB;EACnB,wBAAwB;EACxB,yBAAyB;AAC3B;;AAEA;;CAEC;;AAED;EACE,kCAAkC;EAClC,gBAAgB;EAChB,+BAA+B;AACjC",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*\n  Main widget layout and styling\n*/\n\n.jp-extensionmanager-view .lm-SplitPanel-child {\n  overflow-y: auto;\n}\n\n.jp-extensionmanager-header {\n  width: 100%;\n}\n\n.jp-extensionmanager-title {\n  display: flex;\n  margin: 4px 10px 0;\n}\n\n.jp-extensionmanager-title svg {\n  width: 14px;\n}\n\n.jp-extensionmanager-title .jp-icon3[fill] {\n  fill: currentcolor;\n}\n\n.jp-extensionmanager-path {\n  display: inline flex;\n  padding-left: 4px;\n}\n\n.jp-extensionmanager-header .jp-FilterBox {\n  margin: 4px 10px 0;\n  width: calc(100% - 20px);\n  font-weight: normal;\n}\n\n.jp-extensionmanager-disclaimer {\n  padding: 0 8px;\n  min-height: 160px;\n}\n\n.jp-extensionmanager-disclaimer a {\n  color: var(--jp-content-link-color);\n  text-decoration: none;\n}\n\n.jp-extensionmanager-disclaimer a:hover {\n  color: var(--jp-content-link-hover-color, var(--jp-content-link-color));\n  text-decoration: underline;\n}\n\n.jp-extensionmanager-disclaimer .jp-Button {\n  margin: 0 5px;\n}\n\n/*\n  List view layout and styling\n*/\n\n.jp-extensionmanager-listview-wrapper {\n  margin: 0;\n  padding: 0;\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n}\n\n.jp-extensionmanager-listview {\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n  min-height: 0;\n  flex: 1 1 auto;\n  overflow: auto;\n}\n\n/*\n  Error messages\n*/\n\n.jp-extensionmanager-view .jp-extensionmanager-error pre {\n  white-space: pre-wrap;\n}\n\n/*\n  List view pagination styling\n*/\n\n.jp-extensionmanager-pagination li {\n  display: inline-block;\n}\n\n/* stylelint-disable selector-max-type */\n.jp-extensionmanager-pagination li > a {\n  padding: 0 5px;\n  cursor: pointer;\n}\n/* stylelint-enable selector-max-type */\n\n.jp-extensionmanager-pagination li.active > a {\n  background: var(--jp-brand-color1);\n  color: var(--jp-layout-color1);\n}\n\n.jp-extensionmanager-pagination li > a:hover {\n  background-color: var(--jp-layout-color2);\n}\n\n.jp-extensionmanager-pagination .break > a {\n  cursor: default;\n}\n\n.jp-extensionmanager-installedlist,\n.jp-extensionmanager-searchresults {\n  min-height: 100px;\n}\n\n/*\n  Entry layout and styling\n*/\n\n.jp-extensionmanager-entry {\n  padding: 8px;\n  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);\n}\n\n.jp-extensionmanager-entry-description {\n  min-width: 0;\n  flex-grow: 1;\n  font-size: var(--jp-ui-font-size1);\n  color: var(--jp-ui-font-color2);\n  font-weight: 400;\n}\n\n.jp-extensionmanager-entry-title {\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n  align-items: center;\n}\n\n.jp-extensionmanager-entry.jp-extensionmanager-entry-should-be-uninstalled {\n  background-color: var(--jp-error-color3);\n}\n\n/* Precedence order update/error/warning matters! */\n\n.jp-extensionmanager-entry.jp-extensionmanager-entry-error {\n  border-left: solid 8px var(--jp-error-color2);\n  padding-left: 4px;\n}\n\n.jp-extensionmanager-entry-name {\n  font-size: var(--jp-ui-font-size1);\n  font-weight: 600;\n  padding: 0 8px 0 0;\n  margin-bottom: 4px;\n  overflow-wrap: anywhere;\n}\n\n.jp-extensionmanager-entry-name a:link {\n  color: var(--jp-content-link-color);\n  text-decoration: none;\n}\n\n.jp-extensionmanager-entry-name a:visited {\n  color: var(--jp-content-link-visited-color, var(--jp-content-link-color));\n  text-decoration: none;\n}\n\n.jp-extensionmanager-entry-name a:hover {\n  color: var(--jp-content-link-hover-color, var(--jp-content-link-color));\n  text-decoration: underline;\n}\n\n.jp-extensionmanager-loader,\n.jp-extensionmanager-error,\n.jp-extensionmanager-listview-message {\n  padding: 4px 12px;\n}\n\n.jp-extensionmanager-listview-message {\n  font-size: var(--jp-ui-font-size1);\n}\n\n.jp-extensionmanager-entry-content {\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n}\n\n/*\n  Pending entry progress indicator\n*/\n\n.jp-extensionmanager-pending {\n  height: 4px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  flex: 0 0 auto;\n  background-color: var(--jp-layout-color1);\n}\n\n.jp-extensionmanager-pending.jp-mod-hasPending::before {\n  display: block;\n  position: absolute;\n  content: '';\n  left: -200px;\n  width: 200px;\n  height: 4px;\n  border-radius: 4px;\n  background-color: var(--jp-brand-color1);\n  animation: loading 2s linear infinite;\n}\n\n@keyframes loading {\n  0% {\n    left: -200px;\n    width: 30%;\n  }\n\n  50% {\n    width: 30%;\n  }\n\n  70% {\n    width: 70%;\n  }\n\n  80% {\n    left: 50%;\n  }\n\n  95% {\n    left: 120%;\n  }\n\n  100% {\n    left: 100%;\n  }\n}\n\n/*\n  Disclaimer buttons\n*/\n\n.jp-extensionmanager-disclaimer-disable {\n  background-color: var(--jp-reject-color-normal) !important;\n  color: white !important;\n  border: 0;\n  background-image: none !important;\n}\n\n.jp-extensionmanager-disclaimer-enable {\n  background-color: var(--jp-error-color1) !important;\n  color: white !important;\n  border: 0;\n  background-image: none !important;\n}\n\n/*\n  Entry buttons layout and styling\n*/\n\n.jp-extensionmanager-entry-buttons {\n  display: flex;\n  flex-direction: row;\n  padding-block-start: 4px;\n  justify-content: flex-end;\n}\n\n/*\n  Generic dialog\n*/\n\n.jp-extensionmanager-dialog .jp-extensionmanager-dialog-subheader {\n  font-size: var(--jp-ui-font-size1);\n  font-weight: 600;\n  color: var(--jp-ui-font-color0);\n}\n"],sourceRoot:""}]);let a=s},19037(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

#filebrowser.jp-mod-restoring .jp-DirListing-content {
  display: none;
}

.jp-FileBrowser-filterBox {
  padding: 0;
  flex: 0 0 auto;
}

.jp-mod-refreshing
  .jp-ToolbarButtonComponent[data-command='filebrowser:refresh']
  > svg {
  animation: jp-refresh-spin 1s linear infinite;
  transform-origin: 50% 50%;
  display: block;
}

@keyframes jp-refresh-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/filebrowser-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,aAAa;AACf;;AAEA;EACE,UAAU;EACV,cAAc;AAChB;;AAEA;;;EAGE,6CAA6C;EAC7C,yBAAyB;EACzB,cAAc;AAChB;;AAEA;EACE;IACE,uBAAuB;EACzB;;EAEA;IACE,yBAAyB;EAC3B;AACF",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n#filebrowser.jp-mod-restoring .jp-DirListing-content {\n  display: none;\n}\n\n.jp-FileBrowser-filterBox {\n  padding: 0;\n  flex: 0 0 auto;\n}\n\n.jp-mod-refreshing\n  .jp-ToolbarButtonComponent[data-command='filebrowser:refresh']\n  > svg {\n  animation: jp-refresh-spin 1s linear infinite;\n  transform-origin: 50% 50%;\n  display: block;\n}\n\n@keyframes jp-refresh-spin {\n  from {\n    transform: rotate(0deg);\n  }\n\n  to {\n    transform: rotate(360deg);\n  }\n}\n"],sourceRoot:""}]);let a=s},23421(e,t,n){"use strict";n.d(t,{A:()=>d});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(40364),l=s()(o());l.i(a.A),l.push([e.id,`/*-----------------------------------------------------------------------------
| 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;
}

.jp-FileBrowser .jp-SidePanel-content {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.jp-FileBrowser-toolbar.jp-Toolbar {
  border-bottom: none;
  height: auto;
  margin: 8px 12px 0;
  box-shadow: none;
  padding: 0;
}

.jp-FileBrowser-toolbar.jp-Toolbar::part(positioning-region) {
  row-gap: 12px;
}

.jp-FileBrowser-filterToolbar {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
}

.jp-FileBrowser-filterToolbar.jp-Toolbar {
  border-bottom: none;
  height: auto;
  margin: 0 12px 6px;
  box-shadow: none;
  padding: 0;
}

.jp-FileBrowser-Panel {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.jp-BreadCrumbs {
  flex: 0 0 auto;
  margin: 8px 12px;
  cursor: text;
}

.jp-BreadCrumbs:hover:not(:has(.jp-BreadCrumbs-content:hover)) {
  background: var(--jp-layout-color2);
}

/* The container holds breadcrumb icons, separators, and items */
.jp-BreadCrumbs-container {
  min-width: 0;
}

.jp-BreadCrumbs-content {
  display: inline;
}

.jp-BreadCrumbs.jp-mod-editMode > .jp-BreadCrumbs-container {
  display: none;
}

.jp-BreadCrumbs-item {
  margin: 0 2px;
  padding: 2px;
  border-radius: var(--jp-border-radius);
  cursor: pointer;
}

.jp-BreadCrumbs-ellipsis {
  padding: 0;
}

.jp-BreadCrumbs-item:hover {
  background-color: var(--jp-layout-color2);
}

.jp-BreadCrumbs-home,
.jp-BreadCrumbs-preferred {
  margin-right: 2px;
}

.jp-BreadCrumbs-item:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-style: solid;
  outline-color: var(--jp-focus-outline-color);
}

.jp-BreadCrumbs-item.jp-mod-dropTarget {
  background-color: var(--jp-brand-color2);
  opacity: 0.7;
}

.jp-BreadCrumbs-item,
.jp-BreadCrumbs-separator {
  vertical-align: middle;
}

/*-----------------------------------------------------------------------------
| Buttons
|----------------------------------------------------------------------------*/

.jp-FileBrowser-toolbar > .jp-Toolbar-item,
.jp-FileBrowser-filterToolbar > .jp-Toolbar-item {
  flex: 0 0 auto;
  padding-left: 0;
  align-items: center;
  height: unset;
}

.jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent {
  width: 28px;
}

/*-----------------------------------------------------------------------------
| Other styles
|----------------------------------------------------------------------------*/

.jp-FileDialog.jp-mod-conflict input {
  color: var(--jp-error-color1);
}

.jp-FileDialog .jp-new-name-title {
  margin-top: 12px;
}

.jp-FileBrowser-filterToolbar > .jp-FileBrowser-filterBox {
  width: 100%;
}

.jp-FileBrowser-filterBox > .jp-FilterBox {
  width: 100%;
}

.jp-Open-Dialog > .jp-FileBrowser {
  min-height: 200px;
}

.jp-Open-Dialog-label {
  overflow: visible;
}

/*-----------------------------------------------------------------------------
| DirListing
|----------------------------------------------------------------------------*/

.jp-DirListing {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  outline: 0;
  overflow: hidden;

  --jp-dirlisting-padding-width: 12px;
}

.jp-DirListing-header {
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  overflow: hidden;
  border-top: var(--jp-border-width) solid var(--jp-border-color2);
  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
  box-shadow: var(--jp-toolbar-box-shadow);
  z-index: 2;
  user-select: none;
}

.jp-DirListing-headerItem {
  padding: 4px 12px 2px;
  font-weight: 500;
  overflow: hidden;
  white-space: nowrap;
  box-sizing: border-box;
  display: flex;
}

.jp-DirListing-headerItemText {
  flex-grow: 1;
  text-overflow: ellipsis;
  overflow: hidden;
}

.jp-DirListing-headerItem:hover {
  background: var(--jp-layout-color2);
}

.jp-DirListing-headerItem.jp-id-name:not([style*='width']) {
  /* default width before user resizes this column */
  flex: 1 1 126px;
}

.jp-DirListing-headerItem.jp-id-modified:not([style*='width']) {
  /* default width before user resizes this column */
  flex: 1 0 70px;
}

.jp-DirListing-headerItem.jp-id-created:not([style*='width']) {
  /* default width before user resizes this column */
  flex: 1 0 70px;
}

.jp-DirListing-headerItem.jp-id-filesize:not([style*='width']) {
  /* default width before user resizes this column */
  flex: 0 0 75px;
}

.jp-DirListing-headerItem.jp-id-modified,
.jp-DirListing-headerItem.jp-id-created,
.jp-DirListing-headerItem.jp-id-filesize {
  text-align: right;
  container-type: inline-size;
}

/**
 * Use container queries to display either a small or large header
 * for the date and file size columns.
 */
@container (max-width: 100px) {
  .jp-DirListing-headerItem.jp-id-modified
    > .jp-DirListing-headerItemText-small,
  .jp-DirListing-headerItem.jp-id-filesize
    > .jp-DirListing-headerItemText-small,
  .jp-DirListing-headerItem.jp-id-created
    > .jp-DirListing-headerItemText-small {
    display: inline;
  }

  .jp-DirListing-headerItem.jp-id-modified
    > .jp-DirListing-headerItemText-large,
  .jp-DirListing-headerItem.jp-id-filesize
    > .jp-DirListing-headerItemText-large,
  .jp-DirListing-headerItem.jp-id-created
    > .jp-DirListing-headerItemText-large {
    display: none;
  }
}

@container (min-width: 100px) {
  .jp-DirListing-headerItem.jp-id-modified
    > .jp-DirListing-headerItemText-small,
  .jp-DirListing-headerItem.jp-id-filesize
    > .jp-DirListing-headerItemText-small,
  .jp-DirListing-headerItem.jp-id-created
    > .jp-DirListing-headerItemText-small {
    display: none;
  }

  .jp-DirListing-headerItem.jp-id-modified
    > .jp-DirListing-headerItemText-large,
  .jp-DirListing-headerItem.jp-id-filesize
    > .jp-DirListing-headerItemText-large,
  .jp-DirListing-headerItem.jp-id-created
    > .jp-DirListing-headerItemText-large {
    display: inline;
  }
}

.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);
  overflow-x: hidden;
}

.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 {
  align-items: center;
  padding: 4px var(--jp-dirlisting-padding-width);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: inline-grid;
  grid-auto-columns: max-content;
  width: 100%;
  box-sizing: border-box;
  grid-auto-flow: column;
}

.jp-DirListing-checkboxWrapper {
  /* Increases hit area of checkbox. */
  padding: 4px;
}

.jp-DirListing-content .jp-DirListing-checkboxWrapper {
  position: relative;
  left: -4px;
  margin: -4px 0 -4px -8px;
}

.jp-DirListing-checkboxWrapper.jp-mod-visible {
  visibility: visible;
}

/* For devices that support hovering, hide checkboxes until hovered, selected...
*/
@media (hover: hover) {
  .jp-DirListing-checkboxWrapper {
    visibility: hidden;
  }

  .jp-DirListing-item:hover .jp-DirListing-checkboxWrapper,
  .jp-DirListing-item.jp-mod-selected .jp-DirListing-checkboxWrapper {
    visibility: visible;
  }
}

.jp-DirListing-resizeHandle {
  min-width: var(--jp-border-width);
  background: var(--jp-border-color2);
  height: calc(100% - 4px);

  /* border increases the area where handle can be grabbed */
  border: 2px solid var(--jp-layout-color1);
}

.jp-DirListing-resizeHandle.jp-mod-active {
  background: var(--jp-brand-color1);
  border-color: var(--jp-brand-color1);
}

.jp-DirListing-resizeHandle.jp-mod-active:hover {
  border-color: var(--jp-brand-color1);
}

.jp-DirListing-resizeHandle:hover {
  cursor: col-resize;
  border-color: var(--jp-border-color2);
}

.jp-DirListing-itemName {
  display: flex;
}

.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,
.jp-DirListing-itemModified,
.jp-DirListing-itemFileSize,
.jp-DirListing-itemCreated {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jp-DirListing-itemName:not([style*='width']) > .jp-DirListing-itemText {
  flex: 1 1 106px;
}

.jp-DirListing-item:has(.jp-DirListing-itemText:focus-visible) {
  /* Targeting \`.jp-DirListing-itemText\` specifically to avoid an extra outline
  when it gets replaced with \`jp-DirListing-editor\` when editing the file name */
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
  outline-offset: -4px;
}

.jp-DirListing-item.jp-mod-selected:focus-within {
  outline-color: var(--jp-layout-color1);
}

.jp-DirListing-item > .jp-DirListing-itemName > .jp-DirListing-itemText:focus {
  outline: 0;
}

.jp-DirListing-itemModified {
  text-align: right;
}

.jp-DirListing-itemFileSize {
  text-align: right;
}

.jp-DirListing-itemCreated {
  text-align: right;
}

.jp-DirListing-editor {
  flex: 1 0 64px;
  outline: none;
  border: none;
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  color: var(--jp-ui-font-color1);
  background-color: var(--jp-layout-color1);
  z-index: 0;
}

.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon::before {
  color: var(--jp-success-color1);
  content: '\\25CF';
  font-size: calc(var(--jp-ui-font-size1) * 8 / 13);
  position: absolute;
  left: -8px;
}

.jp-DirListing-item.jp-mod-running.jp-mod-selected
  .jp-DirListing-itemIcon::before {
  color: var(--jp-ui-inverse-font-color1);
}

.jp-DirListing-item.lm-mod-drag-image,
.jp-DirListing-item.jp-mod-selected.lm-mod-drag-image {
  font-size: var(--jp-ui-font-size1);
  padding-left: 4px;
  margin-left: 4px;
  width: 160px;
  background-color: var(--jp-ui-inverse-font-color2);
  box-shadow: var(--jp-elevation-z2);
  border-radius: 0;
  color: var(--jp-ui-font-color1);
  transform: translateX(-40%) translateY(-58%);
}

.jp-Document {
  min-width: 120px;
  min-height: 120px;
  outline: none;
}

/*-----------------------------------------------------------------------------
| FileBrowser movable sections
|----------------------------------------------------------------------------*/

.jp-FileBrowser-accordion {
  flex: 1 1 auto;
  position: relative;
  min-height: 0;
}

.jp-movable-section-dragHandle {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 0 4px;
  opacity: 0.5;
  cursor: grab;
}

.jp-movable-section-dragHandle::before {
  content: '⠿';
  font-size: var(--jp-ui-font-size1);
  line-height: 1;
  color: var(--jp-ui-font-color1);
}

.jp-mod-dragging .jp-movable-section-dragHandle {
  cursor: grabbing;
}

.jp-movable-section-dropIndicator {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background-color: var(--jp-brand-color1);
  pointer-events: none;
  z-index: 10;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/filebrowser/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAI9E;;8EAE8E;;AAE9E;EACE,4CAA4C;EAC5C,2CAA2C;AAC7C;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB;AAClB;;AAEA;EACE,mBAAmB;EACnB,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;EAChB,UAAU;AACZ;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,aAAa;EACb,cAAc;EACd,sBAAsB;AACxB;;AAEA;EACE,mBAAmB;EACnB,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;EAChB,UAAU;AACZ;;AAEA;EACE,cAAc;EACd,aAAa;EACb,sBAAsB;EACtB,gBAAgB;AAClB;;AAEA;EACE,cAAc;EACd,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,mCAAmC;AACrC;;AAEA,gEAAgE;AAChE;EACE,YAAY;AACd;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,aAAa;EACb,YAAY;EACZ,sCAAsC;EACtC,eAAe;AACjB;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;;EAEE,iBAAiB;AACnB;;AAEA;EACE,4CAA4C;EAC5C,oBAAoB;EACpB,4CAA4C;AAC9C;;AAEA;EACE,wCAAwC;EACxC,YAAY;AACd;;AAEA;;EAEE,sBAAsB;AACxB;;AAEA;;8EAE8E;;AAE9E;;EAEE,cAAc;EACd,eAAe;EACf,mBAAmB;EACnB,aAAa;AACf;;AAEA;EACE,WAAW;AACb;;AAEA;;8EAE8E;;AAE9E;EACE,6BAA6B;AAC/B;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;;8EAE8E;;AAE9E;EACE,cAAc;EACd,aAAa;EACb,sBAAsB;EACtB,UAAU;EACV,gBAAgB;;EAEhB,mCAAmC;AACrC;;AAEA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,gBAAgB;EAChB,gEAAgE;EAChE,mEAAmE;EACnE,wCAAwC;EACxC,UAAU;EACV,iBAAiB;AACnB;;AAEA;EACE,qBAAqB;EACrB,gBAAgB;EAChB,gBAAgB;EAChB,mBAAmB;EACnB,sBAAsB;EACtB,aAAa;AACf;;AAEA;EACE,YAAY;EACZ,uBAAuB;EACvB,gBAAgB;AAClB;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,kDAAkD;EAClD,eAAe;AACjB;;AAEA;EACE,kDAAkD;EAClD,cAAc;AAChB;;AAEA;EACE,kDAAkD;EAClD,cAAc;AAChB;;AAEA;EACE,kDAAkD;EAClD,cAAc;AAChB;;AAEA;;;EAGE,iBAAiB;EACjB,2BAA2B;AAC7B;;AAEA;;;EAGE;AACF;EACE;;;;;;IAME,eAAe;EACjB;;EAEA;;;;;;IAME,aAAa;EACf;AACF;;AAEA;EACE;;;;;;IAME,aAAa;EACf;;EAEA;;;;;;IAME,eAAe;EACjB;AACF;;AAEA;EACE,gBAAgB;AAClB;;AAEA,qDAAqD;AACrD;EACE,cAAc;EACd,SAAS;EACT,UAAU;EACV,qBAAqB;EACrB,cAAc;EACd,yCAAyC;EACzC,kBAAkB;AACpB;;AAEA;EACE,+BAA+B;EAC/B,6BAA6B;EAC7B,iBAAiB;AACnB;;AAEA;EACE,uCAAuC;AACzC;;AAEA,2EAA2E;AAC3E;EACE,4CAA4C;EAC5C,qBAAqB;EACrB,YAAY;AACd;;AAEA;EACE,mBAAmB;EACnB,+CAA+C;EAC/C,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,8BAA8B;EAC9B,WAAW;EACX,sBAAsB;EACtB,sBAAsB;AACxB;;AAEA;EACE,oCAAoC;EACpC,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,UAAU;EACV,wBAAwB;AAC1B;;AAEA;EACE,mBAAmB;AACrB;;AAEA;CACC;AACD;EACE;IACE,kBAAkB;EACpB;;EAEA;;IAEE,mBAAmB;EACrB;AACF;;AAEA;EACE,iCAAiC;EACjC,mCAAmC;EACnC,wBAAwB;;EAExB,0DAA0D;EAC1D,yCAAyC;AAC3C;;AAEA;EACE,kCAAkC;EAClC,oCAAoC;AACtC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,kBAAkB;EAClB,qCAAqC;AACvC;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,uCAAuC;EACvC,kCAAkC;AACpC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,cAAc;EACd,iBAAiB;AACnB;;AAEA;;;;EAIE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE;gFAC8E;EAC9E,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,oBAAoB;AACtB;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,cAAc;EACd,aAAa;EACb,YAAY;EACZ,kCAAkC;EAClC,qCAAqC;EACrC,+BAA+B;EAC/B,yCAAyC;EACzC,UAAU;AACZ;;AAEA;EACE,+BAA+B;EAC/B,gBAAgB;EAChB,iDAAiD;EACjD,kBAAkB;EAClB,UAAU;AACZ;;AAEA;;EAEE,uCAAuC;AACzC;;AAEA;;EAEE,kCAAkC;EAClC,iBAAiB;EACjB,gBAAgB;EAChB,YAAY;EACZ,kDAAkD;EAClD,kCAAkC;EAClC,gBAAgB;EAChB,+BAA+B;EAC/B,4CAA4C;AAC9C;;AAEA;EACE,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;AACf;;AAEA;;8EAE8E;;AAE9E;EACE,cAAc;EACd,kBAAkB;EAClB,aAAa;AACf;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,cAAc;EACd,cAAc;EACd,YAAY;EACZ,YAAY;AACd;;AAEA;EACE,YAAY;EACZ,kCAAkC;EAClC,cAAc;EACd,+BAA+B;AACjC;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,OAAO;EACP,QAAQ;EACR,WAAW;EACX,wCAAwC;EACxC,oBAAoB;EACpB,WAAW;AACb",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n@import url('./pathnavigator.css');\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-private-filebrowser-button-height: 28px;\n  --jp-private-filebrowser-button-width: 48px;\n}\n\n.jp-FileBrowser .jp-SidePanel-content {\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n}\n\n.jp-FileBrowser-toolbar.jp-Toolbar {\n  border-bottom: none;\n  height: auto;\n  margin: 8px 12px 0;\n  box-shadow: none;\n  padding: 0;\n}\n\n.jp-FileBrowser-toolbar.jp-Toolbar::part(positioning-region) {\n  row-gap: 12px;\n}\n\n.jp-FileBrowser-filterToolbar {\n  display: flex;\n  flex: 0 0 auto;\n  flex-direction: column;\n}\n\n.jp-FileBrowser-filterToolbar.jp-Toolbar {\n  border-bottom: none;\n  height: auto;\n  margin: 0 12px 6px;\n  box-shadow: none;\n  padding: 0;\n}\n\n.jp-FileBrowser-Panel {\n  flex: 1 1 auto;\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n}\n\n.jp-BreadCrumbs {\n  flex: 0 0 auto;\n  margin: 8px 12px;\n  cursor: text;\n}\n\n.jp-BreadCrumbs:hover:not(:has(.jp-BreadCrumbs-content:hover)) {\n  background: var(--jp-layout-color2);\n}\n\n/* The container holds breadcrumb icons, separators, and items */\n.jp-BreadCrumbs-container {\n  min-width: 0;\n}\n\n.jp-BreadCrumbs-content {\n  display: inline;\n}\n\n.jp-BreadCrumbs.jp-mod-editMode > .jp-BreadCrumbs-container {\n  display: none;\n}\n\n.jp-BreadCrumbs-item {\n  margin: 0 2px;\n  padding: 2px;\n  border-radius: var(--jp-border-radius);\n  cursor: pointer;\n}\n\n.jp-BreadCrumbs-ellipsis {\n  padding: 0;\n}\n\n.jp-BreadCrumbs-item:hover {\n  background-color: var(--jp-layout-color2);\n}\n\n.jp-BreadCrumbs-home,\n.jp-BreadCrumbs-preferred {\n  margin-right: 2px;\n}\n\n.jp-BreadCrumbs-item:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-style: solid;\n  outline-color: var(--jp-focus-outline-color);\n}\n\n.jp-BreadCrumbs-item.jp-mod-dropTarget {\n  background-color: var(--jp-brand-color2);\n  opacity: 0.7;\n}\n\n.jp-BreadCrumbs-item,\n.jp-BreadCrumbs-separator {\n  vertical-align: middle;\n}\n\n/*-----------------------------------------------------------------------------\n| Buttons\n|----------------------------------------------------------------------------*/\n\n.jp-FileBrowser-toolbar > .jp-Toolbar-item,\n.jp-FileBrowser-filterToolbar > .jp-Toolbar-item {\n  flex: 0 0 auto;\n  padding-left: 0;\n  align-items: center;\n  height: unset;\n}\n\n.jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent {\n  width: 28px;\n}\n\n/*-----------------------------------------------------------------------------\n| Other styles\n|----------------------------------------------------------------------------*/\n\n.jp-FileDialog.jp-mod-conflict input {\n  color: var(--jp-error-color1);\n}\n\n.jp-FileDialog .jp-new-name-title {\n  margin-top: 12px;\n}\n\n.jp-FileBrowser-filterToolbar > .jp-FileBrowser-filterBox {\n  width: 100%;\n}\n\n.jp-FileBrowser-filterBox > .jp-FilterBox {\n  width: 100%;\n}\n\n.jp-Open-Dialog > .jp-FileBrowser {\n  min-height: 200px;\n}\n\n.jp-Open-Dialog-label {\n  overflow: visible;\n}\n\n/*-----------------------------------------------------------------------------\n| DirListing\n|----------------------------------------------------------------------------*/\n\n.jp-DirListing {\n  flex: 1 1 auto;\n  display: flex;\n  flex-direction: column;\n  outline: 0;\n  overflow: hidden;\n\n  --jp-dirlisting-padding-width: 12px;\n}\n\n.jp-DirListing-header {\n  flex: 0 0 auto;\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  overflow: hidden;\n  border-top: var(--jp-border-width) solid var(--jp-border-color2);\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);\n  box-shadow: var(--jp-toolbar-box-shadow);\n  z-index: 2;\n  user-select: none;\n}\n\n.jp-DirListing-headerItem {\n  padding: 4px 12px 2px;\n  font-weight: 500;\n  overflow: hidden;\n  white-space: nowrap;\n  box-sizing: border-box;\n  display: flex;\n}\n\n.jp-DirListing-headerItemText {\n  flex-grow: 1;\n  text-overflow: ellipsis;\n  overflow: hidden;\n}\n\n.jp-DirListing-headerItem:hover {\n  background: var(--jp-layout-color2);\n}\n\n.jp-DirListing-headerItem.jp-id-name:not([style*='width']) {\n  /* default width before user resizes this column */\n  flex: 1 1 126px;\n}\n\n.jp-DirListing-headerItem.jp-id-modified:not([style*='width']) {\n  /* default width before user resizes this column */\n  flex: 1 0 70px;\n}\n\n.jp-DirListing-headerItem.jp-id-created:not([style*='width']) {\n  /* default width before user resizes this column */\n  flex: 1 0 70px;\n}\n\n.jp-DirListing-headerItem.jp-id-filesize:not([style*='width']) {\n  /* default width before user resizes this column */\n  flex: 0 0 75px;\n}\n\n.jp-DirListing-headerItem.jp-id-modified,\n.jp-DirListing-headerItem.jp-id-created,\n.jp-DirListing-headerItem.jp-id-filesize {\n  text-align: right;\n  container-type: inline-size;\n}\n\n/**\n * Use container queries to display either a small or large header\n * for the date and file size columns.\n */\n@container (max-width: 100px) {\n  .jp-DirListing-headerItem.jp-id-modified\n    > .jp-DirListing-headerItemText-small,\n  .jp-DirListing-headerItem.jp-id-filesize\n    > .jp-DirListing-headerItemText-small,\n  .jp-DirListing-headerItem.jp-id-created\n    > .jp-DirListing-headerItemText-small {\n    display: inline;\n  }\n\n  .jp-DirListing-headerItem.jp-id-modified\n    > .jp-DirListing-headerItemText-large,\n  .jp-DirListing-headerItem.jp-id-filesize\n    > .jp-DirListing-headerItemText-large,\n  .jp-DirListing-headerItem.jp-id-created\n    > .jp-DirListing-headerItemText-large {\n    display: none;\n  }\n}\n\n@container (min-width: 100px) {\n  .jp-DirListing-headerItem.jp-id-modified\n    > .jp-DirListing-headerItemText-small,\n  .jp-DirListing-headerItem.jp-id-filesize\n    > .jp-DirListing-headerItemText-small,\n  .jp-DirListing-headerItem.jp-id-created\n    > .jp-DirListing-headerItemText-small {\n    display: none;\n  }\n\n  .jp-DirListing-headerItem.jp-id-modified\n    > .jp-DirListing-headerItemText-large,\n  .jp-DirListing-headerItem.jp-id-filesize\n    > .jp-DirListing-headerItemText-large,\n  .jp-DirListing-headerItem.jp-id-created\n    > .jp-DirListing-headerItemText-large {\n    display: inline;\n  }\n}\n\n.jp-DirListing-headerItem.jp-mod-selected {\n  font-weight: 600;\n}\n\n/* increase specificity to override bundled default */\n.jp-DirListing-content {\n  flex: 1 1 auto;\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n  overflow: auto;\n  background-color: var(--jp-layout-color1);\n  overflow-x: hidden;\n}\n\n.jp-DirListing-content mark {\n  color: var(--jp-ui-font-color0);\n  background-color: transparent;\n  font-weight: bold;\n}\n\n.jp-DirListing-content .jp-DirListing-item.jp-mod-selected mark {\n  color: var(--jp-ui-inverse-font-color0);\n}\n\n/* Style the directory listing content when a user drops a file to upload */\n.jp-DirListing.jp-mod-native-drop .jp-DirListing-content {\n  outline: 5px dashed rgba(128, 128, 128, 0.5);\n  outline-offset: -10px;\n  cursor: copy;\n}\n\n.jp-DirListing-item {\n  align-items: center;\n  padding: 4px var(--jp-dirlisting-padding-width);\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  display: inline-grid;\n  grid-auto-columns: max-content;\n  width: 100%;\n  box-sizing: border-box;\n  grid-auto-flow: column;\n}\n\n.jp-DirListing-checkboxWrapper {\n  /* Increases hit area of checkbox. */\n  padding: 4px;\n}\n\n.jp-DirListing-content .jp-DirListing-checkboxWrapper {\n  position: relative;\n  left: -4px;\n  margin: -4px 0 -4px -8px;\n}\n\n.jp-DirListing-checkboxWrapper.jp-mod-visible {\n  visibility: visible;\n}\n\n/* For devices that support hovering, hide checkboxes until hovered, selected...\n*/\n@media (hover: hover) {\n  .jp-DirListing-checkboxWrapper {\n    visibility: hidden;\n  }\n\n  .jp-DirListing-item:hover .jp-DirListing-checkboxWrapper,\n  .jp-DirListing-item.jp-mod-selected .jp-DirListing-checkboxWrapper {\n    visibility: visible;\n  }\n}\n\n.jp-DirListing-resizeHandle {\n  min-width: var(--jp-border-width);\n  background: var(--jp-border-color2);\n  height: calc(100% - 4px);\n\n  /* border increases the area where handle can be grabbed */\n  border: 2px solid var(--jp-layout-color1);\n}\n\n.jp-DirListing-resizeHandle.jp-mod-active {\n  background: var(--jp-brand-color1);\n  border-color: var(--jp-brand-color1);\n}\n\n.jp-DirListing-resizeHandle.jp-mod-active:hover {\n  border-color: var(--jp-brand-color1);\n}\n\n.jp-DirListing-resizeHandle:hover {\n  cursor: col-resize;\n  border-color: var(--jp-border-color2);\n}\n\n.jp-DirListing-itemName {\n  display: flex;\n}\n\n.jp-DirListing-item[data-is-dot] {\n  opacity: 75%;\n}\n\n.jp-DirListing-item.jp-mod-selected {\n  color: var(--jp-ui-inverse-font-color1);\n  background: var(--jp-brand-color1);\n}\n\n.jp-DirListing-item.jp-mod-dropTarget {\n  background: var(--jp-brand-color3);\n}\n\n.jp-DirListing-item:hover:not(.jp-mod-selected) {\n  background: var(--jp-layout-color2);\n}\n\n.jp-DirListing-itemIcon {\n  flex: 0 0 20px;\n  margin-right: 4px;\n}\n\n.jp-DirListing-itemText,\n.jp-DirListing-itemModified,\n.jp-DirListing-itemFileSize,\n.jp-DirListing-itemCreated {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.jp-DirListing-itemName:not([style*='width']) > .jp-DirListing-itemText {\n  flex: 1 1 106px;\n}\n\n.jp-DirListing-item:has(.jp-DirListing-itemText:focus-visible) {\n  /* Targeting `.jp-DirListing-itemText` specifically to avoid an extra outline\n  when it gets replaced with `jp-DirListing-editor` when editing the file name */\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n  outline-offset: -4px;\n}\n\n.jp-DirListing-item.jp-mod-selected:focus-within {\n  outline-color: var(--jp-layout-color1);\n}\n\n.jp-DirListing-item > .jp-DirListing-itemName > .jp-DirListing-itemText:focus {\n  outline: 0;\n}\n\n.jp-DirListing-itemModified {\n  text-align: right;\n}\n\n.jp-DirListing-itemFileSize {\n  text-align: right;\n}\n\n.jp-DirListing-itemCreated {\n  text-align: right;\n}\n\n.jp-DirListing-editor {\n  flex: 1 0 64px;\n  outline: none;\n  border: none;\n  font-size: var(--jp-ui-font-size1);\n  font-family: var(--jp-ui-font-family);\n  color: var(--jp-ui-font-color1);\n  background-color: var(--jp-layout-color1);\n  z-index: 0;\n}\n\n.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon::before {\n  color: var(--jp-success-color1);\n  content: '\\25CF';\n  font-size: calc(var(--jp-ui-font-size1) * 8 / 13);\n  position: absolute;\n  left: -8px;\n}\n\n.jp-DirListing-item.jp-mod-running.jp-mod-selected\n  .jp-DirListing-itemIcon::before {\n  color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-DirListing-item.lm-mod-drag-image,\n.jp-DirListing-item.jp-mod-selected.lm-mod-drag-image {\n  font-size: var(--jp-ui-font-size1);\n  padding-left: 4px;\n  margin-left: 4px;\n  width: 160px;\n  background-color: var(--jp-ui-inverse-font-color2);\n  box-shadow: var(--jp-elevation-z2);\n  border-radius: 0;\n  color: var(--jp-ui-font-color1);\n  transform: translateX(-40%) translateY(-58%);\n}\n\n.jp-Document {\n  min-width: 120px;\n  min-height: 120px;\n  outline: none;\n}\n\n/*-----------------------------------------------------------------------------\n| FileBrowser movable sections\n|----------------------------------------------------------------------------*/\n\n.jp-FileBrowser-accordion {\n  flex: 1 1 auto;\n  position: relative;\n  min-height: 0;\n}\n\n.jp-movable-section-dragHandle {\n  display: inline-flex;\n  align-items: center;\n  flex-shrink: 0;\n  padding: 0 4px;\n  opacity: 0.5;\n  cursor: grab;\n}\n\n.jp-movable-section-dragHandle::before {\n  content: '⠿';\n  font-size: var(--jp-ui-font-size1);\n  line-height: 1;\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-mod-dragging .jp-movable-section-dragHandle {\n  cursor: grabbing;\n}\n\n.jp-movable-section-dropIndicator {\n  position: absolute;\n  left: 0;\n  right: 0;\n  height: 2px;\n  background-color: var(--jp-brand-color1);\n  pointer-events: none;\n  z-index: 10;\n}\n"],sourceRoot:""}]);let d=l},40364(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* PathNavigator contains only the input and the suggestions dropdown */
.jp-PathNavigator {
  position: relative;
  display: inline-block;
}

.jp-PathNavigator > input {
  display: none;
  width: 100%;
  box-sizing: border-box;
  background: var(--jp-layout-color0);
  color: var(--jp-ui-font-color0);
  border-radius: var(--jp-border-radius);
  padding: 2px 6px;
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  height: 20px;
  border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
}

.jp-PathNavigator > input:focus {
  outline: none;
}

.jp-PathNavigator-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 100;
  background: var(--jp-layout-color1);
  border: var(--jp-border-width) solid var(--jp-border-color1);
  border-radius: var(--jp-border-radius);
  list-style: none;
  margin: 2px 0 0;
  padding: 0;
  max-height: 200px;
  overflow-y: auto;
  box-shadow: var(--jp-elevation-z4);
}

.jp-PathNavigator-suggestions > li {
  padding: 4px 8px;
  cursor: pointer;
  font-size: var(--jp-ui-font-size1);
}

.jp-PathNavigator-suggestions > li:hover,
.jp-PathNavigator-suggestions > li.jp-mod-active {
  background: var(--jp-layout-color2);
}

.jp-PathNavigator-suggestions > li[data-is-dot] {
  opacity: 75%;
}

/*
 * Edit mode: stretch the PathNavigator to fill the full width.
 */
.jp-BreadCrumbs.jp-mod-editMode > .jp-PathNavigator {
  display: block;
  flex: 1;
  position: relative;
}

.jp-BreadCrumbs.jp-mod-editMode > .jp-PathNavigator > input {
  display: block;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/filebrowser/style/pathnavigator.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E,uEAAuE;AACvE;EACE,kBAAkB;EAClB,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,WAAW;EACX,sBAAsB;EACtB,mCAAmC;EACnC,+BAA+B;EAC/B,sCAAsC;EACtC,gBAAgB;EAChB,kCAAkC;EAClC,qCAAqC;EACrC,YAAY;EACZ,8EAA8E;AAChF;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,mCAAmC;EACnC,4DAA4D;EAC5D,sCAAsC;EACtC,gBAAgB;EAChB,eAAe;EACf,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,kCAAkC;AACpC;;AAEA;EACE,gBAAgB;EAChB,eAAe;EACf,kCAAkC;AACpC;;AAEA;;EAEE,mCAAmC;AACrC;;AAEA;EACE,YAAY;AACd;;AAEA;;EAEE;AACF;EACE,cAAc;EACd,OAAO;EACP,kBAAkB;AACpB;;AAEA;EACE,cAAc;AAChB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* PathNavigator contains only the input and the suggestions dropdown */\n.jp-PathNavigator {\n  position: relative;\n  display: inline-block;\n}\n\n.jp-PathNavigator > input {\n  display: none;\n  width: 100%;\n  box-sizing: border-box;\n  background: var(--jp-layout-color0);\n  color: var(--jp-ui-font-color0);\n  border-radius: var(--jp-border-radius);\n  padding: 2px 6px;\n  font-size: var(--jp-ui-font-size1);\n  font-family: var(--jp-ui-font-family);\n  height: 20px;\n  border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);\n}\n\n.jp-PathNavigator > input:focus {\n  outline: none;\n}\n\n.jp-PathNavigator-suggestions {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  right: 0;\n  z-index: 100;\n  background: var(--jp-layout-color1);\n  border: var(--jp-border-width) solid var(--jp-border-color1);\n  border-radius: var(--jp-border-radius);\n  list-style: none;\n  margin: 2px 0 0;\n  padding: 0;\n  max-height: 200px;\n  overflow-y: auto;\n  box-shadow: var(--jp-elevation-z4);\n}\n\n.jp-PathNavigator-suggestions > li {\n  padding: 4px 8px;\n  cursor: pointer;\n  font-size: var(--jp-ui-font-size1);\n}\n\n.jp-PathNavigator-suggestions > li:hover,\n.jp-PathNavigator-suggestions > li.jp-mod-active {\n  background: var(--jp-layout-color2);\n}\n\n.jp-PathNavigator-suggestions > li[data-is-dot] {\n  opacity: 75%;\n}\n\n/*\n * Edit mode: stretch the PathNavigator to fill the full width.\n */\n.jp-BreadCrumbs.jp-mod-editMode > .jp-PathNavigator {\n  display: block;\n  flex: 1;\n  position: relative;\n}\n\n.jp-BreadCrumbs.jp-mod-editMode > .jp-PathNavigator > input {\n  display: block;\n}\n"],sourceRoot:""}]);let a=s},4276(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Presentation Mode (.jp-mod-presentationMode)
|----------------------------------------------------------------------------*/

.jp-mod-presentationMode .jp-FileEditor {
  --jp-code-font-size: var(--jp-code-presentation-font-size);
}

.jp-FileEditorCodeWrapper {
  overflow: auto;
}

.jp-FileEditorCodeWrapper .cm-editor {
  height: 100%;
}

/* Add extra space at the bottom when scrollPastEnd is enabled */
.jp-FileEditor.jp-mod-scrollPastEnd .cm-content {
  padding-bottom: var(--jp-editor-scroll-padding);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/fileeditor/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;EACE,0DAA0D;AAC5D;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,YAAY;AACd;;AAEA,gEAAgE;AAChE;EACE,+CAA+C;AACjD",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Presentation Mode (.jp-mod-presentationMode)\n|----------------------------------------------------------------------------*/\n\n.jp-mod-presentationMode .jp-FileEditor {\n  --jp-code-font-size: var(--jp-code-presentation-font-size);\n}\n\n.jp-FileEditorCodeWrapper {\n  overflow: auto;\n}\n\n.jp-FileEditorCodeWrapper .cm-editor {\n  height: 100%;\n}\n\n/* Add extra space at the bottom when scrollPastEnd is enabled */\n.jp-FileEditor.jp-mod-scrollPastEnd .cm-content {\n  padding-bottom: var(--jp-editor-scroll-padding);\n}\n"],sourceRoot:""}]);let a=s},90844(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Help {
  min-width: 240px;
  min-height: 240px;
  background: var(--jp-layout-color0);
  outline: none;
}

.jp-Help > iframe {
  border: none;

  /* Forcing white color to avoid contrast issues see issue #11320 */
  background: white;
}

.jp-About-body {
  display: flex;
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color1);
  text-align: left;
  flex-direction: column;
  width: 100%;
  min-width: 360px;
  overflow: visible;
}

.jp-About-version-info {
  color: var(--jp-ui-font-color1);

  /* Dialog-header sets the font size to 3, we reset to 1 */
  font-size: var(--jp-ui-font-size1);
  width: 200px;
  font-weight: 400;
  letter-spacing: 0.4px;
  text-align: left;
  line-height: 1.12;
}

.jp-About-version {
  display: block;
  padding-top: 8px;
}

.jp-About-externalLinks {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 12px;
}

.jp-About-externalLinks > .jp-Button-flat {
  text-decoration: none;
}

.jp-About-externalLinks > .jp-Button-flat:hover {
  color: var(--jp-content-link-color);
  text-decoration: underline;
}

.jp-About-copyright {
  padding-top: 25px;
}

.jp-About-header {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.jp-About-body pre {
  white-space: pre-wrap;
}

.jp-About-header-info {
  display: flex;
  flex-direction: column;
  margin-left: 16px;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/help-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,gBAAgB;EAChB,iBAAiB;EACjB,mCAAmC;EACnC,aAAa;AACf;;AAEA;EACE,YAAY;;EAEZ,kEAAkE;EAClE,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,kCAAkC;EAClC,+BAA+B;EAC/B,gBAAgB;EAChB,sBAAsB;EACtB,WAAW;EACX,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;EACE,+BAA+B;;EAE/B,yDAAyD;EACzD,kCAAkC;EAClC,YAAY;EACZ,gBAAgB;EAChB,qBAAqB;EACrB,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;EACE,cAAc;EACd,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,2BAA2B;EAC3B,uBAAuB;EACvB,iBAAiB;AACnB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,mCAAmC;EACnC,0BAA0B;AAC5B;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;AACrB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,iBAAiB;AACnB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Help {\n  min-width: 240px;\n  min-height: 240px;\n  background: var(--jp-layout-color0);\n  outline: none;\n}\n\n.jp-Help > iframe {\n  border: none;\n\n  /* Forcing white color to avoid contrast issues see issue #11320 */\n  background: white;\n}\n\n.jp-About-body {\n  display: flex;\n  font-size: var(--jp-ui-font-size1);\n  color: var(--jp-ui-font-color1);\n  text-align: left;\n  flex-direction: column;\n  width: 100%;\n  min-width: 360px;\n  overflow: visible;\n}\n\n.jp-About-version-info {\n  color: var(--jp-ui-font-color1);\n\n  /* Dialog-header sets the font size to 3, we reset to 1 */\n  font-size: var(--jp-ui-font-size1);\n  width: 200px;\n  font-weight: 400;\n  letter-spacing: 0.4px;\n  text-align: left;\n  line-height: 1.12;\n}\n\n.jp-About-version {\n  display: block;\n  padding-top: 8px;\n}\n\n.jp-About-externalLinks {\n  display: flex;\n  flex-direction: column;\n  justify-content: flex-start;\n  align-items: flex-start;\n  padding-top: 12px;\n}\n\n.jp-About-externalLinks > .jp-Button-flat {\n  text-decoration: none;\n}\n\n.jp-About-externalLinks > .jp-Button-flat:hover {\n  color: var(--jp-content-link-color);\n  text-decoration: underline;\n}\n\n.jp-About-copyright {\n  padding-top: 25px;\n}\n\n.jp-About-header {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n}\n\n.jp-About-body pre {\n  white-space: pre-wrap;\n}\n\n.jp-About-header-info {\n  display: flex;\n  flex-direction: column;\n  margin-left: 16px;\n}\n"],sourceRoot:""}]);let a=s},90676(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* Document styles */
.jp-HTMLViewer {
  overflow: hidden;
  min-width: 100px;
  min-height: 100px;
  width: 100%;
  height: 100%;
}

.jp-HTMLViewer > iframe {
  border: none;
}

/*
When drag events occur, \`lm-mod-override-cursor\` is added to the body.
Because iframes steal all cursor events, the following two rules are necessary
to suppress pointer events while resize drags are occurring. There may be a
better solution to this problem.
*/
body.lm-mod-override-cursor .jp-HTMLViewer {
  position: relative;
}

body.lm-mod-override-cursor .jp-HTMLViewer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/htmlviewer/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E,oBAAoB;AACpB;EACE,gBAAgB;EAChB,gBAAgB;EAChB,iBAAiB;EACjB,WAAW;EACX,YAAY;AACd;;AAEA;EACE,YAAY;AACd;;AAEA;;;;;CAKC;AACD;EACE,kBAAkB;AACpB;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,uBAAuB;AACzB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Document styles */\n.jp-HTMLViewer {\n  overflow: hidden;\n  min-width: 100px;\n  min-height: 100px;\n  width: 100%;\n  height: 100%;\n}\n\n.jp-HTMLViewer > iframe {\n  border: none;\n}\n\n/*\nWhen drag events occur, `lm-mod-override-cursor` is added to the body.\nBecause iframes steal all cursor events, the following two rules are necessary\nto suppress pointer events while resize drags are occurring. There may be a\nbetter solution to this problem.\n*/\nbody.lm-mod-override-cursor .jp-HTMLViewer {\n  position: relative;\n}\n\nbody.lm-mod-override-cursor .jp-HTMLViewer::before {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background: transparent;\n}\n"],sourceRoot:""}]);let a=s},92420(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-ImageViewer {
  overflow: auto;
}

.jp-ImageViewer > img {
  box-sizing: border-box;
  transform-origin: top left;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/imageviewer/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,cAAc;AAChB;;AAEA;EACE,sBAAsB;EACtB,0BAA0B;AAC5B",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-ImageViewer {\n  overflow: auto;\n}\n\n.jp-ImageViewer > img {\n  box-sizing: border-box;\n  transform-origin: top left;\n}\n"],sourceRoot:""}]);let a=s},81302(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-inspector-tab-height: 24px;
  --jp-private-inspector-tab-width: 60px;
}

/*-----------------------------------------------------------------------------
| Inspector
|----------------------------------------------------------------------------*/

.jp-Inspector {
  outline: none;
  min-width: 120px;
  min-height: 120px;
}

.jp-Inspector-content {
  background: var(--jp-layout-color1);
  border: none;
  padding: 8px;
  width: 100%;
  height: 100%;
  overflow: auto;
}

.jp-ThemedContainer .jp-Inspector-content pre {
  font-size: var(--jp-code-font-size);
  line-height: var(--jp-code-line-height);
  margin: 0;
  white-space: pre-wrap;
}

.jp-Inspector-placeholderContent {
  text-align: center;
  color: var(--jp-content-font-color2);
}

.jp-Inspector-placeholderContent > h3 {
  margin-bottom: var(--jp-content-heading-margin-bottom);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/inspector/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;EACE,uCAAuC;EACvC,sCAAsC;AACxC;;AAEA;;8EAE8E;;AAE9E;EACE,aAAa;EACb,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;EACE,mCAAmC;EACnC,YAAY;EACZ,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,cAAc;AAChB;;AAEA;EACE,mCAAmC;EACnC,uCAAuC;EACvC,SAAS;EACT,qBAAqB;AACvB;;AAEA;EACE,kBAAkB;EAClB,oCAAoC;AACtC;;AAEA;EACE,sDAAsD;AACxD",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-private-inspector-tab-height: 24px;\n  --jp-private-inspector-tab-width: 60px;\n}\n\n/*-----------------------------------------------------------------------------\n| Inspector\n|----------------------------------------------------------------------------*/\n\n.jp-Inspector {\n  outline: none;\n  min-width: 120px;\n  min-height: 120px;\n}\n\n.jp-Inspector-content {\n  background: var(--jp-layout-color1);\n  border: none;\n  padding: 8px;\n  width: 100%;\n  height: 100%;\n  overflow: auto;\n}\n\n.jp-ThemedContainer .jp-Inspector-content pre {\n  font-size: var(--jp-code-font-size);\n  line-height: var(--jp-code-line-height);\n  margin: 0;\n  white-space: pre-wrap;\n}\n\n.jp-Inspector-placeholderContent {\n  text-align: center;\n  color: var(--jp-content-font-color2);\n}\n\n.jp-Inspector-placeholderContent > h3 {\n  margin-bottom: var(--jp-content-heading-margin-bottom);\n}\n"],sourceRoot:""}]);let a=s},39488(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/* Copyright (c) Jupyter Development Team.
Distributed under the terms of the Modified BSD License. */

.jp-RenderedJavaScript {
  padding: var(--jp-code-padding);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/javascript-extension/style/base.css"],names:[],mappings:"AAAA;0DAC0D;;AAE1D;EACE,+BAA+B;AACjC",sourcesContent:["/* Copyright (c) Jupyter Development Team.\nDistributed under the terms of the Modified BSD License. */\n\n.jp-RenderedJavaScript {\n  padding: var(--jp-code-padding);\n}\n"],sourceRoot:""}]);let a=s},19269(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/**
  Copyright (c) Jupyter Development Team.
  Distributed under the terms of the Modified BSD License.
*/

/* Base styles */
.jp-RenderedJSON {
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
}

/* Override react-json-tree inline styles */
.jp-RenderedJSON *:not(mark) {
  background-color: transparent !important;
}

.jp-RenderedJSON ul {
  margin: 0 !important;
}

.jp-RenderedJSON .container {
  position: relative;
  width: 100%;
  min-height: 30px;
}

.jp-RenderedJSON .filter {
  position: absolute;
  top: 0;
  right: 0;
  width: 33%;
  max-width: 150px;
  z-index: 10;
}

/* Document styles */
.jp-MimeDocument .jp-RenderedJSON {
  padding: 5px 5px 5px 20px;
  overflow-y: auto;
}

.jp-RenderedJSON mark.jp-mod-selected {
  background-color: var(--jp-search-unselected-match-background-color);
  color: var(--jp-search-unselected-match-color);
}

/* Output styles */

/* .jp-OutputArea .jp-RenderedJSON {

} */
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/json-extension/style/base.css"],names:[],mappings:"AAAA;;;CAGC;;AAED,gBAAgB;AAChB;EACE,WAAW;EACX,YAAY;EACZ,UAAU;EACV,gBAAgB;AAClB;;AAEA,2CAA2C;AAC3C;EACE,wCAAwC;AAC1C;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,UAAU;EACV,gBAAgB;EAChB,WAAW;AACb;;AAEA,oBAAoB;AACpB;EACE,yBAAyB;EACzB,gBAAgB;AAClB;;AAEA;EACE,oEAAoE;EACpE,8CAA8C;AAChD;;AAEA,kBAAkB;;AAElB;;GAEG",sourcesContent:["/**\n  Copyright (c) Jupyter Development Team.\n  Distributed under the terms of the Modified BSD License.\n*/\n\n/* Base styles */\n.jp-RenderedJSON {\n  width: 100%;\n  height: 100%;\n  padding: 0;\n  overflow: hidden;\n}\n\n/* Override react-json-tree inline styles */\n.jp-RenderedJSON *:not(mark) {\n  background-color: transparent !important;\n}\n\n.jp-RenderedJSON ul {\n  margin: 0 !important;\n}\n\n.jp-RenderedJSON .container {\n  position: relative;\n  width: 100%;\n  min-height: 30px;\n}\n\n.jp-RenderedJSON .filter {\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 33%;\n  max-width: 150px;\n  z-index: 10;\n}\n\n/* Document styles */\n.jp-MimeDocument .jp-RenderedJSON {\n  padding: 5px 5px 5px 20px;\n  overflow-y: auto;\n}\n\n.jp-RenderedJSON mark.jp-mod-selected {\n  background-color: var(--jp-search-unselected-match-background-color);\n  color: var(--jp-search-unselected-match-color);\n}\n\n/* Output styles */\n\n/* .jp-OutputArea .jp-RenderedJSON {\n\n} */\n"],sourceRoot:""}]);let a=s},68931(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-FileBrowser-toolbar
  .jp-ToolbarButtonComponent[data-command='launcher:create'] {
  width: 72px;
  background: var(--jp-accept-color-normal, var(--jp-brand-color1));
}

.jp-FileBrowser-toolbar
  .jp-ToolbarButtonComponent[data-command='launcher:create']:hover {
  background-color: var(--jp-accept-color-hover);
}

.jp-FileBrowser-toolbar
  .jp-ToolbarButtonComponent[data-command='launcher:create']:focus-visible {
  background-color: var(--jp-accept-color-active, var(--jp-brand-color0));
}

.jp-FileBrowser-toolbar
  .jp-ToolbarButtonComponent[data-command='launcher:create']
  .jp-icon3 {
  fill: var(--jp-layout-color1);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/launcher-extension/style/base.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;EAEE,WAAW;EACX,iEAAiE;AACnE;;AAEA;;EAEE,8CAA8C;AAChD;;AAEA;;EAEE,uEAAuE;AACzE;;AAEA;;;EAGE,6BAA6B;AAC/B",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-FileBrowser-toolbar\n  .jp-ToolbarButtonComponent[data-command='launcher:create'] {\n  width: 72px;\n  background: var(--jp-accept-color-normal, var(--jp-brand-color1));\n}\n\n.jp-FileBrowser-toolbar\n  .jp-ToolbarButtonComponent[data-command='launcher:create']:hover {\n  background-color: var(--jp-accept-color-hover);\n}\n\n.jp-FileBrowser-toolbar\n  .jp-ToolbarButtonComponent[data-command='launcher:create']:focus-visible {\n  background-color: var(--jp-accept-color-active, var(--jp-brand-color0));\n}\n\n.jp-FileBrowser-toolbar\n  .jp-ToolbarButtonComponent[data-command='launcher:create']\n  .jp-icon3 {\n  fill: var(--jp-layout-color1);\n}\n"],sourceRoot:""}]);let a=s},97875(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* Private CSS variables */

:root {
  --jp-private-launcher-top-padding: 1.231em;
  --jp-private-launcher-side-padding: 2.462em;
  --jp-private-launcher-card-size: 7.692em;
  --jp-private-launcher-card-label-height: 2.462em;
  --jp-private-launcher-card-icon-height: 5.231em;
  --jp-private-launcher-large-icon-size: 4em;
  --jp-private-launcher-small-icon-size: 2.462em;
}

/* Launcher */

.jp-Launcher {
  margin: 0;
  padding: 0;
  outline: none;
  background: var(--jp-layout-color0);
  box-sizing: border-box;
  min-width: 120px;
  min-height: 120px;

  /* 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-Launcher-body {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: auto;
  display: flex;
  justify-content: center;
}

.jp-Launcher-cwd h3 {
  font-size: var(--jp-ui-font-size2);
  font-weight: normal;
  color: var(--jp-ui-font-color1);
  margin: 1em 0;
}

.jp-Launcher-content {
  width: 85%;
  height: 100%;
  padding-top: var(--jp-private-launcher-top-padding);
  padding-left: var(--jp-private-launcher-side-padding);
  padding-right: var(--jp-private-launcher-side-padding);
  box-sizing: border-box;
}

/* Launcher section */

.jp-Launcher-section {
  width: 100%;
  box-sizing: border-box;
  padding-bottom: 12px;
}

.jp-Launcher-sectionHeader {
  display: flex;
  flex-direction: row;
  align-items: center;
  box-sizing: border-box;

  /* This is custom tuned to get the section header to align with the cards */
  margin-left: 5px;
  border-bottom: 1px solid var(--jp-border-color2);
  padding-bottom: 0;
  margin-bottom: 8px;
}

.jp-Launcher-sectionTitle {
  font-size: var(--jp-ui-font-size2);
  font-weight: normal;
  color: var(--jp-ui-font-color0);
  box-sizing: border-box;
}

/* Launcher cards */

.jp-Launcher-cardContainer {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.jp-LauncherCard {
  display: flex;
  flex-direction: column;
  cursor: pointer;
  width: var(--jp-private-launcher-card-size);
  min-height: var(--jp-private-launcher-card-size);
  margin: 8px;
  padding: 0;
  border: 1px solid var(--jp-border-color2);
  background: var(--jp-layout-color0);
  box-shadow: var(--jp-elevation-z2);
  transition: 0.2s box-shadow;
  border-radius: var(--jp-border-radius);
}

.jp-LauncherCard:focus:not(:active) {
  border: 1px solid var(--jp-focus-outline-color);
  box-shadow: var(--jp-elevation-z6);
}

.jp-LauncherCard:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
  outline-offset: calc(-1 * var(--jp-border-width));
}

.jp-LauncherCard:hover {
  box-shadow: var(--jp-elevation-z6);
  background: var(--jp-layout-color1);
}

.jp-LauncherCard:active {
  box-shadow: var(--jp-elevation-z4);
}

.jp-LauncherCard-icon {
  width: 100%;
  height: var(--jp-private-launcher-card-icon-height);
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.jp-LauncherCard-noKernelIcon {
  font-weight: normal;
  font-size: var(--jp-private-launcher-large-icon-size);
}

.jp-LauncherCard[data-category='Notebook'] .jp-LauncherCard-noKernelIcon {
  /* This color is copied from the notebook icon. */
  color: var(--jp-jupyter-icon-color);
}

.jp-LauncherCard[data-category='Console'] .jp-LauncherCard-noKernelIcon {
  /* This color is copied from the console icon. */
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  color: #0288d1;
}

.jp-LauncherCard-label {
  width: 100%;
  min-height: var(--jp-private-launcher-card-label-height);
  padding: 0 4px 4px;
  box-sizing: border-box;
  overflow: hidden;
}

.jp-LauncherCard-label p {
  min-height: 2.154em;
  word-break: break-word;
  text-align: center;
  color: var(--jp-ui-font-color1);
  line-height: 1.077em;
  font-size: calc(var(--jp-ui-font-size1) * 0.923);
  overflow: hidden;
  margin: auto;
}

/* kernel icons */

.jp-Launcher-kernelIcon {
  width: var(--jp-private-launcher-large-icon-size);
  height: var(--jp-private-launcher-large-icon-size);
  margin: 0;
  padding: 0;

  /* Preserve image aspect ratio */
  object-fit: contain;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/launcher/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E,0BAA0B;;AAE1B;EACE,0CAA0C;EAC1C,2CAA2C;EAC3C,wCAAwC;EACxC,gDAAgD;EAChD,+CAA+C;EAC/C,0CAA0C;EAC1C,8CAA8C;AAChD;;AAEA,aAAa;;AAEb;EACE,SAAS;EACT,UAAU;EACV,aAAa;EACb,mCAAmC;EACnC,sBAAsB;EACtB,gBAAgB;EAChB,iBAAiB;;EAEjB;iCAC+B;EAC/B,kCAAkC;AACpC;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,sBAAsB;EACtB,cAAc;EACd,aAAa;EACb,uBAAuB;AACzB;;AAEA;EACE,kCAAkC;EAClC,mBAAmB;EACnB,+BAA+B;EAC/B,aAAa;AACf;;AAEA;EACE,UAAU;EACV,YAAY;EACZ,mDAAmD;EACnD,qDAAqD;EACrD,sDAAsD;EACtD,sBAAsB;AACxB;;AAEA,qBAAqB;;AAErB;EACE,WAAW;EACX,sBAAsB;EACtB,oBAAoB;AACtB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,sBAAsB;;EAEtB,2EAA2E;EAC3E,gBAAgB;EAChB,gDAAgD;EAChD,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,kCAAkC;EAClC,mBAAmB;EACnB,+BAA+B;EAC/B,sBAAsB;AACxB;;AAEA,mBAAmB;;AAEnB;EACE,SAAS;EACT,UAAU;EACV,sBAAsB;EACtB,aAAa;EACb,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,eAAe;EACf,2CAA2C;EAC3C,gDAAgD;EAChD,WAAW;EACX,UAAU;EACV,yCAAyC;EACzC,mCAAmC;EACnC,kCAAkC;EAClC,2BAA2B;EAC3B,sCAAsC;AACxC;;AAEA;EACE,+CAA+C;EAC/C,kCAAkC;AACpC;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,iDAAiD;AACnD;;AAEA;EACE,kCAAkC;EAClC,mCAAmC;AACrC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,WAAW;EACX,mDAAmD;EACnD,sBAAsB;EACtB,SAAS;EACT,UAAU;EACV,aAAa;EACb,uBAAuB;EACvB,mBAAmB;AACrB;;AAEA;EACE,mBAAmB;EACnB,qDAAqD;AACvD;;AAEA;EACE,iDAAiD;EACjD,mCAAmC;AACrC;;AAEA;EACE,gDAAgD;EAChD,wEAAwE;EACxE,cAAc;AAChB;;AAEA;EACE,WAAW;EACX,wDAAwD;EACxD,kBAAkB;EAClB,sBAAsB;EACtB,gBAAgB;AAClB;;AAEA;EACE,mBAAmB;EACnB,sBAAsB;EACtB,kBAAkB;EAClB,+BAA+B;EAC/B,oBAAoB;EACpB,gDAAgD;EAChD,gBAAgB;EAChB,YAAY;AACd;;AAEA,iBAAiB;;AAEjB;EACE,iDAAiD;EACjD,kDAAkD;EAClD,SAAS;EACT,UAAU;;EAEV,gCAAgC;EAChC,mBAAmB;AACrB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Private CSS variables */\n\n:root {\n  --jp-private-launcher-top-padding: 1.231em;\n  --jp-private-launcher-side-padding: 2.462em;\n  --jp-private-launcher-card-size: 7.692em;\n  --jp-private-launcher-card-label-height: 2.462em;\n  --jp-private-launcher-card-icon-height: 5.231em;\n  --jp-private-launcher-large-icon-size: 4em;\n  --jp-private-launcher-small-icon-size: 2.462em;\n}\n\n/* Launcher */\n\n.jp-Launcher {\n  margin: 0;\n  padding: 0;\n  outline: none;\n  background: var(--jp-layout-color0);\n  box-sizing: border-box;\n  min-width: 120px;\n  min-height: 120px;\n\n  /* This is needed so that all font sizing of children done in ems is\n   * relative to this base size */\n  font-size: var(--jp-ui-font-size1);\n}\n\n.jp-Launcher-body {\n  width: 100%;\n  height: 100%;\n  box-sizing: border-box;\n  overflow: auto;\n  display: flex;\n  justify-content: center;\n}\n\n.jp-Launcher-cwd h3 {\n  font-size: var(--jp-ui-font-size2);\n  font-weight: normal;\n  color: var(--jp-ui-font-color1);\n  margin: 1em 0;\n}\n\n.jp-Launcher-content {\n  width: 85%;\n  height: 100%;\n  padding-top: var(--jp-private-launcher-top-padding);\n  padding-left: var(--jp-private-launcher-side-padding);\n  padding-right: var(--jp-private-launcher-side-padding);\n  box-sizing: border-box;\n}\n\n/* Launcher section */\n\n.jp-Launcher-section {\n  width: 100%;\n  box-sizing: border-box;\n  padding-bottom: 12px;\n}\n\n.jp-Launcher-sectionHeader {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  box-sizing: border-box;\n\n  /* This is custom tuned to get the section header to align with the cards */\n  margin-left: 5px;\n  border-bottom: 1px solid var(--jp-border-color2);\n  padding-bottom: 0;\n  margin-bottom: 8px;\n}\n\n.jp-Launcher-sectionTitle {\n  font-size: var(--jp-ui-font-size2);\n  font-weight: normal;\n  color: var(--jp-ui-font-color0);\n  box-sizing: border-box;\n}\n\n/* Launcher cards */\n\n.jp-Launcher-cardContainer {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n}\n\n.jp-LauncherCard {\n  display: flex;\n  flex-direction: column;\n  cursor: pointer;\n  width: var(--jp-private-launcher-card-size);\n  min-height: var(--jp-private-launcher-card-size);\n  margin: 8px;\n  padding: 0;\n  border: 1px solid var(--jp-border-color2);\n  background: var(--jp-layout-color0);\n  box-shadow: var(--jp-elevation-z2);\n  transition: 0.2s box-shadow;\n  border-radius: var(--jp-border-radius);\n}\n\n.jp-LauncherCard:focus:not(:active) {\n  border: 1px solid var(--jp-focus-outline-color);\n  box-shadow: var(--jp-elevation-z6);\n}\n\n.jp-LauncherCard:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n  outline-offset: calc(-1 * var(--jp-border-width));\n}\n\n.jp-LauncherCard:hover {\n  box-shadow: var(--jp-elevation-z6);\n  background: var(--jp-layout-color1);\n}\n\n.jp-LauncherCard:active {\n  box-shadow: var(--jp-elevation-z4);\n}\n\n.jp-LauncherCard-icon {\n  width: 100%;\n  height: var(--jp-private-launcher-card-icon-height);\n  box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n\n.jp-LauncherCard-noKernelIcon {\n  font-weight: normal;\n  font-size: var(--jp-private-launcher-large-icon-size);\n}\n\n.jp-LauncherCard[data-category='Notebook'] .jp-LauncherCard-noKernelIcon {\n  /* This color is copied from the notebook icon. */\n  color: var(--jp-jupyter-icon-color);\n}\n\n.jp-LauncherCard[data-category='Console'] .jp-LauncherCard-noKernelIcon {\n  /* This color is copied from the console icon. */\n  /* stylelint-disable-next-line declaration-property-value-allowed-list */\n  color: #0288d1;\n}\n\n.jp-LauncherCard-label {\n  width: 100%;\n  min-height: var(--jp-private-launcher-card-label-height);\n  padding: 0 4px 4px;\n  box-sizing: border-box;\n  overflow: hidden;\n}\n\n.jp-LauncherCard-label p {\n  min-height: 2.154em;\n  word-break: break-word;\n  text-align: center;\n  color: var(--jp-ui-font-color1);\n  line-height: 1.077em;\n  font-size: calc(var(--jp-ui-font-size1) * 0.923);\n  overflow: hidden;\n  margin: auto;\n}\n\n/* kernel icons */\n\n.jp-Launcher-kernelIcon {\n  width: var(--jp-private-launcher-large-icon-size);\n  height: var(--jp-private-launcher-large-icon-size);\n  margin: 0;\n  padding: 0;\n\n  /* Preserve image aspect ratio */\n  object-fit: contain;\n}\n"],sourceRoot:""}]);let a=s},60888(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

@keyframes flash {
  0% {
    background-color: var(--jp-brand-color1);
  }

  50% {
    color: unset;
    background-color: unset;
  }

  100% {
    background-color: var(--jp-brand-color1);
  }
}

.jp-LogConsoleStatusItem.jp-LogConsole-flash {
  animation: flash 300ms both;
}

.jp-LogConsoleStatusItem.jp-mod-selected {
  background-color: var(--jp-brand-color1);
}

/* Override semi-transparent white with opaque white for higher contrast */
.jp-LogConsoleStatusItem.jp-mod-selected,
.jp-LogConsoleStatusItem.jp-mod-selected .jp-StatusBar-TextItem {
  color: white;
}

.jp-LogConsole .jp-ClearIcon {
  transform: rotate(90deg);
  margin-top: -1px;
  padding: 0 8px;
}

.jp-Toolbar-item.jp-LogConsole-toolbarLogLevel {
  align-items: center;
  padding: 0 6px;
}

/* Matches the disabled style elsewhere in JupyterLab */
.jp-LogConsole-toolbarLogLevel-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* Copied from the notebook cell type dropdown styling */
.jp-LogConsole-toolbarLogLevelDropdown select {
  height: 24px;
  font-size: var(--jp-ui-font-size1);
  line-height: 14px;
  border-radius: 0;
  display: block;
}

/* Copied from the notebook cell type dropdown styling */
.jp-LogConsole-toolbarLogLevelDropdown span {
  top: 5px !important;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/logconsole-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE;IACE,wCAAwC;EAC1C;;EAEA;IACE,YAAY;IACZ,uBAAuB;EACzB;;EAEA;IACE,wCAAwC;EAC1C;AACF;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,wCAAwC;AAC1C;;AAEA,0EAA0E;AAC1E;;EAEE,YAAY;AACd;;AAEA;EACE,wBAAwB;EACxB,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,mBAAmB;EACnB,cAAc;AAChB;;AAEA,uDAAuD;AACvD;EACE,YAAY;EACZ,mBAAmB;AACrB;;AAEA,wDAAwD;AACxD;EACE,YAAY;EACZ,kCAAkC;EAClC,iBAAiB;EACjB,gBAAgB;EAChB,cAAc;AAChB;;AAEA,wDAAwD;AACxD;EACE,mBAAmB;AACrB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n@keyframes flash {\n  0% {\n    background-color: var(--jp-brand-color1);\n  }\n\n  50% {\n    color: unset;\n    background-color: unset;\n  }\n\n  100% {\n    background-color: var(--jp-brand-color1);\n  }\n}\n\n.jp-LogConsoleStatusItem.jp-LogConsole-flash {\n  animation: flash 300ms both;\n}\n\n.jp-LogConsoleStatusItem.jp-mod-selected {\n  background-color: var(--jp-brand-color1);\n}\n\n/* Override semi-transparent white with opaque white for higher contrast */\n.jp-LogConsoleStatusItem.jp-mod-selected,\n.jp-LogConsoleStatusItem.jp-mod-selected .jp-StatusBar-TextItem {\n  color: white;\n}\n\n.jp-LogConsole .jp-ClearIcon {\n  transform: rotate(90deg);\n  margin-top: -1px;\n  padding: 0 8px;\n}\n\n.jp-Toolbar-item.jp-LogConsole-toolbarLogLevel {\n  align-items: center;\n  padding: 0 6px;\n}\n\n/* Matches the disabled style elsewhere in JupyterLab */\n.jp-LogConsole-toolbarLogLevel-disabled {\n  opacity: 0.4;\n  cursor: not-allowed;\n}\n\n/* Copied from the notebook cell type dropdown styling */\n.jp-LogConsole-toolbarLogLevelDropdown select {\n  height: 24px;\n  font-size: var(--jp-ui-font-size1);\n  line-height: 14px;\n  border-radius: 0;\n  display: block;\n}\n\n/* Copied from the notebook cell type dropdown styling */\n.jp-LogConsole-toolbarLogLevelDropdown span {\n  top: 5px !important;\n}\n"],sourceRoot:""}]);let a=s},82136(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-LogConsolePanel {
  overflow-y: auto;
}

.jp-LogConsolePanel .jp-OutputArea-child {
  border-bottom: 1px solid var(--jp-border-color3);
}

.jp-LogConsolePanel .jp-OutputArea-prompt {
  width: 85px;
  color: var(--jp-ui-font-color2);
  font-size: var(--jp-code-font-size);
  padding: 2px;
}

.jp-LogConsolePanel .jp-OutputArea-prompt[data-log-level='info'] {
  background-color: var(--jp-info-color1);
  color: var(--jp-ui-inverse-font-color1);
}

.jp-LogConsolePanel .jp-OutputArea-prompt[data-log-level='warning'] {
  background-color: var(--jp-warn-color1);
  color: var(--jp-ui-inverse-font-color1);
}

.jp-LogConsolePanel .jp-OutputArea-prompt[data-log-level='error'] {
  background-color: var(--jp-error-color1);
  color: var(--jp-ui-inverse-font-color1);
}

.jp-LogConsolePanel .jp-OutputArea-prompt[data-log-level='critical'] {
  background-color: var(--jp-error-color0);
  color: var(--jp-ui-inverse-font-color0);
}

.jp-LogConsoleListPlaceholder {
  padding: 5px;
  font-size: var(--jp-code-font-size);
  color: var(--jp-ui-font-color3);
}

.jp-Scrolling {
  overflow-y: auto;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/logconsole/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,gBAAgB;AAClB;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,WAAW;EACX,+BAA+B;EAC/B,mCAAmC;EACnC,YAAY;AACd;;AAEA;EACE,uCAAuC;EACvC,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;EACvC,uCAAuC;AACzC;;AAEA;EACE,wCAAwC;EACxC,uCAAuC;AACzC;;AAEA;EACE,wCAAwC;EACxC,uCAAuC;AACzC;;AAEA;EACE,YAAY;EACZ,mCAAmC;EACnC,+BAA+B;AACjC;;AAEA;EACE,gBAAgB;AAClB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-LogConsolePanel {\n  overflow-y: auto;\n}\n\n.jp-LogConsolePanel .jp-OutputArea-child {\n  border-bottom: 1px solid var(--jp-border-color3);\n}\n\n.jp-LogConsolePanel .jp-OutputArea-prompt {\n  width: 85px;\n  color: var(--jp-ui-font-color2);\n  font-size: var(--jp-code-font-size);\n  padding: 2px;\n}\n\n.jp-LogConsolePanel .jp-OutputArea-prompt[data-log-level='info'] {\n  background-color: var(--jp-info-color1);\n  color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-LogConsolePanel .jp-OutputArea-prompt[data-log-level='warning'] {\n  background-color: var(--jp-warn-color1);\n  color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-LogConsolePanel .jp-OutputArea-prompt[data-log-level='error'] {\n  background-color: var(--jp-error-color1);\n  color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-LogConsolePanel .jp-OutputArea-prompt[data-log-level='critical'] {\n  background-color: var(--jp-error-color0);\n  color: var(--jp-ui-inverse-font-color0);\n}\n\n.jp-LogConsoleListPlaceholder {\n  padding: 5px;\n  font-size: var(--jp-code-font-size);\n  color: var(--jp-ui-font-color3);\n}\n\n.jp-Scrolling {\n  overflow-y: auto;\n}\n"],sourceRoot:""}]);let a=s},552(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-LSPExtension-FormGroup-content > select {
  margin: 0 12px;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/lsp-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,cAAc;AAChB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-LSPExtension-FormGroup-content > select {\n  margin: 0 12px;\n}\n"],sourceRoot:""}]);let a=s},74044(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

:root {
  --jp-private-markdownviewer-padding: 32px;
}

.jp-Document .jp-MarkdownViewer .jp-RenderedMarkdown {
  padding-top: var(--jp-private-markdownviewer-padding);
  padding-right: var(--jp-private-markdownviewer-padding);
  padding-bottom: var(--jp-private-markdownviewer-padding);
  padding-left: var(--jp-private-markdownviewer-padding);
  overflow: auto;
}

/*-----------------------------------------------------------------------------
| Presentation Mode (.jp-mod-presentationMode)
|----------------------------------------------------------------------------*/

.jp-mod-presentationMode .jp-MarkdownViewer .jp-RenderedHTMLCommon {
  --jp-content-font-size1: var(--jp-content-presentation-font-size1);
  --jp-code-font-size: var(--jp-code-presentation-font-size);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/markdownviewer/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,yCAAyC;AAC3C;;AAEA;EACE,qDAAqD;EACrD,uDAAuD;EACvD,wDAAwD;EACxD,sDAAsD;EACtD,cAAc;AAChB;;AAEA;;8EAE8E;;AAE9E;EACE,kEAAkE;EAClE,0DAA0D;AAC5D",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-private-markdownviewer-padding: 32px;\n}\n\n.jp-Document .jp-MarkdownViewer .jp-RenderedMarkdown {\n  padding-top: var(--jp-private-markdownviewer-padding);\n  padding-right: var(--jp-private-markdownviewer-padding);\n  padding-bottom: var(--jp-private-markdownviewer-padding);\n  padding-left: var(--jp-private-markdownviewer-padding);\n  overflow: auto;\n}\n\n/*-----------------------------------------------------------------------------\n| Presentation Mode (.jp-mod-presentationMode)\n|----------------------------------------------------------------------------*/\n\n.jp-mod-presentationMode .jp-MarkdownViewer .jp-RenderedHTMLCommon {\n  --jp-content-font-size1: var(--jp-content-presentation-font-size1);\n  --jp-code-font-size: var(--jp-code-presentation-font-size);\n}\n"],sourceRoot:""}]);let a=s},28004(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/markedparser-extension/style/base.css"],names:[],mappings:"AAAA;;;EAGE",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n"],sourceRoot:""}]);let a=s},57330(e,t,n){"use strict";n.d(t,{A:()=>d});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(46059),l=s()(o());l.i(a.A),l.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* This can be removed after upgrading to MathJax 4, as the issue will be fixed in the new version */
mjx-assistive-mml {
  bottom: 0;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/mathjax-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAI9E,oGAAoG;AACpG;EACE,SAAS;AACX",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n@import './fonts.css';\n\n/* This can be removed after upgrading to MathJax 4, as the issue will be fixed in the new version */\nmjx-assistive-mml {\n  bottom: 0;\n}\n"],sourceRoot:""}]);let d=l},46059(e,t,n){"use strict";n.d(t,{A:()=>ee});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(67360),l=n.n(a),d=new URL(n(77778),n.b),c=new URL(n(98072),n.b),h=new URL(n(91495),n.b),u=new URL(n(21033),n.b),p=new URL(n(35492),n.b),m=new URL(n(13566),n.b),g=new URL(n(4777),n.b),A=new URL(n(64452),n.b),C=new URL(n(943),n.b),f=new URL(n(71698),n.b),b=new URL(n(23182),n.b),v=new URL(n(51508),n.b),_=new URL(n(27075),n.b),y=new URL(n(13110),n.b),E=new URL(n(31517),n.b),w=new URL(n(49485),n.b),j=new URL(n(50584),n.b),x=new URL(n(17739),n.b),B=new URL(n(1910),n.b),S=new URL(n(98786),n.b),M=new URL(n(83202),n.b),I=new URL(n(94665),n.b),k=s()(o()),D=l()(d),T=l()(c),L=l()(h),N=l()(u),P=l()(p),z=l()(m),R=l()(g),O=l()(A),F=l()(C),W=l()(f),H=l()(b),U=l()(v),Y=l()(_),V=l()(y),q=l()(E),G=l()(w),$=l()(j),J=l()(x),K=l()(B),Z=l()(S),Q=l()(M),X=l()(I);k.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

@font-face /* 0 */ {
  font-display: swap;
  font-family: MJXZERO;
  src: url(${D})
    format('woff');
}

@font-face /* 1 */ {
  font-display: swap;
  font-family: MJXTEX;
  src: url(${T})
    format('woff');
}

@font-face /* 2 */ {
  font-display: swap;
  font-family: MJXTEX-B;
  src: url(${L})
    format('woff');
}

@font-face /* 3 */ {
  font-display: swap;
  font-family: MJXTEX-I;
  src: url(${N})
    format('woff');
}

@font-face /* 4 */ {
  font-display: swap;
  font-family: MJXTEX-MI;
  src: url(${P})
    format('woff');
}

@font-face /* 5 */ {
  font-display: swap;
  font-family: MJXTEX-BI;
  src: url(${z})
    format('woff');
}

@font-face /* 6 */ {
  font-display: swap;
  font-family: 'MJXTEX-S1';
  src: url(${R})
    format('woff');
}

@font-face /* 7 */ {
  font-display: swap;
  font-family: 'MJXTEX-S2';
  src: url(${O})
    format('woff');
}

@font-face /* 8 */ {
  font-display: swap;
  font-family: 'MJXTEX-S3';
  src: url(${F})
    format('woff');
}

@font-face /* 9 */ {
  font-display: swap;
  font-family: 'MJXTEX-S4';
  src: url(${W})
    format('woff');
}

@font-face /* 10 */ {
  font-display: swap;
  font-family: MJXTEX-A;
  src: url(${H})
    format('woff');
}

@font-face /* 11 */ {
  font-display: swap;
  font-family: MJXTEX-C;
  src: url(${U})
    format('woff');
}

@font-face /* 12 */ {
  font-display: swap;
  font-family: MJXTEX-CB;
  src: url(${Y})
    format('woff');
}

@font-face /* 13 */ {
  font-display: swap;
  font-family: MJXTEX-FR;
  src: url(${V})
    format('woff');
}

@font-face /* 14 */ {
  font-display: swap;
  font-family: MJXTEX-FRB;
  src: url(${q})
    format('woff');
}

@font-face /* 15 */ {
  font-display: swap;
  font-family: MJXTEX-SS;
  src: url(${G})
    format('woff');
}

@font-face /* 16 */ {
  font-display: swap;
  font-family: MJXTEX-SSB;
  src: url(${$})
    format('woff');
}

@font-face /* 17 */ {
  font-family: MJXTEX-SSI;
  src: url(${J})
    format('woff');
}

@font-face /* 18 */ {
  font-display: swap;
  font-family: MJXTEX-SC;
  src: url(${K})
    format('woff');
}

@font-face /* 19 */ {
  font-display: swap;
  font-family: MJXTEX-T;
  src: url(${Z})
    format('woff');
}

@font-face /* 20 */ {
  font-display: swap;
  font-family: MJXTEX-V;
  src: url(${Q})
    format('woff');
}

@font-face /* 21 */ {
  font-display: swap;
  font-family: MJXTEX-VB;
  src: url(${X})
    format('woff');
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/mathjax-extension/style/fonts.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;EACE,kBAAkB;EAClB,oBAAoB;EACpB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,mBAAmB;EACnB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,qBAAqB;EACrB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,qBAAqB;EACrB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,sBAAsB;EACtB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,sBAAsB;EACtB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,wBAAwB;EACxB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,wBAAwB;EACxB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,wBAAwB;EACxB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,wBAAwB;EACxB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,qBAAqB;EACrB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,qBAAqB;EACrB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,sBAAsB;EACtB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,sBAAsB;EACtB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,uBAAuB;EACvB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,sBAAsB;EACtB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,uBAAuB;EACvB;kBACgB;AAClB;;AAEA;EACE,uBAAuB;EACvB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,sBAAsB;EACtB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,qBAAqB;EACrB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,qBAAqB;EACrB;kBACgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,sBAAsB;EACtB;kBACgB;AAClB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n@font-face /* 0 */ {\n  font-display: swap;\n  font-family: MJXZERO;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Zero.woff')\n    format('woff');\n}\n\n@font-face /* 1 */ {\n  font-display: swap;\n  font-family: MJXTEX;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff')\n    format('woff');\n}\n\n@font-face /* 2 */ {\n  font-display: swap;\n  font-family: MJXTEX-B;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff')\n    format('woff');\n}\n\n@font-face /* 3 */ {\n  font-display: swap;\n  font-family: MJXTEX-I;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff')\n    format('woff');\n}\n\n@font-face /* 4 */ {\n  font-display: swap;\n  font-family: MJXTEX-MI;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff')\n    format('woff');\n}\n\n@font-face /* 5 */ {\n  font-display: swap;\n  font-family: MJXTEX-BI;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff')\n    format('woff');\n}\n\n@font-face /* 6 */ {\n  font-display: swap;\n  font-family: 'MJXTEX-S1';\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff')\n    format('woff');\n}\n\n@font-face /* 7 */ {\n  font-display: swap;\n  font-family: 'MJXTEX-S2';\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff')\n    format('woff');\n}\n\n@font-face /* 8 */ {\n  font-display: swap;\n  font-family: 'MJXTEX-S3';\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff')\n    format('woff');\n}\n\n@font-face /* 9 */ {\n  font-display: swap;\n  font-family: 'MJXTEX-S4';\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff')\n    format('woff');\n}\n\n@font-face /* 10 */ {\n  font-display: swap;\n  font-family: MJXTEX-A;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff')\n    format('woff');\n}\n\n@font-face /* 11 */ {\n  font-display: swap;\n  font-family: MJXTEX-C;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff')\n    format('woff');\n}\n\n@font-face /* 12 */ {\n  font-display: swap;\n  font-family: MJXTEX-CB;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff')\n    format('woff');\n}\n\n@font-face /* 13 */ {\n  font-display: swap;\n  font-family: MJXTEX-FR;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff')\n    format('woff');\n}\n\n@font-face /* 14 */ {\n  font-display: swap;\n  font-family: MJXTEX-FRB;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff')\n    format('woff');\n}\n\n@font-face /* 15 */ {\n  font-display: swap;\n  font-family: MJXTEX-SS;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff')\n    format('woff');\n}\n\n@font-face /* 16 */ {\n  font-display: swap;\n  font-family: MJXTEX-SSB;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff')\n    format('woff');\n}\n\n@font-face /* 17 */ {\n  font-family: MJXTEX-SSI;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff')\n    format('woff');\n}\n\n@font-face /* 18 */ {\n  font-display: swap;\n  font-family: MJXTEX-SC;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff')\n    format('woff');\n}\n\n@font-face /* 19 */ {\n  font-display: swap;\n  font-family: MJXTEX-T;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff')\n    format('woff');\n}\n\n@font-face /* 20 */ {\n  font-display: swap;\n  font-family: MJXTEX-V;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff')\n    format('woff');\n}\n\n@font-face /* 21 */ {\n  font-display: swap;\n  font-family: MJXTEX-VB;\n  src: url('~mathjax-full/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff')\n    format('woff');\n}\n"],sourceRoot:""}]);let ee=k},30756(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/mermaid-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n"],sourceRoot:""}]);let a=s},92044(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */
.jp-RenderedMermaid {
  overflow: auto;
  display: flex;
}

.jp-RenderedMermaid.jp-mod-warning {
  width: auto;
  padding: 0.5em;
  margin-top: 0.5em;
  border: var(--jp-border-width) solid var(--jp-warn-color2);
  border-radius: var(--jp-border-radius);
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  white-space: pre-wrap;
  word-wrap: break-word;
}

.jp-RenderedMermaid figure {
  margin: 0;
  overflow: auto;
  max-width: 100%;
}

.jp-RenderedMermaid img {
  max-width: 100%;
}

.jp-RenderedMermaid-Details > pre {
  margin-top: 1em;
}

.jp-RenderedMermaid-Summary {
  color: var(--jp-warn-color2);
}

.jp-RenderedMermaid:not(.jp-mod-warning) pre {
  display: none;
}

.jp-RenderedMermaid-Summary > pre {
  display: inline-block;
  white-space: normal;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/mermaid/style/base.css"],names:[],mappings:"AAAA;;;EAGE;AACF;EACE,cAAc;EACd,aAAa;AACf;;AAEA;EACE,WAAW;EACX,cAAc;EACd,iBAAiB;EACjB,0DAA0D;EAC1D,sCAAsC;EACtC,+BAA+B;EAC/B,kCAAkC;EAClC,qBAAqB;EACrB,qBAAqB;AACvB;;AAEA;EACE,SAAS;EACT,cAAc;EACd,eAAe;AACjB;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,qBAAqB;EACrB,mBAAmB;AACrB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n.jp-RenderedMermaid {\n  overflow: auto;\n  display: flex;\n}\n\n.jp-RenderedMermaid.jp-mod-warning {\n  width: auto;\n  padding: 0.5em;\n  margin-top: 0.5em;\n  border: var(--jp-border-width) solid var(--jp-warn-color2);\n  border-radius: var(--jp-border-radius);\n  color: var(--jp-ui-font-color1);\n  font-size: var(--jp-ui-font-size1);\n  white-space: pre-wrap;\n  word-wrap: break-word;\n}\n\n.jp-RenderedMermaid figure {\n  margin: 0;\n  overflow: auto;\n  max-width: 100%;\n}\n\n.jp-RenderedMermaid img {\n  max-width: 100%;\n}\n\n.jp-RenderedMermaid-Details > pre {\n  margin-top: 1em;\n}\n\n.jp-RenderedMermaid-Summary {\n  color: var(--jp-warn-color2);\n}\n\n.jp-RenderedMermaid:not(.jp-mod-warning) pre {\n  display: none;\n}\n\n.jp-RenderedMermaid-Summary > pre {\n  display: inline-block;\n  white-space: normal;\n}\n"],sourceRoot:""}]);let a=s},51612(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-MetadataForm {
  width: 100%;
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);
}

.jp-MetadataForm-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
}

.jp-MetadataForm-placeholderContent {
  padding: 8px;
}

.jp-MetadataForm .panel-danger.errors {
  display: none;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/metadataform/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,WAAW;EACX,+BAA+B;EAC/B,mCAAmC;AACrC;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,aAAa;AACf",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-MetadataForm {\n  width: 100%;\n  color: var(--jp-ui-font-color1);\n  background: var(--jp-layout-color1);\n}\n\n.jp-MetadataForm-placeholder {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.jp-MetadataForm-placeholderContent {\n  padding: 8px;\n}\n\n.jp-MetadataForm .panel-danger.errors {\n  display: none;\n}\n"],sourceRoot:""}]);let a=s},8726(e,t,n){"use strict";n.d(t,{A:()=>u});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(67612),l=n(18156),d=n(27275),c=n(42679),h=s()(o());h.i(a.A),h.i(l.A),h.i(d.A),h.i(c.A),h.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Imports
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| CSS variables
|----------------------------------------------------------------------------*/

:root {
  --jp-side-by-side-output-size: 1fr;
  --jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size);
  --jp-private-notebook-dragImage-width: 304px;
  --jp-private-notebook-dragImage-height: 36px;
  --jp-private-notebook-selected-color: var(--md-blue-400, #42a5f5);
  --jp-private-notebook-active-color: var(--md-green-400, #66bb6a);
}

/*-----------------------------------------------------------------------------
| Notebook
|----------------------------------------------------------------------------*/

/* stylelint-disable selector-max-class */

.jp-NotebookPanel {
  display: block;
  height: 100%;
}

.jp-NotebookPanel.jp-Document {
  min-width: 240px;
  min-height: 120px;
}

.jp-Notebook {
  outline: none;
  background: var(--jp-layout-color0);
}

.jp-Notebook .jp-WindowedPanel-viewport {
  padding: var(--jp-notebook-padding);
}

.jp-Notebook.jp-mod-scrollPastEnd > .jp-WindowedPanel-outer::after {
  display: block;
  content: '';
  min-height: var(--jp-notebook-scroll-padding);
}

.jp-MainAreaWidget-ContainStrict .jp-Notebook * {
  contain: strict;
}

.jp-Notebook .jp-Cell {
  overflow: visible;

  /* Prevent scroll anchoring to inactive cells */
  overflow-anchor: none;
}

.jp-Notebook .jp-Cell.jp-mod-active {
  overflow-anchor: auto;
}

.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;
}

.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-active:focus-visible {
  outline: none;
  border: none;
  border-radius: 2px;
  box-shadow: 0 0 0 1px var(--jp-focus-outline-color);
  z-index: 1;
}

/* 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-cell-editor-box-shadow);
  background-color: var(--jp-cell-editor-active-background);
}

/*-----------------------------------------------------------------------------
| Notebook drag and drop
|----------------------------------------------------------------------------*/

.jp-Notebook-cell.jp-mod-dropSource {
  opacity: 0.5;
}

.jp-Notebook-cell.jp-mod-dropTarget,
.jp-Notebook.jp-mod-commandMode
  .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget {
  border-top-color: var(--jp-private-notebook-selected-color);
  border-top-style: solid;
  border-top-width: 2px;
}

.jp-dragImage {
  display: flex;
  flex-direction: row;
  width: var(--jp-private-notebook-dragImage-width);
  height: var(--jp-private-notebook-dragImage-height);
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  background: var(--jp-cell-editor-background);
  overflow: visible;
}

.jp-dragImage-singlePrompt {
  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
}

.jp-dragImage .jp-dragImage-content {
  flex: 1 1 auto;
  z-index: 2;
  font-size: var(--jp-code-font-size);
  font-family: var(--jp-code-font-family);
  line-height: var(--jp-code-line-height);
  padding: var(--jp-code-padding);
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  background: var(--jp-cell-editor-background-color);
  color: var(--jp-content-font-color3);
  text-align: left;
  margin: 4px 4px 4px 0;
}

.jp-dragImage .jp-dragImage-prompt {
  flex: 0 0 auto;
  min-width: 36px;
  color: var(--jp-cell-inprompt-font-color);
  opacity: 0.5;
  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-width: var(--jp-border-width);
  border-style: solid;
  border-color: color-mix(
    in srgb,
    var(--jp-input-border-color) 20%,
    transparent
  );
  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
}

/*-----------------------------------------------------------------------------
| Cell toolbar
|----------------------------------------------------------------------------*/

.jp-NotebookTools {
  display: block;
  min-width: var(--jp-sidebar-min-width);
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);

  /* This is needed so that all font sizing of children done in ems is
    * relative to this base size */
  font-size: var(--jp-ui-font-size1);
  overflow: auto;
}

.jp-ActiveCellTool {
  padding: 12px 0;
  display: flex;
}

.jp-ActiveCellTool-Content {
  flex: 1 1 auto;
}

.jp-ActiveCellTool .jp-ActiveCellTool-CellContent {
  background: var(--jp-cell-editor-background);
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  border-radius: 0;
  min-height: 29px;
}

.jp-ActiveCellTool .jp-InputPrompt {
  min-width: calc(var(--jp-cell-prompt-width) * 0.75);
}

.jp-ActiveCellTool-CellContent > pre {
  padding: 5px 4px;
  margin: 0;
  white-space: normal;
}

.jp-MetadataEditorTool {
  flex-direction: column;
  padding: 12px 0;
}

.jp-RankedPanel > :not(:first-child) {
  margin-top: 12px;
}

.jp-KeySelector select.jp-mod-styled {
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color0);
  border: var(--jp-border-width) solid var(--jp-border-color1);
}

.jp-KeySelector label,
.jp-MetadataEditorTool label,
.jp-NumberSetter label {
  line-height: 1.4;
}

.jp-NumberSetter input {
  width: 100%;
  margin-top: 4px;
}

.jp-NotebookTools .jp-Collapse {
  margin-top: 16px;
}

/*-----------------------------------------------------------------------------
| Presentation Mode (.jp-mod-presentationMode)
|----------------------------------------------------------------------------*/

.jp-mod-presentationMode .jp-Notebook {
  --jp-content-font-size1: var(--jp-content-presentation-font-size1);
  --jp-code-font-size: var(--jp-code-presentation-font-size);
}

.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt,
.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt {
  flex: 0 0 110px;
}

/*-----------------------------------------------------------------------------
| Side-by-side Mode (.jp-mod-sideBySide)
|----------------------------------------------------------------------------*/
.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {
  margin-top: 3em;
  margin-bottom: 3em;
  margin-left: 5%;
  margin-right: 5%;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell {
  display: grid;
  grid-template-columns: minmax(70px, 1fr) min-content minmax(
      70px,
      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(70px, 1fr) min-content minmax(
      70px,
      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;
}

/*-----------------------------------------------------------------------------
| Virtual scrollbar
|----------------------------------------------------------------------------*/

.jp-Notebook .jp-WindowedPanel-scrollbar-item[data-output='error'] {
  background: var(--jp-error-color3);
}

.jp-Notebook .jp-WindowedPanel-scrollbar-item[data-output='error']:hover {
  background: var(--jp-error-color2);
}

.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-dirty {
  background: var(--jp-warn-color3);
}

.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-dirty:hover {
  background: var(--jp-warn-color2);
}

.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-selected {
  background: var(--jp-brand-color2);
  color: var(--jp-ui-inverse-font-color2);
}

.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-selected:hover {
  background: var(--jp-brand-color1);
}

.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-active {
  background: var(--jp-brand-color1);
  color: var(--jp-ui-inverse-font-color1);
}

.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-active:hover {
  background: var(--jp-brand-color0);
}

.jp-Notebook .jp-WindowedPanel-scrollbar-item {
  max-width: 60px;
  display: flex;
}

.jp-Notebook .jp-scrollbarItem-executionIndicator {
  display: inline-block;
  font-family: var(--jp-cell-prompt-font-family);
  font-size: 80%;
  line-height: 100%;
  margin-left: -1px;
  padding-right: 1px;
  text-wrap: nowrap; /* stylelint-disable-line csstree/validator */
}

.jp-Notebook .jp-scrollbarItem-source {
  display: inline-block;
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  font-size: 3px;
  vertical-align: middle;
  max-height: 10em;
  overflow: hidden;
}

.jp-Notebook
  .jp-WindowedPanel-scrollbar-item[data-type='code']
  > .jp-scrollbarItem-source {
  white-space: pre;
}

.jp-Notebook
  .jp-WindowedPanel-scrollbar-item[data-type='markdown']
  > .jp-scrollbarItem-source {
  white-space: pre-line;
}

/* Lazy rendering to notebook cells: content outside viewport won't be rendered until scrolled into view */
.jp-content-visibility-mode > .jp-Notebook-cell {
  content-visibility: auto;
  contain: layout style paint; /* Isolates layout, style, and paint for this element */
}

/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/
@media print {
  .jp-Notebook .jp-Cell .jp-InputPrompt {
    float: none;
  }
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/notebook/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAO9E;;8EAE8E;;AAE9E;EACE,kCAAkC;EAClC,kEAAkE;EAClE,4CAA4C;EAC5C,4CAA4C;EAC5C,iEAAiE;EACjE,gEAAgE;AAClE;;AAEA;;8EAE8E;;AAE9E,yCAAyC;;AAEzC;EACE,cAAc;EACd,YAAY;AACd;;AAEA;EACE,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,mCAAmC;AACrC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,cAAc;EACd,WAAW;EACX,6CAA6C;AAC/C;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,iBAAiB;;EAEjB,+CAA+C;EAC/C,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,YAAY;EACZ,WAAW;AACb;;AAEA;;;;;;;;;;;;;;8EAc8E;;AAE9E,0BAA0B;;AAE1B;EACE,iDAAiD;EACjD,kDAAkD;AACpD;;AAEA;EACE,iDAAiD;EACjD,kDAAkD;AACpD;;AAEA,mBAAmB;AACnB;EACE,kCAAkC;AACpC;;AAEA,kBAAkB;AAClB;EACE,4BAA4B;AAC9B;;AAEA;EACE,4BAA4B;EAC5B,YAAY;AACd;;AAEA;EACE,iCAAiC;AACnC;;AAEA,yBAAyB;AACzB;EACE,kCAAkC;EAClC,kCAAkC;EAClC,0DAA0D;AAC5D;;AAEA,4CAA4C;AAC5C;EACE,kCAAkC;EAClC,UAAU;AACZ;;AAEA,iBAAiB;;AAEjB;EACE,kDAAkD;AACpD;;AAEA;;EAEE,uBAAuB;AACzB;;AAEA;EACE,aAAa;EACb,YAAY;EACZ,kBAAkB;EAClB,mDAAmD;EACnD,UAAU;AACZ;;AAEA,cAAc;;AAEd;EACE,8EAA8E;EAC9E,4CAA4C;EAC5C,yDAAyD;AAC3D;;AAEA;;8EAE8E;;AAE9E;EACE,YAAY;AACd;;AAEA;;;EAGE,2DAA2D;EAC3D,uBAAuB;EACvB,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,iDAAiD;EACjD,mDAAmD;EACnD,uEAAuE;EACvE,4CAA4C;EAC5C,iBAAiB;AACnB;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,cAAc;EACd,UAAU;EACV,mCAAmC;EACnC,uCAAuC;EACvC,uCAAuC;EACvC,+BAA+B;EAC/B,uEAAuE;EACvE,kDAAkD;EAClD,oCAAoC;EACpC,gBAAgB;EAChB,qBAAqB;AACvB;;AAEA;EACE,cAAc;EACd,eAAe;EACf,yCAAyC;EACzC,YAAY;EACZ,+BAA+B;EAC/B,kBAAkB;EAClB,8CAA8C;EAC9C,oDAAoD;EACpD,gBAAgB;EAChB,mCAAmC;EACnC,gDAAgD;AAClD;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,YAAY;EACZ,YAAY;EACZ,QAAQ;EACR,SAAS;EACT,mCAAmC;EACnC,oCAAoC;EACpC,mBAAmB;EACnB;;;;GAIC;EACD,6CAA6C;AAC/C;;AAEA;;8EAE8E;;AAE9E;EACE,cAAc;EACd,sCAAsC;EACtC,+BAA+B;EAC/B,mCAAmC;;EAEnC;kCACgC;EAChC,kCAAkC;EAClC,cAAc;AAChB;;AAEA;EACE,eAAe;EACf,aAAa;AACf;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,4CAA4C;EAC5C,uEAAuE;EACvE,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,gBAAgB;EAChB,SAAS;EACT,mBAAmB;AACrB;;AAEA;EACE,sBAAsB;EACtB,eAAe;AACjB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,kCAAkC;EAClC,+BAA+B;EAC/B,4DAA4D;AAC9D;;AAEA;;;EAGE,gBAAgB;AAClB;;AAEA;EACE,WAAW;EACX,eAAe;AACjB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;;8EAE8E;;AAE9E;EACE,kEAAkE;EAClE,0DAA0D;AAC5D;;AAEA;;EAEE,eAAe;AACjB;;AAEA;;8EAE8E;AAC9E;EACE,eAAe;EACf,kBAAkB;EAClB,eAAe;EACf,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb;;;KAGG;EACH,4CAA4C;EAC5C;;;0BAGwB;AAC1B;;AAEA;EACE;;;KAGG;AACL;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,qFAAqF;EACrF,aAAa;EACb,iBAAiB;AACnB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,iBAAiB;EACjB,iBAAiB;EACjB,cAAc;EACd,YAAY;EACZ,iBAAiB;EACjB,iCAAiC;AACnC;;AAEA;EACE,WAAW;EACX,cAAc;EACd,mCAAmC;EACnC,YAAY;EACZ,UAAU;AACZ;;AAEA;;;EAGE,mCAAmC;AACrC;;AAEA;EACE,aAAa;AACf;;AAEA;;8EAE8E;;AAE9E;EACE,kCAAkC;AACpC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,kCAAkC;EAClC,uCAAuC;AACzC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,kCAAkC;EAClC,uCAAuC;AACzC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,eAAe;EACf,aAAa;AACf;;AAEA;EACE,qBAAqB;EACrB,8CAA8C;EAC9C,cAAc;EACd,iBAAiB;EACjB,iBAAiB;EACjB,kBAAkB;EAClB,iBAAiB,EAAE,6CAA6C;AAClE;;AAEA;EACE,qBAAqB;EACrB,wEAAwE;EACxE,cAAc;EACd,sBAAsB;EACtB,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;;;EAGE,gBAAgB;AAClB;;AAEA;;;EAGE,qBAAqB;AACvB;;AAEA,0GAA0G;AAC1G;EACE,wBAAwB;EACxB,2BAA2B,EAAE,uDAAuD;AACtF;;AAEA;;8EAE8E;AAC9E;EACE;IACE,WAAW;EACb;AACF",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Imports\n|----------------------------------------------------------------------------*/\n\n@import './toolbar.css';\n@import './executionindicator.css';\n@import './toc.css';\n@import './notebookfooter.css';\n\n/*-----------------------------------------------------------------------------\n| CSS variables\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-side-by-side-output-size: 1fr;\n  --jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size);\n  --jp-private-notebook-dragImage-width: 304px;\n  --jp-private-notebook-dragImage-height: 36px;\n  --jp-private-notebook-selected-color: var(--md-blue-400, #42a5f5);\n  --jp-private-notebook-active-color: var(--md-green-400, #66bb6a);\n}\n\n/*-----------------------------------------------------------------------------\n| Notebook\n|----------------------------------------------------------------------------*/\n\n/* stylelint-disable selector-max-class */\n\n.jp-NotebookPanel {\n  display: block;\n  height: 100%;\n}\n\n.jp-NotebookPanel.jp-Document {\n  min-width: 240px;\n  min-height: 120px;\n}\n\n.jp-Notebook {\n  outline: none;\n  background: var(--jp-layout-color0);\n}\n\n.jp-Notebook .jp-WindowedPanel-viewport {\n  padding: var(--jp-notebook-padding);\n}\n\n.jp-Notebook.jp-mod-scrollPastEnd > .jp-WindowedPanel-outer::after {\n  display: block;\n  content: '';\n  min-height: var(--jp-notebook-scroll-padding);\n}\n\n.jp-MainAreaWidget-ContainStrict .jp-Notebook * {\n  contain: strict;\n}\n\n.jp-Notebook .jp-Cell {\n  overflow: visible;\n\n  /* Prevent scroll anchoring to inactive cells */\n  overflow-anchor: none;\n}\n\n.jp-Notebook .jp-Cell.jp-mod-active {\n  overflow-anchor: auto;\n}\n\n.jp-Notebook .jp-Cell .jp-InputPrompt {\n  cursor: move;\n  float: left;\n}\n\n/*-----------------------------------------------------------------------------\n| Notebook state related styling\n|\n| The notebook and cells each have states, here are the possibilities:\n|\n| - Notebook\n|   - Command\n|   - Edit\n| - Cell\n|   - None\n|   - Active (only one can be active)\n|   - Selected (the cells actions are applied to)\n|   - Multiselected (when multiple selected, the cursor)\n|   - No outputs\n|----------------------------------------------------------------------------*/\n\n/* Command or edit modes */\n\n.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {\n  opacity: var(--jp-cell-prompt-not-active-opacity);\n  color: var(--jp-cell-prompt-not-active-font-color);\n}\n\n.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {\n  opacity: var(--jp-cell-prompt-not-active-opacity);\n  color: var(--jp-cell-prompt-not-active-font-color);\n}\n\n/* cell is active */\n.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser {\n  background: var(--jp-brand-color1);\n}\n\n/* cell is dirty */\n.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt {\n  color: var(--jp-warn-color1);\n}\n\n.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt::before {\n  color: var(--jp-warn-color1);\n  content: '•';\n}\n\n.jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser {\n  background: var(--jp-warn-color1);\n}\n\n/* collapser is hovered */\n.jp-Notebook .jp-Cell .jp-Collapser:hover {\n  box-shadow: var(--jp-elevation-z2);\n  background: var(--jp-brand-color1);\n  opacity: var(--jp-cell-collapser-not-active-hover-opacity);\n}\n\n/* cell is active and collapser is hovered */\n.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover {\n  background: var(--jp-brand-color0);\n  opacity: 1;\n}\n\n/* Command mode */\n\n.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected {\n  background: var(--jp-notebook-multiselected-color);\n}\n\n.jp-Notebook.jp-mod-commandMode\n  .jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) {\n  background: transparent;\n}\n\n.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-active:focus-visible {\n  outline: none;\n  border: none;\n  border-radius: 2px;\n  box-shadow: 0 0 0 1px var(--jp-focus-outline-color);\n  z-index: 1;\n}\n\n/* Edit mode */\n\n.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor {\n  border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);\n  box-shadow: var(--jp-cell-editor-box-shadow);\n  background-color: var(--jp-cell-editor-active-background);\n}\n\n/*-----------------------------------------------------------------------------\n| Notebook drag and drop\n|----------------------------------------------------------------------------*/\n\n.jp-Notebook-cell.jp-mod-dropSource {\n  opacity: 0.5;\n}\n\n.jp-Notebook-cell.jp-mod-dropTarget,\n.jp-Notebook.jp-mod-commandMode\n  .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget {\n  border-top-color: var(--jp-private-notebook-selected-color);\n  border-top-style: solid;\n  border-top-width: 2px;\n}\n\n.jp-dragImage {\n  display: flex;\n  flex-direction: row;\n  width: var(--jp-private-notebook-dragImage-width);\n  height: var(--jp-private-notebook-dragImage-height);\n  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);\n  background: var(--jp-cell-editor-background);\n  overflow: visible;\n}\n\n.jp-dragImage-singlePrompt {\n  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);\n}\n\n.jp-dragImage .jp-dragImage-content {\n  flex: 1 1 auto;\n  z-index: 2;\n  font-size: var(--jp-code-font-size);\n  font-family: var(--jp-code-font-family);\n  line-height: var(--jp-code-line-height);\n  padding: var(--jp-code-padding);\n  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);\n  background: var(--jp-cell-editor-background-color);\n  color: var(--jp-content-font-color3);\n  text-align: left;\n  margin: 4px 4px 4px 0;\n}\n\n.jp-dragImage .jp-dragImage-prompt {\n  flex: 0 0 auto;\n  min-width: 36px;\n  color: var(--jp-cell-inprompt-font-color);\n  opacity: 0.5;\n  padding: var(--jp-code-padding);\n  padding-left: 12px;\n  font-family: var(--jp-cell-prompt-font-family);\n  letter-spacing: var(--jp-cell-prompt-letter-spacing);\n  line-height: 1.9;\n  font-size: var(--jp-code-font-size);\n  border: var(--jp-border-width) solid transparent;\n}\n\n.jp-dragImage-multipleBack {\n  z-index: -1;\n  position: absolute;\n  height: 32px;\n  width: 300px;\n  top: 8px;\n  left: 8px;\n  background: var(--jp-layout-color2);\n  border-width: var(--jp-border-width);\n  border-style: solid;\n  border-color: color-mix(\n    in srgb,\n    var(--jp-input-border-color) 20%,\n    transparent\n  );\n  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);\n}\n\n/*-----------------------------------------------------------------------------\n| Cell toolbar\n|----------------------------------------------------------------------------*/\n\n.jp-NotebookTools {\n  display: block;\n  min-width: var(--jp-sidebar-min-width);\n  color: var(--jp-ui-font-color1);\n  background: var(--jp-layout-color1);\n\n  /* This is needed so that all font sizing of children done in ems is\n    * relative to this base size */\n  font-size: var(--jp-ui-font-size1);\n  overflow: auto;\n}\n\n.jp-ActiveCellTool {\n  padding: 12px 0;\n  display: flex;\n}\n\n.jp-ActiveCellTool-Content {\n  flex: 1 1 auto;\n}\n\n.jp-ActiveCellTool .jp-ActiveCellTool-CellContent {\n  background: var(--jp-cell-editor-background);\n  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);\n  border-radius: 0;\n  min-height: 29px;\n}\n\n.jp-ActiveCellTool .jp-InputPrompt {\n  min-width: calc(var(--jp-cell-prompt-width) * 0.75);\n}\n\n.jp-ActiveCellTool-CellContent > pre {\n  padding: 5px 4px;\n  margin: 0;\n  white-space: normal;\n}\n\n.jp-MetadataEditorTool {\n  flex-direction: column;\n  padding: 12px 0;\n}\n\n.jp-RankedPanel > :not(:first-child) {\n  margin-top: 12px;\n}\n\n.jp-KeySelector select.jp-mod-styled {\n  font-size: var(--jp-ui-font-size1);\n  color: var(--jp-ui-font-color0);\n  border: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n.jp-KeySelector label,\n.jp-MetadataEditorTool label,\n.jp-NumberSetter label {\n  line-height: 1.4;\n}\n\n.jp-NumberSetter input {\n  width: 100%;\n  margin-top: 4px;\n}\n\n.jp-NotebookTools .jp-Collapse {\n  margin-top: 16px;\n}\n\n/*-----------------------------------------------------------------------------\n| Presentation Mode (.jp-mod-presentationMode)\n|----------------------------------------------------------------------------*/\n\n.jp-mod-presentationMode .jp-Notebook {\n  --jp-content-font-size1: var(--jp-content-presentation-font-size1);\n  --jp-code-font-size: var(--jp-code-presentation-font-size);\n}\n\n.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt,\n.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt {\n  flex: 0 0 110px;\n}\n\n/*-----------------------------------------------------------------------------\n| Side-by-side Mode (.jp-mod-sideBySide)\n|----------------------------------------------------------------------------*/\n.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {\n  margin-top: 3em;\n  margin-bottom: 3em;\n  margin-left: 5%;\n  margin-right: 5%;\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell {\n  display: grid;\n  grid-template-columns: minmax(70px, 1fr) min-content minmax(\n      70px,\n      var(--jp-side-by-side-output-size)\n    );\n  grid-template-rows: auto minmax(0, 1fr) auto;\n  grid-template-areas:\n    'header header header'\n    'input handle output'\n    'footer footer footer';\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell {\n  grid-template-columns: minmax(70px, 1fr) min-content minmax(\n      70px,\n      var(--jp-side-by-side-resized-cell)\n    );\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader {\n  grid-area: header;\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper {\n  grid-area: input;\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper {\n  /* overwrite the default margin (no vertical separation needed in side by side move */\n  margin-top: 0;\n  grid-area: output;\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter {\n  grid-area: footer;\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle {\n  grid-area: handle;\n  user-select: none;\n  display: block;\n  height: 100%;\n  cursor: ew-resize;\n  padding: 0 var(--jp-cell-padding);\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after {\n  content: '';\n  display: block;\n  background: var(--jp-border-color2);\n  height: 100%;\n  width: 5px;\n}\n\n.jp-mod-sideBySide.jp-Notebook\n  .jp-CodeCell.jp-mod-resizedCell\n  .jp-CellResizeHandle::after {\n  background: var(--jp-border-color0);\n}\n\n.jp-CellResizeHandle {\n  display: none;\n}\n\n/*-----------------------------------------------------------------------------\n| Virtual scrollbar\n|----------------------------------------------------------------------------*/\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-item[data-output='error'] {\n  background: var(--jp-error-color3);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-item[data-output='error']:hover {\n  background: var(--jp-error-color2);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-dirty {\n  background: var(--jp-warn-color3);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-dirty:hover {\n  background: var(--jp-warn-color2);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-selected {\n  background: var(--jp-brand-color2);\n  color: var(--jp-ui-inverse-font-color2);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-selected:hover {\n  background: var(--jp-brand-color1);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-active {\n  background: var(--jp-brand-color1);\n  color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-active:hover {\n  background: var(--jp-brand-color0);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-item {\n  max-width: 60px;\n  display: flex;\n}\n\n.jp-Notebook .jp-scrollbarItem-executionIndicator {\n  display: inline-block;\n  font-family: var(--jp-cell-prompt-font-family);\n  font-size: 80%;\n  line-height: 100%;\n  margin-left: -1px;\n  padding-right: 1px;\n  text-wrap: nowrap; /* stylelint-disable-line csstree/validator */\n}\n\n.jp-Notebook .jp-scrollbarItem-source {\n  display: inline-block;\n  /* stylelint-disable-next-line declaration-property-value-allowed-list */\n  font-size: 3px;\n  vertical-align: middle;\n  max-height: 10em;\n  overflow: hidden;\n}\n\n.jp-Notebook\n  .jp-WindowedPanel-scrollbar-item[data-type='code']\n  > .jp-scrollbarItem-source {\n  white-space: pre;\n}\n\n.jp-Notebook\n  .jp-WindowedPanel-scrollbar-item[data-type='markdown']\n  > .jp-scrollbarItem-source {\n  white-space: pre-line;\n}\n\n/* Lazy rendering to notebook cells: content outside viewport won't be rendered until scrolled into view */\n.jp-content-visibility-mode > .jp-Notebook-cell {\n  content-visibility: auto;\n  contain: layout style paint; /* Isolates layout, style, and paint for this element */\n}\n\n/*-----------------------------------------------------------------------------\n| Printing\n|----------------------------------------------------------------------------*/\n@media print {\n  .jp-Notebook .jp-Cell .jp-InputPrompt {\n    float: none;\n  }\n}\n"],sourceRoot:""}]);let u=h},18156(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------

/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/

.jp-Notebook-ExecutionIndicator {
  position: relative;
  display: inline-block;
  z-index: 9997;
  padding-top: 1px;
}

.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;
  transition: visibility 0s linear 0.1s;
}

.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,
.jp-Notebook-ExecutionIndicator-tooltip:hover {
  visibility: visible;
  transition-delay: 0s;
}

.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-jumpButton {
  margin-top: 4px;
  margin-bottom: 3px;
  width: 100%;
  font-size: var(--jp-ui-font-size1);
  border: 1px solid var(--jp-border-color2);
  color: var(--jp-ui-font-color0);
  transition: all 0.1s ease;
}

.jp-Notebook-ExecutionIndicator-jumpButton:hover {
  background-color: var(--jp-layout-color3) !important;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/notebook/style/executionindicator.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;;;;8EAI8E;;AAE9E;EACE,kBAAkB;EAClB,qBAAqB;EACrB,aAAa;EACb,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,YAAY;EACZ,kBAAkB;EAClB,uBAAuB;EACvB,yCAAyC;EACzC,+BAA+B;EAC/B,mBAAmB;EACnB,kBAAkB;EAClB,cAAc;EACd,eAAe;EACf,cAAc;EACd,qCAAqC;AACvC;;AAEA;EACE,+DAA+D;AACjE;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,aAAa;AACf;;AAEA;;EAEE,mBAAmB;EACnB,oBAAoB;AACtB;;AAEA;EACE,kCAAkC;EAClC,qCAAqC;EACrC,+BAA+B;EAC/B,iBAAiB;EACjB,cAAc;AAChB;;AAEA;EACE,eAAe;EACf,kBAAkB;EAClB,WAAW;EACX,kCAAkC;EAClC,yCAAyC;EACzC,+BAA+B;EAC/B,yBAAyB;AAC3B;;AAEA;EACE,oDAAoD;AACtD",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n\n/*-----------------------------------------------------------------------------\n| Styles\n|----------------------------------------------------------------------------*/\n\n.jp-Notebook-ExecutionIndicator {\n  position: relative;\n  display: inline-block;\n  z-index: 9997;\n  padding-top: 1px;\n}\n\n.jp-Notebook-ExecutionIndicator-tooltip {\n  visibility: hidden;\n  height: auto;\n  width: max-content;\n  width: -moz-max-content;\n  background-color: var(--jp-layout-color2);\n  color: var(--jp-ui-font-color1);\n  text-align: justify;\n  border-radius: 6px;\n  padding: 0 5px;\n  position: fixed;\n  display: table;\n  transition: visibility 0s linear 0.1s;\n}\n\n.jp-Notebook-ExecutionIndicator-tooltip.up {\n  transform: translateX(-50%) translateY(-100%) translateY(-32px);\n}\n\n.jp-Notebook-ExecutionIndicator-tooltip.down {\n  transform: translateX(calc(-100% + 16px)) translateY(5px);\n}\n\n.jp-Notebook-ExecutionIndicator-tooltip.hidden {\n  display: none;\n}\n\n.jp-Notebook-ExecutionIndicator:hover .jp-Notebook-ExecutionIndicator-tooltip,\n.jp-Notebook-ExecutionIndicator-tooltip:hover {\n  visibility: visible;\n  transition-delay: 0s;\n}\n\n.jp-Notebook-ExecutionIndicator span {\n  font-size: var(--jp-ui-font-size1);\n  font-family: var(--jp-ui-font-family);\n  color: var(--jp-ui-font-color1);\n  line-height: 24px;\n  display: block;\n}\n\n.jp-Notebook-ExecutionIndicator-jumpButton {\n  margin-top: 4px;\n  margin-bottom: 3px;\n  width: 100%;\n  font-size: var(--jp-ui-font-size1);\n  border: 1px solid var(--jp-border-color2);\n  color: var(--jp-ui-font-color0);\n  transition: all 0.1s ease;\n}\n\n.jp-Notebook-ExecutionIndicator-jumpButton:hover {\n  background-color: var(--jp-layout-color3) !important;\n}\n"],sourceRoot:""}]);let a=s},42679(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-Notebook-footer {
  height: 27px;
  margin-left: calc(
    var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
      var(--jp-cell-padding) + var(--jp-notebook-padding)
  );
  width: calc(
    100% -
      (
        var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) + 2 *
          var(--jp-cell-padding) + 2 * var(--jp-notebook-padding)
      )
  );
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  color: var(--jp-ui-font-color3);
  background: none;
  cursor: pointer;
}

.jp-Notebook-footer:focus {
  border-color: var(--jp-cell-editor-active-border-color);
}

/* For devices that support hovering, hide footer until hover */
@media (hover: hover) {
  .jp-Notebook-footer {
    opacity: 0;
  }

  .jp-Notebook-footer:focus,
  .jp-Notebook-footer:hover {
    opacity: 1;
  }
}

/* For all the screens smaller than 760px */
@media (width <= 760px) {
  .jp-Notebook-footer {
    margin-left: calc(
      var(--jp-cell-collapser-width) + var(--jp-code-padding) +
        var(--jp-cell-padding) + var(--jp-notebook-padding)
    );
    width: calc(
      100% -
        (
          var(--jp-cell-collapser-width) + 2 * var(--jp-cell-padding) + 2 *
            var(--jp-notebook-padding) + var(--jp-code-padding)
        )
    );
  }
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/notebook/style/notebookfooter.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;EACE,YAAY;EACZ;;;GAGC;EACD;;;;;;GAMC;EACD,uEAAuE;EACvE,+BAA+B;EAC/B,gBAAgB;EAChB,eAAe;AACjB;;AAEA;EACE,uDAAuD;AACzD;;AAEA,+DAA+D;AAC/D;EACE;IACE,UAAU;EACZ;;EAEA;;IAEE,UAAU;EACZ;AACF;;AAEA,2CAA2C;AAC3C;EACE;IACE;;;KAGC;IACD;;;;;;KAMC;EACH;AACF",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-Notebook-footer {\n  height: 27px;\n  margin-left: calc(\n    var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +\n      var(--jp-cell-padding) + var(--jp-notebook-padding)\n  );\n  width: calc(\n    100% -\n      (\n        var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) + 2 *\n          var(--jp-cell-padding) + 2 * var(--jp-notebook-padding)\n      )\n  );\n  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);\n  color: var(--jp-ui-font-color3);\n  background: none;\n  cursor: pointer;\n}\n\n.jp-Notebook-footer:focus {\n  border-color: var(--jp-cell-editor-active-border-color);\n}\n\n/* For devices that support hovering, hide footer until hover */\n@media (hover: hover) {\n  .jp-Notebook-footer {\n    opacity: 0;\n  }\n\n  .jp-Notebook-footer:focus,\n  .jp-Notebook-footer:hover {\n    opacity: 1;\n  }\n}\n\n/* For all the screens smaller than 760px */\n@media (width <= 760px) {\n  .jp-Notebook-footer {\n    margin-left: calc(\n      var(--jp-cell-collapser-width) + var(--jp-code-padding) +\n        var(--jp-cell-padding) + var(--jp-notebook-padding)\n    );\n    width: calc(\n      100% -\n        (\n          var(--jp-cell-collapser-width) + 2 * var(--jp-cell-padding) + 2 *\n            var(--jp-notebook-padding) + var(--jp-code-padding)\n        )\n    );\n  }\n}\n"],sourceRoot:""}]);let a=s},27275(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*
 * Execution indicator
 */
.jp-tocItem-content::after {
  content: '';

  /* Must be identical to form a circle */
  width: 12px;
  height: 12px;
  background: none;
  border: none;
  position: absolute;
  right: 0;
}

.jp-tocItem-content[data-running='0']::after {
  border-radius: 50%;
  border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
  background: none;
}

.jp-tocItem-content[data-running='1']::after {
  border-radius: 50%;
  border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
  background-color: var(--jp-inverse-layout-color3);
}

.jp-tocItem-content[data-running='-0.5']::after {
  /* \\FE0E forces the preceding unicode to be rendered as text */
  content: '\\26A0 \\FE0E';
  color: var(--jp-error-color1);
}

.jp-tocItem-content[data-running='0'],
.jp-tocItem-content[data-running='1'],
.jp-tocItem-content[data-running='-0.5'] {
  margin-right: 12px;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/notebook/style/toc.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;EAEE;AACF;EACE,WAAW;;EAEX,uCAAuC;EACvC,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,kBAAkB;EAClB,QAAQ;AACV;;AAEA;EACE,kBAAkB;EAClB,oEAAoE;EACpE,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,oEAAoE;EACpE,iDAAiD;AACnD;;AAEA;EACE,8DAA8D;EAC9D,sBAAsB;EACtB,6BAA6B;AAC/B;;AAEA;;;EAGE,kBAAkB;AACpB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*\n * Execution indicator\n */\n.jp-tocItem-content::after {\n  content: '';\n\n  /* Must be identical to form a circle */\n  width: 12px;\n  height: 12px;\n  background: none;\n  border: none;\n  position: absolute;\n  right: 0;\n}\n\n.jp-tocItem-content[data-running='0']::after {\n  border-radius: 50%;\n  border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);\n  background: none;\n}\n\n.jp-tocItem-content[data-running='1']::after {\n  border-radius: 50%;\n  border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);\n  background-color: var(--jp-inverse-layout-color3);\n}\n\n.jp-tocItem-content[data-running='-0.5']::after {\n  /* \\FE0E forces the preceding unicode to be rendered as text */\n  content: '\\26A0 \\FE0E';\n  color: var(--jp-error-color1);\n}\n\n.jp-tocItem-content[data-running='0'],\n.jp-tocItem-content[data-running='1'],\n.jp-tocItem-content[data-running='-0.5'] {\n  margin-right: 12px;\n}\n"],sourceRoot:""}]);let a=s},67612(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-notebook-toolbar-padding: 0 5px 0 2px;
}

/*-----------------------------------------------------------------------------

/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/

.jp-NotebookPanel-toolbar {
  padding: var(--jp-notebook-toolbar-padding);

  /* disable paint containment from lumino 2.0 default strict CSS containment */
  contain: style size !important;
}

.jp-Toolbar > .jp-Toolbar-responsive-opener {
  margin-left: auto;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/notebook/style/toolbar.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;EACE,0CAA0C;AAC5C;;AAEA;;;;8EAI8E;;AAE9E;EACE,2CAA2C;;EAE3C,6EAA6E;EAC7E,8BAA8B;AAChC;;AAEA;EACE,iBAAiB;AACnB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-notebook-toolbar-padding: 0 5px 0 2px;\n}\n\n/*-----------------------------------------------------------------------------\n\n/*-----------------------------------------------------------------------------\n| Styles\n|----------------------------------------------------------------------------*/\n\n.jp-NotebookPanel-toolbar {\n  padding: var(--jp-notebook-toolbar-padding);\n\n  /* disable paint containment from lumino 2.0 default strict CSS containment */\n  contain: style size !important;\n}\n\n.jp-Toolbar > .jp-Toolbar-responsive-opener {\n  margin-left: auto;\n}\n"],sourceRoot:""}]);let a=s},59675(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Main OutputArea
| OutputArea has a list of Outputs
|----------------------------------------------------------------------------*/

.jp-OutputArea {
  overflow-y: auto;
  anchor-name: --jp-output-area;
  anchor-scope: --jp-output-area;
}

.jp-OutputArea-child {
  display: flex;
  flex-direction: row;
  width: 100%;
  overflow: hidden;
}

.jp-OutputPrompt {
  width: var(--jp-cell-prompt-width);
  flex: 0 0 var(--jp-cell-prompt-width);
  color: var(--jp-cell-outprompt-font-color);
  font-family: var(--jp-cell-prompt-font-family);
  padding: var(--jp-code-padding);
  letter-spacing: var(--jp-cell-prompt-letter-spacing);
  line-height: var(--jp-code-line-height);
  font-size: var(--jp-code-font-size);
  border: var(--jp-border-width) solid transparent;
  opacity: var(--jp-cell-prompt-opacity);

  /* Right align prompt text, don't wrap to handle large prompt numbers */
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  /* Disable text selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jp-OutputArea-output {
  width: 100%;
  height: auto;
  overflow: auto;
  user-select: text;
  -moz-user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
}

.jp-OutputArea .jp-RenderedText {
  padding-left: 1ch;
}

/**
 * Prompt overlay.
 */

.jp-OutputArea-promptOverlay {
  position: absolute;
  top: 0;
  height: 100%;
  width: var(--jp-cell-prompt-width);
  opacity: 0.5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.jp-OutputArea-promptOverlay .jp-icon-output {
  display: none;
}

.jp-OutputArea-promptOverlay:hover .jp-icon-output {
  display: initial;
}

.jp-OutputArea-promptOverlay:hover {
  background: var(--jp-layout-color2);
  box-shadow: inset 0 0 1px var(--jp-inverse-layout-color0);
}

.jp-OutputArea-child .jp-OutputArea-output {
  flex-grow: 1;
  flex-shrink: 1;
}

/**
 * Isolated output.
 */
.jp-OutputArea-output.jp-mod-isolated {
  width: 100%;
  display: block;
}

/*
When drag events occur, \`lm-mod-override-cursor\` is added to the body.
Because iframes steal all cursor events, the following two rules are necessary
to suppress pointer events while resize drags are occurring. There may be a
better solution to this problem.
*/
body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated {
  position: relative;
}

body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
}

/* pre */

.jp-OutputArea-output pre {
  border: none;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: auto;
  word-break: break-all;
  word-wrap: break-word;
  white-space: pre-wrap;
}

/* tables */

.jp-OutputArea-output.jp-RenderedHTMLCommon table {
  margin-left: 0;
  margin-right: 0;
}

/* description lists */

.jp-OutputArea-output dl,
.jp-OutputArea-output dt,
.jp-OutputArea-output dd {
  display: block;
}

.jp-OutputArea-output dl {
  width: 100%;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

.jp-OutputArea-output dt {
  font-weight: bold;
  float: left;
  width: 20%;
  padding: 0;
  margin: 0;
}

.jp-OutputArea-output dd {
  float: left;
  width: 80%;
  padding: 0;
  margin: 0;
}

.jp-TrimmedOutputs-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--jp-flat-button-padding);
  margin: 8px 0;
  min-height: var(--jp-flat-button-height);
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  background-color: var(--jp-layout-color1);
  border: 1px solid var(--jp-border-color2);
  color: var(--jp-ui-font-color1);
  cursor: pointer;
}

.jp-TrimmedOutputs-button:hover {
  background-color: var(--jp-layout-color2);
  border-color: var(--jp-border-color1);
}

.jp-TrimmedOutputs-button:active {
  background-color: var(--jp-layout-color3);
  border-color: var(--jp-border-color1);
}

.jp-TrimmedOutputs-button:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
  outline-offset: -1px;
}

/* Hide the gutter in case of
 *  - nested output areas (e.g. in the case of output widgets)
 *  - mirrored output areas
 */
.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt {
  display: none;
}

/* Hide empty lines in the output area, for instance due to cleared widgets */
.jp-OutputArea-prompt:empty {
  padding: 0;
  border: 0;
}

/*-----------------------------------------------------------------------------
| executeResult is added to any Output-result for the display of the object
| returned by a cell
|----------------------------------------------------------------------------*/

.jp-OutputArea-output.jp-OutputArea-executeResult {
  margin-left: 0;
  width: 100%;
  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: 0 0.25em;
  margin: 0 0.25em;
  flex: 0 0 70%;
}

.jp-Stdin-input::placeholder {
  opacity: 0;
}

.jp-Stdin-input:focus {
  box-shadow: none;
}

.jp-Stdin-input:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
  outline-offset: -2px;
}

.jp-Stdin-input:focus::placeholder {
  opacity: 1;
}

.jp-OutputArea-stdin-hiding {
  /* soft-hide the output, preserving focus */
  opacity: 0;
  height: 0;
}

/*-----------------------------------------------------------------------------
| Output Area View
|----------------------------------------------------------------------------*/

.jp-LinkedOutputView .jp-OutputArea {
  height: 100%;
  display: block;
}

.jp-LinkedOutputView .jp-OutputArea-child:only-child {
  height: 100%;
}

.jp-LinkedOutputView .jp-OutputArea-output:only-child {
  height: 100%;
}

/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/

@media print {
  .jp-OutputArea-child {
    display: table;
    table-layout: fixed;
    break-inside: avoid-page;
  }

  .jp-OutputArea-prompt {
    display: table-cell;
    vertical-align: top;
  }

  .jp-OutputArea-output {
    display: table-cell;
  }
}

/*-----------------------------------------------------------------------------
| Mobile
|----------------------------------------------------------------------------*/
@media only screen and (width <= 760px) {
  .jp-OutputArea-child {
    flex-direction: column;
  }

  .jp-OutputPrompt {
    flex: 0 0 auto;
    text-align: left;
  }

  .jp-OutputArea-promptOverlay {
    display: none;
  }
}

/* Trimmed outputs container */
.jp-TrimmedOutputs {
  /* Left-align the button within the output area */
  text-align: left;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/outputarea/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;;8EAG8E;;AAE9E;EACE,gBAAgB;EAChB,6BAA6B;EAC7B,8BAA8B;AAChC;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,WAAW;EACX,gBAAgB;AAClB;;AAEA;EACE,kCAAkC;EAClC,qCAAqC;EACrC,0CAA0C;EAC1C,8CAA8C;EAC9C,+BAA+B;EAC/B,oDAAoD;EACpD,uCAAuC;EACvC,mCAAmC;EACnC,gDAAgD;EAChD,sCAAsC;;EAEtC,uEAAuE;EACvE,iBAAiB;EACjB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;;EAEvB,2BAA2B;EAC3B,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;AACnB;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,cAAc;EACd,iBAAiB;EACjB,sBAAsB;EACtB,yBAAyB;EACzB,qBAAqB;AACvB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;;EAEE;;AAEF;EACE,kBAAkB;EAClB,MAAM;EACN,YAAY;EACZ,kCAAkC;EAClC,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,mCAAmC;EACnC,yDAAyD;AAC3D;;AAEA;EACE,YAAY;EACZ,cAAc;AAChB;;AAEA;;EAEE;AACF;EACE,WAAW;EACX,cAAc;AAChB;;AAEA;;;;;CAKC;AACD;EACE,kBAAkB;AACpB;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,uBAAuB;AACzB;;AAEA,QAAQ;;AAER;EACE,YAAY;EACZ,SAAS;EACT,UAAU;EACV,gBAAgB;EAChB,gBAAgB;EAChB,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;AACvB;;AAEA,WAAW;;AAEX;EACE,cAAc;EACd,eAAe;AACjB;;AAEA,sBAAsB;;AAEtB;;;EAGE,cAAc;AAChB;;AAEA;EACE,WAAW;EACX,gBAAgB;EAChB,UAAU;EACV,SAAS;AACX;;AAEA;EACE,iBAAiB;EACjB,WAAW;EACX,UAAU;EACV,UAAU;EACV,SAAS;AACX;;AAEA;EACE,WAAW;EACX,UAAU;EACV,UAAU;EACV,SAAS;AACX;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,sCAAsC;EACtC,aAAa;EACb,wCAAwC;EACxC,kCAAkC;EAClC,qCAAqC;EACrC,yCAAyC;EACzC,yCAAyC;EACzC,+BAA+B;EAC/B,eAAe;AACjB;;AAEA;EACE,yCAAyC;EACzC,qCAAqC;AACvC;;AAEA;EACE,yCAAyC;EACzC,qCAAqC;AACvC;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,oBAAoB;AACtB;;AAEA;;;EAGE;AACF;EACE,aAAa;AACf;;AAEA,6EAA6E;AAC7E;EACE,UAAU;EACV,SAAS;AACX;;AAEA;;;8EAG8E;;AAE9E;EACE,cAAc;EACd,WAAW;EACX,cAAc;AAChB;;AAEA;;EAEE;AACF;EACE,mCAAmC;EACnC,oDAAoD;AACtD;;AAEA;;8EAE8E;;AAE9E;EACE,oCAAoC;EACpC,qCAAqC;EACrC,wBAAwB;EACxB,cAAc;AAChB;;AAEA;EACE,uCAAuC;EACvC,kBAAkB;EAClB,cAAc;EACd,yBAAyB;EACzB,UAAU;EACV,gBAAgB;;EAEhB,gDAAgD;EAChD,wBAAwB;;EAExB,uDAAuD;EACvD,iBAAiB;EACjB,gBAAgB;EAChB,aAAa;AACf;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,oBAAoB;AACtB;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,2CAA2C;EAC3C,UAAU;EACV,SAAS;AACX;;AAEA;;8EAE8E;;AAE9E;EACE,YAAY;EACZ,cAAc;AAChB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,YAAY;AACd;;AAEA;;8EAE8E;;AAE9E;EACE;IACE,cAAc;IACd,mBAAmB;IACnB,wBAAwB;EAC1B;;EAEA;IACE,mBAAmB;IACnB,mBAAmB;EACrB;;EAEA;IACE,mBAAmB;EACrB;AACF;;AAEA;;8EAE8E;AAC9E;EACE;IACE,sBAAsB;EACxB;;EAEA;IACE,cAAc;IACd,gBAAgB;EAClB;;EAEA;IACE,aAAa;EACf;AACF;;AAEA,8BAA8B;AAC9B;EACE,iDAAiD;EACjD,gBAAgB;AAClB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Main OutputArea\n| OutputArea has a list of Outputs\n|----------------------------------------------------------------------------*/\n\n.jp-OutputArea {\n  overflow-y: auto;\n  anchor-name: --jp-output-area;\n  anchor-scope: --jp-output-area;\n}\n\n.jp-OutputArea-child {\n  display: flex;\n  flex-direction: row;\n  width: 100%;\n  overflow: hidden;\n}\n\n.jp-OutputPrompt {\n  width: var(--jp-cell-prompt-width);\n  flex: 0 0 var(--jp-cell-prompt-width);\n  color: var(--jp-cell-outprompt-font-color);\n  font-family: var(--jp-cell-prompt-font-family);\n  padding: var(--jp-code-padding);\n  letter-spacing: var(--jp-cell-prompt-letter-spacing);\n  line-height: var(--jp-code-line-height);\n  font-size: var(--jp-code-font-size);\n  border: var(--jp-border-width) solid transparent;\n  opacity: var(--jp-cell-prompt-opacity);\n\n  /* Right align prompt text, don't wrap to handle large prompt numbers */\n  text-align: right;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n\n  /* Disable text selection */\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.jp-OutputArea-output {\n  width: 100%;\n  height: auto;\n  overflow: auto;\n  user-select: text;\n  -moz-user-select: text;\n  -webkit-user-select: text;\n  -ms-user-select: text;\n}\n\n.jp-OutputArea .jp-RenderedText {\n  padding-left: 1ch;\n}\n\n/**\n * Prompt overlay.\n */\n\n.jp-OutputArea-promptOverlay {\n  position: absolute;\n  top: 0;\n  height: 100%;\n  width: var(--jp-cell-prompt-width);\n  opacity: 0.5;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.jp-OutputArea-promptOverlay .jp-icon-output {\n  display: none;\n}\n\n.jp-OutputArea-promptOverlay:hover .jp-icon-output {\n  display: initial;\n}\n\n.jp-OutputArea-promptOverlay:hover {\n  background: var(--jp-layout-color2);\n  box-shadow: inset 0 0 1px var(--jp-inverse-layout-color0);\n}\n\n.jp-OutputArea-child .jp-OutputArea-output {\n  flex-grow: 1;\n  flex-shrink: 1;\n}\n\n/**\n * Isolated output.\n */\n.jp-OutputArea-output.jp-mod-isolated {\n  width: 100%;\n  display: block;\n}\n\n/*\nWhen drag events occur, `lm-mod-override-cursor` is added to the body.\nBecause iframes steal all cursor events, the following two rules are necessary\nto suppress pointer events while resize drags are occurring. There may be a\nbetter solution to this problem.\n*/\nbody.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated {\n  position: relative;\n}\n\nbody.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated::before {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background: transparent;\n}\n\n/* pre */\n\n.jp-OutputArea-output pre {\n  border: none;\n  margin: 0;\n  padding: 0;\n  overflow-x: auto;\n  overflow-y: auto;\n  word-break: break-all;\n  word-wrap: break-word;\n  white-space: pre-wrap;\n}\n\n/* tables */\n\n.jp-OutputArea-output.jp-RenderedHTMLCommon table {\n  margin-left: 0;\n  margin-right: 0;\n}\n\n/* description lists */\n\n.jp-OutputArea-output dl,\n.jp-OutputArea-output dt,\n.jp-OutputArea-output dd {\n  display: block;\n}\n\n.jp-OutputArea-output dl {\n  width: 100%;\n  overflow: hidden;\n  padding: 0;\n  margin: 0;\n}\n\n.jp-OutputArea-output dt {\n  font-weight: bold;\n  float: left;\n  width: 20%;\n  padding: 0;\n  margin: 0;\n}\n\n.jp-OutputArea-output dd {\n  float: left;\n  width: 80%;\n  padding: 0;\n  margin: 0;\n}\n\n.jp-TrimmedOutputs-button {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n  padding: var(--jp-flat-button-padding);\n  margin: 8px 0;\n  min-height: var(--jp-flat-button-height);\n  font-size: var(--jp-ui-font-size1);\n  font-family: var(--jp-ui-font-family);\n  background-color: var(--jp-layout-color1);\n  border: 1px solid var(--jp-border-color2);\n  color: var(--jp-ui-font-color1);\n  cursor: pointer;\n}\n\n.jp-TrimmedOutputs-button:hover {\n  background-color: var(--jp-layout-color2);\n  border-color: var(--jp-border-color1);\n}\n\n.jp-TrimmedOutputs-button:active {\n  background-color: var(--jp-layout-color3);\n  border-color: var(--jp-border-color1);\n}\n\n.jp-TrimmedOutputs-button:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n  outline-offset: -1px;\n}\n\n/* Hide the gutter in case of\n *  - nested output areas (e.g. in the case of output widgets)\n *  - mirrored output areas\n */\n.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt {\n  display: none;\n}\n\n/* Hide empty lines in the output area, for instance due to cleared widgets */\n.jp-OutputArea-prompt:empty {\n  padding: 0;\n  border: 0;\n}\n\n/*-----------------------------------------------------------------------------\n| executeResult is added to any Output-result for the display of the object\n| returned by a cell\n|----------------------------------------------------------------------------*/\n\n.jp-OutputArea-output.jp-OutputArea-executeResult {\n  margin-left: 0;\n  width: 100%;\n  flex: 1 1 auto;\n}\n\n/* Text output with the Out[] prompt needs a top padding to match the\n * alignment of the Out[] prompt itself.\n */\n.jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output {\n  padding-top: var(--jp-code-padding);\n  border-top: var(--jp-border-width) solid transparent;\n}\n\n/*-----------------------------------------------------------------------------\n| The Stdin output\n|----------------------------------------------------------------------------*/\n\n.jp-Stdin-prompt {\n  color: var(--jp-content-font-color0);\n  padding-right: var(--jp-code-padding);\n  vertical-align: baseline;\n  flex: 0 0 auto;\n}\n\n.jp-Stdin-input {\n  font-family: var(--jp-code-font-family);\n  font-size: inherit;\n  color: inherit;\n  background-color: inherit;\n  width: 42%;\n  min-width: 200px;\n\n  /* make sure input baseline aligns with prompt */\n  vertical-align: baseline;\n\n  /* padding + margin = 0.5em between prompt and cursor */\n  padding: 0 0.25em;\n  margin: 0 0.25em;\n  flex: 0 0 70%;\n}\n\n.jp-Stdin-input::placeholder {\n  opacity: 0;\n}\n\n.jp-Stdin-input:focus {\n  box-shadow: none;\n}\n\n.jp-Stdin-input:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n  outline-offset: -2px;\n}\n\n.jp-Stdin-input:focus::placeholder {\n  opacity: 1;\n}\n\n.jp-OutputArea-stdin-hiding {\n  /* soft-hide the output, preserving focus */\n  opacity: 0;\n  height: 0;\n}\n\n/*-----------------------------------------------------------------------------\n| Output Area View\n|----------------------------------------------------------------------------*/\n\n.jp-LinkedOutputView .jp-OutputArea {\n  height: 100%;\n  display: block;\n}\n\n.jp-LinkedOutputView .jp-OutputArea-child:only-child {\n  height: 100%;\n}\n\n.jp-LinkedOutputView .jp-OutputArea-output:only-child {\n  height: 100%;\n}\n\n/*-----------------------------------------------------------------------------\n| Printing\n|----------------------------------------------------------------------------*/\n\n@media print {\n  .jp-OutputArea-child {\n    display: table;\n    table-layout: fixed;\n    break-inside: avoid-page;\n  }\n\n  .jp-OutputArea-prompt {\n    display: table-cell;\n    vertical-align: top;\n  }\n\n  .jp-OutputArea-output {\n    display: table-cell;\n  }\n}\n\n/*-----------------------------------------------------------------------------\n| Mobile\n|----------------------------------------------------------------------------*/\n@media only screen and (width <= 760px) {\n  .jp-OutputArea-child {\n    flex-direction: column;\n  }\n\n  .jp-OutputPrompt {\n    flex: 0 0 auto;\n    text-align: left;\n  }\n\n  .jp-OutputArea-promptOverlay {\n    display: none;\n  }\n}\n\n/* Trimmed outputs container */\n.jp-TrimmedOutputs {\n  /* Left-align the button within the output area */\n  text-align: left;\n}\n"],sourceRoot:""}]);let a=s},14033(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-PDFContainer iframe {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.jp-OutputArea .jp-PDFContainer {
  min-height: 512px;
}

/*
When drag events occur, \`lm-mod-override-cursor\` is added to the body.
This reuses the same CSS selector logic as jp-IFrame to prevent embedded
PDFs from swallowing cursor events.
*/
body.lm-mod-override-cursor .jp-PDFContainer {
  position: relative;
}

body.lm-mod-override-cursor .jp-PDFContainer::before {
  content: '';
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/pdf-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,kBAAkB;EAClB,UAAU;EACV,MAAM;EACN,QAAQ;EACR,WAAW;EACX,YAAY;AACd;;AAEA;EACE,iBAAiB;AACnB;;AAEA;;;;CAIC;AACD;EACE,kBAAkB;AACpB;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,WAAW;EACX,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,uBAAuB;AACzB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-PDFContainer iframe {\n  position: absolute;\n  z-index: 0;\n  top: 0;\n  right: 0;\n  width: 100%;\n  height: 100%;\n}\n\n.jp-OutputArea .jp-PDFContainer {\n  min-height: 512px;\n}\n\n/*\nWhen drag events occur, `lm-mod-override-cursor` is added to the body.\nThis reuses the same CSS selector logic as jp-IFrame to prevent embedded\nPDFs from swallowing cursor events.\n*/\nbody.lm-mod-override-cursor .jp-PDFContainer {\n  position: relative;\n}\n\nbody.lm-mod-override-cursor .jp-PDFContainer::before {\n  content: '';\n  position: absolute;\n  z-index: 10;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background: transparent;\n}\n"],sourceRoot:""}]);let a=s},66069(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-pluginmanager {
  display: grid;
  grid-template-rows: min-content min-content 1fr;
}

.jp-pluginmanager-Header,
.jp-pluginmanager-Disclaimer {
  padding: 8px;
}

.jp-pluginmanager-Disclaimer-checkbox {
  position: relative;
  top: 2px;
}

.jp-pluginmanager-AvailableList {
  overflow: auto;
}

.jp-pluginmanager-AvailableList > .jp-sortable-table > thead {
  position: sticky;
}

.jp-pluginmanager-PluginInUseMessage {
  max-width: 550px;
}

.jp-pluginmanager-Header > .jp-FilterBox {
  width: 100%;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/pluginmanager/style/base.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;EACE,aAAa;EACb,+CAA+C;AACjD;;AAEA;;EAEE,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,QAAQ;AACV;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,WAAW;AACb",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-pluginmanager {\n  display: grid;\n  grid-template-rows: min-content min-content 1fr;\n}\n\n.jp-pluginmanager-Header,\n.jp-pluginmanager-Disclaimer {\n  padding: 8px;\n}\n\n.jp-pluginmanager-Disclaimer-checkbox {\n  position: relative;\n  top: 2px;\n}\n\n.jp-pluginmanager-AvailableList {\n  overflow: auto;\n}\n\n.jp-pluginmanager-AvailableList > .jp-sortable-table > thead {\n  position: sticky;\n}\n\n.jp-pluginmanager-PluginInUseMessage {\n  max-width: 550px;\n}\n\n.jp-pluginmanager-Header > .jp-FilterBox {\n  width: 100%;\n}\n"],sourceRoot:""}]);let a=s},52746(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-PropertyInspector {
  display: flex;
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);
}

.jp-PropertyInspector-content {
  flex-grow: 1;
}

.jp-PropertyInspector-placeholder {
  text-align: center;
}

.jp-PropertyInspector-placeholderContent {
  color: var(--jp-content-font-color2);
  padding: 8px;
}

.jp-PropertyInspector-placeholderContent > h3 {
  margin-bottom: var(--jp-content-heading-margin-bottom);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/property-inspector/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,aAAa;EACb,+BAA+B;EAC/B,mCAAmC;AACrC;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,oCAAoC;EACpC,YAAY;AACd;;AAEA;EACE,sDAAsD;AACxD",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-PropertyInspector {\n  display: flex;\n  color: var(--jp-ui-font-color1);\n  background: var(--jp-layout-color1);\n}\n\n.jp-PropertyInspector-content {\n  flex-grow: 1;\n}\n\n.jp-PropertyInspector-placeholder {\n  text-align: center;\n}\n\n.jp-PropertyInspector-placeholderContent {\n  color: var(--jp-content-font-color2);\n  padding: 8px;\n}\n\n.jp-PropertyInspector-placeholderContent > h3 {\n  margin-bottom: var(--jp-content-heading-margin-bottom);\n}\n"],sourceRoot:""}]);let a=s},86099(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| 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-ThemedContainer .jp-RenderedText pre,
.jp-ThemedContainer .jp-RenderedJavaScript pre,
.jp-ThemedContainer .jp-RenderedHTMLCommon pre {
  color: var(--jp-content-font-color1);
  font-size: var(--jp-code-font-size);
  border: none;
  margin: 0;
  padding: 0;
}

.jp-RenderedText pre a[href]:link {
  text-decoration: none;
  color: var(--jp-content-link-color);
}

.jp-RenderedText pre a[href]:hover {
  text-decoration: underline;
  color: var(--jp-content-link-hover-color, var(--jp-content-link-color));
}

.jp-RenderedText pre a[href]:visited {
  text-decoration: none;
  color: var(--jp-content-link-visited-color, var(--jp-content-link-color));
}

/* stylelint-disable declaration-property-value-allowed-list */

/* 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;
}

/* stylelint-enable declaration-property-value-allowed-list */

.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);
}

/* fix illegible yellow text with yellow background in exception stacktrace */
.jp-RenderedText pre .ansi-yellow-bg.ansi-yellow-fg {
  color: black;
}

/*-----------------------------------------------------------------------------
| 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-hover-color, var(--jp-content-link-color));
}

.jp-RenderedHTMLCommon a:visited {
  text-decoration: none;
  color: var(--jp-content-link-visited-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;
  scroll-margin-top: var(--jp-content-heading-margin-top);
}

.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));
  scroll-margin-top: calc(0.5 * var(--jp-content-heading-margin-top));
}

.jp-RenderedHTMLCommon h1:last-child,
.jp-RenderedHTMLCommon h2:last-child,
.jp-RenderedHTMLCommon h3:last-child,
.jp-RenderedHTMLCommon h4:last-child,
.jp-RenderedHTMLCommon h5:last-child,
.jp-RenderedHTMLCommon h6:last-child {
  margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom));
}

.jp-RenderedHTMLCommon h1 {
  font-size: var(--jp-content-font-size5);
}

.jp-RenderedHTMLCommon h2 {
  font-size: var(--jp-content-font-size4);
}

.jp-RenderedHTMLCommon h3 {
  font-size: var(--jp-content-font-size3);
}

.jp-RenderedHTMLCommon h4 {
  font-size: var(--jp-content-font-size2);
}

.jp-RenderedHTMLCommon h5 {
  font-size: var(--jp-content-font-size1);
}

.jp-RenderedHTMLCommon h6 {
  font-size: var(--jp-content-font-size0);
}

/* Lists */

/* stylelint-disable selector-max-type, selector-max-compound-selectors */

.jp-RenderedHTMLCommon ul:not(.list-inline),
.jp-RenderedHTMLCommon ol:not(.list-inline) {
  padding-left: 2em;
}

.jp-RenderedHTMLCommon ul {
  list-style: disc;
}

.jp-RenderedHTMLCommon ul ul {
  list-style: square;
}

.jp-RenderedHTMLCommon ul ul ul {
  list-style: circle;
}

.jp-RenderedHTMLCommon ol {
  list-style: decimal;
}

.jp-RenderedHTMLCommon ol ol {
  list-style: upper-alpha;
}

.jp-RenderedHTMLCommon ol ol ol {
  list-style: lower-alpha;
}

.jp-RenderedHTMLCommon ol ol ol ol {
  list-style: lower-roman;
}

.jp-RenderedHTMLCommon ol ol ol ol ol {
  list-style: decimal;
}

.jp-RenderedHTMLCommon ol,
.jp-RenderedHTMLCommon ul {
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon ul ul,
.jp-RenderedHTMLCommon ul ol,
.jp-RenderedHTMLCommon ol ul,
.jp-RenderedHTMLCommon ol ol {
  margin-bottom: 0;
}

/* stylelint-enable selector-max-type, selector-max-compound-selectors */

.jp-RenderedHTMLCommon hr {
  color: var(--jp-border-color2);
  background-color: var(--jp-border-color1);
  margin-top: 1em;
  margin-bottom: 1em;
}

.jp-ThemedContainer .jp-RenderedHTMLCommon > pre {
  margin: 1.5em 2em;
}

.jp-ThemedContainer .jp-RenderedHTMLCommon pre,
.jp-ThemedContainer .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-ThemedContainer .jp-RenderedHTMLCommon :not(pre) > code {
  background-color: var(--jp-layout-color2);
  padding: 1px 5px;
}

/* Tables */

.jp-RenderedHTMLCommon table {
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  table-layout: fixed;
  margin-left: auto;
  margin-bottom: 1em;
  margin-right: auto;
}

.jp-RenderedHTMLCommon thead {
  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
  vertical-align: bottom;
}

.jp-RenderedHTMLCommon td,
.jp-RenderedHTMLCommon th,
.jp-RenderedHTMLCommon tr {
  vertical-align: middle;
  padding: 0.5em;
  line-height: normal;
  white-space: normal;
  max-width: none;
  border: none;
}

.jp-RenderedMarkdown.jp-RenderedHTMLCommon td,
.jp-RenderedMarkdown.jp-RenderedHTMLCommon th {
  max-width: none;
}

:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td,
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th,
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr {
  text-align: right;
}

.jp-RenderedHTMLCommon th {
  font-weight: bold;
}

.jp-RenderedHTMLCommon tbody tr:nth-child(odd) {
  background: var(--jp-layout-color0);
}

.jp-RenderedHTMLCommon tbody tr:nth-child(even) {
  background: var(--jp-rendermime-table-row-background);
}

.jp-RenderedHTMLCommon tbody tr:hover {
  background: var(--jp-rendermime-table-row-hover-background);
}

.jp-RenderedHTMLCommon p {
  text-align: left;
  margin: 0;
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon img {
  -moz-force-broken-image-icon: 1;
}

/* Restrict to direct children as other images could be nested in other content. */
.jp-RenderedHTMLCommon > img {
  display: block;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 1em;
}

/* Change color behind transparent images if they need it... */
[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background {
  background-color: var(--jp-inverse-layout-color1);
}

[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background {
  background-color: var(--jp-inverse-layout-color1);
}

.jp-RenderedHTMLCommon img,
.jp-RenderedImage img,
.jp-RenderedHTMLCommon svg,
.jp-RenderedSVG svg {
  max-width: 100%;
  height: auto;
}

.jp-RenderedHTMLCommon img.jp-mod-unconfined,
.jp-RenderedImage img.jp-mod-unconfined,
.jp-RenderedHTMLCommon svg.jp-mod-unconfined,
.jp-RenderedSVG svg.jp-mod-unconfined {
  max-width: none;
}

.jp-RenderedHTMLCommon .alert {
  padding: var(--jp-notebook-padding);
  border: var(--jp-border-width) solid transparent;
  border-radius: var(--jp-border-radius);
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon .alert-info {
  color: var(--jp-info-color0);
  background-color: var(--jp-info-color3);
  border-color: var(--jp-info-color2);
}

.jp-RenderedHTMLCommon .alert-info hr {
  border-color: var(--jp-info-color3);
}

.jp-RenderedHTMLCommon .alert-info > p:last-child,
.jp-RenderedHTMLCommon .alert-info > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon .alert-warning {
  color: var(--jp-warn-color0);
  background-color: var(--jp-warn-color3);
  border-color: var(--jp-warn-color2);
}

.jp-RenderedHTMLCommon .alert-warning hr {
  border-color: var(--jp-warn-color3);
}

.jp-RenderedHTMLCommon .alert-warning > p:last-child,
.jp-RenderedHTMLCommon .alert-warning > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon .alert-success {
  color: var(--jp-success-color0);
  background-color: var(--jp-success-color3);
  border-color: var(--jp-success-color2);
}

.jp-RenderedHTMLCommon .alert-success hr {
  border-color: var(--jp-success-color3);
}

.jp-RenderedHTMLCommon .alert-success > p:last-child,
.jp-RenderedHTMLCommon .alert-success > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon .alert-danger {
  color: var(--jp-error-color0);
  background-color: var(--jp-error-color3);
  border-color: var(--jp-error-color2);
}

.jp-RenderedHTMLCommon .alert-danger hr {
  border-color: var(--jp-error-color3);
}

.jp-RenderedHTMLCommon .alert-danger > p:last-child,
.jp-RenderedHTMLCommon .alert-danger > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon blockquote {
  margin: 1em 2em;
  padding: 0 1em;
  border-left: 5px solid var(--jp-border-color2);
}

a.jp-InternalAnchorLink {
  visibility: hidden;
  margin-left: 8px;
  color: var(--md-blue-800, #1565c0);
}

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-ThemedContainer .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;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/rendermime/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;EACE,qGAAqG;EACrG;;GAEC;AACH;;AAEA;EACE,gBAAgB;EAChB,oCAAoC;EACpC,uCAAuC;EACvC,uCAAuC;AACzC;;AAEA;;;EAGE,oCAAoC;EACpC,mCAAmC;EACnC,YAAY;EACZ,SAAS;EACT,UAAU;AACZ;;AAEA;EACE,qBAAqB;EACrB,mCAAmC;AACrC;;AAEA;EACE,0BAA0B;EAC1B,uEAAuE;AACzE;;AAEA;EACE,qBAAqB;EACrB,yEAAyE;AAC3E;;AAEA,8DAA8D;;AAE9D,wCAAwC;AACxC;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;AAChD;;AAEA,6DAA6D;;AAE7D;EACE,uCAAuC;AACzC;;AAEA;EACE,iDAAiD;EACjD,8CAA8C;AAChD;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,iDAAiD;EACjD,mCAAmC;AACrC;;AAEA,6EAA6E;AAC7E;EACE,YAAY;AACd;;AAEA;;8EAE8E;;AAE9E;EACE,oCAAoC;EACpC,uCAAuC;EACvC,0CAA0C;AAC5C;;AAEA,yBAAyB;AACzB;EACE,+BAA+B;EAC/B,gBAAgB;AAClB;;AAEA;;8EAE8E;;AAE9E;EACE,oCAAoC;EACpC,0CAA0C;EAC1C,uCAAuC;EACvC,0CAA0C;;EAE1C,+EAA+E;EAC/E,mBAAmB;AACrB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,qBAAqB;EACrB,mCAAmC;AACrC;;AAEA;EACE,0BAA0B;EAC1B,uEAAuE;AACzE;;AAEA;EACE,qBAAqB;EACrB,yEAAyE;AAC3E;;AAEA,aAAa;;AAEb;;;;;;EAME,kDAAkD;EAClD,kDAAkD;EAClD,kBAAkB;EAClB;6CAC2C;EAC3C,uDAAuD;AACzD;;AAEA;;;;;;EAME,4DAA4D;EAC5D,mEAAmE;AACrE;;AAEA;;;;;;EAME,kEAAkE;AACpE;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA,UAAU;;AAEV,yEAAyE;;AAEzE;;EAEE,iBAAiB;AACnB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;;EAEE,kBAAkB;AACpB;;AAEA;;;;EAIE,gBAAgB;AAClB;;AAEA,wEAAwE;;AAExE;EACE,8BAA8B;EAC9B,yCAAyC;EACzC,eAAe;EACf,kBAAkB;AACpB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;;EAEE,SAAS;EACT,yCAAyC;EACzC,oCAAoC;EACpC,uCAAuC;EACvC,kBAAkB;EAClB,uCAAuC;EACvC,UAAU;EACV,qBAAqB;AACvB;;AAEA;EACE,yCAAyC;EACzC,gBAAgB;AAClB;;AAEA,WAAW;;AAEX;EACE,yBAAyB;EACzB,iBAAiB;EACjB,YAAY;EACZ,+BAA+B;EAC/B,kCAAkC;EAClC,mBAAmB;EACnB,iBAAiB;EACjB,kBAAkB;EAClB,kBAAkB;AACpB;;AAEA;EACE,mEAAmE;EACnE,sBAAsB;AACxB;;AAEA;;;EAGE,sBAAsB;EACtB,cAAc;EACd,mBAAmB;EACnB,mBAAmB;EACnB,eAAe;EACf,YAAY;AACd;;AAEA;;EAEE,eAAe;AACjB;;AAEA;;;EAGE,iBAAiB;AACnB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,2DAA2D;AAC7D;;AAEA;EACE,gBAAgB;EAChB,SAAS;EACT,kBAAkB;AACpB;;AAEA;EACE,+BAA+B;AACjC;;AAEA,kFAAkF;AAClF;EACE,cAAc;EACd,cAAc;EACd,eAAe;EACf,kBAAkB;AACpB;;AAEA,8DAA8D;AAC9D;EACE,iDAAiD;AACnD;;AAEA;EACE,iDAAiD;AACnD;;AAEA;;;;EAIE,eAAe;EACf,YAAY;AACd;;AAEA;;;;EAIE,eAAe;AACjB;;AAEA;EACE,mCAAmC;EACnC,gDAAgD;EAChD,sCAAsC;EACtC,kBAAkB;AACpB;;AAEA;EACE,4BAA4B;EAC5B,uCAAuC;EACvC,mCAAmC;AACrC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;;EAEE,gBAAgB;AAClB;;AAEA;EACE,4BAA4B;EAC5B,uCAAuC;EACvC,mCAAmC;AACrC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;;EAEE,gBAAgB;AAClB;;AAEA;EACE,+BAA+B;EAC/B,0CAA0C;EAC1C,sCAAsC;AACxC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;;EAEE,gBAAgB;AAClB;;AAEA;EACE,6BAA6B;EAC7B,wCAAwC;EACxC,oCAAoC;AACtC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;;EAEE,gBAAgB;AAClB;;AAEA;EACE,eAAe;EACf,cAAc;EACd,8CAA8C;AAChD;;AAEA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,kCAAkC;AACpC;;AAEA;;;;;;EAME,mBAAmB;AACrB;;AAEA;EACE,2DAA2D;EAC3D,yCAAyC;EACzC,4CAA4C;EAC5C,kBAAkB;EAClB,8CAA8C;EAC9C,qBAAqB;EACrB,kCAAkC;EAClC,gBAAgB;EAChB,oBAAoB;AACtB;;AAEA;;;;EAIE;AACF;EACE,oBAAoB;AACtB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| RenderedText\n|----------------------------------------------------------------------------*/\n\n:root {\n  /* This is the padding value to fill the gaps between lines containing spans with background color. */\n  --jp-private-code-span-padding: calc(\n    (var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2\n  );\n}\n\n.jp-RenderedText {\n  text-align: left;\n  padding-left: var(--jp-code-padding);\n  line-height: var(--jp-code-line-height);\n  font-family: var(--jp-code-font-family);\n}\n\n.jp-ThemedContainer .jp-RenderedText pre,\n.jp-ThemedContainer .jp-RenderedJavaScript pre,\n.jp-ThemedContainer .jp-RenderedHTMLCommon pre {\n  color: var(--jp-content-font-color1);\n  font-size: var(--jp-code-font-size);\n  border: none;\n  margin: 0;\n  padding: 0;\n}\n\n.jp-RenderedText pre a[href]:link {\n  text-decoration: none;\n  color: var(--jp-content-link-color);\n}\n\n.jp-RenderedText pre a[href]:hover {\n  text-decoration: underline;\n  color: var(--jp-content-link-hover-color, var(--jp-content-link-color));\n}\n\n.jp-RenderedText pre a[href]:visited {\n  text-decoration: none;\n  color: var(--jp-content-link-visited-color, var(--jp-content-link-color));\n}\n\n/* stylelint-disable declaration-property-value-allowed-list */\n\n/* console foregrounds and backgrounds */\n.jp-RenderedText pre .ansi-black-fg {\n  color: #3e424d;\n}\n\n.jp-RenderedText pre .ansi-red-fg {\n  color: #e75c58;\n}\n\n.jp-RenderedText pre .ansi-green-fg {\n  color: #00a250;\n}\n\n.jp-RenderedText pre .ansi-yellow-fg {\n  color: #ddb62b;\n}\n\n.jp-RenderedText pre .ansi-blue-fg {\n  color: #208ffb;\n}\n\n.jp-RenderedText pre .ansi-magenta-fg {\n  color: #d160c4;\n}\n\n.jp-RenderedText pre .ansi-cyan-fg {\n  color: #60c6c8;\n}\n\n.jp-RenderedText pre .ansi-white-fg {\n  color: #c5c1b4;\n}\n\n.jp-RenderedText pre .ansi-black-bg {\n  background-color: #3e424d;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-red-bg {\n  background-color: #e75c58;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-green-bg {\n  background-color: #00a250;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-yellow-bg {\n  background-color: #ddb62b;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-blue-bg {\n  background-color: #208ffb;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-magenta-bg {\n  background-color: #d160c4;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-cyan-bg {\n  background-color: #60c6c8;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-white-bg {\n  background-color: #c5c1b4;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-black-intense-fg {\n  color: #282c36;\n}\n\n.jp-RenderedText pre .ansi-red-intense-fg {\n  color: #b22b31;\n}\n\n.jp-RenderedText pre .ansi-green-intense-fg {\n  color: #007427;\n}\n\n.jp-RenderedText pre .ansi-yellow-intense-fg {\n  color: #b27d12;\n}\n\n.jp-RenderedText pre .ansi-blue-intense-fg {\n  color: #0065ca;\n}\n\n.jp-RenderedText pre .ansi-magenta-intense-fg {\n  color: #a03196;\n}\n\n.jp-RenderedText pre .ansi-cyan-intense-fg {\n  color: #258f8f;\n}\n\n.jp-RenderedText pre .ansi-white-intense-fg {\n  color: #a1a6b2;\n}\n\n.jp-RenderedText pre .ansi-black-intense-bg {\n  background-color: #282c36;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-red-intense-bg {\n  background-color: #b22b31;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-green-intense-bg {\n  background-color: #007427;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-yellow-intense-bg {\n  background-color: #b27d12;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-blue-intense-bg {\n  background-color: #0065ca;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-magenta-intense-bg {\n  background-color: #a03196;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-cyan-intense-bg {\n  background-color: #258f8f;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-white-intense-bg {\n  background-color: #a1a6b2;\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n/* stylelint-enable declaration-property-value-allowed-list */\n\n.jp-RenderedText pre .ansi-default-inverse-fg {\n  color: var(--jp-ui-inverse-font-color0);\n}\n\n.jp-RenderedText pre .ansi-default-inverse-bg {\n  background-color: var(--jp-inverse-layout-color0);\n  padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-bold {\n  font-weight: bold;\n}\n\n.jp-RenderedText pre .ansi-underline {\n  text-decoration: underline;\n}\n\n.jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] {\n  background: var(--jp-rendermime-error-background);\n  padding-top: var(--jp-code-padding);\n}\n\n/* fix illegible yellow text with yellow background in exception stacktrace */\n.jp-RenderedText pre .ansi-yellow-bg.ansi-yellow-fg {\n  color: black;\n}\n\n/*-----------------------------------------------------------------------------\n| RenderedLatex\n|----------------------------------------------------------------------------*/\n\n.jp-RenderedLatex {\n  color: var(--jp-content-font-color1);\n  font-size: var(--jp-content-font-size1);\n  line-height: var(--jp-content-line-height);\n}\n\n/* Left-justify outputs.*/\n.jp-OutputArea-output.jp-RenderedLatex {\n  padding: var(--jp-code-padding);\n  text-align: left;\n}\n\n/*-----------------------------------------------------------------------------\n| RenderedHTML\n|----------------------------------------------------------------------------*/\n\n.jp-RenderedHTMLCommon {\n  color: var(--jp-content-font-color1);\n  font-family: var(--jp-content-font-family);\n  font-size: var(--jp-content-font-size1);\n  line-height: var(--jp-content-line-height);\n\n  /* Give a bit more R padding on Markdown text to keep line lengths reasonable */\n  padding-right: 20px;\n}\n\n.jp-RenderedHTMLCommon em {\n  font-style: italic;\n}\n\n.jp-RenderedHTMLCommon strong {\n  font-weight: bold;\n}\n\n.jp-RenderedHTMLCommon u {\n  text-decoration: underline;\n}\n\n.jp-RenderedHTMLCommon a:link {\n  text-decoration: none;\n  color: var(--jp-content-link-color);\n}\n\n.jp-RenderedHTMLCommon a:hover {\n  text-decoration: underline;\n  color: var(--jp-content-link-hover-color, var(--jp-content-link-color));\n}\n\n.jp-RenderedHTMLCommon a:visited {\n  text-decoration: none;\n  color: var(--jp-content-link-visited-color, var(--jp-content-link-color));\n}\n\n/* Headings */\n\n.jp-RenderedHTMLCommon h1,\n.jp-RenderedHTMLCommon h2,\n.jp-RenderedHTMLCommon h3,\n.jp-RenderedHTMLCommon h4,\n.jp-RenderedHTMLCommon h5,\n.jp-RenderedHTMLCommon h6 {\n  line-height: var(--jp-content-heading-line-height);\n  font-weight: var(--jp-content-heading-font-weight);\n  font-style: normal;\n  margin: var(--jp-content-heading-margin-top) 0\n    var(--jp-content-heading-margin-bottom) 0;\n  scroll-margin-top: var(--jp-content-heading-margin-top);\n}\n\n.jp-RenderedHTMLCommon h1:first-child,\n.jp-RenderedHTMLCommon h2:first-child,\n.jp-RenderedHTMLCommon h3:first-child,\n.jp-RenderedHTMLCommon h4:first-child,\n.jp-RenderedHTMLCommon h5:first-child,\n.jp-RenderedHTMLCommon h6:first-child {\n  margin-top: calc(0.5 * var(--jp-content-heading-margin-top));\n  scroll-margin-top: calc(0.5 * var(--jp-content-heading-margin-top));\n}\n\n.jp-RenderedHTMLCommon h1:last-child,\n.jp-RenderedHTMLCommon h2:last-child,\n.jp-RenderedHTMLCommon h3:last-child,\n.jp-RenderedHTMLCommon h4:last-child,\n.jp-RenderedHTMLCommon h5:last-child,\n.jp-RenderedHTMLCommon h6:last-child {\n  margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom));\n}\n\n.jp-RenderedHTMLCommon h1 {\n  font-size: var(--jp-content-font-size5);\n}\n\n.jp-RenderedHTMLCommon h2 {\n  font-size: var(--jp-content-font-size4);\n}\n\n.jp-RenderedHTMLCommon h3 {\n  font-size: var(--jp-content-font-size3);\n}\n\n.jp-RenderedHTMLCommon h4 {\n  font-size: var(--jp-content-font-size2);\n}\n\n.jp-RenderedHTMLCommon h5 {\n  font-size: var(--jp-content-font-size1);\n}\n\n.jp-RenderedHTMLCommon h6 {\n  font-size: var(--jp-content-font-size0);\n}\n\n/* Lists */\n\n/* stylelint-disable selector-max-type, selector-max-compound-selectors */\n\n.jp-RenderedHTMLCommon ul:not(.list-inline),\n.jp-RenderedHTMLCommon ol:not(.list-inline) {\n  padding-left: 2em;\n}\n\n.jp-RenderedHTMLCommon ul {\n  list-style: disc;\n}\n\n.jp-RenderedHTMLCommon ul ul {\n  list-style: square;\n}\n\n.jp-RenderedHTMLCommon ul ul ul {\n  list-style: circle;\n}\n\n.jp-RenderedHTMLCommon ol {\n  list-style: decimal;\n}\n\n.jp-RenderedHTMLCommon ol ol {\n  list-style: upper-alpha;\n}\n\n.jp-RenderedHTMLCommon ol ol ol {\n  list-style: lower-alpha;\n}\n\n.jp-RenderedHTMLCommon ol ol ol ol {\n  list-style: lower-roman;\n}\n\n.jp-RenderedHTMLCommon ol ol ol ol ol {\n  list-style: decimal;\n}\n\n.jp-RenderedHTMLCommon ol,\n.jp-RenderedHTMLCommon ul {\n  margin-bottom: 1em;\n}\n\n.jp-RenderedHTMLCommon ul ul,\n.jp-RenderedHTMLCommon ul ol,\n.jp-RenderedHTMLCommon ol ul,\n.jp-RenderedHTMLCommon ol ol {\n  margin-bottom: 0;\n}\n\n/* stylelint-enable selector-max-type, selector-max-compound-selectors */\n\n.jp-RenderedHTMLCommon hr {\n  color: var(--jp-border-color2);\n  background-color: var(--jp-border-color1);\n  margin-top: 1em;\n  margin-bottom: 1em;\n}\n\n.jp-ThemedContainer .jp-RenderedHTMLCommon > pre {\n  margin: 1.5em 2em;\n}\n\n.jp-ThemedContainer .jp-RenderedHTMLCommon pre,\n.jp-ThemedContainer .jp-RenderedHTMLCommon code {\n  border: 0;\n  background-color: var(--jp-layout-color0);\n  color: var(--jp-content-font-color1);\n  font-family: var(--jp-code-font-family);\n  font-size: inherit;\n  line-height: var(--jp-code-line-height);\n  padding: 0;\n  white-space: pre-wrap;\n}\n\n.jp-ThemedContainer .jp-RenderedHTMLCommon :not(pre) > code {\n  background-color: var(--jp-layout-color2);\n  padding: 1px 5px;\n}\n\n/* Tables */\n\n.jp-RenderedHTMLCommon table {\n  border-collapse: collapse;\n  border-spacing: 0;\n  border: none;\n  color: var(--jp-ui-font-color1);\n  font-size: var(--jp-ui-font-size1);\n  table-layout: fixed;\n  margin-left: auto;\n  margin-bottom: 1em;\n  margin-right: auto;\n}\n\n.jp-RenderedHTMLCommon thead {\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);\n  vertical-align: bottom;\n}\n\n.jp-RenderedHTMLCommon td,\n.jp-RenderedHTMLCommon th,\n.jp-RenderedHTMLCommon tr {\n  vertical-align: middle;\n  padding: 0.5em;\n  line-height: normal;\n  white-space: normal;\n  max-width: none;\n  border: none;\n}\n\n.jp-RenderedMarkdown.jp-RenderedHTMLCommon td,\n.jp-RenderedMarkdown.jp-RenderedHTMLCommon th {\n  max-width: none;\n}\n\n:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td,\n:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th,\n:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr {\n  text-align: right;\n}\n\n.jp-RenderedHTMLCommon th {\n  font-weight: bold;\n}\n\n.jp-RenderedHTMLCommon tbody tr:nth-child(odd) {\n  background: var(--jp-layout-color0);\n}\n\n.jp-RenderedHTMLCommon tbody tr:nth-child(even) {\n  background: var(--jp-rendermime-table-row-background);\n}\n\n.jp-RenderedHTMLCommon tbody tr:hover {\n  background: var(--jp-rendermime-table-row-hover-background);\n}\n\n.jp-RenderedHTMLCommon p {\n  text-align: left;\n  margin: 0;\n  margin-bottom: 1em;\n}\n\n.jp-RenderedHTMLCommon img {\n  -moz-force-broken-image-icon: 1;\n}\n\n/* Restrict to direct children as other images could be nested in other content. */\n.jp-RenderedHTMLCommon > img {\n  display: block;\n  margin-left: 0;\n  margin-right: 0;\n  margin-bottom: 1em;\n}\n\n/* Change color behind transparent images if they need it... */\n[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background {\n  background-color: var(--jp-inverse-layout-color1);\n}\n\n[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background {\n  background-color: var(--jp-inverse-layout-color1);\n}\n\n.jp-RenderedHTMLCommon img,\n.jp-RenderedImage img,\n.jp-RenderedHTMLCommon svg,\n.jp-RenderedSVG svg {\n  max-width: 100%;\n  height: auto;\n}\n\n.jp-RenderedHTMLCommon img.jp-mod-unconfined,\n.jp-RenderedImage img.jp-mod-unconfined,\n.jp-RenderedHTMLCommon svg.jp-mod-unconfined,\n.jp-RenderedSVG svg.jp-mod-unconfined {\n  max-width: none;\n}\n\n.jp-RenderedHTMLCommon .alert {\n  padding: var(--jp-notebook-padding);\n  border: var(--jp-border-width) solid transparent;\n  border-radius: var(--jp-border-radius);\n  margin-bottom: 1em;\n}\n\n.jp-RenderedHTMLCommon .alert-info {\n  color: var(--jp-info-color0);\n  background-color: var(--jp-info-color3);\n  border-color: var(--jp-info-color2);\n}\n\n.jp-RenderedHTMLCommon .alert-info hr {\n  border-color: var(--jp-info-color3);\n}\n\n.jp-RenderedHTMLCommon .alert-info > p:last-child,\n.jp-RenderedHTMLCommon .alert-info > ul:last-child {\n  margin-bottom: 0;\n}\n\n.jp-RenderedHTMLCommon .alert-warning {\n  color: var(--jp-warn-color0);\n  background-color: var(--jp-warn-color3);\n  border-color: var(--jp-warn-color2);\n}\n\n.jp-RenderedHTMLCommon .alert-warning hr {\n  border-color: var(--jp-warn-color3);\n}\n\n.jp-RenderedHTMLCommon .alert-warning > p:last-child,\n.jp-RenderedHTMLCommon .alert-warning > ul:last-child {\n  margin-bottom: 0;\n}\n\n.jp-RenderedHTMLCommon .alert-success {\n  color: var(--jp-success-color0);\n  background-color: var(--jp-success-color3);\n  border-color: var(--jp-success-color2);\n}\n\n.jp-RenderedHTMLCommon .alert-success hr {\n  border-color: var(--jp-success-color3);\n}\n\n.jp-RenderedHTMLCommon .alert-success > p:last-child,\n.jp-RenderedHTMLCommon .alert-success > ul:last-child {\n  margin-bottom: 0;\n}\n\n.jp-RenderedHTMLCommon .alert-danger {\n  color: var(--jp-error-color0);\n  background-color: var(--jp-error-color3);\n  border-color: var(--jp-error-color2);\n}\n\n.jp-RenderedHTMLCommon .alert-danger hr {\n  border-color: var(--jp-error-color3);\n}\n\n.jp-RenderedHTMLCommon .alert-danger > p:last-child,\n.jp-RenderedHTMLCommon .alert-danger > ul:last-child {\n  margin-bottom: 0;\n}\n\n.jp-RenderedHTMLCommon blockquote {\n  margin: 1em 2em;\n  padding: 0 1em;\n  border-left: 5px solid var(--jp-border-color2);\n}\n\na.jp-InternalAnchorLink {\n  visibility: hidden;\n  margin-left: 8px;\n  color: var(--md-blue-800, #1565c0);\n}\n\nh1:hover .jp-InternalAnchorLink,\nh2:hover .jp-InternalAnchorLink,\nh3:hover .jp-InternalAnchorLink,\nh4:hover .jp-InternalAnchorLink,\nh5:hover .jp-InternalAnchorLink,\nh6:hover .jp-InternalAnchorLink {\n  visibility: visible;\n}\n\n.jp-ThemedContainer .jp-RenderedHTMLCommon kbd {\n  background-color: var(--jp-rendermime-table-row-background);\n  border: 1px solid var(--jp-border-color0);\n  border-bottom-color: var(--jp-border-color2);\n  border-radius: 3px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n  display: inline-block;\n  font-size: var(--jp-ui-font-size0);\n  line-height: 1em;\n  padding: 0.2em 0.5em;\n}\n\n/* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0.\n * At the bottom of cells this is a bit too much as there is also spacing\n * between cells. Going all the way to 0 gets too tight between markdown and\n * code cells.\n */\n.jp-RenderedHTMLCommon > *:last-child {\n  margin-bottom: 0.5em;\n}\n"],sourceRoot:""}]);let a=s},46456(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-RunningSessions {
  display: flex;
  flex-direction: column;
  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);
}

.jp-RunningSessions > .jp-SidePanel-toolbar::part(positioning-region) {
  justify-content: flex-end;
}

.jp-RunningSessions-section {
  min-height: 50px;
  overflow: auto;
}

.jp-RunningSessions-sectionContainer {
  margin: 0;
  padding: 0;
}

.jp-RunningSessions-sectionList {
  display: block;
  margin: 0;
  padding: 0;
  list-style-type: none;
  padding-left: 14px;
}

.jp-RunningSessions-viewButton[aria-pressed='true'] {
  box-shadow: none;
}

/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */
.jp-mod-running-list-view .jp-RunningSessions-sectionList {
  padding-left: 0;
}

/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */
.jp-mod-running-list-view .jp-mod-running-leaf {
  margin-left: 0;
}

/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */
.jp-mod-running-list-view
  .jp-RunningSessions-item.jp-mod-kernelspec::part(positioning-region),
.jp-mod-running-list-view
  .jp-RunningSessions-item.jp-mod-kernel::part(positioning-region) {
  display: none;
}

/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */
.jp-mod-running-list-view
  .jp-RunningSessions-item.jp-mod-kernel-widget::part(content-region) {
  margin-inline-start: -2.6em;
}

.jp-RunningSessions-item.jp-mod-kernelspec,
.jp-RunningSessions-item.jp-mod-kernel {
  user-select: none;
}

.jp-RunningSessions-item-label-kernel-id {
  color: var(--jp-ui-font-color3);
}

.jp-RunningSessions-collapseButton[aria-pressed='true'] {
  box-shadow: none;
}

.jp-RunningSessions-toolbar {
  min-width: max-content;
}

img.jp-RunningSessions-icon,
span.jp-RunningSessions-icon > svg {
  width: 16px;
  height: 16px;
}

img.jp-RunningSessions-icon {
  margin-top: 4px;
  object-fit: contain;
}

span.jp-RunningSessions-icon {
  align-items: center;
  display: flex;
}

span.jp-RunningSessions-icon > svg {
  display: block;
  margin: 0 auto;
}

.jp-RunningSessions-itemLabel {
  font-size: var(--jp-ui-font-size1);
  flex: 1 1 55%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.jp-RunningSessions-itemDetail {
  font-size: var(--jp-ui-font-size1);
  flex: 1 1 45%;
  padding: 0 4px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.jp-RunningSessions-itemShutdown {
  visibility: hidden;
}

.jp-RunningSessions-item:focus-visible > .jp-RunningSessions-itemShutdown,
.jp-RunningSessions-item:hover > .jp-RunningSessions-itemShutdown {
  visibility: visible;
}

.jp-RunningSessions-shutdownAll.jp-ToolbarButtonComponent {
  color: var(--jp-warn-color1);
}

.jp-RunningSessions-shutdownAll.jp-ToolbarButtonComponent[disabled] {
  color: var(--jp-ui-font-color2);
}

/*-----------------------------------------------------------------------------
| SearchableSessions
|----------------------------------------------------------------------------*/

.jp-RunningSessions-item.jp-mod-active {
  background-color: var(--jp-layout-color2);
  outline: 1px solid var(--jp-brand-color1);
  outline-offset: -2px;
}

.jp-RunningSessions-item.jp-mod-active.jp-TreeItem::part(positioning-region) {
  background-color: transparent;
}

.jp-SearchableSessions-list > .jp-RunningSessions-section {
  min-height: auto;
}

.jp-SearchableSessions-title {
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size0);
  margin: 0;
  padding: 4px 0;
}

.jp-SearchableSessions-titleLabel {
  text-transform: uppercase;
}

.jp-SearchableSessions-acceptButton {
  display: none;
}

.jp-SearchableSessions-list > .jp-RunningSessions-section.jp-mod-empty {
  display: none;
}

.jp-SearchableSessions-filter {
  overflow: visible;

  /* Required to display correctly the filter box and its focus highlight */
  padding: 0 2px;
}

.jp-SearchableSessions-filter > .jp-FilterBox {
  width: 100%;
}

.jp-SearchableSessions-list {
  overflow: auto;
}

.jp-SearchableSessions.jp-Dialog-body {
  display: flex;
}

.jp-SearchableSessions-modal .jp-Dialog-content {
  padding: 16px;
  box-shadow: var(--jp-elevation-z4);
  border-radius: 4px;
  min-height: 100px;
  max-height: 95%;
}

.jp-SearchableSessions-modal .jp-Dialog-footer {
  display: none;
}

.jp-SearchableSessions-modal .jp-Dialog-header {
  font-size: var(--jp-ui-font-size2);
}

.jp-SearchableSessions-modal.jp-Dialog {
  background: transparent;
  justify-content: start;
  padding-top: 38px;
  border: 0;
}

.jp-SearchableSessions-emptyIndicator {
  color: var(--jp-ui-font-color2);
  padding: 16px;
  text-align: center;
  padding-bottom: 8px;
}

.jp-RunningSessions-section:not(.jp-mod-empty)
  ~ .jp-SearchableSessions-emptyIndicator {
  display: none;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/running/style/base.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;EACE,aAAa;EACb,sBAAsB;EACtB,sCAAsC;EACtC,+BAA+B;EAC/B,mCAAmC;;EAEnC;iCAC+B;EAC/B,kCAAkC;AACpC;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,SAAS;EACT,UAAU;AACZ;;AAEA;EACE,cAAc;EACd,SAAS;EACT,UAAU;EACV,qBAAqB;EACrB,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;AAClB;;AAEA,wGAAwG;AACxG;EACE,eAAe;AACjB;;AAEA,wGAAwG;AACxG;EACE,cAAc;AAChB;;AAEA,wGAAwG;AACxG;;;;EAIE,aAAa;AACf;;AAEA,wGAAwG;AACxG;;EAEE,2BAA2B;AAC7B;;AAEA;;EAEE,iBAAiB;AACnB;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;;EAEE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,eAAe;EACf,mBAAmB;AACrB;;AAEA;EACE,mBAAmB;EACnB,aAAa;AACf;;AAEA;EACE,cAAc;EACd,cAAc;AAChB;;AAEA;EACE,kCAAkC;EAClC,aAAa;EACb,uBAAuB;EACvB,gBAAgB;EAChB,mBAAmB;AACrB;;AAEA;EACE,kCAAkC;EAClC,aAAa;EACb,cAAc;EACd,uBAAuB;EACvB,gBAAgB;EAChB,mBAAmB;AACrB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;;EAEE,mBAAmB;AACrB;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,+BAA+B;AACjC;;AAEA;;8EAE8E;;AAE9E;EACE,yCAAyC;EACzC,yCAAyC;EACzC,oBAAoB;AACtB;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,+BAA+B;EAC/B,kCAAkC;EAClC,SAAS;EACT,cAAc;AAChB;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,iBAAiB;;EAEjB,yEAAyE;EACzE,cAAc;AAChB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,aAAa;EACb,kCAAkC;EAClC,kBAAkB;EAClB,iBAAiB;EACjB,eAAe;AACjB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,uBAAuB;EACvB,sBAAsB;EACtB,iBAAiB;EACjB,SAAS;AACX;;AAEA;EACE,+BAA+B;EAC/B,aAAa;EACb,kBAAkB;EAClB,mBAAmB;AACrB;;AAEA;;EAEE,aAAa;AACf",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-RunningSessions {\n  display: flex;\n  flex-direction: column;\n  min-width: var(--jp-sidebar-min-width);\n  color: var(--jp-ui-font-color1);\n  background: var(--jp-layout-color1);\n\n  /* This is needed so that all font sizing of children done in ems is\n   * relative to this base size */\n  font-size: var(--jp-ui-font-size1);\n}\n\n.jp-RunningSessions > .jp-SidePanel-toolbar::part(positioning-region) {\n  justify-content: flex-end;\n}\n\n.jp-RunningSessions-section {\n  min-height: 50px;\n  overflow: auto;\n}\n\n.jp-RunningSessions-sectionContainer {\n  margin: 0;\n  padding: 0;\n}\n\n.jp-RunningSessions-sectionList {\n  display: block;\n  margin: 0;\n  padding: 0;\n  list-style-type: none;\n  padding-left: 14px;\n}\n\n.jp-RunningSessions-viewButton[aria-pressed='true'] {\n  box-shadow: none;\n}\n\n/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */\n.jp-mod-running-list-view .jp-RunningSessions-sectionList {\n  padding-left: 0;\n}\n\n/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */\n.jp-mod-running-list-view .jp-mod-running-leaf {\n  margin-left: 0;\n}\n\n/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */\n.jp-mod-running-list-view\n  .jp-RunningSessions-item.jp-mod-kernelspec::part(positioning-region),\n.jp-mod-running-list-view\n  .jp-RunningSessions-item.jp-mod-kernel::part(positioning-region) {\n  display: none;\n}\n\n/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */\n.jp-mod-running-list-view\n  .jp-RunningSessions-item.jp-mod-kernel-widget::part(content-region) {\n  margin-inline-start: -2.6em;\n}\n\n.jp-RunningSessions-item.jp-mod-kernelspec,\n.jp-RunningSessions-item.jp-mod-kernel {\n  user-select: none;\n}\n\n.jp-RunningSessions-item-label-kernel-id {\n  color: var(--jp-ui-font-color3);\n}\n\n.jp-RunningSessions-collapseButton[aria-pressed='true'] {\n  box-shadow: none;\n}\n\n.jp-RunningSessions-toolbar {\n  min-width: max-content;\n}\n\nimg.jp-RunningSessions-icon,\nspan.jp-RunningSessions-icon > svg {\n  width: 16px;\n  height: 16px;\n}\n\nimg.jp-RunningSessions-icon {\n  margin-top: 4px;\n  object-fit: contain;\n}\n\nspan.jp-RunningSessions-icon {\n  align-items: center;\n  display: flex;\n}\n\nspan.jp-RunningSessions-icon > svg {\n  display: block;\n  margin: 0 auto;\n}\n\n.jp-RunningSessions-itemLabel {\n  font-size: var(--jp-ui-font-size1);\n  flex: 1 1 55%;\n  text-overflow: ellipsis;\n  overflow: hidden;\n  white-space: nowrap;\n}\n\n.jp-RunningSessions-itemDetail {\n  font-size: var(--jp-ui-font-size1);\n  flex: 1 1 45%;\n  padding: 0 4px;\n  text-overflow: ellipsis;\n  overflow: hidden;\n  white-space: nowrap;\n}\n\n.jp-RunningSessions-itemShutdown {\n  visibility: hidden;\n}\n\n.jp-RunningSessions-item:focus-visible > .jp-RunningSessions-itemShutdown,\n.jp-RunningSessions-item:hover > .jp-RunningSessions-itemShutdown {\n  visibility: visible;\n}\n\n.jp-RunningSessions-shutdownAll.jp-ToolbarButtonComponent {\n  color: var(--jp-warn-color1);\n}\n\n.jp-RunningSessions-shutdownAll.jp-ToolbarButtonComponent[disabled] {\n  color: var(--jp-ui-font-color2);\n}\n\n/*-----------------------------------------------------------------------------\n| SearchableSessions\n|----------------------------------------------------------------------------*/\n\n.jp-RunningSessions-item.jp-mod-active {\n  background-color: var(--jp-layout-color2);\n  outline: 1px solid var(--jp-brand-color1);\n  outline-offset: -2px;\n}\n\n.jp-RunningSessions-item.jp-mod-active.jp-TreeItem::part(positioning-region) {\n  background-color: transparent;\n}\n\n.jp-SearchableSessions-list > .jp-RunningSessions-section {\n  min-height: auto;\n}\n\n.jp-SearchableSessions-title {\n  color: var(--jp-ui-font-color1);\n  font-size: var(--jp-ui-font-size0);\n  margin: 0;\n  padding: 4px 0;\n}\n\n.jp-SearchableSessions-titleLabel {\n  text-transform: uppercase;\n}\n\n.jp-SearchableSessions-acceptButton {\n  display: none;\n}\n\n.jp-SearchableSessions-list > .jp-RunningSessions-section.jp-mod-empty {\n  display: none;\n}\n\n.jp-SearchableSessions-filter {\n  overflow: visible;\n\n  /* Required to display correctly the filter box and its focus highlight */\n  padding: 0 2px;\n}\n\n.jp-SearchableSessions-filter > .jp-FilterBox {\n  width: 100%;\n}\n\n.jp-SearchableSessions-list {\n  overflow: auto;\n}\n\n.jp-SearchableSessions.jp-Dialog-body {\n  display: flex;\n}\n\n.jp-SearchableSessions-modal .jp-Dialog-content {\n  padding: 16px;\n  box-shadow: var(--jp-elevation-z4);\n  border-radius: 4px;\n  min-height: 100px;\n  max-height: 95%;\n}\n\n.jp-SearchableSessions-modal .jp-Dialog-footer {\n  display: none;\n}\n\n.jp-SearchableSessions-modal .jp-Dialog-header {\n  font-size: var(--jp-ui-font-size2);\n}\n\n.jp-SearchableSessions-modal.jp-Dialog {\n  background: transparent;\n  justify-content: start;\n  padding-top: 38px;\n  border: 0;\n}\n\n.jp-SearchableSessions-emptyIndicator {\n  color: var(--jp-ui-font-color2);\n  padding: 16px;\n  text-align: center;\n  padding-bottom: 8px;\n}\n\n.jp-RunningSessions-section:not(.jp-mod-empty)\n  ~ .jp-SearchableSessions-emptyIndicator {\n  display: none;\n}\n"],sourceRoot:""}]);let a=s},66314(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

:root {
  --jp-private-settingeditor-debug-height: 28px;
  --jp-private-settingeditor-key-width: 150px;
  --jp-private-settingeditor-legend-height: 16px;
  --jp-private-settingeditor-row-height: 16px;
  --jp-private-settingeditor-toolbar-height: 28px;
  --jp-private-settingeditor-type-width: 75px;
  --jp-private-settingeditor-modifier-indent: 5px;
  --jp-private-settingeditor-header-spacing: 8px;
}

.jp-SettingsPanel,
#json-setting-editor {
  min-width: 360px;
  min-height: 240px;
  background-color: var(--jp-layout-color0);
  color: var(--jp-ui-font-color0);
  margin-top: -1px;
  outline: none;

  /* 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);
}

#setting-editor > .lm-Widget,
#json-setting-editor > .lm-Widget {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

#setting-editor .lm-SplitPanel-handle,
#json-setting-editor .lm-SplitPanel-handle {
  background-color: var(--jp-border-color2);
}

/** Plugin list **/

.jp-PluginList {
  min-width: 175px;
  max-width: 275px;
}

.jp-PluginList-wrapper {
  overflow-y: auto;
  height: 100%;
}

.jp-PluginList ul {
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  position: relative;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.jp-PluginList .jp-PluginList-header {
  border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
  border-top: var(--jp-border-width) solid var(--jp-border-color2);
  color: var(--jp-ui-font-color1);
}

.jp-PluginList .jp-PluginList-noResults,
.jp-PluginList .jp-PluginList-header {
  flex: 0 0 auto;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: var(--jp-ui-font-size0);
  padding: 8px 8px 8px 12px;
  margin: 10px;
  border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
  border-top: var(--jp-border-width) solid var(--jp-border-color2);
  color: var(--jp-ui-font-color1);
}

.jp-PluginList .jp-SelectedIndicator {
  width: 3px;
  background-color: var(--jp-brand-color1);
  height: var(--jp-cell-collapser-min-height);
  visibility: hidden;
}

.jp-PluginList .jp-mod-selected .jp-SelectedIndicator {
  visibility: inherit;
}

.jp-PluginList .jp-ErrorPlugin .jp-SelectedIndicator {
  background-color: var(--jp-error-color0);
}

.jp-PluginList-icon {
  display: flex;
  height: 20px;
  width: 20px;
  margin-right: 3px;
  position: relative;
}

.jp-PluginList-wrapper > .jp-FilterBox {
  margin: 8px 12px 0;
}

.jp-PluginList mark {
  background-color: transparent;
  font-weight: bold;
  color: var(--jp-ui-font-color1);
}

.jp-PluginList-entry {
  display: flex;
  flex-direction: column;
  border: 1px solid transparent;
  background: transparent;
  overflow: hidden;
  padding: 4px 0 4px 4px;
  white-space: nowrap;
  cursor: pointer;
}

.jp-PluginList-entry:hover {
  background: var(--jp-layout-color2);
}

.jp-PluginList-entry li {
  margin-left: 27px;
  margin-top: 5px;
  color: var(--jp-ui-font-color1);
  overflow-x: hidden;
  text-overflow: ellipsis;
}

.jp-PluginList-entry-label {
  display: flex;
}

.jp-PluginList-entry-label-text {
  text-overflow: ellipsis;
  overflow-x: hidden;
  white-space: nowrap;
  color: var(--jp-ui-font-color1);
  line-height: var(--jp-cell-collapser-min-height);
}

/** Raw editor **/

.jp-SettingsRawEditor .jp-Toolbar {
  color: var(--jp-ui-font-color0);
  font-size: var(--jp-ui-font-size1);
  height: var(--jp-private-settingeditor-toolbar-height);
  max-height: var(--jp-private-settingeditor-toolbar-height);
}

.jp-SettingsRawEditor .jp-Toolbar .jp-ToolbarButtonComponent-label {
  display: none;
}

.jp-SettingsRawEditor .jp-Toolbar-item {
  margin-top: 1px;
  align-items: center;
}

.jp-SettingsRawEditor .jp-Inspector {
  border-top: 2px solid var(--jp-layout-color2);
  min-height: var(--jp-private-settingeditor-debug-height);
  max-height: var(--jp-private-settingeditor-debug-height);
}

.jp-SettingsRawEditor .jp-Inspector.jp-SettingsDebug .jp-RenderedHTMLCommon {
  padding: 2px 5px 2px 0;
  width: 100%;
}

.jp-SettingsRawEditor .jp-Inspector.jp-SettingsDebug .jp-RenderedHTMLCommon p {
  text-align: right;
}

.jp-SettingsRawEditor .cm-editor {
  height: 100%;
}

/** Panel **/

.jp-SettingsPanel .checkbox p {
  font-size: var(--jp-content-font-size1);
}

.jp-SettingsPanel .checkbox {
  display: flex;
  flex-direction: column-reverse;
}

.jp-SettingsPanel .form-group {
  display: flex;
  padding: 4px 8px 4px var(--jp-private-settingeditor-modifier-indent);
  margin-top: 5px;
}

.jp-SettingsPanel .jp-SettingsEditor {
  padding: 20px;
}

.jp-SettingsPanel {
  overflow-y: auto;
  height: 100%;
}

.jp-SettingsForm {
  position: relative;
}

.jp-SettingsForm > .rjsf > .form-group {
  padding-top: 0;
  margin-top: 0;
}

/** Settings header **/

.jp-SettingsHeader {
  display: grid;
  grid-template:
    'title buttonbar'
    'description buttonbar';
  grid-template-columns: 1fr max-content;
  padding: 0 var(--jp-private-settingeditor-header-spacing);
  border-bottom: 1px solid var(--jp-border-color2);
}

.jp-SettingsHeader-title {
  font-size: var(--jp-content-font-size3);
  color: var(--jp-ui-font-color0);
  font-weight: 400;
  grid-area: title;
  padding: 0;
  margin-top: calc(var(--jp-private-settingeditor-header-spacing) * 2);
  margin-bottom: calc(var(--jp-private-settingeditor-header-spacing) / 2);
}

.jp-SettingsHeader-description {
  grid-area: description;
  padding-bottom: var(--jp-private-settingeditor-header-spacing);
  color: var(--jp-ui-font-color1);
}

.jp-SettingsHeader-buttonbar {
  margin: auto var(--jp-private-settingeditor-header-spacing);
  grid-row: span 2;
}

.jp-SettingsHeader-buttonbar > .jp-RestoreButton {
  background-color: var(--jp-warn-color-normal);
  border: 0;
  color: var(--jp-ui-inverse-font-color0);
}

.jp-PluginEditor {
  overflow: auto;
}

/** Placeholder **/

.jp-SettingsEditor-placeholder {
  text-align: center;
}

.jp-SettingsEditor-placeholderContent {
  color: var(--jp-content-font-color2);
  padding: 8px;
}

.jp-SettingsEditor-placeholderContent > h3 {
  margin-bottom: var(--jp-content-heading-margin-bottom);
}

/** Import Settings Widget **/
.jp-SettingsImport-container {
  padding: 20px;
}

.jp-SettingsImport-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.jp-SettingsImport-title {
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  font-size: 1rem;
  font-weight: bold;
  padding: 10px 15px;
}

.jp-SettingsImport-list {
  margin-top: 30px;
  max-height: 400px; /* Limit height for scrollable list */
  overflow-y: auto;
}

.jp-SettingsImport-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--jp-border-color2);
  padding: 10px 15px;
  cursor: pointer;
}

.jp-SettingsImport-itemKey {
  flex: 1;
}

.jp-SettingsImport-checkbox {
  flex-shrink: 0;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/settingeditor/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,6CAA6C;EAC7C,2CAA2C;EAC3C,8CAA8C;EAC9C,2CAA2C;EAC3C,+CAA+C;EAC/C,2CAA2C;EAC3C,+CAA+C;EAC/C,8CAA8C;AAChD;;AAEA;;EAEE,gBAAgB;EAChB,iBAAiB;EACjB,yCAAyC;EACzC,+BAA+B;EAC/B,gBAAgB;EAChB,aAAa;;EAEb;iCAC+B;EAC/B,kCAAkC;AACpC;;AAEA;;EAEE,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,OAAO;EACP,QAAQ;AACV;;AAEA;;EAEE,yCAAyC;AAC3C;;AAEA,kBAAkB;;AAElB;EACE,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,+BAA+B;EAC/B,kCAAkC;EAClC,qBAAqB;EACrB,SAAS;EACT,UAAU;EACV,gBAAgB;EAChB,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,OAAO;EACP,QAAQ;AACV;;AAEA;EACE,mEAAmE;EACnE,gEAAgE;EAChE,+BAA+B;AACjC;;AAEA;;EAEE,cAAc;EACd,gBAAgB;EAChB,yBAAyB;EACzB,mBAAmB;EACnB,kCAAkC;EAClC,yBAAyB;EACzB,YAAY;EACZ,mEAAmE;EACnE,gEAAgE;EAChE,+BAA+B;AACjC;;AAEA;EACE,UAAU;EACV,wCAAwC;EACxC,2CAA2C;EAC3C,kBAAkB;AACpB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,aAAa;EACb,YAAY;EACZ,WAAW;EACX,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,6BAA6B;EAC7B,iBAAiB;EACjB,+BAA+B;AACjC;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,6BAA6B;EAC7B,uBAAuB;EACvB,gBAAgB;EAChB,sBAAsB;EACtB,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,iBAAiB;EACjB,eAAe;EACf,+BAA+B;EAC/B,kBAAkB;EAClB,uBAAuB;AACzB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,uBAAuB;EACvB,kBAAkB;EAClB,mBAAmB;EACnB,+BAA+B;EAC/B,gDAAgD;AAClD;;AAEA,iBAAiB;;AAEjB;EACE,+BAA+B;EAC/B,kCAAkC;EAClC,sDAAsD;EACtD,0DAA0D;AAC5D;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,eAAe;EACf,mBAAmB;AACrB;;AAEA;EACE,6CAA6C;EAC7C,wDAAwD;EACxD,wDAAwD;AAC1D;;AAEA;EACE,sBAAsB;EACtB,WAAW;AACb;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,YAAY;AACd;;AAEA,YAAY;;AAEZ;EACE,uCAAuC;AACzC;;AAEA;EACE,aAAa;EACb,8BAA8B;AAChC;;AAEA;EACE,aAAa;EACb,oEAAoE;EACpE,eAAe;AACjB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,cAAc;EACd,aAAa;AACf;;AAEA,sBAAsB;;AAEtB;EACE,aAAa;EACb;;2BAEyB;EACzB,sCAAsC;EACtC,yDAAyD;EACzD,gDAAgD;AAClD;;AAEA;EACE,uCAAuC;EACvC,+BAA+B;EAC/B,gBAAgB;EAChB,gBAAgB;EAChB,UAAU;EACV,oEAAoE;EACpE,uEAAuE;AACzE;;AAEA;EACE,sBAAsB;EACtB,8DAA8D;EAC9D,+BAA+B;AACjC;;AAEA;EACE,2DAA2D;EAC3D,gBAAgB;AAClB;;AAEA;EACE,6CAA6C;EAC7C,SAAS;EACT,uCAAuC;AACzC;;AAEA;EACE,cAAc;AAChB;;AAEA,kBAAkB;;AAElB;EACE,kBAAkB;AACpB;;AAEA;EACE,oCAAoC;EACpC,YAAY;AACd;;AAEA;EACE,sDAAsD;AACxD;;AAEA,6BAA6B;AAC7B;EACE,aAAa;AACf;;AAEA;EACE,aAAa;EACb,8BAA8B;EAC9B,mBAAmB;AACrB;;AAEA;EACE,wEAAwE;EACxE,eAAe;EACf,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;EAChB,iBAAiB,EAAE,qCAAqC;EACxD,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,8BAA8B;EAC9B,mBAAmB;EACnB,mBAAmB;EACnB,gDAAgD;EAChD,kBAAkB;EAClB,eAAe;AACjB;;AAEA;EACE,OAAO;AACT;;AAEA;EACE,cAAc;AAChB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-private-settingeditor-debug-height: 28px;\n  --jp-private-settingeditor-key-width: 150px;\n  --jp-private-settingeditor-legend-height: 16px;\n  --jp-private-settingeditor-row-height: 16px;\n  --jp-private-settingeditor-toolbar-height: 28px;\n  --jp-private-settingeditor-type-width: 75px;\n  --jp-private-settingeditor-modifier-indent: 5px;\n  --jp-private-settingeditor-header-spacing: 8px;\n}\n\n.jp-SettingsPanel,\n#json-setting-editor {\n  min-width: 360px;\n  min-height: 240px;\n  background-color: var(--jp-layout-color0);\n  color: var(--jp-ui-font-color0);\n  margin-top: -1px;\n  outline: none;\n\n  /* This is needed so that all font sizing of children done in ems is\n   * relative to this base size */\n  font-size: var(--jp-ui-font-size1);\n}\n\n#setting-editor > .lm-Widget,\n#json-setting-editor > .lm-Widget {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n}\n\n#setting-editor .lm-SplitPanel-handle,\n#json-setting-editor .lm-SplitPanel-handle {\n  background-color: var(--jp-border-color2);\n}\n\n/** Plugin list **/\n\n.jp-PluginList {\n  min-width: 175px;\n  max-width: 275px;\n}\n\n.jp-PluginList-wrapper {\n  overflow-y: auto;\n  height: 100%;\n}\n\n.jp-PluginList ul {\n  color: var(--jp-ui-font-color1);\n  font-size: var(--jp-ui-font-size1);\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n  overflow-y: auto;\n  position: relative;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n}\n\n.jp-PluginList .jp-PluginList-header {\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color2);\n  border-top: var(--jp-border-width) solid var(--jp-border-color2);\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-PluginList .jp-PluginList-noResults,\n.jp-PluginList .jp-PluginList-header {\n  flex: 0 0 auto;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 1px;\n  font-size: var(--jp-ui-font-size0);\n  padding: 8px 8px 8px 12px;\n  margin: 10px;\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color2);\n  border-top: var(--jp-border-width) solid var(--jp-border-color2);\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-PluginList .jp-SelectedIndicator {\n  width: 3px;\n  background-color: var(--jp-brand-color1);\n  height: var(--jp-cell-collapser-min-height);\n  visibility: hidden;\n}\n\n.jp-PluginList .jp-mod-selected .jp-SelectedIndicator {\n  visibility: inherit;\n}\n\n.jp-PluginList .jp-ErrorPlugin .jp-SelectedIndicator {\n  background-color: var(--jp-error-color0);\n}\n\n.jp-PluginList-icon {\n  display: flex;\n  height: 20px;\n  width: 20px;\n  margin-right: 3px;\n  position: relative;\n}\n\n.jp-PluginList-wrapper > .jp-FilterBox {\n  margin: 8px 12px 0;\n}\n\n.jp-PluginList mark {\n  background-color: transparent;\n  font-weight: bold;\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-PluginList-entry {\n  display: flex;\n  flex-direction: column;\n  border: 1px solid transparent;\n  background: transparent;\n  overflow: hidden;\n  padding: 4px 0 4px 4px;\n  white-space: nowrap;\n  cursor: pointer;\n}\n\n.jp-PluginList-entry:hover {\n  background: var(--jp-layout-color2);\n}\n\n.jp-PluginList-entry li {\n  margin-left: 27px;\n  margin-top: 5px;\n  color: var(--jp-ui-font-color1);\n  overflow-x: hidden;\n  text-overflow: ellipsis;\n}\n\n.jp-PluginList-entry-label {\n  display: flex;\n}\n\n.jp-PluginList-entry-label-text {\n  text-overflow: ellipsis;\n  overflow-x: hidden;\n  white-space: nowrap;\n  color: var(--jp-ui-font-color1);\n  line-height: var(--jp-cell-collapser-min-height);\n}\n\n/** Raw editor **/\n\n.jp-SettingsRawEditor .jp-Toolbar {\n  color: var(--jp-ui-font-color0);\n  font-size: var(--jp-ui-font-size1);\n  height: var(--jp-private-settingeditor-toolbar-height);\n  max-height: var(--jp-private-settingeditor-toolbar-height);\n}\n\n.jp-SettingsRawEditor .jp-Toolbar .jp-ToolbarButtonComponent-label {\n  display: none;\n}\n\n.jp-SettingsRawEditor .jp-Toolbar-item {\n  margin-top: 1px;\n  align-items: center;\n}\n\n.jp-SettingsRawEditor .jp-Inspector {\n  border-top: 2px solid var(--jp-layout-color2);\n  min-height: var(--jp-private-settingeditor-debug-height);\n  max-height: var(--jp-private-settingeditor-debug-height);\n}\n\n.jp-SettingsRawEditor .jp-Inspector.jp-SettingsDebug .jp-RenderedHTMLCommon {\n  padding: 2px 5px 2px 0;\n  width: 100%;\n}\n\n.jp-SettingsRawEditor .jp-Inspector.jp-SettingsDebug .jp-RenderedHTMLCommon p {\n  text-align: right;\n}\n\n.jp-SettingsRawEditor .cm-editor {\n  height: 100%;\n}\n\n/** Panel **/\n\n.jp-SettingsPanel .checkbox p {\n  font-size: var(--jp-content-font-size1);\n}\n\n.jp-SettingsPanel .checkbox {\n  display: flex;\n  flex-direction: column-reverse;\n}\n\n.jp-SettingsPanel .form-group {\n  display: flex;\n  padding: 4px 8px 4px var(--jp-private-settingeditor-modifier-indent);\n  margin-top: 5px;\n}\n\n.jp-SettingsPanel .jp-SettingsEditor {\n  padding: 20px;\n}\n\n.jp-SettingsPanel {\n  overflow-y: auto;\n  height: 100%;\n}\n\n.jp-SettingsForm {\n  position: relative;\n}\n\n.jp-SettingsForm > .rjsf > .form-group {\n  padding-top: 0;\n  margin-top: 0;\n}\n\n/** Settings header **/\n\n.jp-SettingsHeader {\n  display: grid;\n  grid-template:\n    'title buttonbar'\n    'description buttonbar';\n  grid-template-columns: 1fr max-content;\n  padding: 0 var(--jp-private-settingeditor-header-spacing);\n  border-bottom: 1px solid var(--jp-border-color2);\n}\n\n.jp-SettingsHeader-title {\n  font-size: var(--jp-content-font-size3);\n  color: var(--jp-ui-font-color0);\n  font-weight: 400;\n  grid-area: title;\n  padding: 0;\n  margin-top: calc(var(--jp-private-settingeditor-header-spacing) * 2);\n  margin-bottom: calc(var(--jp-private-settingeditor-header-spacing) / 2);\n}\n\n.jp-SettingsHeader-description {\n  grid-area: description;\n  padding-bottom: var(--jp-private-settingeditor-header-spacing);\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-SettingsHeader-buttonbar {\n  margin: auto var(--jp-private-settingeditor-header-spacing);\n  grid-row: span 2;\n}\n\n.jp-SettingsHeader-buttonbar > .jp-RestoreButton {\n  background-color: var(--jp-warn-color-normal);\n  border: 0;\n  color: var(--jp-ui-inverse-font-color0);\n}\n\n.jp-PluginEditor {\n  overflow: auto;\n}\n\n/** Placeholder **/\n\n.jp-SettingsEditor-placeholder {\n  text-align: center;\n}\n\n.jp-SettingsEditor-placeholderContent {\n  color: var(--jp-content-font-color2);\n  padding: 8px;\n}\n\n.jp-SettingsEditor-placeholderContent > h3 {\n  margin-bottom: var(--jp-content-heading-margin-bottom);\n}\n\n/** Import Settings Widget **/\n.jp-SettingsImport-container {\n  padding: 20px;\n}\n\n.jp-SettingsImport-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n\n.jp-SettingsImport-title {\n  /* stylelint-disable-next-line declaration-property-value-allowed-list */\n  font-size: 1rem;\n  font-weight: bold;\n  padding: 10px 15px;\n}\n\n.jp-SettingsImport-list {\n  margin-top: 30px;\n  max-height: 400px; /* Limit height for scrollable list */\n  overflow-y: auto;\n}\n\n.jp-SettingsImport-item {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 10px;\n  border-bottom: 1px solid var(--jp-border-color2);\n  padding: 10px 15px;\n  cursor: pointer;\n}\n\n.jp-SettingsImport-itemKey {\n  flex: 1;\n}\n\n.jp-SettingsImport-checkbox {\n  flex-shrink: 0;\n}\n"],sourceRoot:""}]);let a=s},91996(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* Shortcut Input Style */

.jp-Shortcuts-InputBox {
  display: inline-flex;
  padding-top: 2px;
}

.jp-Shortcuts-InputBoxNew {
  margin-left: 10px;
}

.jp-mod-hidden {
  display: none;
}

@keyframes slide-animation {
  from {
    width: 0;
    left: 0;
  }

  to {
    width: 120px;
    left: 0;
  }
}

.jp-Shortcuts-Input {
  animation-duration: 0.3s;
  animation-timing-function: ease-out;
  animation-name: slide-animation;
  border-width: var(--jp-border-width);
  border-color: var(--jp-border-color3);
  border-style: solid;
  background-color: var(--jp-layout-color0);
  margin-left: auto;
  padding-left: 10px;
  width: 120px;
  height: 25px;
  line-height: 25px;
  display: block;
}

.jp-Shortcuts-Input:focus {
  outline: none;
  color: var(--jp-content-font-color1);
  border-color: var(--jp-brand-color2);
}

.jp-mod-unavailable-Input:focus {
  border-color: var(--jp-error-color2);
}

.jp-Shortcuts-InputText {
  overflow-x: hidden;
  overflow-y: hidden;
  margin: 0;
  margin-top: 4px;
  padding: 0 5px;
  height: 17px;
  line-height: 17px;
  width: fit-content;
}

.jp-mod-selected-InputText {
  background-color: var(--jp-shortcuts-button-background);
  overflow: hidden;
}

.jp-mod-waiting-InputText {
  color: var(--jp-content-font-color3);
}

.jp-Shortcuts-Submit {
  background-color: var(--jp-brand-color2);
  border-radius: 0;
  border: none;
  color: var(--jp-layout-color0);
  font-family: var(--jp-ui-font-family);
  display: block;
  height: 27px;
  width: 26px;
  cursor: pointer;
}

.jp-Shortcuts-Submit:focus {
  outline: none;
}

.jp-Shortcuts-Submit .jp-icon3[fill] {
  fill: var(--jp-layout-color1);
}

.jp-Shortcuts-Submit.jp-mod-defunc-Submit {
  background-color: var(--jp-layout-color3);
}

.jp-Shortcuts-Submit.jp-mod-defunc-Submit .jp-icon3[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-Shortcuts-Submit.jp-mod-conflict-Submit {
  background-color: var(--jp-error-color1);
}

/* Shortcut Item Style */
.jp-Shortcuts-Cell {
  padding: 6px 12px;
  display: table-cell;
  width: 20%;
  vertical-align: middle;
}

.jp-Shortcuts-Row-newShortcut .jp-Shortcuts-Cell .jp-HTMLSelect {
  position: relative;
  max-width: 300px;
}

.jp-Shortcuts-Row-newShortcut .jp-Shortcuts-Cell .jp-HTMLSelect select {
  max-width: 300px;
  white-space: pre-wrap;
}

.jp-Shortcuts-Row-newShortcut .jp-Shortcuts-Cell .jp-HTMLSelect svg {
  top: 4px;
}

.jp-Shortcuts-Cell jp-button {
  vertical-align: inherit;
}

.jp-Shortcuts-Cell jp-button.jp-Shortcuts-CustomOptions {
  margin-left: 10px;
}

.jp-Shortcuts-ShortcutCell {
  display: flex;
  min-width: max-content;
  flex-wrap: wrap;
}

.jp-Shortcuts-EmptyCell {
  height: 32px;
}

.jp-Shortcuts-Row {
  width: 100%;
  display: table-row;
  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
  vertical-align: middle;
  background-color: var(--jp-layout-color0);
}

.jp-Shortcuts-Row.jp-Shortcuts-Row-newShortcut {
  background-color: var(--jp-layout-color2);
}

.jp-Shortcuts-Row.jp-Shortcuts-Row-newShortcut
  .jp-Shortcuts-Cell:first-of-type {
  display: none;
}

.jp-Shortcuts-Row.jp-Shortcuts-Row-newShortcut .jp-Shortcuts-Cell:nth-child(2) {
  width: 40%;
}

.jp-Shortcuts-Row-newShortcut
  .jp-Shortcuts-SaveNew:not(:disabled)
  .jp-icon3[fill] {
  fill: var(--jp-ui-inverse-font-color0);
}

.jp-Shortcuts-Row-newShortcut .jp-Shortcuts-SaveNew:not(:disabled) {
  background: var(--jp-shortcuts-button-hover-background);
}

.jp-Shortcuts-Row-newShortcut .jp-Shortcuts-SaveNew:not(:disabled):hover {
  background: var(--jp-accept-color-normal);
}

.jp-Shortcuts-Row:hover .jp-Shortcuts-ShortcutKeys {
  border-color: var(--jp-border-color1);
  background: var(--jp-layout-color2);
}

.jp-Shortcuts-Row:hover .jp-Shortcuts-Plus,
.jp-Shortcuts-Row:hover .jp-Shortcuts-Or {
  opacity: 1;
}

.jp-Shortcuts-ErrorMessage {
  color: var(--jp-error-color1);
  align-self: center;
}

.jp-Shortcuts-RowWithConflict {
  height: 45px;
  position: relative;
}

.jp-Shortcuts-ErrorButton {
  margin-left: 12px;
  white-space: nowrap;
}

.jp-Shortcuts-ErrorButton > button {
  margin-right: 12px;
}

.jp-Shortcuts-ShortcutContainer {
  display: flex;
  flex-wrap: wrap;
}

.jp-Shortcuts-ShortcutContainer:hover .jp-Shortcuts-ShortcutKeys {
  border-color: var(--jp-border-color3);
  background: var(--jp-layout-color3);
}

.jp-Shortcuts-ShortcutKeysContainer {
  font-size: var(--jp-code-font-size);
  font-family: var(--jp-ui-font-family);
  display: flex;
}

.jp-Shortcuts-ConflictContainer {
  display: block;
  padding: 6px 12px;
  position: absolute;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.jp-Shortcuts-Conflict {
  display: flex;
  flex-wrap: nowrap;
}

.jp-Shortcuts-ShortcutKeys {
  border-width: var(--jp-border-width);
  border-color: var(--jp-layout-color0);
  border-radius: var(--jp-border-radius);
  padding: 5px 6px;
  margin: 3px 0;
  cursor: pointer;
}

.jp-Shortcuts-Or {
  margin-right: 12px;
  margin-left: 12px;
  margin-top: 8px;
  color: var(--jp-content-font-color3);
  opacity: 0;
}

.jp-Shortcuts-Or:hover {
  opacity: 1;
}

.jp-Shortcuts-Or-Forced {
  opacity: 1;
}

.jp-Shortcuts-Comma {
  margin-top: 10px;
  margin-right: 2px;
  margin-left: 2px;
}

.jp-Shortcuts-Plus {
  opacity: 0;
  background: var(--jp-shortcuts-button-background);
  border-color: var(--jp-layout-color0);
  border-radius: var(--jp-border-radius);
  border-width: var(--jp-border-width);
  margin: 3px 0;
  padding: 5px 6px;
  color: var(--jp-ui-inverse-font-color1);
  cursor: pointer;
}

.jp-Shortcuts-Plus:hover {
  background: var(--jp-shortcuts-button-hover-background);
}

.jp-Shortcuts-Plus:active {
  background-color: var(--jp-brand-color2);
}

.jp-Shortcuts-Reset {
  color: var(--jp-brand-color2);
  padding-left: 10px;
  cursor: pointer;
}

.jp-Shortcuts-Reset:hover {
  color: var(--jp-brand-color1);
}

.jp-Shortcuts-SourceCell {
  display: inline-block;
}

/* Shortcut List Style */
.jp-Shortcuts-ShortcutList {
  width: 100%;
  display: table;
  border-collapse: collapse;
}

.jp-Shortcuts-ShortcutListContainer {
  overflow-y: scroll;
  border: var(--jp-border-width) solid var(--jp-border-color1);
}

/* Shortcut Title Item Style */
.jp-Shortcuts-Header {
  display: flex;
  cursor: pointer;
}

.jp-Shortcuts-Header:hover .jp-ShortcutTitleItem-sortButton .jp-icon3[fill],
.jp-Shortcuts-Header:focus .jp-ShortcutTitleItem-sortButton .jp-icon3[fill] {
  fill: var(--jp-ui-font-color0);
}

.jp-Shortcuts-Header:active .jp-ShortcutTitleItem-sortButton {
  outline: none;
}

.jp-Shortcuts-CurrentHeader .jp-icon3[fill] {
  fill: var(--jp-ui-font-color0);
}

/* Shortcut UI Style */

.jp-Shortcuts-ShortcutUI {
  display: flex;
  flex-direction: column;
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  color: var(--jp-content-font-color1);
  min-width: 450px;
  width: 100%;
}

/* TopNav Style */
.jp-Shortcuts-Top {
  display: block;
}

.jp-Shortcuts-TopNav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  font-size: var(--jp-ui-font-size1);
  background-color: var(--jp-layout-color0);
}

.jp-Shortcuts-TopNav > .jp-FilterBox {
  width: 70%;
}

.jp-Shortcuts-Symbols {
  padding: 0 12px;
}

.jp-Shortcuts-Symbols td:nth-child(2) {
  padding-right: 10px;
}

.jp-Shortcuts-AdvancedOptions {
  padding-left: 12px;
  display: flex;
  align-items: center;
}

.jp-Shortcuts-AdvancedOptionsLink {
  color: var(--jp-content-link-color);
  margin-right: 15px;
  display: inline-block;
  cursor: pointer;
}

.jp-Shortcuts-AdvancedOptionsLink:hover {
  color: var(--jp-brand-color0);
  text-decoration: underline;
}

.jp-Shortcuts-AdvancedOptionsLink:active {
  color: var(--jp-brand-color0);
  text-decoration: underline;
}

.jp-Shortcuts-AdvancedOptionsButton.jp-mod-styled.jp-mod-accept {
  background: var(--jp-shortcuts-button-hover-background);
}

.jp-Shortcuts-AdvancedOptionsButton.jp-mod-styled.jp-mod-accept:hover {
  background: var(--jp-accept-color-normal);
}

.jp-Shortcuts-AdvancedOptionsButton.jp-mod-styled:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.jp-Shortcuts-AdvancedOptionsButton.jp-mod-styled .jp-icon3[fill] {
  fill: var(--jp-ui-inverse-font-color0);
}

.jp-Shortcuts-HeaderRowContainer {
  padding-right: 14px;
}

.jp-Shortcuts-HeaderRow {
  font-weight: bold;
  font-size: var(--jp-ui-font-size1);
  background-color: var(--jp-layout-color0);
  width: 100%;
  z-index: 1;
  display: table;
  padding: 10px 0;
}

.jp-Shortcuts-commandIcon {
  margin-right: 13px;
}

.jp-Shortcuts-altIcon {
  margin-right: 14px;
}

.jp-Shortcuts-controlIcon {
  margin-left: 8px;
  margin-right: 16px;
}

.jp-Shortcuts-CustomOptionsDialogBody {
  padding: 12px;
  display: flex;
  flex-direction: column;
}

.jp-Shortcuts-CustomOptionDialog-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 500px;
  height: 400px;
  padding: 12px;
}

.jp-Shortcuts-CustomOptionDialog-container label {
  margin: 0;
  font-weight: bold;
  font-size: var(--jp-ui-font-size1);
}

.jp-Shortcuts-CustomOptionDialog-container input {
  padding: 8px;
  border: 1px solid var(--jp-border-color1);
  border-radius: 2px;
}

.jp-JSONEditor {
  flex: 1;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/shortcuts-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E,yBAAyB;;AAEzB;EACE,oBAAoB;EACpB,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE;IACE,QAAQ;IACR,OAAO;EACT;;EAEA;IACE,YAAY;IACZ,OAAO;EACT;AACF;;AAEA;EACE,wBAAwB;EACxB,mCAAmC;EACnC,+BAA+B;EAC/B,oCAAoC;EACpC,qCAAqC;EACrC,mBAAmB;EACnB,yCAAyC;EACzC,iBAAiB;EACjB,kBAAkB;EAClB,YAAY;EACZ,YAAY;EACZ,iBAAiB;EACjB,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,oCAAoC;EACpC,oCAAoC;AACtC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,kBAAkB;EAClB,kBAAkB;EAClB,SAAS;EACT,eAAe;EACf,cAAc;EACd,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;AACpB;;AAEA;EACE,uDAAuD;EACvD,gBAAgB;AAClB;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,wCAAwC;EACxC,gBAAgB;EAChB,YAAY;EACZ,8BAA8B;EAC9B,qCAAqC;EACrC,cAAc;EACd,YAAY;EACZ,WAAW;EACX,eAAe;AACjB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,wCAAwC;AAC1C;;AAEA,wBAAwB;AACxB;EACE,iBAAiB;EACjB,mBAAmB;EACnB,UAAU;EACV,sBAAsB;AACxB;;AAEA;EACE,kBAAkB;EAClB,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;EAChB,qBAAqB;AACvB;;AAEA;EACE,QAAQ;AACV;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,eAAe;AACjB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,mEAAmE;EACnE,sBAAsB;EACtB,yCAAyC;AAC3C;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;;EAEE,aAAa;AACf;;AAEA;EACE,UAAU;AACZ;;AAEA;;;EAGE,sCAAsC;AACxC;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,qCAAqC;EACrC,mCAAmC;AACrC;;AAEA;;EAEE,UAAU;AACZ;;AAEA;EACE,6BAA6B;EAC7B,kBAAkB;AACpB;;AAEA;EACE,YAAY;EACZ,kBAAkB;AACpB;;AAEA;EACE,iBAAiB;EACjB,mBAAmB;AACrB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,eAAe;AACjB;;AAEA;EACE,qCAAqC;EACrC,mCAAmC;AACrC;;AAEA;EACE,mCAAmC;EACnC,qCAAqC;EACrC,aAAa;AACf;;AAEA;EACE,cAAc;EACd,iBAAiB;EACjB,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,sBAAsB;EACtB,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,iBAAiB;AACnB;;AAEA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,sCAAsC;EACtC,gBAAgB;EAChB,aAAa;EACb,eAAe;AACjB;;AAEA;EACE,kBAAkB;EAClB,iBAAiB;EACjB,eAAe;EACf,oCAAoC;EACpC,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,gBAAgB;EAChB,iBAAiB;EACjB,gBAAgB;AAClB;;AAEA;EACE,UAAU;EACV,iDAAiD;EACjD,qCAAqC;EACrC,sCAAsC;EACtC,oCAAoC;EACpC,aAAa;EACb,gBAAgB;EAChB,uCAAuC;EACvC,eAAe;AACjB;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,6BAA6B;EAC7B,kBAAkB;EAClB,eAAe;AACjB;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,qBAAqB;AACvB;;AAEA,wBAAwB;AACxB;EACE,WAAW;EACX,cAAc;EACd,yBAAyB;AAC3B;;AAEA;EACE,kBAAkB;EAClB,4DAA4D;AAC9D;;AAEA,8BAA8B;AAC9B;EACE,aAAa;EACb,eAAe;AACjB;;AAEA;;EAEE,8BAA8B;AAChC;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,8BAA8B;AAChC;;AAEA,sBAAsB;;AAEtB;EACE,aAAa;EACb,sBAAsB;EACtB,kCAAkC;EAClC,qCAAqC;EACrC,oCAAoC;EACpC,gBAAgB;EAChB,WAAW;AACb;;AAEA,iBAAiB;AACjB;EACE,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,sBAAsB;EACtB,kCAAkC;EAClC,yCAAyC;AAC3C;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,kBAAkB;EAClB,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,mCAAmC;EACnC,kBAAkB;EAClB,qBAAqB;EACrB,eAAe;AACjB;;AAEA;EACE,6BAA6B;EAC7B,0BAA0B;AAC5B;;AAEA;EACE,6BAA6B;EAC7B,0BAA0B;AAC5B;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,mBAAmB;EACnB,YAAY;AACd;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,iBAAiB;EACjB,kCAAkC;EAClC,yCAAyC;EACzC,WAAW;EACX,UAAU;EACV,cAAc;EACd,eAAe;AACjB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,aAAa;EACb,sBAAsB;AACxB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,SAAS;EACT,YAAY;EACZ,aAAa;EACb,aAAa;AACf;;AAEA;EACE,SAAS;EACT,iBAAiB;EACjB,kCAAkC;AACpC;;AAEA;EACE,YAAY;EACZ,yCAAyC;EACzC,kBAAkB;AACpB;;AAEA;EACE,OAAO;AACT",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Shortcut Input Style */\n\n.jp-Shortcuts-InputBox {\n  display: inline-flex;\n  padding-top: 2px;\n}\n\n.jp-Shortcuts-InputBoxNew {\n  margin-left: 10px;\n}\n\n.jp-mod-hidden {\n  display: none;\n}\n\n@keyframes slide-animation {\n  from {\n    width: 0;\n    left: 0;\n  }\n\n  to {\n    width: 120px;\n    left: 0;\n  }\n}\n\n.jp-Shortcuts-Input {\n  animation-duration: 0.3s;\n  animation-timing-function: ease-out;\n  animation-name: slide-animation;\n  border-width: var(--jp-border-width);\n  border-color: var(--jp-border-color3);\n  border-style: solid;\n  background-color: var(--jp-layout-color0);\n  margin-left: auto;\n  padding-left: 10px;\n  width: 120px;\n  height: 25px;\n  line-height: 25px;\n  display: block;\n}\n\n.jp-Shortcuts-Input:focus {\n  outline: none;\n  color: var(--jp-content-font-color1);\n  border-color: var(--jp-brand-color2);\n}\n\n.jp-mod-unavailable-Input:focus {\n  border-color: var(--jp-error-color2);\n}\n\n.jp-Shortcuts-InputText {\n  overflow-x: hidden;\n  overflow-y: hidden;\n  margin: 0;\n  margin-top: 4px;\n  padding: 0 5px;\n  height: 17px;\n  line-height: 17px;\n  width: fit-content;\n}\n\n.jp-mod-selected-InputText {\n  background-color: var(--jp-shortcuts-button-background);\n  overflow: hidden;\n}\n\n.jp-mod-waiting-InputText {\n  color: var(--jp-content-font-color3);\n}\n\n.jp-Shortcuts-Submit {\n  background-color: var(--jp-brand-color2);\n  border-radius: 0;\n  border: none;\n  color: var(--jp-layout-color0);\n  font-family: var(--jp-ui-font-family);\n  display: block;\n  height: 27px;\n  width: 26px;\n  cursor: pointer;\n}\n\n.jp-Shortcuts-Submit:focus {\n  outline: none;\n}\n\n.jp-Shortcuts-Submit .jp-icon3[fill] {\n  fill: var(--jp-layout-color1);\n}\n\n.jp-Shortcuts-Submit.jp-mod-defunc-Submit {\n  background-color: var(--jp-layout-color3);\n}\n\n.jp-Shortcuts-Submit.jp-mod-defunc-Submit .jp-icon3[fill] {\n  fill: var(--jp-inverse-layout-color1);\n}\n\n.jp-Shortcuts-Submit.jp-mod-conflict-Submit {\n  background-color: var(--jp-error-color1);\n}\n\n/* Shortcut Item Style */\n.jp-Shortcuts-Cell {\n  padding: 6px 12px;\n  display: table-cell;\n  width: 20%;\n  vertical-align: middle;\n}\n\n.jp-Shortcuts-Row-newShortcut .jp-Shortcuts-Cell .jp-HTMLSelect {\n  position: relative;\n  max-width: 300px;\n}\n\n.jp-Shortcuts-Row-newShortcut .jp-Shortcuts-Cell .jp-HTMLSelect select {\n  max-width: 300px;\n  white-space: pre-wrap;\n}\n\n.jp-Shortcuts-Row-newShortcut .jp-Shortcuts-Cell .jp-HTMLSelect svg {\n  top: 4px;\n}\n\n.jp-Shortcuts-Cell jp-button {\n  vertical-align: inherit;\n}\n\n.jp-Shortcuts-Cell jp-button.jp-Shortcuts-CustomOptions {\n  margin-left: 10px;\n}\n\n.jp-Shortcuts-ShortcutCell {\n  display: flex;\n  min-width: max-content;\n  flex-wrap: wrap;\n}\n\n.jp-Shortcuts-EmptyCell {\n  height: 32px;\n}\n\n.jp-Shortcuts-Row {\n  width: 100%;\n  display: table-row;\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);\n  vertical-align: middle;\n  background-color: var(--jp-layout-color0);\n}\n\n.jp-Shortcuts-Row.jp-Shortcuts-Row-newShortcut {\n  background-color: var(--jp-layout-color2);\n}\n\n.jp-Shortcuts-Row.jp-Shortcuts-Row-newShortcut\n  .jp-Shortcuts-Cell:first-of-type {\n  display: none;\n}\n\n.jp-Shortcuts-Row.jp-Shortcuts-Row-newShortcut .jp-Shortcuts-Cell:nth-child(2) {\n  width: 40%;\n}\n\n.jp-Shortcuts-Row-newShortcut\n  .jp-Shortcuts-SaveNew:not(:disabled)\n  .jp-icon3[fill] {\n  fill: var(--jp-ui-inverse-font-color0);\n}\n\n.jp-Shortcuts-Row-newShortcut .jp-Shortcuts-SaveNew:not(:disabled) {\n  background: var(--jp-shortcuts-button-hover-background);\n}\n\n.jp-Shortcuts-Row-newShortcut .jp-Shortcuts-SaveNew:not(:disabled):hover {\n  background: var(--jp-accept-color-normal);\n}\n\n.jp-Shortcuts-Row:hover .jp-Shortcuts-ShortcutKeys {\n  border-color: var(--jp-border-color1);\n  background: var(--jp-layout-color2);\n}\n\n.jp-Shortcuts-Row:hover .jp-Shortcuts-Plus,\n.jp-Shortcuts-Row:hover .jp-Shortcuts-Or {\n  opacity: 1;\n}\n\n.jp-Shortcuts-ErrorMessage {\n  color: var(--jp-error-color1);\n  align-self: center;\n}\n\n.jp-Shortcuts-RowWithConflict {\n  height: 45px;\n  position: relative;\n}\n\n.jp-Shortcuts-ErrorButton {\n  margin-left: 12px;\n  white-space: nowrap;\n}\n\n.jp-Shortcuts-ErrorButton > button {\n  margin-right: 12px;\n}\n\n.jp-Shortcuts-ShortcutContainer {\n  display: flex;\n  flex-wrap: wrap;\n}\n\n.jp-Shortcuts-ShortcutContainer:hover .jp-Shortcuts-ShortcutKeys {\n  border-color: var(--jp-border-color3);\n  background: var(--jp-layout-color3);\n}\n\n.jp-Shortcuts-ShortcutKeysContainer {\n  font-size: var(--jp-code-font-size);\n  font-family: var(--jp-ui-font-family);\n  display: flex;\n}\n\n.jp-Shortcuts-ConflictContainer {\n  display: block;\n  padding: 6px 12px;\n  position: absolute;\n  height: 100%;\n  width: 100%;\n  box-sizing: border-box;\n  overflow: hidden;\n}\n\n.jp-Shortcuts-Conflict {\n  display: flex;\n  flex-wrap: nowrap;\n}\n\n.jp-Shortcuts-ShortcutKeys {\n  border-width: var(--jp-border-width);\n  border-color: var(--jp-layout-color0);\n  border-radius: var(--jp-border-radius);\n  padding: 5px 6px;\n  margin: 3px 0;\n  cursor: pointer;\n}\n\n.jp-Shortcuts-Or {\n  margin-right: 12px;\n  margin-left: 12px;\n  margin-top: 8px;\n  color: var(--jp-content-font-color3);\n  opacity: 0;\n}\n\n.jp-Shortcuts-Or:hover {\n  opacity: 1;\n}\n\n.jp-Shortcuts-Or-Forced {\n  opacity: 1;\n}\n\n.jp-Shortcuts-Comma {\n  margin-top: 10px;\n  margin-right: 2px;\n  margin-left: 2px;\n}\n\n.jp-Shortcuts-Plus {\n  opacity: 0;\n  background: var(--jp-shortcuts-button-background);\n  border-color: var(--jp-layout-color0);\n  border-radius: var(--jp-border-radius);\n  border-width: var(--jp-border-width);\n  margin: 3px 0;\n  padding: 5px 6px;\n  color: var(--jp-ui-inverse-font-color1);\n  cursor: pointer;\n}\n\n.jp-Shortcuts-Plus:hover {\n  background: var(--jp-shortcuts-button-hover-background);\n}\n\n.jp-Shortcuts-Plus:active {\n  background-color: var(--jp-brand-color2);\n}\n\n.jp-Shortcuts-Reset {\n  color: var(--jp-brand-color2);\n  padding-left: 10px;\n  cursor: pointer;\n}\n\n.jp-Shortcuts-Reset:hover {\n  color: var(--jp-brand-color1);\n}\n\n.jp-Shortcuts-SourceCell {\n  display: inline-block;\n}\n\n/* Shortcut List Style */\n.jp-Shortcuts-ShortcutList {\n  width: 100%;\n  display: table;\n  border-collapse: collapse;\n}\n\n.jp-Shortcuts-ShortcutListContainer {\n  overflow-y: scroll;\n  border: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n/* Shortcut Title Item Style */\n.jp-Shortcuts-Header {\n  display: flex;\n  cursor: pointer;\n}\n\n.jp-Shortcuts-Header:hover .jp-ShortcutTitleItem-sortButton .jp-icon3[fill],\n.jp-Shortcuts-Header:focus .jp-ShortcutTitleItem-sortButton .jp-icon3[fill] {\n  fill: var(--jp-ui-font-color0);\n}\n\n.jp-Shortcuts-Header:active .jp-ShortcutTitleItem-sortButton {\n  outline: none;\n}\n\n.jp-Shortcuts-CurrentHeader .jp-icon3[fill] {\n  fill: var(--jp-ui-font-color0);\n}\n\n/* Shortcut UI Style */\n\n.jp-Shortcuts-ShortcutUI {\n  display: flex;\n  flex-direction: column;\n  font-size: var(--jp-ui-font-size1);\n  font-family: var(--jp-ui-font-family);\n  color: var(--jp-content-font-color1);\n  min-width: 450px;\n  width: 100%;\n}\n\n/* TopNav Style */\n.jp-Shortcuts-Top {\n  display: block;\n}\n\n.jp-Shortcuts-TopNav {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  box-sizing: border-box;\n  font-size: var(--jp-ui-font-size1);\n  background-color: var(--jp-layout-color0);\n}\n\n.jp-Shortcuts-TopNav > .jp-FilterBox {\n  width: 70%;\n}\n\n.jp-Shortcuts-Symbols {\n  padding: 0 12px;\n}\n\n.jp-Shortcuts-Symbols td:nth-child(2) {\n  padding-right: 10px;\n}\n\n.jp-Shortcuts-AdvancedOptions {\n  padding-left: 12px;\n  display: flex;\n  align-items: center;\n}\n\n.jp-Shortcuts-AdvancedOptionsLink {\n  color: var(--jp-content-link-color);\n  margin-right: 15px;\n  display: inline-block;\n  cursor: pointer;\n}\n\n.jp-Shortcuts-AdvancedOptionsLink:hover {\n  color: var(--jp-brand-color0);\n  text-decoration: underline;\n}\n\n.jp-Shortcuts-AdvancedOptionsLink:active {\n  color: var(--jp-brand-color0);\n  text-decoration: underline;\n}\n\n.jp-Shortcuts-AdvancedOptionsButton.jp-mod-styled.jp-mod-accept {\n  background: var(--jp-shortcuts-button-hover-background);\n}\n\n.jp-Shortcuts-AdvancedOptionsButton.jp-mod-styled.jp-mod-accept:hover {\n  background: var(--jp-accept-color-normal);\n}\n\n.jp-Shortcuts-AdvancedOptionsButton.jp-mod-styled:disabled {\n  cursor: not-allowed;\n  opacity: 0.5;\n}\n\n.jp-Shortcuts-AdvancedOptionsButton.jp-mod-styled .jp-icon3[fill] {\n  fill: var(--jp-ui-inverse-font-color0);\n}\n\n.jp-Shortcuts-HeaderRowContainer {\n  padding-right: 14px;\n}\n\n.jp-Shortcuts-HeaderRow {\n  font-weight: bold;\n  font-size: var(--jp-ui-font-size1);\n  background-color: var(--jp-layout-color0);\n  width: 100%;\n  z-index: 1;\n  display: table;\n  padding: 10px 0;\n}\n\n.jp-Shortcuts-commandIcon {\n  margin-right: 13px;\n}\n\n.jp-Shortcuts-altIcon {\n  margin-right: 14px;\n}\n\n.jp-Shortcuts-controlIcon {\n  margin-left: 8px;\n  margin-right: 16px;\n}\n\n.jp-Shortcuts-CustomOptionsDialogBody {\n  padding: 12px;\n  display: flex;\n  flex-direction: column;\n}\n\n.jp-Shortcuts-CustomOptionDialog-container {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  width: 500px;\n  height: 400px;\n  padding: 12px;\n}\n\n.jp-Shortcuts-CustomOptionDialog-container label {\n  margin: 0;\n  font-weight: bold;\n  font-size: var(--jp-ui-font-size1);\n}\n\n.jp-Shortcuts-CustomOptionDialog-container input {\n  padding: 8px;\n  border: 1px solid var(--jp-border-color1);\n  border-radius: 2px;\n}\n\n.jp-JSONEditor {\n  flex: 1;\n}\n"],sourceRoot:""}]);let a=s},22976(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/

.jp-StatusBar-Widget {
  display: flex;
  align-items: center;
  background: var(--jp-layout-color2);
  min-height: var(--jp-statusbar-height);
  justify-content: space-between;
  padding: 0 10px;
}

.jp-StatusBar-Left {
  display: flex;
  align-items: center;
  flex-direction: row;
}

.jp-StatusBar-Middle {
  display: flex;
  align-items: center;
}

.jp-StatusBar-Right {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
}

.jp-StatusBar-Item {
  max-height: var(--jp-statusbar-height);
  margin: 0 2px;
  height: var(--jp-statusbar-height);
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--jp-ui-font-color1);
  padding: 0 6px;
}

.jp-mod-highlighted:hover {
  background-color: var(--jp-layout-color3);
}

.jp-mod-clicked {
  background-color: var(--jp-brand-color1);
}

.jp-mod-clicked:hover {
  background-color: var(--jp-brand-color0);
}

.jp-mod-clicked .jp-StatusBar-TextItem {
  color: var(--jp-ui-inverse-font-color1);
}

.jp-StatusBar-HoverItem {
  border: var(--jp-border-width) solid var(--jp-border-color1);
  border-radius: var(--jp-border-radius);
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.jp-StatusBar-TextItem {
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  line-height: 24px;
  color: var(--jp-ui-font-color1);
}

.jp-StatusBar-TextItem:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
}

.jp-StatusBar-GroupItem {
  display: flex;
  align-items: center;
  flex-direction: row;
}

.jp-StatusBar-GroupItem:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
  outline-offset: -1px;
}

.jp-Statusbar-ProgressCircle > svg {
  display: block;
  margin: 0 auto;
  width: 16px;
  align-self: normal;
}

.jp-Statusbar-ProgressCircle .jp-Statusbar-ProgressCirclePath {
  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: calc(var(--jp-ui-font-size1) * 12 / 13);
  line-height: 14px;
  color: var(--jp-ui-inverse-font-color0);
  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;
  }
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/statusbar/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;EACE,aAAa;EACb,mBAAmB;EACnB,mCAAmC;EACnC,sCAAsC;EACtC,8BAA8B;EAC9B,eAAe;AACjB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;AACrB;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,2BAA2B;AAC7B;;AAEA;EACE,sCAAsC;EACtC,aAAa;EACb,kCAAkC;EAClC,mBAAmB;EACnB,uBAAuB;EACvB,+BAA+B;EAC/B,cAAc;AAChB;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,4DAA4D;EAC5D,sCAAsC;EACtC,yCAAyC;AAC3C;;AAEA;EACE,kCAAkC;EAClC,qCAAqC;EACrC,iBAAiB;EACjB,+BAA+B;AACjC;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;AACtB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;AACrB;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,oBAAoB;AACtB;;AAEA;EACE,cAAc;EACd,cAAc;EACd,WAAW;EACX,kBAAkB;AACpB;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,YAAY;EACZ,YAAY;EACZ,2CAA2C;EAC3C,kBAAkB;EAClB,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,wCAAwC;EACxC;;;;;;;;;GASC;EACD,0BAA0B;EAC1B,WAAW;EACX,SAAS;EACT,YAAY;EACZ,kDAAkD;EAClD,iBAAiB;EACjB,uCAAuC;EACvC,kBAAkB;EAClB,qEAAqE;AACvE;;AAEA;EACE,+BAA+B;EAC/B,qCAAqC;EACrC,kCAAkC;EAClC,iBAAiB;EACjB,YAAY;AACd;;AAEA;EACE;IACE,wBAAwB;EAC1B;;EAEA;IACE,8BAA8B;EAChC;AACF",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Styles\n|----------------------------------------------------------------------------*/\n\n.jp-StatusBar-Widget {\n  display: flex;\n  align-items: center;\n  background: var(--jp-layout-color2);\n  min-height: var(--jp-statusbar-height);\n  justify-content: space-between;\n  padding: 0 10px;\n}\n\n.jp-StatusBar-Left {\n  display: flex;\n  align-items: center;\n  flex-direction: row;\n}\n\n.jp-StatusBar-Middle {\n  display: flex;\n  align-items: center;\n}\n\n.jp-StatusBar-Right {\n  display: flex;\n  align-items: center;\n  flex-direction: row-reverse;\n}\n\n.jp-StatusBar-Item {\n  max-height: var(--jp-statusbar-height);\n  margin: 0 2px;\n  height: var(--jp-statusbar-height);\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  color: var(--jp-ui-font-color1);\n  padding: 0 6px;\n}\n\n.jp-mod-highlighted:hover {\n  background-color: var(--jp-layout-color3);\n}\n\n.jp-mod-clicked {\n  background-color: var(--jp-brand-color1);\n}\n\n.jp-mod-clicked:hover {\n  background-color: var(--jp-brand-color0);\n}\n\n.jp-mod-clicked .jp-StatusBar-TextItem {\n  color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-StatusBar-HoverItem {\n  border: var(--jp-border-width) solid var(--jp-border-color1);\n  border-radius: var(--jp-border-radius);\n  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);\n}\n\n.jp-StatusBar-TextItem {\n  font-size: var(--jp-ui-font-size1);\n  font-family: var(--jp-ui-font-family);\n  line-height: 24px;\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-StatusBar-TextItem:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n}\n\n.jp-StatusBar-GroupItem {\n  display: flex;\n  align-items: center;\n  flex-direction: row;\n}\n\n.jp-StatusBar-GroupItem:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n  outline-offset: -1px;\n}\n\n.jp-Statusbar-ProgressCircle > svg {\n  display: block;\n  margin: 0 auto;\n  width: 16px;\n  align-self: normal;\n}\n\n.jp-Statusbar-ProgressCircle .jp-Statusbar-ProgressCirclePath {\n  fill: var(--jp-inverse-layout-color3);\n}\n\n.jp-Statusbar-ProgressBar-progress-bar {\n  height: 10px;\n  width: 100px;\n  border: solid 0.25px var(--jp-brand-color2);\n  border-radius: 3px;\n  overflow: hidden;\n  align-self: center;\n}\n\n.jp-Statusbar-ProgressBar-progress-bar > div {\n  background-color: var(--jp-brand-color2);\n  background-image: linear-gradient(\n    -45deg,\n    rgba(255, 255, 255, 0.2) 25%,\n    transparent 25%,\n    transparent 50%,\n    rgba(255, 255, 255, 0.2) 50%,\n    rgba(255, 255, 255, 0.2) 75%,\n    transparent 75%,\n    transparent\n  );\n  background-size: 40px 40px;\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: calc(var(--jp-ui-font-size1) * 12 / 13);\n  line-height: 14px;\n  color: var(--jp-ui-inverse-font-color0);\n  text-align: center;\n  animation: jp-Statusbar-ExecutionTime-progress-bar 2s linear infinite;\n}\n\n.jp-Statusbar-ProgressBar-progress-bar p {\n  color: var(--jp-ui-font-color1);\n  font-family: var(--jp-ui-font-family);\n  font-size: var(--jp-ui-font-size1);\n  line-height: 10px;\n  width: 100px;\n}\n\n@keyframes jp-Statusbar-ExecutionTime-progress-bar {\n  0% {\n    background-position: 0 0;\n  }\n\n  100% {\n    background-position: 40px 40px;\n  }\n}\n"],sourceRoot:""}]);let a=s},97367(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Terminal {
  min-width: 240px;
  min-height: 120px;
}

.jp-Terminal-body {
  padding: 8px;
}

.jp-Terminal-body .xterm-viewport:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-style: solid;
  outline-color: var(--jp-focus-outline-color);
  outline-offset: calc(var(--jp-focus-outline-width) * -1);
}

[data-term-theme='inherit'] .xterm .xterm-screen canvas {
  border: var(--jp-border-width) solid var(--jp-layout-color0);
}

[data-term-theme='light'] .xterm .xterm-screen canvas {
  border: var(--jp-border-width) solid #fff;
}

[data-term-theme='dark'] .xterm .xterm-screen canvas {
  border: var(--jp-border-width) solid #000;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/terminal/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,4CAA4C;EAC5C,oBAAoB;EACpB,4CAA4C;EAC5C,wDAAwD;AAC1D;;AAEA;EACE,4DAA4D;AAC9D;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,yCAAyC;AAC3C",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Terminal {\n  min-width: 240px;\n  min-height: 120px;\n}\n\n.jp-Terminal-body {\n  padding: 8px;\n}\n\n.jp-Terminal-body .xterm-viewport:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-style: solid;\n  outline-color: var(--jp-focus-outline-color);\n  outline-offset: calc(var(--jp-focus-outline-width) * -1);\n}\n\n[data-term-theme='inherit'] .xterm .xterm-screen canvas {\n  border: var(--jp-border-width) solid var(--jp-layout-color0);\n}\n\n[data-term-theme='light'] .xterm .xterm-screen canvas {\n  border: var(--jp-border-width) solid #fff;\n}\n\n[data-term-theme='dark'] .xterm .xterm-screen canvas {\n  border: var(--jp-border-width) solid #000;\n}\n"],sourceRoot:""}]);let a=s},63453(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/toc-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n"],sourceRoot:""}]);let a=s},33853(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Table of Contents
|----------------------------------------------------------------------------*/

.jp-TableOfContents {
  display: flex;
  flex-direction: column;
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  height: 100%;
}

.jp-TableOfContents-placeholder {
  text-align: center;
}

.jp-TableOfContents-placeholderContent {
  color: var(--jp-content-font-color2);
  padding: 8px;
}

.jp-TableOfContents-placeholderContent > h3 {
  margin-bottom: var(--jp-content-heading-margin-bottom);
}

.jp-TableOfContents .jp-SidePanel-content {
  overflow-y: auto;
}

.jp-TableOfContents-tree {
  margin: 4px;
}

.jp-TableOfContents-content {
  padding: 0;
  background-color: var(--jp-layout-color1);
}

.jp-tocItem {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jp-tocItem-heading {
  display: flex;
  cursor: pointer;
  width: 100%;
}

.jp-tocItem-content {
  display: block;
  padding: 4px 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow-x: hidden;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/toc/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;8EAE8E;;AAE9E;EACE,aAAa;EACb,sBAAsB;EACtB,mCAAmC;EACnC,+BAA+B;EAC/B,kCAAkC;EAClC,YAAY;AACd;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,oCAAoC;EACpC,YAAY;AACd;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,UAAU;EACV,yCAAyC;AAC3C;;AAEA;EACE,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,eAAe;EACf,WAAW;AACb;;AAEA;EACE,cAAc;EACd,cAAc;EACd,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;AACpB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Table of Contents\n|----------------------------------------------------------------------------*/\n\n.jp-TableOfContents {\n  display: flex;\n  flex-direction: column;\n  background: var(--jp-layout-color1);\n  color: var(--jp-ui-font-color1);\n  font-size: var(--jp-ui-font-size1);\n  height: 100%;\n}\n\n.jp-TableOfContents-placeholder {\n  text-align: center;\n}\n\n.jp-TableOfContents-placeholderContent {\n  color: var(--jp-content-font-color2);\n  padding: 8px;\n}\n\n.jp-TableOfContents-placeholderContent > h3 {\n  margin-bottom: var(--jp-content-heading-margin-bottom);\n}\n\n.jp-TableOfContents .jp-SidePanel-content {\n  overflow-y: auto;\n}\n\n.jp-TableOfContents-tree {\n  margin: 4px;\n}\n\n.jp-TableOfContents-content {\n  padding: 0;\n  background-color: var(--jp-layout-color1);\n}\n\n.jp-tocItem {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.jp-tocItem-heading {\n  display: flex;\n  cursor: pointer;\n  width: 100%;\n}\n\n.jp-tocItem-content {\n  display: block;\n  padding: 4px 0;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  overflow-x: hidden;\n}\n"],sourceRoot:""}]);let a=s},81424(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Tooltip {
  background: var(--jp-layout-color1);
  border: var(--jp-border-width) solid var(--jp-border-color1);
  font-size: var(--jp-ui-font-size0);
  box-shadow: var(--jp-elevation-z6);
  max-width: 750px;
  max-height: 350px;
  z-index: 10001;
  padding: 4px;
  display: flex;
}

.jp-Tooltip-content {
  overflow: auto;
}

.jp-Tooltip:focus {
  outline: 0;
}

.jp-Tooltip pre {
  white-space: pre-wrap;
  margin: 0;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/tooltip/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,mCAAmC;EACnC,4DAA4D;EAC5D,kCAAkC;EAClC,kCAAkC;EAClC,gBAAgB;EAChB,iBAAiB;EACjB,cAAc;EACd,YAAY;EACZ,aAAa;AACf;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,qBAAqB;EACrB,SAAS;AACX",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Tooltip {\n  background: var(--jp-layout-color1);\n  border: var(--jp-border-width) solid var(--jp-border-color1);\n  font-size: var(--jp-ui-font-size0);\n  box-shadow: var(--jp-elevation-z6);\n  max-width: 750px;\n  max-height: 350px;\n  z-index: 10001;\n  padding: 4px;\n  display: flex;\n}\n\n.jp-Tooltip-content {\n  overflow: auto;\n}\n\n.jp-Tooltip:focus {\n  outline: 0;\n}\n\n.jp-Tooltip pre {\n  white-space: pre-wrap;\n  margin: 0;\n}\n"],sourceRoot:""}]);let a=s},2778(e,t,n){"use strict";n.d(t,{A:()=>x});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(95132),l=n(71574),d=n(24770),c=n(94277),h=n(52295),u=n(97938),p=n(62429),m=n(425),g=n(99748),A=n(89613),C=n(31848),f=n(98246),b=n(91507),v=n(38129),_=n(29549),y=n(53664),E=n(94547),w=n(43058),j=s()(o());j.i(a.A),j.i(l.A),j.i(d.A),j.i(c.A),j.i(h.A),j.i(u.A),j.i(p.A),j.i(m.A),j.i(g.A),j.i(A.A),j.i(C.A),j.i(f.A),j.i(b.A),j.i(v.A),j.i(_.A),j.i(y.A),j.i(E.A),j.i(w.A),j.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* Sibling imports */

.jp-ThemedContainer {
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
}

/* Disable native link decoration styles everywhere outside of dialog boxes */
.jp-ThemedContainer a {
  text-decoration: unset;
  color: unset;
}

.jp-ThemedContainer a:hover {
  text-decoration: unset;
  color: unset;
}

/* Accessibility for links inside dialog box text */
.jp-Dialog-content a {
  text-decoration: revert;
  color: var(--jp-content-link-color);
}

.jp-Dialog-content a:hover {
  text-decoration: revert;
}

/* Utility class for content that should only be available to screen readers. */
.jp-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Styles for ui-components */
.jp-FilterBox {
  --design-unit: 3;
  --density: 0;
}

.jp-Button {
  color: var(--jp-ui-font-color2);
  border-radius: var(--jp-border-radius);
  padding: 0 12px;
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);

  /* Copy from blueprint 3 */
  display: inline-flex;
  flex-direction: row;
  border: none;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  text-align: left;
  vertical-align: middle;
  min-height: 30px;
  min-width: 30px;
}

.jp-Button:disabled {
  cursor: not-allowed;
}

.jp-Button:empty {
  padding: 0 !important;
}

.jp-Button.jp-mod-small {
  min-height: 24px;
  min-width: 24px;
  font-size: calc(var(--jp-ui-font-size1) * 12 / 13);
  padding: 0 7px;
}

/* Use our own theme for hover styles */
.jp-Button.jp-mod-minimal:hover {
  background-color: var(--jp-layout-color2);
}

.jp-Button.jp-mod-minimal {
  background: none;
}

.jp-InputGroup {
  display: block;
  position: relative;
}

.jp-InputGroup input {
  box-sizing: border-box;
  border: none;
  border-radius: var(--jp-border-radius);
  background-color: transparent;
  color: var(--jp-ui-font-color0);
  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
  padding-bottom: 0;
  padding-top: 0;
  padding-left: 10px;
  padding-right: 28px;
  position: relative;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: var(--jp-content-font-size1);
  font-weight: 400;
  height: 30px;
  line-height: 30px;
  outline: none;
  vertical-align: middle;
}

.jp-InputGroup input:focus {
  box-shadow:
    inset 0 0 0 var(--jp-border-width) var(--jp-input-active-box-shadow-color),
    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
}

.jp-InputGroup input:disabled {
  cursor: not-allowed;
  resize: block;
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color2);
}

.jp-InputGroup input:disabled ~ span {
  cursor: not-allowed;
  color: var(--jp-ui-font-color2);
}

.jp-InputGroup input::placeholder,
.jp-ThemedContainer input::placeholder {
  color: var(--jp-ui-font-color2);
}

.jp-InputGroupAction {
  position: absolute;
  bottom: 1px;
  right: 0;
  padding: 6px;
}

.jp-HTMLSelect {
  position: relative;
}

.jp-HTMLSelect.jp-DefaultStyle {
  /* Leave space for the focus outline */
  padding: 0 2px;
}

.jp-HTMLSelect.jp-DefaultStyle select {
  background-color: initial;
  border: none;
  border-radius: 0;
  box-shadow: none;
  color: var(--jp-ui-font-color0);
  display: block;
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  height: 24px;
  line-height: 14px;
  padding: 0 25px 0 10px;
  text-align: left;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.jp-HTMLSelect.jp-DefaultStyle select:disabled {
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color2);
  cursor: not-allowed;
  resize: block;
}

.jp-HTMLSelect.jp-DefaultStyle select:disabled ~ span {
  cursor: not-allowed;
}

.jp-HTMLSelect.jp-DefaultStyle select:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
}

/* Use our own theme for hover and option styles */
/* stylelint-disable selector-max-type */
.jp-HTMLSelect.jp-DefaultStyle select:hover,
.jp-HTMLSelect.jp-DefaultStyle select > option {
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color0);
}
/* stylelint-enable selector-max-type */

.jp-ThemedContainer select {
  box-sizing: border-box;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E,oBAAoB;;AAoBpB;EACE,+BAA+B;EAC/B,kCAAkC;AACpC;;AAEA,6EAA6E;AAC7E;EACE,sBAAsB;EACtB,YAAY;AACd;;AAEA;EACE,sBAAsB;EACtB,YAAY;AACd;;AAEA,mDAAmD;AACnD;EACE,uBAAuB;EACvB,mCAAmC;AACrC;;AAEA;EACE,uBAAuB;AACzB;;AAEA,+EAA+E;AAC/E;EACE,6BAA6B;EAC7B,qBAAqB;EACrB,sBAAsB;EACtB,qBAAqB;EACrB,uBAAuB;EACvB,2BAA2B;EAC3B,8BAA8B;EAC9B,gCAAgC;EAChC,8BAA8B;EAC9B,oBAAoB;AACtB;;AAEA,6BAA6B;AAC7B;EACE,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,+BAA+B;EAC/B,sCAAsC;EACtC,eAAe;EACf,kCAAkC;EAClC,qCAAqC;;EAErC,0BAA0B;EAC1B,oBAAoB;EACpB,mBAAmB;EACnB,YAAY;EACZ,eAAe;EACf,mBAAmB;EACnB,uBAAuB;EACvB,gBAAgB;EAChB,sBAAsB;EACtB,gBAAgB;EAChB,eAAe;AACjB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,gBAAgB;EAChB,eAAe;EACf,kDAAkD;EAClD,cAAc;AAChB;;AAEA,uCAAuC;AACvC;EACE,yCAAyC;AAC3C;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,cAAc;EACd,kBAAkB;AACpB;;AAEA;EACE,sBAAsB;EACtB,YAAY;EACZ,sCAAsC;EACtC,6BAA6B;EAC7B,+BAA+B;EAC/B,2EAA2E;EAC3E,iBAAiB;EACjB,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,kBAAkB;EAClB,WAAW;EACX,wBAAwB;EACxB,qBAAqB;EACrB,gBAAgB;EAChB,uCAAuC;EACvC,gBAAgB;EAChB,YAAY;EACZ,iBAAiB;EACjB,aAAa;EACb,sBAAsB;AACxB;;AAEA;EACE;;2DAEyD;AAC3D;;AAEA;EACE,mBAAmB;EACnB,aAAa;EACb,yCAAyC;EACzC,+BAA+B;AACjC;;AAEA;EACE,mBAAmB;EACnB,+BAA+B;AACjC;;AAEA;;EAEE,+BAA+B;AACjC;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,QAAQ;EACR,YAAY;AACd;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,sCAAsC;EACtC,cAAc;AAChB;;AAEA;EACE,yBAAyB;EACzB,YAAY;EACZ,gBAAgB;EAChB,gBAAgB;EAChB,+BAA+B;EAC/B,cAAc;EACd,kCAAkC;EAClC,qCAAqC;EACrC,YAAY;EACZ,iBAAiB;EACjB,sBAAsB;EACtB,gBAAgB;EAChB,qBAAqB;EACrB,wBAAwB;AAC1B;;AAEA;EACE,yCAAyC;EACzC,+BAA+B;EAC/B,mBAAmB;EACnB,aAAa;AACf;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;AACtB;;AAEA,kDAAkD;AAClD,wCAAwC;AACxC;;EAEE,yCAAyC;EACzC,+BAA+B;AACjC;AACA,uCAAuC;;AAEvC;EACE,sBAAsB;AACxB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Sibling imports */\n@import './collapse.css';\n@import './deprecated.css';\n@import './deprecatedExtra.css';\n@import './tabbar.css';\n@import './icons.css';\n@import './iconsalt.css';\n@import './iconshover.css';\n@import './iframe.css';\n@import './hoverbox.css';\n@import './rjsfTemplates.css';\n@import './sidepanel.css';\n@import './spinner.css';\n@import './styling.css';\n@import './switch.css';\n@import './table.css';\n@import './toolbar.css';\n@import './toolkit.css';\n@import './windowedlist.css';\n\n.jp-ThemedContainer {\n  color: var(--jp-ui-font-color1);\n  font-size: var(--jp-ui-font-size1);\n}\n\n/* Disable native link decoration styles everywhere outside of dialog boxes */\n.jp-ThemedContainer a {\n  text-decoration: unset;\n  color: unset;\n}\n\n.jp-ThemedContainer a:hover {\n  text-decoration: unset;\n  color: unset;\n}\n\n/* Accessibility for links inside dialog box text */\n.jp-Dialog-content a {\n  text-decoration: revert;\n  color: var(--jp-content-link-color);\n}\n\n.jp-Dialog-content a:hover {\n  text-decoration: revert;\n}\n\n/* Utility class for content that should only be available to screen readers. */\n.jp-sr-only {\n  position: absolute !important;\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important;\n  overflow: hidden !important;\n  clip: rect(0 0 0 0) !important;\n  clip-path: inset(50%) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n}\n\n/* Styles for ui-components */\n.jp-FilterBox {\n  --design-unit: 3;\n  --density: 0;\n}\n\n.jp-Button {\n  color: var(--jp-ui-font-color2);\n  border-radius: var(--jp-border-radius);\n  padding: 0 12px;\n  font-size: var(--jp-ui-font-size1);\n  font-family: var(--jp-ui-font-family);\n\n  /* Copy from blueprint 3 */\n  display: inline-flex;\n  flex-direction: row;\n  border: none;\n  cursor: pointer;\n  align-items: center;\n  justify-content: center;\n  text-align: left;\n  vertical-align: middle;\n  min-height: 30px;\n  min-width: 30px;\n}\n\n.jp-Button:disabled {\n  cursor: not-allowed;\n}\n\n.jp-Button:empty {\n  padding: 0 !important;\n}\n\n.jp-Button.jp-mod-small {\n  min-height: 24px;\n  min-width: 24px;\n  font-size: calc(var(--jp-ui-font-size1) * 12 / 13);\n  padding: 0 7px;\n}\n\n/* Use our own theme for hover styles */\n.jp-Button.jp-mod-minimal:hover {\n  background-color: var(--jp-layout-color2);\n}\n\n.jp-Button.jp-mod-minimal {\n  background: none;\n}\n\n.jp-InputGroup {\n  display: block;\n  position: relative;\n}\n\n.jp-InputGroup input {\n  box-sizing: border-box;\n  border: none;\n  border-radius: var(--jp-border-radius);\n  background-color: transparent;\n  color: var(--jp-ui-font-color0);\n  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);\n  padding-bottom: 0;\n  padding-top: 0;\n  padding-left: 10px;\n  padding-right: 28px;\n  position: relative;\n  width: 100%;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n  font-size: var(--jp-content-font-size1);\n  font-weight: 400;\n  height: 30px;\n  line-height: 30px;\n  outline: none;\n  vertical-align: middle;\n}\n\n.jp-InputGroup input:focus {\n  box-shadow:\n    inset 0 0 0 var(--jp-border-width) var(--jp-input-active-box-shadow-color),\n    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);\n}\n\n.jp-InputGroup input:disabled {\n  cursor: not-allowed;\n  resize: block;\n  background-color: var(--jp-layout-color2);\n  color: var(--jp-ui-font-color2);\n}\n\n.jp-InputGroup input:disabled ~ span {\n  cursor: not-allowed;\n  color: var(--jp-ui-font-color2);\n}\n\n.jp-InputGroup input::placeholder,\n.jp-ThemedContainer input::placeholder {\n  color: var(--jp-ui-font-color2);\n}\n\n.jp-InputGroupAction {\n  position: absolute;\n  bottom: 1px;\n  right: 0;\n  padding: 6px;\n}\n\n.jp-HTMLSelect {\n  position: relative;\n}\n\n.jp-HTMLSelect.jp-DefaultStyle {\n  /* Leave space for the focus outline */\n  padding: 0 2px;\n}\n\n.jp-HTMLSelect.jp-DefaultStyle select {\n  background-color: initial;\n  border: none;\n  border-radius: 0;\n  box-shadow: none;\n  color: var(--jp-ui-font-color0);\n  display: block;\n  font-size: var(--jp-ui-font-size1);\n  font-family: var(--jp-ui-font-family);\n  height: 24px;\n  line-height: 14px;\n  padding: 0 25px 0 10px;\n  text-align: left;\n  -moz-appearance: none;\n  -webkit-appearance: none;\n}\n\n.jp-HTMLSelect.jp-DefaultStyle select:disabled {\n  background-color: var(--jp-layout-color2);\n  color: var(--jp-ui-font-color2);\n  cursor: not-allowed;\n  resize: block;\n}\n\n.jp-HTMLSelect.jp-DefaultStyle select:disabled ~ span {\n  cursor: not-allowed;\n}\n\n.jp-HTMLSelect.jp-DefaultStyle select:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n}\n\n/* Use our own theme for hover and option styles */\n/* stylelint-disable selector-max-type */\n.jp-HTMLSelect.jp-DefaultStyle select:hover,\n.jp-HTMLSelect.jp-DefaultStyle select > option {\n  background-color: var(--jp-layout-color2);\n  color: var(--jp-ui-font-color0);\n}\n/* stylelint-enable selector-max-type */\n\n.jp-ThemedContainer select {\n  box-sizing: border-box;\n}\n"],sourceRoot:""}]);let x=j},95132(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Collapse {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.jp-Collapse-header {
  padding: 1px 12px;
  background-color: var(--jp-layout-color1);
  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
  color: var(--jp-ui-font-color1);
  cursor: pointer;
  display: flex;
  align-items: center;
  font-size: var(--jp-ui-font-size0);
  font-weight: 600;
  text-transform: uppercase;
  user-select: none;
}

.jp-Collapser-icon {
  height: 16px;
}

.jp-Collapse-header-collapsed .jp-Collapser-icon {
  transform: rotate(-90deg);
  margin: auto 0;
}

.jp-Collapser-title {
  line-height: 25px;
}

.jp-Collapse-contents {
  padding: 0 12px;
  background-color: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  overflow: auto;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/collapse.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,aAAa;EACb,sBAAsB;EACtB,oBAAoB;AACtB;;AAEA;EACE,iBAAiB;EACjB,yCAAyC;EACzC,mEAAmE;EACnE,+BAA+B;EAC/B,eAAe;EACf,aAAa;EACb,mBAAmB;EACnB,kCAAkC;EAClC,gBAAgB;EAChB,yBAAyB;EACzB,iBAAiB;AACnB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,yBAAyB;EACzB,cAAc;AAChB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,eAAe;EACf,yCAAyC;EACzC,+BAA+B;EAC/B,cAAc;AAChB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Collapse {\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n}\n\n.jp-Collapse-header {\n  padding: 1px 12px;\n  background-color: var(--jp-layout-color1);\n  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);\n  color: var(--jp-ui-font-color1);\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  font-size: var(--jp-ui-font-size0);\n  font-weight: 600;\n  text-transform: uppercase;\n  user-select: none;\n}\n\n.jp-Collapser-icon {\n  height: 16px;\n}\n\n.jp-Collapse-header-collapsed .jp-Collapser-icon {\n  transform: rotate(-90deg);\n  margin: auto 0;\n}\n\n.jp-Collapser-title {\n  line-height: 25px;\n}\n\n.jp-Collapse-contents {\n  padding: 0 12px;\n  background-color: var(--jp-layout-color1);\n  color: var(--jp-ui-font-color1);\n  overflow: auto;\n}\n"],sourceRoot:""}]);let a=s},71574(e,t,n){"use strict";n.d(t,{A:()=>ig});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(67360),l=n.n(a),d=new URL(n(97654),n.b),c=new URL(n(54206),n.b),h=new URL(n(35510),n.b),u=new URL(n(1328),n.b),p=new URL(n(75386),n.b),m=new URL(n(95558),n.b),g=new URL(n(56075),n.b),A=new URL(n(94817),n.b),C=new URL(n(5938),n.b),f=new URL(n(62287),n.b),b=new URL(n(37453),n.b),v=new URL(n(32225),n.b),_=new URL(n(50394),n.b),y=new URL(n(59025),n.b),E=new URL(n(84666),n.b),w=new URL(n(17150),n.b),j=new URL(n(85703),n.b),x=new URL(n(64907),n.b),B=new URL(n(22641),n.b),S=new URL(n(38101),n.b),M=new URL(n(67764),n.b),I=new URL(n(60848),n.b),k=new URL(n(28047),n.b),D=new URL(n(17087),n.b),T=new URL(n(29005),n.b),L=new URL(n(27754),n.b),N=new URL(n(21498),n.b),P=new URL(n(29264),n.b),z=new URL(n(41533),n.b),R=new URL(n(13258),n.b),O=new URL(n(20979),n.b),F=new URL(n(99615),n.b),W=new URL(n(29852),n.b),H=new URL(n(87976),n.b),U=new URL(n(38170),n.b),Y=new URL(n(22705),n.b),V=new URL(n(91794),n.b),q=new URL(n(24649),n.b),G=new URL(n(6729),n.b),$=new URL(n(160),n.b),J=new URL(n(13841),n.b),K=new URL(n(21376),n.b),Z=new URL(n(97473),n.b),Q=new URL(n(14657),n.b),X=new URL(n(84783),n.b),ee=new URL(n(689),n.b),et=new URL(n(12037),n.b),en=new URL(n(843),n.b),ei=new URL(n(11631),n.b),eo=new URL(n(42352),n.b),er=new URL(n(13820),n.b),es=new URL(n(13444),n.b),ea=new URL(n(8770),n.b),el=new URL(n(67931),n.b),ed=new URL(n(49858),n.b),ec=new URL(n(88255),n.b),eh=new URL(n(62547),n.b),eu=new URL(n(62518),n.b),ep=new URL(n(32409),n.b),em=new URL(n(49069),n.b),eg=new URL(n(90021),n.b),eA=new URL(n(43664),n.b),eC=new URL(n(21957),n.b),ef=new URL(n(78635),n.b),eb=new URL(n(39645),n.b),ev=new URL(n(35017),n.b),e_=new URL(n(98034),n.b),ey=new URL(n(91019),n.b),eE=new URL(n(97146),n.b),ew=new URL(n(96081),n.b),ej=new URL(n(62304),n.b),ex=new URL(n(10966),n.b),eB=new URL(n(7754),n.b),eS=new URL(n(80977),n.b),eM=new URL(n(64445),n.b),eI=new URL(n(36436),n.b),ek=new URL(n(73105),n.b),eD=new URL(n(98827),n.b),eT=new URL(n(52747),n.b),eL=new URL(n(16580),n.b),eN=new URL(n(40226),n.b),eP=new URL(n(39054),n.b),ez=new URL(n(55237),n.b),eR=new URL(n(94702),n.b),eO=new URL(n(14606),n.b),eF=new URL(n(97623),n.b),eW=new URL(n(39267),n.b),eH=new URL(n(30958),n.b),eU=new URL(n(78587),n.b),eY=new URL(n(41420),n.b),eV=new URL(n(52384),n.b),eq=new URL(n(94774),n.b),eG=new URL(n(36035),n.b),e$=new URL(n(35545),n.b),eJ=new URL(n(74078),n.b),eK=new URL(n(4721),n.b),eZ=new URL(n(38072),n.b),eQ=new URL(n(10375),n.b),eX=new URL(n(47430),n.b),e0=new URL(n(60829),n.b),e1=new URL(n(84092),n.b),e2=new URL(n(69281),n.b),e4=new URL(n(14063),n.b),e5=new URL(n(89120),n.b),e3=new URL(n(55260),n.b),e6=new URL(n(5170),n.b),e8=new URL(n(54096),n.b),e7=new URL(n(85077),n.b),e9=new URL(n(57575),n.b),te=new URL(n(39699),n.b),tt=new URL(n(76047),n.b),tn=new URL(n(26457),n.b),ti=new URL(n(99083),n.b),to=new URL(n(79984),n.b),tr=new URL(n(12673),n.b),ts=new URL(n(36454),n.b),ta=new URL(n(76035),n.b),tl=new URL(n(6267),n.b),td=new URL(n(26482),n.b),tc=new URL(n(83699),n.b),th=new URL(n(72297),n.b),tu=new URL(n(12255),n.b),tp=new URL(n(49464),n.b),tm=new URL(n(42988),n.b),tg=new URL(n(32111),n.b),tA=s()(o()),tC=l()(d),tf=l()(c),tb=l()(h),tv=l()(u),t_=l()(p),ty=l()(m),tE=l()(g),tw=l()(A),tj=l()(C),tx=l()(f),tB=l()(b),tS=l()(v),tM=l()(_),tI=l()(y),tk=l()(E),tD=l()(w),tT=l()(j),tL=l()(x),tN=l()(B),tP=l()(S),tz=l()(M),tR=l()(I),tO=l()(k),tF=l()(D),tW=l()(T),tH=l()(L),tU=l()(N),tY=l()(P),tV=l()(z),tq=l()(R),tG=l()(O),t$=l()(F),tJ=l()(W),tK=l()(H),tZ=l()(U),tQ=l()(Y),tX=l()(V),t0=l()(q),t1=l()(G),t2=l()($),t4=l()(J),t5=l()(K),t3=l()(Z),t6=l()(Q),t8=l()(X),t7=l()(ee),t9=l()(et),ne=l()(en),nt=l()(ei),nn=l()(eo),ni=l()(er),no=l()(es),nr=l()(ea),ns=l()(el),na=l()(ed),nl=l()(ec),nd=l()(eh),nc=l()(eu),nh=l()(ep),nu=l()(em),np=l()(eg),nm=l()(eA),ng=l()(eC),nA=l()(ef),nC=l()(eb),nf=l()(ev),nb=l()(e_),nv=l()(ey),n_=l()(eE),ny=l()(ew),nE=l()(ej),nw=l()(ex),nj=l()(eB),nx=l()(eS),nB=l()(eM),nS=l()(eI),nM=l()(ek),nI=l()(eD),nk=l()(eT),nD=l()(eL),nT=l()(eN),nL=l()(eP),nN=l()(ez),nP=l()(eR),nz=l()(eO),nR=l()(eF),nO=l()(eW),nF=l()(eH),nW=l()(eU),nH=l()(eY),nU=l()(eV),nY=l()(eq),nV=l()(eG),nq=l()(e$),nG=l()(eJ),n$=l()(eK),nJ=l()(eZ),nK=l()(eQ),nZ=l()(eX),nQ=l()(e0),nX=l()(e1),n0=l()(e2),n1=l()(e4),n2=l()(e5),n4=l()(e3),n5=l()(e6),n3=l()(e8),n6=l()(e7),n8=l()(e9),n7=l()(te),n9=l()(tt),ie=l()(tn),it=l()(ti),ii=l()(to),io=l()(tr),ir=l()(ts),is=l()(ta),ia=l()(tl),il=l()(td),id=l()(tc),ic=l()(th),ih=l()(tu),iu=l()(tp),ip=l()(tm),im=l()(tg);tA.push([e.id,`/*-----------------------------------------------------------------------------
| 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(${tC});
  --jp-icon-add-below: url(${tf});
  --jp-icon-add: url(${tb});
  --jp-icon-audio: url(${tv});
  --jp-icon-bell: url(${t_});
  --jp-icon-breakpoint: url(${ty});
  --jp-icon-bug-dot: url(${tE});
  --jp-icon-bug: url(${tw});
  --jp-icon-build: url(${tj});
  --jp-icon-caret-down-empty-thin: url(${tx});
  --jp-icon-caret-down-empty: url(${tB});
  --jp-icon-caret-down: url(${tS});
  --jp-icon-caret-left: url(${tM});
  --jp-icon-caret-right: url(${tI});
  --jp-icon-caret-up-empty-thin: url(${tk});
  --jp-icon-caret-up: url(${tD});
  --jp-icon-case-sensitive: url(${tT});
  --jp-icon-check: url(${tL});
  --jp-icon-circle-empty: url(${tN});
  --jp-icon-circle: url(${tP});
  --jp-icon-cleaning: url(${tz});
  --jp-icon-clear: url(${tR});
  --jp-icon-close-all: url(${tO});
  --jp-icon-close: url(${tF});
  --jp-icon-code-check: url(${tW});
  --jp-icon-code: url(${tH});
  --jp-icon-collapse-all: url(${tU});
  --jp-icon-collapse: url(${tY});
  --jp-icon-console: url(${tV});
  --jp-icon-copy: url(${tq});
  --jp-icon-copyright: url(${tG});
  --jp-icon-cut: url(${t$});
  --jp-icon-delete: url(${tJ});
  --jp-icon-dock-bottom: url(${tK});
  --jp-icon-dock-left: url(${tZ});
  --jp-icon-dock-right: url(${tQ});
  --jp-icon-dock-top: url(${tX});
  --jp-icon-dots: url(${t0});
  --jp-icon-download: url(${t1});
  --jp-icon-duplicate: url(${t2});
  --jp-icon-edit: url(${t4});
  --jp-icon-ellipses: url(${t5});
  --jp-icon-error: url(${t3});
  --jp-icon-exceptions: url(${t6});
  --jp-icon-expand-all: url(${t8});
  --jp-icon-expand: url(${t7});
  --jp-icon-extension: url(${t9});
  --jp-icon-fast-forward: url(${ne});
  --jp-icon-file-upload: url(${nt});
  --jp-icon-file: url(${nn});
  --jp-icon-filter-dot: url(${ni});
  --jp-icon-filter-list: url(${no});
  --jp-icon-filter: url(${nr});
  --jp-icon-folder-favorite: url(${ns});
  --jp-icon-folder: url(${na});
  --jp-icon-history: url(${nl});
  --jp-icon-home: url(${nd});
  --jp-icon-html5: url(${nc});
  --jp-icon-image: url(${nh});
  --jp-icon-info: url(${nu});
  --jp-icon-inspector: url(${np});
  --jp-icon-json: url(${nm});
  --jp-icon-julia: url(${ng});
  --jp-icon-jump-back: url(${nA});
  --jp-icon-jump-forward: url(${nC});
  --jp-icon-jupyter-favicon: url(${nf});
  --jp-icon-jupyter: url(${nb});
  --jp-icon-jupyterlab-wordmark: url(${nv});
  --jp-icon-kernel: url(${n_});
  --jp-icon-keyboard: url(${ny});
  --jp-icon-launch: url(${nE});
  --jp-icon-launcher: url(${nw});
  --jp-icon-line-form: url(${nj});
  --jp-icon-link: url(${nx});
  --jp-icon-list: url(${nB});
  --jp-icon-lock: url(${nS});
  --jp-icon-markdown: url(${nM});
  --jp-icon-mermaid: url(${nI});
  --jp-icon-move-down: url(${nk});
  --jp-icon-move-up: url(${nD});
  --jp-icon-new-folder: url(${nT});
  --jp-icon-not-trusted: url(${nL});
  --jp-icon-notebook: url(${nN});
  --jp-icon-numbering: url(${nP});
  --jp-icon-offline-bolt: url(${nz});
  --jp-icon-open-kernel-source: url(${nR});
  --jp-icon-palette: url(${nO});
  --jp-icon-paste: url(${nF});
  --jp-icon-pause: url(${nW});
  --jp-icon-pdf: url(${nH});
  --jp-icon-python: url(${nU});
  --jp-icon-r-kernel: url(${nY});
  --jp-icon-react: url(${nV});
  --jp-icon-redo: url(${nq});
  --jp-icon-refresh: url(${nG});
  --jp-icon-regex: url(${n$});
  --jp-icon-run: url(${nJ});
  --jp-icon-running: url(${nK});
  --jp-icon-save: url(${nZ});
  --jp-icon-search: url(${nQ});
  --jp-icon-selected-breakpoint: url(${nX});
  --jp-icon-settings: url(${n0});
  --jp-icon-share: url(${n1});
  --jp-icon-spreadsheet: url(${n2});
  --jp-icon-step-into: url(${n4});
  --jp-icon-step-out: url(${n5});
  --jp-icon-step-over: url(${n3});
  --jp-icon-stop: url(${n6});
  --jp-icon-tab: url(${n8});
  --jp-icon-table-rows: url(${n7});
  --jp-icon-tag: url(${n9});
  --jp-icon-terminal: url(${ie});
  --jp-icon-text-editor: url(${it});
  --jp-icon-toc: url(${ii});
  --jp-icon-tree-view: url(${io});
  --jp-icon-trusted: url(${ir});
  --jp-icon-undo: url(${is});
  --jp-icon-user: url(${ia});
  --jp-icon-users: url(${il});
  --jp-icon-variable: url(${id});
  --jp-icon-vega: url(${ic});
  --jp-icon-video: url(${ih});
  --jp-icon-view-breakpoint: url(${iu});
  --jp-icon-word: url(${ip});
  --jp-icon-yaml: url(${im});
}

/* 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-AudioIcon {
  background-image: var(--jp-icon-audio);
}

.jp-BellIcon {
  background-image: var(--jp-icon-bell);
}

.jp-BreakpointIcon {
  background-image: var(--jp-icon-breakpoint);
}

.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-CleaningIcon {
  background-image: var(--jp-icon-cleaning);
}

.jp-ClearIcon {
  background-image: var(--jp-icon-clear);
}

.jp-CloseAllIcon {
  background-image: var(--jp-icon-close-all);
}

.jp-CloseIcon {
  background-image: var(--jp-icon-close);
}

.jp-CodeCheckIcon {
  background-image: var(--jp-icon-code-check);
}

.jp-CodeIcon {
  background-image: var(--jp-icon-code);
}

.jp-CollapseAllIcon {
  background-image: var(--jp-icon-collapse-all);
}

.jp-CollapseIcon {
  background-image: var(--jp-icon-collapse);
}

.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-DockBottomIcon {
  background-image: var(--jp-icon-dock-bottom);
}

.jp-DockLeftIcon {
  background-image: var(--jp-icon-dock-left);
}

.jp-DockRightIcon {
  background-image: var(--jp-icon-dock-right);
}

.jp-DockTopIcon {
  background-image: var(--jp-icon-dock-top);
}

.jp-DotsIcon {
  background-image: var(--jp-icon-dots);
}

.jp-DownloadIcon {
  background-image: var(--jp-icon-download);
}

.jp-DuplicateIcon {
  background-image: var(--jp-icon-duplicate);
}

.jp-EditIcon {
  background-image: var(--jp-icon-edit);
}

.jp-EllipsesIcon {
  background-image: var(--jp-icon-ellipses);
}

.jp-ErrorIcon {
  background-image: var(--jp-icon-error);
}

.jp-ExceptionsIcon {
  background-image: var(--jp-icon-exceptions);
}

.jp-ExpandAllIcon {
  background-image: var(--jp-icon-expand-all);
}

.jp-ExpandIcon {
  background-image: var(--jp-icon-expand);
}

.jp-ExtensionIcon {
  background-image: var(--jp-icon-extension);
}

.jp-FastForwardIcon {
  background-image: var(--jp-icon-fast-forward);
}

.jp-FileIcon {
  background-image: var(--jp-icon-file);
}

.jp-FileUploadIcon {
  background-image: var(--jp-icon-file-upload);
}

.jp-FilterDotIcon {
  background-image: var(--jp-icon-filter-dot);
}

.jp-FilterIcon {
  background-image: var(--jp-icon-filter);
}

.jp-FilterListIcon {
  background-image: var(--jp-icon-filter-list);
}

.jp-FolderFavoriteIcon {
  background-image: var(--jp-icon-folder-favorite);
}

.jp-FolderIcon {
  background-image: var(--jp-icon-folder);
}

.jp-HistoryIcon {
  background-image: var(--jp-icon-history);
}

.jp-HomeIcon {
  background-image: var(--jp-icon-home);
}

.jp-Html5Icon {
  background-image: var(--jp-icon-html5);
}

.jp-ImageIcon {
  background-image: var(--jp-icon-image);
}

.jp-InfoIcon {
  background-image: var(--jp-icon-info);
}

.jp-InspectorIcon {
  background-image: var(--jp-icon-inspector);
}

.jp-JsonIcon {
  background-image: var(--jp-icon-json);
}

.jp-JuliaIcon {
  background-image: var(--jp-icon-julia);
}

.jp-JumpBackIcon {
  background-image: var(--jp-icon-jump-back);
}

.jp-JumpForwardIcon {
  background-image: var(--jp-icon-jump-forward);
}

.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-LockIcon {
  background-image: var(--jp-icon-lock);
}

.jp-MarkdownIcon {
  background-image: var(--jp-icon-markdown);
}

.jp-MermaidIcon {
  background-image: var(--jp-icon-mermaid);
}

.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-OpenKernelSourceIcon {
  background-image: var(--jp-icon-open-kernel-source);
}

.jp-PaletteIcon {
  background-image: var(--jp-icon-palette);
}

.jp-PasteIcon {
  background-image: var(--jp-icon-paste);
}

.jp-PauseIcon {
  background-image: var(--jp-icon-pause);
}

.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-SelectedBreakpointIcon {
  background-image: var(--jp-icon-selected-breakpoint);
}

.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-StepIntoIcon {
  background-image: var(--jp-icon-step-into);
}

.jp-StepOutIcon {
  background-image: var(--jp-icon-step-out);
}

.jp-StepOverIcon {
  background-image: var(--jp-icon-step-over);
}

.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-VariableIcon {
  background-image: var(--jp-icon-variable);
}

.jp-VegaIcon {
  background-image: var(--jp-icon-vega);
}

.jp-VideoIcon {
  background-image: var(--jp-icon-video);
}

.jp-ViewBreakpointIcon {
  background-image: var(--jp-icon-view-breakpoint);
}

.jp-WordIcon {
  background-image: var(--jp-icon-word);
}

.jp-YamlIcon {
  background-image: var(--jp-icon-yaml);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/deprecated.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E,mFAAmF;;AAEnF;;EAEE;;AAEF,eAAe;;AAEf;EACE,4DAAuD;EACvD,4DAAuD;EACvD,sDAA2C;EAC3C,wDAAgD;EAChD,uDAA+C;EAC/C,6DAA0D;EAC1D,0DAAmD;EACnD,sDAA2C;EAC3C,wDAA+C;EAC/C,wEAA6E;EAC7E,oEAAmE;EACnE,8DAAuD;EACvD,8DAAuD;EACvD,+DAAyD;EACzD,uEAAyE;EACzE,4DAAmD;EACnD,kEAAgE;EAChE,yDAA+C;EAC/C,gEAA6D;EAC7D,0DAAiD;EACjD,4DAAqD;EACrD,yDAA+C;EAC/C,6DAAwD;EACxD,yDAA+C;EAC/C,8DAAqD;EACrD,wDAA6C;EAC7C,gEAA6D;EAC7D,4DAAoD;EACpD,2DAAoD;EACpD,wDAA6C;EAC7C,6DAAwD;EACxD,uDAA2C;EAC3C,0DAAiD;EACjD,+DAA2D;EAC3D,6DAAuD;EACvD,8DAAyD;EACzD,4DAAqD;EACrD,wDAA6C;EAC7C,4DAAqD;EACrD,6DAAuD;EACvD,wDAA6C;EAC7C,4DAAqD;EACrD,yDAAuC;EACvC,8DAA0D;EAC1D,8DAAyD;EACzD,0DAAgD;EAChD,6DAAuD;EACvD,gEAA6D;EAC7D,+DAA2D;EAC3D,wDAA8C;EAC9C,8DAAwD;EACxD,+DAA2D;EAC3D,0DAAgD;EAChD,mEAAoE;EACpE,0DAAkD;EAClD,2DAA2C;EAC3C,wDAA8C;EAC9C,yDAAgD;EAChD,yDAAgD;EAChD,wDAAqC;EACrC,6DAAwD;EACxD,wDAA8C;EAC9C,yDAAgD;EAChD,6DAAuD;EACvD,gEAA6D;EAC7D,mEAAmE;EACnE,2DAAmD;EACnD,uEAA2E;EAC3E,0DAAmD;EACnD,4DAAsD;EACtD,0DAAiD;EACjD,4DAAsD;EACtD,6DAAyD;EACzD,wDAA6C;EAC7C,wDAA+C;EAC/C,wDAAqC;EACrC,4DAAsD;EACtD,2DAAoD;EACpD,6DAAuD;EACvD,2DAAmD;EACnD,8DAAyD;EACzD,+DAA6D;EAC7D,4DAAsD;EACtD,6DAAuD;EACvD,gEAA6D;EAC7D,sEAA0E;EAC1E,2DAAmD;EACnD,yDAA+C;EAC/C,yDAAgD;EAChD,uDAA4C;EAC5C,0DAAkD;EAClD,4DAAsD;EACtD,yDAAgD;EAChD,wDAA6C;EAC7C,2DAAmD;EACnD,yDAA8C;EAC9C,uDAA2C;EAC3C,2DAAmD;EACnD,wDAA6C;EAC7C,0DAAiD;EACjD,wEAA4E;EAC5E,6DAAsD;EACtD,0DAA+C;EAC/C,gEAA4D;EAC5D,8DAAwD;EACxD,6DAAsD;EACtD,8DAAwD;EACxD,yDAA6C;EAC7C,wDAA2C;EAC3C,+DAAyD;EACzD,wDAA2C;EAC3C,6DAAuD;EACvD,gEAA4D;EAC5D,wDAA2C;EAC3C,8DAAuD;EACvD,4DAAqD;EACrD,yDAA6C;EAC7C,yDAA6C;EAC7C,0DAA+C;EAC/C,6DAAsD;EACtD,yDAA8C;EAC9C,0DAAgD;EAChD,oEAAoE;EACpE,yDAA4C;EAC5C,yDAA8C;AAChD;;AAEA,gCAAgC;;AAEhC;EACE,0CAA0C;AAC5C;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,+CAA+C;AACjD;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,wCAAwC;AAC1C;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */\n\n/**\n * (DEPRECATED) Support for consuming icons as CSS background images\n */\n\n/* Icons urls */\n\n:root {\n  --jp-icon-add-above: url('icons/toolbar/add-above.svg');\n  --jp-icon-add-below: url('icons/toolbar/add-below.svg');\n  --jp-icon-add: url('icons/toolbar/add.svg');\n  --jp-icon-audio: url('icons/filetype/audio.svg');\n  --jp-icon-bell: url('icons/statusbar/bell.svg');\n  --jp-icon-breakpoint: url('icons/debugger/breakpoint.svg');\n  --jp-icon-bug-dot: url('icons/toolbar/bug-dot.svg');\n  --jp-icon-bug: url('icons/toolbar/bug.svg');\n  --jp-icon-build: url('icons/sidebar/build.svg');\n  --jp-icon-caret-down-empty-thin: url('icons/arrow/caret-down-empty-thin.svg');\n  --jp-icon-caret-down-empty: url('icons/arrow/caret-down-empty.svg');\n  --jp-icon-caret-down: url('icons/arrow/caret-down.svg');\n  --jp-icon-caret-left: url('icons/arrow/caret-left.svg');\n  --jp-icon-caret-right: url('icons/arrow/caret-right.svg');\n  --jp-icon-caret-up-empty-thin: url('icons/arrow/caret-up-empty-thin.svg');\n  --jp-icon-caret-up: url('icons/arrow/caret-up.svg');\n  --jp-icon-case-sensitive: url('icons/search/case-sensitive.svg');\n  --jp-icon-check: url('icons/toolbar/check.svg');\n  --jp-icon-circle-empty: url('icons/toolbar/circle-empty.svg');\n  --jp-icon-circle: url('icons/toolbar/circle.svg');\n  --jp-icon-cleaning: url('icons/toolbar/cleaning.svg');\n  --jp-icon-clear: url('icons/toolbar/clear.svg');\n  --jp-icon-close-all: url('icons/debugger/close-all.svg');\n  --jp-icon-close: url('icons/toolbar/close.svg');\n  --jp-icon-code-check: url('icons/lsp/code-check.svg');\n  --jp-icon-code: url('icons/toolbar/code.svg');\n  --jp-icon-collapse-all: url('icons/toolbar/collapse-all.svg');\n  --jp-icon-collapse: url('icons/output/collapse.svg');\n  --jp-icon-console: url('icons/filetype/console.svg');\n  --jp-icon-copy: url('icons/toolbar/copy.svg');\n  --jp-icon-copyright: url('icons/licenses/copyright.svg');\n  --jp-icon-cut: url('icons/toolbar/cut.svg');\n  --jp-icon-delete: url('icons/toolbar/delete.svg');\n  --jp-icon-dock-bottom: url('icons/toolbar/dock-bottom.svg');\n  --jp-icon-dock-left: url('icons/toolbar/dock-left.svg');\n  --jp-icon-dock-right: url('icons/toolbar/dock-right.svg');\n  --jp-icon-dock-top: url('icons/toolbar/dock-top.svg');\n  --jp-icon-dots: url('icons/toolbar/dots.svg');\n  --jp-icon-download: url('icons/toolbar/download.svg');\n  --jp-icon-duplicate: url('icons/toolbar/duplicate.svg');\n  --jp-icon-edit: url('icons/toolbar/edit.svg');\n  --jp-icon-ellipses: url('icons/toolbar/ellipses.svg');\n  --jp-icon-error: url('icons/error.svg');\n  --jp-icon-exceptions: url('icons/debugger/exceptions.svg');\n  --jp-icon-expand-all: url('icons/toolbar/expand-all.svg');\n  --jp-icon-expand: url('icons/output/expand.svg');\n  --jp-icon-extension: url('icons/sidebar/extension.svg');\n  --jp-icon-fast-forward: url('icons/toolbar/fast-forward.svg');\n  --jp-icon-file-upload: url('icons/toolbar/file-upload.svg');\n  --jp-icon-file: url('icons/filetype/file.svg');\n  --jp-icon-filter-dot: url('icons/search/filter-dot.svg');\n  --jp-icon-filter-list: url('icons/toolbar/filter-list.svg');\n  --jp-icon-filter: url('icons/search/filter.svg');\n  --jp-icon-folder-favorite: url('icons/filetype/folder-favorite.svg');\n  --jp-icon-folder: url('icons/filetype/folder.svg');\n  --jp-icon-history: url('icons/history.svg');\n  --jp-icon-home: url('icons/filetype/home.svg');\n  --jp-icon-html5: url('icons/filetype/html5.svg');\n  --jp-icon-image: url('icons/filetype/image.svg');\n  --jp-icon-info: url('icons/info.svg');\n  --jp-icon-inspector: url('icons/filetype/inspector.svg');\n  --jp-icon-json: url('icons/filetype/json.svg');\n  --jp-icon-julia: url('icons/filetype/julia.svg');\n  --jp-icon-jump-back: url('icons/toolbar/jump-back.svg');\n  --jp-icon-jump-forward: url('icons/toolbar/jump-forward.svg');\n  --jp-icon-jupyter-favicon: url('icons/jupyter/jupyter-favicon.svg');\n  --jp-icon-jupyter: url('icons/jupyter/jupyter.svg');\n  --jp-icon-jupyterlab-wordmark: url('icons/jupyter/jupyterlab-wordmark.svg');\n  --jp-icon-kernel: url('icons/statusbar/kernel.svg');\n  --jp-icon-keyboard: url('icons/filetype/keyboard.svg');\n  --jp-icon-launch: url('icons/toolbar/launch.svg');\n  --jp-icon-launcher: url('icons/filetype/launcher.svg');\n  --jp-icon-line-form: url('icons/statusbar/line-form.svg');\n  --jp-icon-link: url('icons/toolbar/link.svg');\n  --jp-icon-list: url('icons/statusbar/list.svg');\n  --jp-icon-lock: url('icons/lock.svg');\n  --jp-icon-markdown: url('icons/filetype/markdown.svg');\n  --jp-icon-mermaid: url('icons/filetype/mermaid.svg');\n  --jp-icon-move-down: url('icons/toolbar/move-down.svg');\n  --jp-icon-move-up: url('icons/toolbar/move-up.svg');\n  --jp-icon-new-folder: url('icons/toolbar/new-folder.svg');\n  --jp-icon-not-trusted: url('icons/statusbar/not-trusted.svg');\n  --jp-icon-notebook: url('icons/filetype/notebook.svg');\n  --jp-icon-numbering: url('icons/toolbar/numbering.svg');\n  --jp-icon-offline-bolt: url('icons/toolbar/offline-bolt.svg');\n  --jp-icon-open-kernel-source: url('icons/debugger/open-kernel-source.svg');\n  --jp-icon-palette: url('icons/sidebar/palette.svg');\n  --jp-icon-paste: url('icons/toolbar/paste.svg');\n  --jp-icon-pause: url('icons/debugger/pause.svg');\n  --jp-icon-pdf: url('icons/filetype/pdf.svg');\n  --jp-icon-python: url('icons/filetype/python.svg');\n  --jp-icon-r-kernel: url('icons/filetype/r-kernel.svg');\n  --jp-icon-react: url('icons/filetype/react.svg');\n  --jp-icon-redo: url('icons/toolbar/redo.svg');\n  --jp-icon-refresh: url('icons/toolbar/refresh.svg');\n  --jp-icon-regex: url('icons/search/regex.svg');\n  --jp-icon-run: url('icons/toolbar/run.svg');\n  --jp-icon-running: url('icons/sidebar/running.svg');\n  --jp-icon-save: url('icons/toolbar/save.svg');\n  --jp-icon-search: url('icons/toolbar/search.svg');\n  --jp-icon-selected-breakpoint: url('icons/debugger/selected-breakpoint.svg');\n  --jp-icon-settings: url('icons/filetype/settings.svg');\n  --jp-icon-share: url('icons/sidebar/share.svg');\n  --jp-icon-spreadsheet: url('icons/filetype/spreadsheet.svg');\n  --jp-icon-step-into: url('icons/debugger/step-into.svg');\n  --jp-icon-step-out: url('icons/debugger/step-out.svg');\n  --jp-icon-step-over: url('icons/debugger/step-over.svg');\n  --jp-icon-stop: url('icons/toolbar/stop.svg');\n  --jp-icon-tab: url('icons/sidebar/tab.svg');\n  --jp-icon-table-rows: url('icons/toolbar/table-rows.svg');\n  --jp-icon-tag: url('icons/toolbar/tag.svg');\n  --jp-icon-terminal: url('icons/statusbar/terminal.svg');\n  --jp-icon-text-editor: url('icons/filetype/text-editor.svg');\n  --jp-icon-toc: url('icons/sidebar/toc.svg');\n  --jp-icon-tree-view: url('icons/toolbar/tree-view.svg');\n  --jp-icon-trusted: url('icons/statusbar/trusted.svg');\n  --jp-icon-undo: url('icons/toolbar/undo.svg');\n  --jp-icon-user: url('icons/sidebar/user.svg');\n  --jp-icon-users: url('icons/sidebar/users.svg');\n  --jp-icon-variable: url('icons/debugger/variable.svg');\n  --jp-icon-vega: url('icons/filetype/vega.svg');\n  --jp-icon-video: url('icons/filetype/video.svg');\n  --jp-icon-view-breakpoint: url('icons/debugger/view-breakpoint.svg');\n  --jp-icon-word: url('icons/search/word.svg');\n  --jp-icon-yaml: url('icons/filetype/yaml.svg');\n}\n\n/* Icon CSS class declarations */\n\n.jp-AddAboveIcon {\n  background-image: var(--jp-icon-add-above);\n}\n\n.jp-AddBelowIcon {\n  background-image: var(--jp-icon-add-below);\n}\n\n.jp-AddIcon {\n  background-image: var(--jp-icon-add);\n}\n\n.jp-AudioIcon {\n  background-image: var(--jp-icon-audio);\n}\n\n.jp-BellIcon {\n  background-image: var(--jp-icon-bell);\n}\n\n.jp-BreakpointIcon {\n  background-image: var(--jp-icon-breakpoint);\n}\n\n.jp-BugDotIcon {\n  background-image: var(--jp-icon-bug-dot);\n}\n\n.jp-BugIcon {\n  background-image: var(--jp-icon-bug);\n}\n\n.jp-BuildIcon {\n  background-image: var(--jp-icon-build);\n}\n\n.jp-CaretDownEmptyIcon {\n  background-image: var(--jp-icon-caret-down-empty);\n}\n\n.jp-CaretDownEmptyThinIcon {\n  background-image: var(--jp-icon-caret-down-empty-thin);\n}\n\n.jp-CaretDownIcon {\n  background-image: var(--jp-icon-caret-down);\n}\n\n.jp-CaretLeftIcon {\n  background-image: var(--jp-icon-caret-left);\n}\n\n.jp-CaretRightIcon {\n  background-image: var(--jp-icon-caret-right);\n}\n\n.jp-CaretUpEmptyThinIcon {\n  background-image: var(--jp-icon-caret-up-empty-thin);\n}\n\n.jp-CaretUpIcon {\n  background-image: var(--jp-icon-caret-up);\n}\n\n.jp-CaseSensitiveIcon {\n  background-image: var(--jp-icon-case-sensitive);\n}\n\n.jp-CheckIcon {\n  background-image: var(--jp-icon-check);\n}\n\n.jp-CircleEmptyIcon {\n  background-image: var(--jp-icon-circle-empty);\n}\n\n.jp-CircleIcon {\n  background-image: var(--jp-icon-circle);\n}\n\n.jp-CleaningIcon {\n  background-image: var(--jp-icon-cleaning);\n}\n\n.jp-ClearIcon {\n  background-image: var(--jp-icon-clear);\n}\n\n.jp-CloseAllIcon {\n  background-image: var(--jp-icon-close-all);\n}\n\n.jp-CloseIcon {\n  background-image: var(--jp-icon-close);\n}\n\n.jp-CodeCheckIcon {\n  background-image: var(--jp-icon-code-check);\n}\n\n.jp-CodeIcon {\n  background-image: var(--jp-icon-code);\n}\n\n.jp-CollapseAllIcon {\n  background-image: var(--jp-icon-collapse-all);\n}\n\n.jp-CollapseIcon {\n  background-image: var(--jp-icon-collapse);\n}\n\n.jp-ConsoleIcon {\n  background-image: var(--jp-icon-console);\n}\n\n.jp-CopyIcon {\n  background-image: var(--jp-icon-copy);\n}\n\n.jp-CopyrightIcon {\n  background-image: var(--jp-icon-copyright);\n}\n\n.jp-CutIcon {\n  background-image: var(--jp-icon-cut);\n}\n\n.jp-DeleteIcon {\n  background-image: var(--jp-icon-delete);\n}\n\n.jp-DockBottomIcon {\n  background-image: var(--jp-icon-dock-bottom);\n}\n\n.jp-DockLeftIcon {\n  background-image: var(--jp-icon-dock-left);\n}\n\n.jp-DockRightIcon {\n  background-image: var(--jp-icon-dock-right);\n}\n\n.jp-DockTopIcon {\n  background-image: var(--jp-icon-dock-top);\n}\n\n.jp-DotsIcon {\n  background-image: var(--jp-icon-dots);\n}\n\n.jp-DownloadIcon {\n  background-image: var(--jp-icon-download);\n}\n\n.jp-DuplicateIcon {\n  background-image: var(--jp-icon-duplicate);\n}\n\n.jp-EditIcon {\n  background-image: var(--jp-icon-edit);\n}\n\n.jp-EllipsesIcon {\n  background-image: var(--jp-icon-ellipses);\n}\n\n.jp-ErrorIcon {\n  background-image: var(--jp-icon-error);\n}\n\n.jp-ExceptionsIcon {\n  background-image: var(--jp-icon-exceptions);\n}\n\n.jp-ExpandAllIcon {\n  background-image: var(--jp-icon-expand-all);\n}\n\n.jp-ExpandIcon {\n  background-image: var(--jp-icon-expand);\n}\n\n.jp-ExtensionIcon {\n  background-image: var(--jp-icon-extension);\n}\n\n.jp-FastForwardIcon {\n  background-image: var(--jp-icon-fast-forward);\n}\n\n.jp-FileIcon {\n  background-image: var(--jp-icon-file);\n}\n\n.jp-FileUploadIcon {\n  background-image: var(--jp-icon-file-upload);\n}\n\n.jp-FilterDotIcon {\n  background-image: var(--jp-icon-filter-dot);\n}\n\n.jp-FilterIcon {\n  background-image: var(--jp-icon-filter);\n}\n\n.jp-FilterListIcon {\n  background-image: var(--jp-icon-filter-list);\n}\n\n.jp-FolderFavoriteIcon {\n  background-image: var(--jp-icon-folder-favorite);\n}\n\n.jp-FolderIcon {\n  background-image: var(--jp-icon-folder);\n}\n\n.jp-HistoryIcon {\n  background-image: var(--jp-icon-history);\n}\n\n.jp-HomeIcon {\n  background-image: var(--jp-icon-home);\n}\n\n.jp-Html5Icon {\n  background-image: var(--jp-icon-html5);\n}\n\n.jp-ImageIcon {\n  background-image: var(--jp-icon-image);\n}\n\n.jp-InfoIcon {\n  background-image: var(--jp-icon-info);\n}\n\n.jp-InspectorIcon {\n  background-image: var(--jp-icon-inspector);\n}\n\n.jp-JsonIcon {\n  background-image: var(--jp-icon-json);\n}\n\n.jp-JuliaIcon {\n  background-image: var(--jp-icon-julia);\n}\n\n.jp-JumpBackIcon {\n  background-image: var(--jp-icon-jump-back);\n}\n\n.jp-JumpForwardIcon {\n  background-image: var(--jp-icon-jump-forward);\n}\n\n.jp-JupyterFaviconIcon {\n  background-image: var(--jp-icon-jupyter-favicon);\n}\n\n.jp-JupyterIcon {\n  background-image: var(--jp-icon-jupyter);\n}\n\n.jp-JupyterlabWordmarkIcon {\n  background-image: var(--jp-icon-jupyterlab-wordmark);\n}\n\n.jp-KernelIcon {\n  background-image: var(--jp-icon-kernel);\n}\n\n.jp-KeyboardIcon {\n  background-image: var(--jp-icon-keyboard);\n}\n\n.jp-LaunchIcon {\n  background-image: var(--jp-icon-launch);\n}\n\n.jp-LauncherIcon {\n  background-image: var(--jp-icon-launcher);\n}\n\n.jp-LineFormIcon {\n  background-image: var(--jp-icon-line-form);\n}\n\n.jp-LinkIcon {\n  background-image: var(--jp-icon-link);\n}\n\n.jp-ListIcon {\n  background-image: var(--jp-icon-list);\n}\n\n.jp-LockIcon {\n  background-image: var(--jp-icon-lock);\n}\n\n.jp-MarkdownIcon {\n  background-image: var(--jp-icon-markdown);\n}\n\n.jp-MermaidIcon {\n  background-image: var(--jp-icon-mermaid);\n}\n\n.jp-MoveDownIcon {\n  background-image: var(--jp-icon-move-down);\n}\n\n.jp-MoveUpIcon {\n  background-image: var(--jp-icon-move-up);\n}\n\n.jp-NewFolderIcon {\n  background-image: var(--jp-icon-new-folder);\n}\n\n.jp-NotTrustedIcon {\n  background-image: var(--jp-icon-not-trusted);\n}\n\n.jp-NotebookIcon {\n  background-image: var(--jp-icon-notebook);\n}\n\n.jp-NumberingIcon {\n  background-image: var(--jp-icon-numbering);\n}\n\n.jp-OfflineBoltIcon {\n  background-image: var(--jp-icon-offline-bolt);\n}\n\n.jp-OpenKernelSourceIcon {\n  background-image: var(--jp-icon-open-kernel-source);\n}\n\n.jp-PaletteIcon {\n  background-image: var(--jp-icon-palette);\n}\n\n.jp-PasteIcon {\n  background-image: var(--jp-icon-paste);\n}\n\n.jp-PauseIcon {\n  background-image: var(--jp-icon-pause);\n}\n\n.jp-PdfIcon {\n  background-image: var(--jp-icon-pdf);\n}\n\n.jp-PythonIcon {\n  background-image: var(--jp-icon-python);\n}\n\n.jp-RKernelIcon {\n  background-image: var(--jp-icon-r-kernel);\n}\n\n.jp-ReactIcon {\n  background-image: var(--jp-icon-react);\n}\n\n.jp-RedoIcon {\n  background-image: var(--jp-icon-redo);\n}\n\n.jp-RefreshIcon {\n  background-image: var(--jp-icon-refresh);\n}\n\n.jp-RegexIcon {\n  background-image: var(--jp-icon-regex);\n}\n\n.jp-RunIcon {\n  background-image: var(--jp-icon-run);\n}\n\n.jp-RunningIcon {\n  background-image: var(--jp-icon-running);\n}\n\n.jp-SaveIcon {\n  background-image: var(--jp-icon-save);\n}\n\n.jp-SearchIcon {\n  background-image: var(--jp-icon-search);\n}\n\n.jp-SelectedBreakpointIcon {\n  background-image: var(--jp-icon-selected-breakpoint);\n}\n\n.jp-SettingsIcon {\n  background-image: var(--jp-icon-settings);\n}\n\n.jp-ShareIcon {\n  background-image: var(--jp-icon-share);\n}\n\n.jp-SpreadsheetIcon {\n  background-image: var(--jp-icon-spreadsheet);\n}\n\n.jp-StepIntoIcon {\n  background-image: var(--jp-icon-step-into);\n}\n\n.jp-StepOutIcon {\n  background-image: var(--jp-icon-step-out);\n}\n\n.jp-StepOverIcon {\n  background-image: var(--jp-icon-step-over);\n}\n\n.jp-StopIcon {\n  background-image: var(--jp-icon-stop);\n}\n\n.jp-TabIcon {\n  background-image: var(--jp-icon-tab);\n}\n\n.jp-TableRowsIcon {\n  background-image: var(--jp-icon-table-rows);\n}\n\n.jp-TagIcon {\n  background-image: var(--jp-icon-tag);\n}\n\n.jp-TerminalIcon {\n  background-image: var(--jp-icon-terminal);\n}\n\n.jp-TextEditorIcon {\n  background-image: var(--jp-icon-text-editor);\n}\n\n.jp-TocIcon {\n  background-image: var(--jp-icon-toc);\n}\n\n.jp-TreeViewIcon {\n  background-image: var(--jp-icon-tree-view);\n}\n\n.jp-TrustedIcon {\n  background-image: var(--jp-icon-trusted);\n}\n\n.jp-UndoIcon {\n  background-image: var(--jp-icon-undo);\n}\n\n.jp-UserIcon {\n  background-image: var(--jp-icon-user);\n}\n\n.jp-UsersIcon {\n  background-image: var(--jp-icon-users);\n}\n\n.jp-VariableIcon {\n  background-image: var(--jp-icon-variable);\n}\n\n.jp-VegaIcon {\n  background-image: var(--jp-icon-vega);\n}\n\n.jp-VideoIcon {\n  background-image: var(--jp-icon-video);\n}\n\n.jp-ViewBreakpointIcon {\n  background-image: var(--jp-icon-view-breakpoint);\n}\n\n.jp-WordIcon {\n  background-image: var(--jp-icon-word);\n}\n\n.jp-YamlIcon {\n  background-image: var(--jp-icon-yaml);\n}\n"],sourceRoot:""}]);let ig=tA},24770(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| 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;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/deprecatedExtra.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;EAEE;;AAEF;;EAEE,2BAA2B;EAC3B,4BAA4B;EAC5B,qBAAqB;EACrB,eAAe;EACf,gBAAgB;AAClB;;AAEA;EACE,2BAA2B;EAC3B,4BAA4B;EAC5B,sBAAsB;AACxB;;AAEA;;EAEE;;AAEF;EACE,qBAAqB;EACrB,eAAe;EACf,gBAAgB;AAClB;;AAEA;EACE,qBAAqB;EACrB,eAAe;EACf,gBAAgB;AAClB;;AAEA;EACE,qBAAqB;EACrB,eAAe;EACf,gBAAgB;AAClB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/**\n * (DEPRECATED) Support for consuming icons as CSS background images\n */\n\n.jp-Icon,\n.jp-MaterialIcon {\n  background-position: center;\n  background-repeat: no-repeat;\n  background-size: 16px;\n  min-width: 16px;\n  min-height: 16px;\n}\n\n.jp-Icon-cover {\n  background-position: center;\n  background-repeat: no-repeat;\n  background-size: cover;\n}\n\n/**\n * (DEPRECATED) Support for specific CSS icon sizes\n */\n\n.jp-Icon-16 {\n  background-size: 16px;\n  min-width: 16px;\n  min-height: 16px;\n}\n\n.jp-Icon-18 {\n  background-size: 18px;\n  min-width: 18px;\n  min-height: 18px;\n}\n\n.jp-Icon-20 {\n  background-size: 20px;\n  min-width: 20px;\n  min-height: 20px;\n}\n"],sourceRoot:""}]);let a=s},99748(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-HoverBox {
  position: fixed;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/hoverbox.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,eAAe;AACjB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-HoverBox {\n  position: fixed;\n}\n"],sourceRoot:""}]);let a=s},52295(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/**
 * Support for icons as inline SVG HTMLElements
 */

/* recolor the primary elements of an icon */
.jp-icon0[fill] {
  fill: var(--jp-inverse-layout-color0);
}

.jp-icon1[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-icon2[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-icon3[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.jp-icon4[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-icon0[stroke] {
  stroke: var(--jp-inverse-layout-color0);
}

.jp-icon1[stroke] {
  stroke: var(--jp-inverse-layout-color1);
}

.jp-icon2[stroke] {
  stroke: var(--jp-inverse-layout-color2);
}

.jp-icon3[stroke] {
  stroke: var(--jp-inverse-layout-color3);
}

.jp-icon4[stroke] {
  stroke: var(--jp-inverse-layout-color4);
}

/* recolor the accent elements of an icon */
.jp-icon-accent0[fill] {
  fill: var(--jp-layout-color0);
}

.jp-icon-accent1[fill] {
  fill: var(--jp-layout-color1);
}

.jp-icon-accent2[fill] {
  fill: var(--jp-layout-color2);
}

.jp-icon-accent3[fill] {
  fill: var(--jp-layout-color3);
}

.jp-icon-accent4[fill] {
  fill: var(--jp-layout-color4);
}

.jp-icon-accent0[stroke] {
  stroke: var(--jp-layout-color0);
}

.jp-icon-accent1[stroke] {
  stroke: var(--jp-layout-color1);
}

.jp-icon-accent2[stroke] {
  stroke: var(--jp-layout-color2);
}

.jp-icon-accent3[stroke] {
  stroke: var(--jp-layout-color3);
}

.jp-icon-accent4[stroke] {
  stroke: var(--jp-layout-color4);
}

/* set the color of an icon to transparent */
.jp-icon-none[fill] {
  fill: none;
}

.jp-icon-none[stroke] {
  stroke: none;
}

/* brand icon colors. Same for light and dark */
.jp-icon-brand0[fill] {
  fill: var(--jp-brand-color0);
}

.jp-icon-brand1[fill] {
  fill: var(--jp-brand-color1);
}

.jp-icon-brand2[fill] {
  fill: var(--jp-brand-color2);
}

.jp-icon-brand3[fill] {
  fill: var(--jp-brand-color3);
}

.jp-icon-brand4[fill] {
  fill: var(--jp-brand-color4);
}

.jp-icon-brand0[stroke] {
  stroke: var(--jp-brand-color0);
}

.jp-icon-brand1[stroke] {
  stroke: var(--jp-brand-color1);
}

.jp-icon-brand2[stroke] {
  stroke: var(--jp-brand-color2);
}

.jp-icon-brand3[stroke] {
  stroke: var(--jp-brand-color3);
}

.jp-icon-brand4[stroke] {
  stroke: var(--jp-brand-color4);
}

/* warn icon colors. Same for light and dark */
.jp-icon-warn0[fill] {
  fill: var(--jp-warn-color0);
}

.jp-icon-warn1[fill] {
  fill: var(--jp-warn-color1);
}

.jp-icon-warn2[fill] {
  fill: var(--jp-warn-color2);
}

.jp-icon-warn3[fill] {
  fill: var(--jp-warn-color3);
}

.jp-icon-warn0[stroke] {
  stroke: var(--jp-warn-color0);
}

.jp-icon-warn1[stroke] {
  stroke: var(--jp-warn-color1);
}

.jp-icon-warn2[stroke] {
  stroke: var(--jp-warn-color2);
}

.jp-icon-warn3[stroke] {
  stroke: var(--jp-warn-color3);
}

/* icon colors that contrast well with each other and most backgrounds */
.jp-icon-contrast0[fill] {
  fill: var(--jp-icon-contrast-color0);
}

.jp-icon-contrast1[fill] {
  fill: var(--jp-icon-contrast-color1);
}

.jp-icon-contrast2[fill] {
  fill: var(--jp-icon-contrast-color2);
}

.jp-icon-contrast3[fill] {
  fill: var(--jp-icon-contrast-color3);
}

.jp-icon-contrast0[stroke] {
  stroke: var(--jp-icon-contrast-color0);
}

.jp-icon-contrast1[stroke] {
  stroke: var(--jp-icon-contrast-color1);
}

.jp-icon-contrast2[stroke] {
  stroke: var(--jp-icon-contrast-color2);
}

.jp-icon-contrast3[stroke] {
  stroke: var(--jp-icon-contrast-color3);
}

.jp-icon-dot[fill] {
  fill: var(--jp-warn-color0);
}

.jp-jupyter-icon-color[fill] {
  fill: var(--jp-jupyter-icon-color, var(--jp-warn-color0));
}

.jp-notebook-icon-color[fill] {
  fill: var(--jp-notebook-icon-color, var(--jp-warn-color0));
}

.jp-json-icon-color[fill] {
  fill: var(--jp-json-icon-color, var(--jp-warn-color1));
}

.jp-console-icon-color[fill] {
  fill: var(--jp-console-icon-color, white);
}

.jp-console-icon-background-color[fill] {
  fill: var(--jp-console-icon-background-color, var(--jp-brand-color1));
}

.jp-terminal-icon-color[fill] {
  fill: var(--jp-terminal-icon-color, var(--jp-layout-color2));
}

.jp-terminal-icon-background-color[fill] {
  fill: var(
    --jp-terminal-icon-background-color,
    var(--jp-inverse-layout-color2)
  );
}

.jp-text-editor-icon-color[fill] {
  fill: var(--jp-text-editor-icon-color, var(--jp-inverse-layout-color3));
}

.jp-inspector-icon-color[fill] {
  fill: var(--jp-inspector-icon-color, var(--jp-inverse-layout-color3));
}

/* CSS for icons in selected filebrowser listing items */
.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] {
  fill: #fff;
}

.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] {
  fill: var(--jp-brand-color1);
}

/* stylelint-disable selector-max-class, selector-max-compound-selectors */

/**
* TODO: come up with non css-hack solution for showing the busy icon on top
*  of the close icon
* CSS for complex behavior of close icon of tabs in the main area tabbar
*/
.lm-DockPanel-tabBar
  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
  > .lm-TabBar-tabCloseIcon
  > :not(:hover)
  > .jp-icon3[fill] {
  fill: none;
}

.lm-DockPanel-tabBar
  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
  > .lm-TabBar-tabCloseIcon
  > :not(:hover)
  > .jp-icon-busy[fill] {
  fill: var(--jp-inverse-layout-color3);
}

/* stylelint-enable selector-max-class, selector-max-compound-selectors */

/* CSS for icons in status bar */
#jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] {
  fill: #fff;
}

#jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] {
  fill: var(--jp-brand-color1);
}

/* special handling for splash icon CSS. While the theme CSS reloads during
   splash, the splash icon can loose theming. To prevent that, we set a
   default for its color variable */
:root {
  --jp-warn-color0: var(--md-orange-700, #f57c00);
}

/* not sure what to do with this one, used in filebrowser listing */
.jp-DragIcon {
  margin-right: 4px;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/icons.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;EAEE;;AAEF,4CAA4C;AAC5C;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA,2CAA2C;AAC3C;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA,4CAA4C;AAC5C;EACE,UAAU;AACZ;;AAEA;EACE,YAAY;AACd;;AAEA,+CAA+C;AAC/C;EACE,4BAA4B;AAC9B;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,8BAA8B;AAChC;;AAEA,8CAA8C;AAC9C;EACE,2BAA2B;AAC7B;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA,wEAAwE;AACxE;EACE,oCAAoC;AACtC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,qEAAqE;AACvE;;AAEA;EACE,4DAA4D;AAC9D;;AAEA;EACE;;;GAGC;AACH;;AAEA;EACE,uEAAuE;AACzE;;AAEA;EACE,qEAAqE;AACvE;;AAEA,wDAAwD;AACxD;EACE,UAAU;AACZ;;AAEA;EACE,4BAA4B;AAC9B;;AAEA,0EAA0E;;AAE1E;;;;CAIC;AACD;;;;;EAKE,UAAU;AACZ;;AAEA;;;;;EAKE,qCAAqC;AACvC;;AAEA,yEAAyE;;AAEzE,gCAAgC;AAChC;EACE,UAAU;AACZ;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;;mCAEmC;AACnC;EACE,+CAA+C;AACjD;;AAEA,mEAAmE;AACnE;EACE,iBAAiB;AACnB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/**\n * Support for icons as inline SVG HTMLElements\n */\n\n/* recolor the primary elements of an icon */\n.jp-icon0[fill] {\n  fill: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon1[fill] {\n  fill: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon2[fill] {\n  fill: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon3[fill] {\n  fill: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon4[fill] {\n  fill: var(--jp-inverse-layout-color4);\n}\n\n.jp-icon0[stroke] {\n  stroke: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon1[stroke] {\n  stroke: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon2[stroke] {\n  stroke: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon3[stroke] {\n  stroke: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon4[stroke] {\n  stroke: var(--jp-inverse-layout-color4);\n}\n\n/* recolor the accent elements of an icon */\n.jp-icon-accent0[fill] {\n  fill: var(--jp-layout-color0);\n}\n\n.jp-icon-accent1[fill] {\n  fill: var(--jp-layout-color1);\n}\n\n.jp-icon-accent2[fill] {\n  fill: var(--jp-layout-color2);\n}\n\n.jp-icon-accent3[fill] {\n  fill: var(--jp-layout-color3);\n}\n\n.jp-icon-accent4[fill] {\n  fill: var(--jp-layout-color4);\n}\n\n.jp-icon-accent0[stroke] {\n  stroke: var(--jp-layout-color0);\n}\n\n.jp-icon-accent1[stroke] {\n  stroke: var(--jp-layout-color1);\n}\n\n.jp-icon-accent2[stroke] {\n  stroke: var(--jp-layout-color2);\n}\n\n.jp-icon-accent3[stroke] {\n  stroke: var(--jp-layout-color3);\n}\n\n.jp-icon-accent4[stroke] {\n  stroke: var(--jp-layout-color4);\n}\n\n/* set the color of an icon to transparent */\n.jp-icon-none[fill] {\n  fill: none;\n}\n\n.jp-icon-none[stroke] {\n  stroke: none;\n}\n\n/* brand icon colors. Same for light and dark */\n.jp-icon-brand0[fill] {\n  fill: var(--jp-brand-color0);\n}\n\n.jp-icon-brand1[fill] {\n  fill: var(--jp-brand-color1);\n}\n\n.jp-icon-brand2[fill] {\n  fill: var(--jp-brand-color2);\n}\n\n.jp-icon-brand3[fill] {\n  fill: var(--jp-brand-color3);\n}\n\n.jp-icon-brand4[fill] {\n  fill: var(--jp-brand-color4);\n}\n\n.jp-icon-brand0[stroke] {\n  stroke: var(--jp-brand-color0);\n}\n\n.jp-icon-brand1[stroke] {\n  stroke: var(--jp-brand-color1);\n}\n\n.jp-icon-brand2[stroke] {\n  stroke: var(--jp-brand-color2);\n}\n\n.jp-icon-brand3[stroke] {\n  stroke: var(--jp-brand-color3);\n}\n\n.jp-icon-brand4[stroke] {\n  stroke: var(--jp-brand-color4);\n}\n\n/* warn icon colors. Same for light and dark */\n.jp-icon-warn0[fill] {\n  fill: var(--jp-warn-color0);\n}\n\n.jp-icon-warn1[fill] {\n  fill: var(--jp-warn-color1);\n}\n\n.jp-icon-warn2[fill] {\n  fill: var(--jp-warn-color2);\n}\n\n.jp-icon-warn3[fill] {\n  fill: var(--jp-warn-color3);\n}\n\n.jp-icon-warn0[stroke] {\n  stroke: var(--jp-warn-color0);\n}\n\n.jp-icon-warn1[stroke] {\n  stroke: var(--jp-warn-color1);\n}\n\n.jp-icon-warn2[stroke] {\n  stroke: var(--jp-warn-color2);\n}\n\n.jp-icon-warn3[stroke] {\n  stroke: var(--jp-warn-color3);\n}\n\n/* icon colors that contrast well with each other and most backgrounds */\n.jp-icon-contrast0[fill] {\n  fill: var(--jp-icon-contrast-color0);\n}\n\n.jp-icon-contrast1[fill] {\n  fill: var(--jp-icon-contrast-color1);\n}\n\n.jp-icon-contrast2[fill] {\n  fill: var(--jp-icon-contrast-color2);\n}\n\n.jp-icon-contrast3[fill] {\n  fill: var(--jp-icon-contrast-color3);\n}\n\n.jp-icon-contrast0[stroke] {\n  stroke: var(--jp-icon-contrast-color0);\n}\n\n.jp-icon-contrast1[stroke] {\n  stroke: var(--jp-icon-contrast-color1);\n}\n\n.jp-icon-contrast2[stroke] {\n  stroke: var(--jp-icon-contrast-color2);\n}\n\n.jp-icon-contrast3[stroke] {\n  stroke: var(--jp-icon-contrast-color3);\n}\n\n.jp-icon-dot[fill] {\n  fill: var(--jp-warn-color0);\n}\n\n.jp-jupyter-icon-color[fill] {\n  fill: var(--jp-jupyter-icon-color, var(--jp-warn-color0));\n}\n\n.jp-notebook-icon-color[fill] {\n  fill: var(--jp-notebook-icon-color, var(--jp-warn-color0));\n}\n\n.jp-json-icon-color[fill] {\n  fill: var(--jp-json-icon-color, var(--jp-warn-color1));\n}\n\n.jp-console-icon-color[fill] {\n  fill: var(--jp-console-icon-color, white);\n}\n\n.jp-console-icon-background-color[fill] {\n  fill: var(--jp-console-icon-background-color, var(--jp-brand-color1));\n}\n\n.jp-terminal-icon-color[fill] {\n  fill: var(--jp-terminal-icon-color, var(--jp-layout-color2));\n}\n\n.jp-terminal-icon-background-color[fill] {\n  fill: var(\n    --jp-terminal-icon-background-color,\n    var(--jp-inverse-layout-color2)\n  );\n}\n\n.jp-text-editor-icon-color[fill] {\n  fill: var(--jp-text-editor-icon-color, var(--jp-inverse-layout-color3));\n}\n\n.jp-inspector-icon-color[fill] {\n  fill: var(--jp-inspector-icon-color, var(--jp-inverse-layout-color3));\n}\n\n/* CSS for icons in selected filebrowser listing items */\n.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] {\n  fill: #fff;\n}\n\n.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] {\n  fill: var(--jp-brand-color1);\n}\n\n/* stylelint-disable selector-max-class, selector-max-compound-selectors */\n\n/**\n* TODO: come up with non css-hack solution for showing the busy icon on top\n*  of the close icon\n* CSS for complex behavior of close icon of tabs in the main area tabbar\n*/\n.lm-DockPanel-tabBar\n  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty\n  > .lm-TabBar-tabCloseIcon\n  > :not(:hover)\n  > .jp-icon3[fill] {\n  fill: none;\n}\n\n.lm-DockPanel-tabBar\n  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty\n  > .lm-TabBar-tabCloseIcon\n  > :not(:hover)\n  > .jp-icon-busy[fill] {\n  fill: var(--jp-inverse-layout-color3);\n}\n\n/* stylelint-enable selector-max-class, selector-max-compound-selectors */\n\n/* CSS for icons in status bar */\n#jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] {\n  fill: #fff;\n}\n\n#jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] {\n  fill: var(--jp-brand-color1);\n}\n\n/* special handling for splash icon CSS. While the theme CSS reloads during\n   splash, the splash icon can loose theming. To prevent that, we set a\n   default for its color variable */\n:root {\n  --jp-warn-color0: var(--md-orange-700, #f57c00);\n}\n\n/* not sure what to do with this one, used in filebrowser listing */\n.jp-DragIcon {\n  margin-right: 4px;\n}\n"],sourceRoot:""}]);let a=s},97938(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| 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);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/iconsalt.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;EAEE;;AAEF,gDAAgD;AAChD;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA,+CAA+C;AAC/C;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/**\n * Support for alt colors for icons as inline SVG HTMLElements\n */\n\n/* alt recolor the primary elements of an icon */\n.jp-icon-alt .jp-icon0[fill] {\n  fill: var(--jp-layout-color0);\n}\n\n.jp-icon-alt .jp-icon1[fill] {\n  fill: var(--jp-layout-color1);\n}\n\n.jp-icon-alt .jp-icon2[fill] {\n  fill: var(--jp-layout-color2);\n}\n\n.jp-icon-alt .jp-icon3[fill] {\n  fill: var(--jp-layout-color3);\n}\n\n.jp-icon-alt .jp-icon4[fill] {\n  fill: var(--jp-layout-color4);\n}\n\n.jp-icon-alt .jp-icon0[stroke] {\n  stroke: var(--jp-layout-color0);\n}\n\n.jp-icon-alt .jp-icon1[stroke] {\n  stroke: var(--jp-layout-color1);\n}\n\n.jp-icon-alt .jp-icon2[stroke] {\n  stroke: var(--jp-layout-color2);\n}\n\n.jp-icon-alt .jp-icon3[stroke] {\n  stroke: var(--jp-layout-color3);\n}\n\n.jp-icon-alt .jp-icon4[stroke] {\n  stroke: var(--jp-layout-color4);\n}\n\n/* alt recolor the accent elements of an icon */\n.jp-icon-alt .jp-icon-accent0[fill] {\n  fill: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon-alt .jp-icon-accent1[fill] {\n  fill: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon-alt .jp-icon-accent2[fill] {\n  fill: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon-alt .jp-icon-accent3[fill] {\n  fill: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon-alt .jp-icon-accent4[fill] {\n  fill: var(--jp-inverse-layout-color4);\n}\n\n.jp-icon-alt .jp-icon-accent0[stroke] {\n  stroke: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon-alt .jp-icon-accent1[stroke] {\n  stroke: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon-alt .jp-icon-accent2[stroke] {\n  stroke: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon-alt .jp-icon-accent3[stroke] {\n  stroke: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon-alt .jp-icon-accent4[stroke] {\n  stroke: var(--jp-inverse-layout-color4);\n}\n"],sourceRoot:""}]);let a=s},62429(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| 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);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/iconshover.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,wBAAwB;AAC1B;;AAEA;;EAEE;;AAEF;;EAEE;;AAEF,4CAA4C;AAC5C;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA,2CAA2C;AAC3C;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA,4CAA4C;AAC5C;EACE,UAAU;AACZ;;AAEA;EACE,YAAY;AACd;;AAEA;;EAEE;;AAEF,oDAAoD;AACpD;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA,mDAAmD;AACnD;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-icon-hoverShow:not(:hover) .jp-icon-hoverShow-content {\n  display: none !important;\n}\n\n/**\n * Support for hover colors for icons as inline SVG HTMLElements\n */\n\n/**\n * regular colors\n */\n\n/* recolor the primary elements of an icon */\n.jp-icon-hover :hover .jp-icon0-hover[fill] {\n  fill: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon-hover :hover .jp-icon1-hover[fill] {\n  fill: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon-hover :hover .jp-icon2-hover[fill] {\n  fill: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon-hover :hover .jp-icon3-hover[fill] {\n  fill: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon-hover :hover .jp-icon4-hover[fill] {\n  fill: var(--jp-inverse-layout-color4);\n}\n\n.jp-icon-hover :hover .jp-icon0-hover[stroke] {\n  stroke: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon-hover :hover .jp-icon1-hover[stroke] {\n  stroke: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon-hover :hover .jp-icon2-hover[stroke] {\n  stroke: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon-hover :hover .jp-icon3-hover[stroke] {\n  stroke: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon-hover :hover .jp-icon4-hover[stroke] {\n  stroke: var(--jp-inverse-layout-color4);\n}\n\n/* recolor the accent elements of an icon */\n.jp-icon-hover :hover .jp-icon-accent0-hover[fill] {\n  fill: var(--jp-layout-color0);\n}\n\n.jp-icon-hover :hover .jp-icon-accent1-hover[fill] {\n  fill: var(--jp-layout-color1);\n}\n\n.jp-icon-hover :hover .jp-icon-accent2-hover[fill] {\n  fill: var(--jp-layout-color2);\n}\n\n.jp-icon-hover :hover .jp-icon-accent3-hover[fill] {\n  fill: var(--jp-layout-color3);\n}\n\n.jp-icon-hover :hover .jp-icon-accent4-hover[fill] {\n  fill: var(--jp-layout-color4);\n}\n\n.jp-icon-hover :hover .jp-icon-accent0-hover[stroke] {\n  stroke: var(--jp-layout-color0);\n}\n\n.jp-icon-hover :hover .jp-icon-accent1-hover[stroke] {\n  stroke: var(--jp-layout-color1);\n}\n\n.jp-icon-hover :hover .jp-icon-accent2-hover[stroke] {\n  stroke: var(--jp-layout-color2);\n}\n\n.jp-icon-hover :hover .jp-icon-accent3-hover[stroke] {\n  stroke: var(--jp-layout-color3);\n}\n\n.jp-icon-hover :hover .jp-icon-accent4-hover[stroke] {\n  stroke: var(--jp-layout-color4);\n}\n\n/* set the color of an icon to transparent */\n.jp-icon-hover :hover .jp-icon-none-hover[fill] {\n  fill: none;\n}\n\n.jp-icon-hover :hover .jp-icon-none-hover[stroke] {\n  stroke: none;\n}\n\n/**\n * inverse colors\n */\n\n/* inverse recolor the primary elements of an icon */\n.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] {\n  fill: var(--jp-layout-color0);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] {\n  fill: var(--jp-layout-color1);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] {\n  fill: var(--jp-layout-color2);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] {\n  fill: var(--jp-layout-color3);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] {\n  fill: var(--jp-layout-color4);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] {\n  stroke: var(--jp-layout-color0);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] {\n  stroke: var(--jp-layout-color1);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] {\n  stroke: var(--jp-layout-color2);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] {\n  stroke: var(--jp-layout-color3);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] {\n  stroke: var(--jp-layout-color4);\n}\n\n/* inverse recolor the accent elements of an icon */\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] {\n  fill: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] {\n  fill: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] {\n  fill: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] {\n  fill: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] {\n  fill: var(--jp-inverse-layout-color4);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] {\n  stroke: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] {\n  stroke: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] {\n  stroke: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] {\n  stroke: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] {\n  stroke: var(--jp-inverse-layout-color4);\n}\n"],sourceRoot:""}]);let a=s},425(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-IFrame {
  width: 100%;
  height: 100%;
}

.jp-IFrame > iframe {
  border: none;
}

/*
When drag events occur, \`lm-mod-override-cursor\` is added to the body.
Because iframes steal all cursor events, the following two rules are necessary
to suppress pointer events while resize drags are occurring. There may be a
better solution to this problem.
*/
body.lm-mod-override-cursor .jp-IFrame {
  position: relative;
}

body.lm-mod-override-cursor .jp-IFrame::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/iframe.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,YAAY;AACd;;AAEA;;;;;CAKC;AACD;EACE,kBAAkB;AACpB;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,QAAQ;EACR,SAAS;EACT,uBAAuB;AACzB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-IFrame {\n  width: 100%;\n  height: 100%;\n}\n\n.jp-IFrame > iframe {\n  border: none;\n}\n\n/*\nWhen drag events occur, `lm-mod-override-cursor` is added to the body.\nBecause iframes steal all cursor events, the following two rules are necessary\nto suppress pointer events while resize drags are occurring. There may be a\nbetter solution to this problem.\n*/\nbody.lm-mod-override-cursor .jp-IFrame {\n  position: relative;\n}\n\nbody.lm-mod-override-cursor .jp-IFrame::before {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background: transparent;\n}\n"],sourceRoot:""}]);let a=s},89613(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-FormGroup-content fieldset {
  border: none;
  padding: 0;
  min-width: 0;
  width: 100%;
}

/* stylelint-disable selector-max-type */

.jp-FormGroup-content fieldset .jp-inputFieldWrapper > input,
.jp-FormGroup-content fieldset .jp-inputFieldWrapper > select,
.jp-FormGroup-content fieldset .jp-inputFieldWrapper > textarea {
  font-family: var(--jp-ui-font-family);
  font-size: var(--jp-content-font-size2);
  border-color: var(--jp-input-border-color);
  border-style: solid;
  border-radius: var(--jp-border-radius);
  border-width: 1px;
  padding: 6px 8px;
  background: none;
  color: var(--jp-ui-font-color0);
  height: inherit;
}

.jp-FormGroup-content .jp-inputFieldWrapper > select > option {
  background-color: var(--jp-layout-color1);
}

.jp-FormGroup-content fieldset input[type='checkbox'] {
  position: relative;
  top: 2px;
  margin-left: 0;
}

.jp-FormGroup-content button.jp-mod-styled {
  cursor: pointer;
}

.jp-FormGroup-content .checkbox label {
  cursor: pointer;
  font-size: var(--jp-content-font-size1);
}

.jp-FormGroup-content .jp-root > fieldset > legend {
  display: none;
}

.jp-FormGroup-content .jp-root > fieldset > p {
  display: none;
}

/** copy of \`input.jp-mod-styled:focus\` style */
.jp-FormGroup-content fieldset input:focus,
.jp-FormGroup-content fieldset select:focus {
  -moz-outline-radius: unset;
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-input-active-border-color);
  outline-style: solid;
  outline-offset: -1px;
  box-shadow: var(--jp-input-box-shadow);
}

.jp-FormGroup-content fieldset input[type='checkbox']:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
  outline-offset: 1px;
}

.jp-FormGroup-content fieldset input:hover:not(:focus),
.jp-FormGroup-content fieldset select:hover:not(:focus) {
  background-color: var(--jp-border-color2);
}

/* stylelint-enable selector-max-type */

.jp-FormGroup-content .checkbox .field-description {
  /* Disable default description field for checkbox:
   because other widgets do not have description fields,
   we add descriptions to each widget on the field level.
  */
  display: none;
}

.jp-FormGroup-content #root__description {
  display: none;
}

.jp-FormGroup-content .jp-modifiedIndicator {
  width: 5px;
  background-color: var(--jp-brand-color2);
  margin-top: 0;
  margin-left: calc(var(--jp-private-settingeditor-modifier-indent) * -1);
  flex-shrink: 0;
}

.jp-FormGroup-content .jp-modifiedIndicator.jp-errorIndicator {
  background-color: var(--jp-error-color0);
  margin-right: 0.5em;
}

/* RJSF ARRAY style */

.jp-arrayFieldWrapper legend {
  font-size: var(--jp-content-font-size2);
  color: var(--jp-ui-font-color0);
  flex-basis: 100%;
  padding: 4px 0;
  font-weight: var(--jp-content-heading-font-weight);
  border-bottom: 1px solid var(--jp-border-color2);
}

.jp-arrayFieldWrapper .field-description {
  padding: 4px 0;
  white-space: pre-wrap;
}

.jp-arrayFieldWrapper .array-item {
  width: 100%;
  border: 1px solid var(--jp-border-color2);
  border-radius: 4px;
  margin: 4px;
  position: relative;
}

.jp-ArrayOperations {
  display: flex;
  margin-left: 8px;
}

.field-array-of-object .jp-ArrayOperations {
  position: absolute;
  right: 2px;
  top: 10px;
}

/* Display the array operations toolbar on hover only for array of objects */
.jp-arrayFieldWrapper
  .field-array-of-object
  .array-item:not(:hover):not(:focus-within)
  .jp-ArrayOperations {
  display: none;
}

.jp-ArrayOperations .jp-ArrayOperationsButton {
  margin: 2px;
}

button.jp-ArrayOperationsButton.jp-mod-styled .jp-icon3[fill] {
  fill: var(--jp-ui-inverse-font-color0);
}

button.jp-ArrayOperationsButton.jp-mod-styled:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* RJSF form validation error */

.jp-FormGroup-content .validationErrors {
  color: var(--jp-error-color0);
}

/* Hide panel level error as duplicated the field level error */
.jp-FormGroup-content .panel.errors {
  display: none;
}

/* RJSF normal content (settings-editor) */

.jp-FormGroup-contentNormal {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.jp-FormGroup-contentNormal .jp-FormGroup-contentItem {
  margin-left: 7px;
  color: var(--jp-ui-font-color0);
}

.jp-FormGroup-contentNormal .jp-FormGroup-description {
  flex-basis: 100%;
  padding: 4px 7px;
  white-space: pre-wrap;
}

.jp-FormGroup-contentNormal .jp-FormGroup-default {
  flex-basis: 100%;
  padding: 4px 7px;
}

.jp-FormGroup-contentNormal .jp-FormGroup-fieldLabel {
  font-size: var(--jp-content-font-size1);
  font-weight: normal;
  min-width: 120px;
}

.jp-FormGroup-contentNormal fieldset:not(:first-child) {
  margin-left: 7px;
}

.jp-FormGroup-contentNormal
  .field-array:not(.field-array-of-object)
  .array-item {
  /* Display \`jp-ArrayOperations\` buttons side-by-side with content except
    for small screens where flex-wrap will place them one below the other.
  */
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.jp-FormGroup-contentNormal .jp-objectFieldWrapper .form-group {
  padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
  margin-top: 2px;
}

/* RJSF compact content (metadata-form) */

.jp-FormGroup-content.jp-FormGroup-contentCompact {
  width: 100%;
}

.jp-FormGroup-contentCompact .form-group {
  display: flex;
  padding: 0.5em 0.2em 0.5em 0;
}

.jp-FormGroup-contentCompact
  .jp-FormGroup-compactTitle
  .jp-FormGroup-description {
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color2);
}

.jp-FormGroup-contentCompact .jp-FormGroup-fieldLabel {
  padding-bottom: 0.3em;
}

.jp-FormGroup-contentCompact .jp-inputFieldWrapper .form-control {
  width: 100%;
  box-sizing: border-box;
}

.jp-FormGroup-contentCompact .jp-arrayFieldWrapper .jp-FormGroup-compactTitle {
  padding-bottom: 7px;
}

.jp-FormGroup-contentCompact
  .jp-objectFieldWrapper
  .jp-objectFieldWrapper
  .form-group {
  padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
  margin-top: 2px;
}

.jp-FormGroup-contentCompact ul.error-detail {
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
  padding-inline-start: 1em;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/rjsfTemplates.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,YAAY;EACZ,UAAU;EACV,YAAY;EACZ,WAAW;AACb;;AAEA,wCAAwC;;AAExC;;;EAGE,qCAAqC;EACrC,uCAAuC;EACvC,0CAA0C;EAC1C,mBAAmB;EACnB,sCAAsC;EACtC,iBAAiB;EACjB,gBAAgB;EAChB,gBAAgB;EAChB,+BAA+B;EAC/B,eAAe;AACjB;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,kBAAkB;EAClB,QAAQ;EACR,cAAc;AAChB;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,eAAe;EACf,uCAAuC;AACzC;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,aAAa;AACf;;AAEA,+CAA+C;AAC/C;;EAEE,0BAA0B;EAC1B,4CAA4C;EAC5C,kDAAkD;EAClD,oBAAoB;EACpB,oBAAoB;EACpB,sCAAsC;AACxC;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,mBAAmB;AACrB;;AAEA;;EAEE,yCAAyC;AAC3C;;AAEA,uCAAuC;;AAEvC;EACE;;;GAGC;EACD,aAAa;AACf;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,UAAU;EACV,wCAAwC;EACxC,aAAa;EACb,uEAAuE;EACvE,cAAc;AAChB;;AAEA;EACE,wCAAwC;EACxC,mBAAmB;AACrB;;AAEA,qBAAqB;;AAErB;EACE,uCAAuC;EACvC,+BAA+B;EAC/B,gBAAgB;EAChB,cAAc;EACd,kDAAkD;EAClD,gDAAgD;AAClD;;AAEA;EACE,cAAc;EACd,qBAAqB;AACvB;;AAEA;EACE,WAAW;EACX,yCAAyC;EACzC,kBAAkB;EAClB,WAAW;EACX,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,UAAU;EACV,SAAS;AACX;;AAEA,4EAA4E;AAC5E;;;;EAIE,aAAa;AACf;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,mBAAmB;EACnB,YAAY;AACd;;AAEA,+BAA+B;;AAE/B;EACE,6BAA6B;AAC/B;;AAEA,+DAA+D;AAC/D;EACE,aAAa;AACf;;AAEA,0CAA0C;;AAE1C;EACE,aAAa;EACb,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,gBAAgB;EAChB,+BAA+B;AACjC;;AAEA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,qBAAqB;AACvB;;AAEA;EACE,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,uCAAuC;EACvC,mBAAmB;EACnB,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;;;EAGE;;GAEC;EACD,aAAa;EACb,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,oEAAoE;EACpE,eAAe;AACjB;;AAEA,yCAAyC;;AAEzC;EACE,WAAW;AACb;;AAEA;EACE,aAAa;EACb,4BAA4B;AAC9B;;AAEA;;;EAGE,kCAAkC;EAClC,+BAA+B;AACjC;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,WAAW;EACX,sBAAsB;AACxB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;;;;EAIE,oEAAoE;EACpE,eAAe;AACjB;;AAEA;EACE,yBAAyB;EACzB,uBAAuB;EACvB,yBAAyB;AAC3B",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-FormGroup-content fieldset {\n  border: none;\n  padding: 0;\n  min-width: 0;\n  width: 100%;\n}\n\n/* stylelint-disable selector-max-type */\n\n.jp-FormGroup-content fieldset .jp-inputFieldWrapper > input,\n.jp-FormGroup-content fieldset .jp-inputFieldWrapper > select,\n.jp-FormGroup-content fieldset .jp-inputFieldWrapper > textarea {\n  font-family: var(--jp-ui-font-family);\n  font-size: var(--jp-content-font-size2);\n  border-color: var(--jp-input-border-color);\n  border-style: solid;\n  border-radius: var(--jp-border-radius);\n  border-width: 1px;\n  padding: 6px 8px;\n  background: none;\n  color: var(--jp-ui-font-color0);\n  height: inherit;\n}\n\n.jp-FormGroup-content .jp-inputFieldWrapper > select > option {\n  background-color: var(--jp-layout-color1);\n}\n\n.jp-FormGroup-content fieldset input[type='checkbox'] {\n  position: relative;\n  top: 2px;\n  margin-left: 0;\n}\n\n.jp-FormGroup-content button.jp-mod-styled {\n  cursor: pointer;\n}\n\n.jp-FormGroup-content .checkbox label {\n  cursor: pointer;\n  font-size: var(--jp-content-font-size1);\n}\n\n.jp-FormGroup-content .jp-root > fieldset > legend {\n  display: none;\n}\n\n.jp-FormGroup-content .jp-root > fieldset > p {\n  display: none;\n}\n\n/** copy of `input.jp-mod-styled:focus` style */\n.jp-FormGroup-content fieldset input:focus,\n.jp-FormGroup-content fieldset select:focus {\n  -moz-outline-radius: unset;\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-input-active-border-color);\n  outline-style: solid;\n  outline-offset: -1px;\n  box-shadow: var(--jp-input-box-shadow);\n}\n\n.jp-FormGroup-content fieldset input[type='checkbox']:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n  outline-offset: 1px;\n}\n\n.jp-FormGroup-content fieldset input:hover:not(:focus),\n.jp-FormGroup-content fieldset select:hover:not(:focus) {\n  background-color: var(--jp-border-color2);\n}\n\n/* stylelint-enable selector-max-type */\n\n.jp-FormGroup-content .checkbox .field-description {\n  /* Disable default description field for checkbox:\n   because other widgets do not have description fields,\n   we add descriptions to each widget on the field level.\n  */\n  display: none;\n}\n\n.jp-FormGroup-content #root__description {\n  display: none;\n}\n\n.jp-FormGroup-content .jp-modifiedIndicator {\n  width: 5px;\n  background-color: var(--jp-brand-color2);\n  margin-top: 0;\n  margin-left: calc(var(--jp-private-settingeditor-modifier-indent) * -1);\n  flex-shrink: 0;\n}\n\n.jp-FormGroup-content .jp-modifiedIndicator.jp-errorIndicator {\n  background-color: var(--jp-error-color0);\n  margin-right: 0.5em;\n}\n\n/* RJSF ARRAY style */\n\n.jp-arrayFieldWrapper legend {\n  font-size: var(--jp-content-font-size2);\n  color: var(--jp-ui-font-color0);\n  flex-basis: 100%;\n  padding: 4px 0;\n  font-weight: var(--jp-content-heading-font-weight);\n  border-bottom: 1px solid var(--jp-border-color2);\n}\n\n.jp-arrayFieldWrapper .field-description {\n  padding: 4px 0;\n  white-space: pre-wrap;\n}\n\n.jp-arrayFieldWrapper .array-item {\n  width: 100%;\n  border: 1px solid var(--jp-border-color2);\n  border-radius: 4px;\n  margin: 4px;\n  position: relative;\n}\n\n.jp-ArrayOperations {\n  display: flex;\n  margin-left: 8px;\n}\n\n.field-array-of-object .jp-ArrayOperations {\n  position: absolute;\n  right: 2px;\n  top: 10px;\n}\n\n/* Display the array operations toolbar on hover only for array of objects */\n.jp-arrayFieldWrapper\n  .field-array-of-object\n  .array-item:not(:hover):not(:focus-within)\n  .jp-ArrayOperations {\n  display: none;\n}\n\n.jp-ArrayOperations .jp-ArrayOperationsButton {\n  margin: 2px;\n}\n\nbutton.jp-ArrayOperationsButton.jp-mod-styled .jp-icon3[fill] {\n  fill: var(--jp-ui-inverse-font-color0);\n}\n\nbutton.jp-ArrayOperationsButton.jp-mod-styled:disabled {\n  cursor: not-allowed;\n  opacity: 0.5;\n}\n\n/* RJSF form validation error */\n\n.jp-FormGroup-content .validationErrors {\n  color: var(--jp-error-color0);\n}\n\n/* Hide panel level error as duplicated the field level error */\n.jp-FormGroup-content .panel.errors {\n  display: none;\n}\n\n/* RJSF normal content (settings-editor) */\n\n.jp-FormGroup-contentNormal {\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n}\n\n.jp-FormGroup-contentNormal .jp-FormGroup-contentItem {\n  margin-left: 7px;\n  color: var(--jp-ui-font-color0);\n}\n\n.jp-FormGroup-contentNormal .jp-FormGroup-description {\n  flex-basis: 100%;\n  padding: 4px 7px;\n  white-space: pre-wrap;\n}\n\n.jp-FormGroup-contentNormal .jp-FormGroup-default {\n  flex-basis: 100%;\n  padding: 4px 7px;\n}\n\n.jp-FormGroup-contentNormal .jp-FormGroup-fieldLabel {\n  font-size: var(--jp-content-font-size1);\n  font-weight: normal;\n  min-width: 120px;\n}\n\n.jp-FormGroup-contentNormal fieldset:not(:first-child) {\n  margin-left: 7px;\n}\n\n.jp-FormGroup-contentNormal\n  .field-array:not(.field-array-of-object)\n  .array-item {\n  /* Display `jp-ArrayOperations` buttons side-by-side with content except\n    for small screens where flex-wrap will place them one below the other.\n  */\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n}\n\n.jp-FormGroup-contentNormal .jp-objectFieldWrapper .form-group {\n  padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);\n  margin-top: 2px;\n}\n\n/* RJSF compact content (metadata-form) */\n\n.jp-FormGroup-content.jp-FormGroup-contentCompact {\n  width: 100%;\n}\n\n.jp-FormGroup-contentCompact .form-group {\n  display: flex;\n  padding: 0.5em 0.2em 0.5em 0;\n}\n\n.jp-FormGroup-contentCompact\n  .jp-FormGroup-compactTitle\n  .jp-FormGroup-description {\n  font-size: var(--jp-ui-font-size1);\n  color: var(--jp-ui-font-color2);\n}\n\n.jp-FormGroup-contentCompact .jp-FormGroup-fieldLabel {\n  padding-bottom: 0.3em;\n}\n\n.jp-FormGroup-contentCompact .jp-inputFieldWrapper .form-control {\n  width: 100%;\n  box-sizing: border-box;\n}\n\n.jp-FormGroup-contentCompact .jp-arrayFieldWrapper .jp-FormGroup-compactTitle {\n  padding-bottom: 7px;\n}\n\n.jp-FormGroup-contentCompact\n  .jp-objectFieldWrapper\n  .jp-objectFieldWrapper\n  .form-group {\n  padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);\n  margin-top: 2px;\n}\n\n.jp-FormGroup-contentCompact ul.error-detail {\n  margin-block-start: 0.5em;\n  margin-block-end: 0.5em;\n  padding-inline-start: 1em;\n}\n"],sourceRoot:""}]);let a=s},31848(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-SidePanel {
  display: flex;
  flex-direction: column;
  min-width: var(--jp-sidebar-min-width);
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);
  font-size: var(--jp-ui-font-size1);
}

.jp-SidePanel-header {
  flex: 0 0 auto;
  display: flex;
  border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
  font-size: var(--jp-ui-font-size0);
  font-weight: 600;
  letter-spacing: 1px;
  margin: 0;
  padding: 2px;
  text-transform: uppercase;
}

.jp-SidePanel-toolbar {
  flex: 0 0 auto;
}

.jp-SidePanel-content {
  flex: 1 1 auto;
}

.jp-SidePanel-toolbar,
.jp-AccordionPanel-toolbar {
  height: var(--jp-private-toolbar-height);
}

.jp-SidePanel-toolbar.jp-Toolbar-micro {
  display: none;
}

.lm-AccordionPanel .jp-AccordionPanel-title {
  box-sizing: border-box;
  line-height: 25px;
  margin: 0;

  /* padding to allow for focus outline */
  padding: 2px;
  display: flex;
  align-items: center;
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  box-shadow: var(--jp-toolbar-box-shadow);
  font-size: var(--jp-ui-font-size0);
}

.lm-AccordionPanel .jp-AccordionPanel-title:focus-visible {
  outline-color: var(--jp-focus-outline-color);
  outline-width: var(--jp-focus-outline-width);
  outline-style: solid;
  outline-offset: -2px;
}

.jp-AccordionPanel-title {
  cursor: pointer;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  text-transform: uppercase;
}

.lm-AccordionPanel[data-orientation='horizontal'] > .jp-AccordionPanel-title {
  /* Title is rotated for horizontal accordion panel using CSS */
  display: block;
  transform-origin: top left;
  transform: rotate(-90deg) translate(-100%);
}

.jp-AccordionPanel-title .lm-AccordionPanel-titleLabel {
  user-select: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.jp-AccordionPanel-title .lm-AccordionPanel-titleCollapser {
  transform: rotate(-90deg);
  margin: auto 0;
  height: 16px;
}

.jp-AccordionPanel-title.lm-mod-expanded .lm-AccordionPanel-titleCollapser {
  transform: rotate(0deg);
}

.lm-AccordionPanel .jp-AccordionPanel-toolbar {
  background: none;
  box-shadow: none;
  border: none;
  margin-left: auto;
}

.lm-AccordionPanel .lm-SplitPanel-handle:hover {
  background: var(--jp-layout-color3);
}

.jp-text-truncated {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/sidepanel.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;EACE,aAAa;EACb,sBAAsB;EACtB,sCAAsC;EACtC,+BAA+B;EAC/B,mCAAmC;EACnC,kCAAkC;AACpC;;AAEA;EACE,cAAc;EACd,aAAa;EACb,mEAAmE;EACnE,kCAAkC;EAClC,gBAAgB;EAChB,mBAAmB;EACnB,SAAS;EACT,YAAY;EACZ,yBAAyB;AAC3B;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;;EAEE,wCAAwC;AAC1C;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,sBAAsB;EACtB,iBAAiB;EACjB,SAAS;;EAET,uCAAuC;EACvC,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,mCAAmC;EACnC,+BAA+B;EAC/B,0EAA0E;EAC1E,wCAAwC;EACxC,kCAAkC;AACpC;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,oBAAoB;AACtB;;AAEA;EACE,eAAe;EACf,iBAAiB;EACjB,sBAAsB;EACtB,yBAAyB;EACzB,yBAAyB;AAC3B;;AAEA;EACE,8DAA8D;EAC9D,cAAc;EACd,0BAA0B;EAC1B,0CAA0C;AAC5C;;AAEA;EACE,iBAAiB;EACjB,uBAAuB;EACvB,mBAAmB;EACnB,gBAAgB;AAClB;;AAEA;EACE,yBAAyB;EACzB,cAAc;EACd,YAAY;AACd;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,YAAY;EACZ,iBAAiB;AACnB;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-SidePanel {\n  display: flex;\n  flex-direction: column;\n  min-width: var(--jp-sidebar-min-width);\n  color: var(--jp-ui-font-color1);\n  background: var(--jp-layout-color1);\n  font-size: var(--jp-ui-font-size1);\n}\n\n.jp-SidePanel-header {\n  flex: 0 0 auto;\n  display: flex;\n  border-bottom: var(--jp-border-width) solid var(--jp-border-color2);\n  font-size: var(--jp-ui-font-size0);\n  font-weight: 600;\n  letter-spacing: 1px;\n  margin: 0;\n  padding: 2px;\n  text-transform: uppercase;\n}\n\n.jp-SidePanel-toolbar {\n  flex: 0 0 auto;\n}\n\n.jp-SidePanel-content {\n  flex: 1 1 auto;\n}\n\n.jp-SidePanel-toolbar,\n.jp-AccordionPanel-toolbar {\n  height: var(--jp-private-toolbar-height);\n}\n\n.jp-SidePanel-toolbar.jp-Toolbar-micro {\n  display: none;\n}\n\n.lm-AccordionPanel .jp-AccordionPanel-title {\n  box-sizing: border-box;\n  line-height: 25px;\n  margin: 0;\n\n  /* padding to allow for focus outline */\n  padding: 2px;\n  display: flex;\n  align-items: center;\n  background: var(--jp-layout-color1);\n  color: var(--jp-ui-font-color1);\n  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);\n  box-shadow: var(--jp-toolbar-box-shadow);\n  font-size: var(--jp-ui-font-size0);\n}\n\n.lm-AccordionPanel .jp-AccordionPanel-title:focus-visible {\n  outline-color: var(--jp-focus-outline-color);\n  outline-width: var(--jp-focus-outline-width);\n  outline-style: solid;\n  outline-offset: -2px;\n}\n\n.jp-AccordionPanel-title {\n  cursor: pointer;\n  user-select: none;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  text-transform: uppercase;\n}\n\n.lm-AccordionPanel[data-orientation='horizontal'] > .jp-AccordionPanel-title {\n  /* Title is rotated for horizontal accordion panel using CSS */\n  display: block;\n  transform-origin: top left;\n  transform: rotate(-90deg) translate(-100%);\n}\n\n.jp-AccordionPanel-title .lm-AccordionPanel-titleLabel {\n  user-select: none;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  overflow: hidden;\n}\n\n.jp-AccordionPanel-title .lm-AccordionPanel-titleCollapser {\n  transform: rotate(-90deg);\n  margin: auto 0;\n  height: 16px;\n}\n\n.jp-AccordionPanel-title.lm-mod-expanded .lm-AccordionPanel-titleCollapser {\n  transform: rotate(0deg);\n}\n\n.lm-AccordionPanel .jp-AccordionPanel-toolbar {\n  background: none;\n  box-shadow: none;\n  border: none;\n  margin-left: auto;\n}\n\n.lm-AccordionPanel .lm-SplitPanel-handle:hover {\n  background: var(--jp-layout-color3);\n}\n\n.jp-text-truncated {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n"],sourceRoot:""}]);let a=s},98246(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) 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: calc(var(--jp-ui-font-size1) * 10 / 13);
  margin: 50px auto;
  text-indent: -9999em;
  width: 3em;
  height: 3em;
  border-radius: 50%;
  background: var(--jp-brand-color3);
  background: linear-gradient(
    to right,
    #f37626 10%,
    rgba(255, 255, 255, 0) 42%
  );
  position: relative;
  animation:
    load3 1s infinite linear,
    fadeIn 1s;
}

.jp-SpinnerContent::before {
  width: 50%;
  height: 50%;
  background: #f37626;
  border-radius: 100% 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}

.jp-SpinnerContent::after {
  background: var(--jp-layout-color0);
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes load3 {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/spinner.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,kBAAkB;EAClB,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;EACX,OAAO;EACP,MAAM;EACN,WAAW;EACX,YAAY;EACZ,mCAAmC;EACnC,aAAa;AACf;;AAEA;EACE,kDAAkD;EAClD,iBAAiB;EACjB,oBAAoB;EACpB,UAAU;EACV,WAAW;EACX,kBAAkB;EAClB,kCAAkC;EAClC;;;;GAIC;EACD,kBAAkB;EAClB;;aAEW;AACb;;AAEA;EACE,UAAU;EACV,WAAW;EACX,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;AACb;;AAEA;EACE,mCAAmC;EACnC,UAAU;EACV,WAAW;EACX,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,SAAS;EACT,QAAQ;AACV;;AAEA;EACE;IACE,UAAU;EACZ;;EAEA;IACE,UAAU;EACZ;AACF;;AAEA;EACE;IACE,uBAAuB;EACzB;;EAEA;IACE,yBAAyB;EAC3B;AACF",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Spinner {\n  position: absolute;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  z-index: 10;\n  left: 0;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  background: var(--jp-layout-color0);\n  outline: none;\n}\n\n.jp-SpinnerContent {\n  font-size: calc(var(--jp-ui-font-size1) * 10 / 13);\n  margin: 50px auto;\n  text-indent: -9999em;\n  width: 3em;\n  height: 3em;\n  border-radius: 50%;\n  background: var(--jp-brand-color3);\n  background: linear-gradient(\n    to right,\n    #f37626 10%,\n    rgba(255, 255, 255, 0) 42%\n  );\n  position: relative;\n  animation:\n    load3 1s infinite linear,\n    fadeIn 1s;\n}\n\n.jp-SpinnerContent::before {\n  width: 50%;\n  height: 50%;\n  background: #f37626;\n  border-radius: 100% 0 0;\n  position: absolute;\n  top: 0;\n  left: 0;\n  content: '';\n}\n\n.jp-SpinnerContent::after {\n  background: var(--jp-layout-color0);\n  width: 75%;\n  height: 75%;\n  border-radius: 50%;\n  content: '';\n  margin: auto;\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n}\n\n@keyframes fadeIn {\n  0% {\n    opacity: 0;\n  }\n\n  100% {\n    opacity: 1;\n  }\n}\n\n@keyframes load3 {\n  0% {\n    transform: rotate(0deg);\n  }\n\n  100% {\n    transform: rotate(360deg);\n  }\n}\n"],sourceRoot:""}]);let a=s},91507(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

button.jp-mod-styled {
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color0);
  border: none;
  box-sizing: border-box;
  text-align: center;
  line-height: 32px;
  height: 32px;
  padding: 0 12px;
  letter-spacing: 0.8px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input.jp-mod-styled {
  font-family: var(--jp-ui-font-family);
  background: var(--jp-input-background);
  height: 28px;
  box-sizing: border-box;
  border: var(--jp-border-width) solid var(--jp-border-color1);
  border-radius: var(--jp-border-radius);
  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(--jp-input-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
}

input[type='checkbox'].jp-mod-styled:focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
  outline-offset: 1px;
}

.jp-select-wrapper {
  display: flex;
  position: relative;
  flex-direction: column;
  padding: 1px;
  background-color: var(--jp-layout-color1);
  box-sizing: border-box;
  margin-bottom: 12px;
}

.jp-select-wrapper:not(.multiple) {
  height: 28px;
}

.jp-select-wrapper.jp-mod-focused select.jp-mod-styled {
  border: var(--jp-border-width) solid var(--jp-input-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
  background-color: var(--jp-input-active-background);
}

select.jp-mod-styled:hover {
  cursor: pointer;
  color: var(--jp-ui-font-color0);
  background-color: var(--jp-input-hover-background);
  box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
}

select.jp-mod-styled {
  flex: 1 1 auto;
  width: 100%;
  font-size: var(--jp-ui-font-size2);
  background: var(--jp-input-background);
  color: var(--jp-ui-font-color0);
  padding: 0 25px 0 8px;
  border: var(--jp-border-width) solid var(--jp-input-border-color);
  border-radius: var(--jp-border-radius);
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

select.jp-mod-styled:not([multiple]) {
  height: 32px;
}

select.jp-mod-styled[multiple] {
  max-height: 200px;
  overflow-y: auto;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/styling.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,kCAAkC;EAClC,+BAA+B;EAC/B,YAAY;EACZ,sBAAsB;EACtB,kBAAkB;EAClB,iBAAiB;EACjB,YAAY;EACZ,eAAe;EACf,qBAAqB;EACrB,aAAa;EACb,gBAAgB;EAChB,wBAAwB;EACxB,qBAAqB;AACvB;;AAEA;EACE,qCAAqC;EACrC,sCAAsC;EACtC,YAAY;EACZ,sBAAsB;EACtB,4DAA4D;EAC5D,sCAAsC;EACtC,iBAAiB;EACjB,kBAAkB;EAClB,kCAAkC;EAClC,+BAA+B;EAC/B,aAAa;EACb,gBAAgB;EAChB,wBAAwB;EACxB,qBAAqB;AACvB;;AAEA;EACE,oBAAoB;EACpB,4BAA4B;EAC5B,yBAAyB;EACzB,YAAY;AACd;;AAEA;EACE,wEAAwE;EACxE,sCAAsC;AACxC;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;EACpB,mBAAmB;AACrB;;AAEA;EACE,aAAa;EACb,kBAAkB;EAClB,sBAAsB;EACtB,YAAY;EACZ,yCAAyC;EACzC,sBAAsB;EACtB,mBAAmB;AACrB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,wEAAwE;EACxE,sCAAsC;EACtC,mDAAmD;AACrD;;AAEA;EACE,eAAe;EACf,+BAA+B;EAC/B,kDAAkD;EAClD,4CAA4C;AAC9C;;AAEA;EACE,cAAc;EACd,WAAW;EACX,kCAAkC;EAClC,sCAAsC;EACtC,+BAA+B;EAC/B,qBAAqB;EACrB,iEAAiE;EACjE,sCAAsC;EACtC,aAAa;EACb,gBAAgB;EAChB,wBAAwB;EACxB,qBAAqB;AACvB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,iBAAiB;EACjB,gBAAgB;AAClB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\nbutton.jp-mod-styled {\n  font-size: var(--jp-ui-font-size1);\n  color: var(--jp-ui-font-color0);\n  border: none;\n  box-sizing: border-box;\n  text-align: center;\n  line-height: 32px;\n  height: 32px;\n  padding: 0 12px;\n  letter-spacing: 0.8px;\n  outline: none;\n  appearance: none;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n}\n\ninput.jp-mod-styled {\n  font-family: var(--jp-ui-font-family);\n  background: var(--jp-input-background);\n  height: 28px;\n  box-sizing: border-box;\n  border: var(--jp-border-width) solid var(--jp-border-color1);\n  border-radius: var(--jp-border-radius);\n  padding-left: 7px;\n  padding-right: 7px;\n  font-size: var(--jp-ui-font-size2);\n  color: var(--jp-ui-font-color0);\n  outline: none;\n  appearance: none;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n}\n\ninput[type='checkbox'].jp-mod-styled {\n  appearance: checkbox;\n  -webkit-appearance: checkbox;\n  -moz-appearance: checkbox;\n  height: auto;\n}\n\ninput.jp-mod-styled:focus {\n  border: var(--jp-border-width) solid var(--jp-input-active-border-color);\n  box-shadow: var(--jp-input-box-shadow);\n}\n\ninput[type='checkbox'].jp-mod-styled:focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n  outline-offset: 1px;\n}\n\n.jp-select-wrapper {\n  display: flex;\n  position: relative;\n  flex-direction: column;\n  padding: 1px;\n  background-color: var(--jp-layout-color1);\n  box-sizing: border-box;\n  margin-bottom: 12px;\n}\n\n.jp-select-wrapper:not(.multiple) {\n  height: 28px;\n}\n\n.jp-select-wrapper.jp-mod-focused select.jp-mod-styled {\n  border: var(--jp-border-width) solid var(--jp-input-active-border-color);\n  box-shadow: var(--jp-input-box-shadow);\n  background-color: var(--jp-input-active-background);\n}\n\nselect.jp-mod-styled:hover {\n  cursor: pointer;\n  color: var(--jp-ui-font-color0);\n  background-color: var(--jp-input-hover-background);\n  box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);\n}\n\nselect.jp-mod-styled {\n  flex: 1 1 auto;\n  width: 100%;\n  font-size: var(--jp-ui-font-size2);\n  background: var(--jp-input-background);\n  color: var(--jp-ui-font-color0);\n  padding: 0 25px 0 8px;\n  border: var(--jp-border-width) solid var(--jp-input-border-color);\n  border-radius: var(--jp-border-radius);\n  outline: none;\n  appearance: none;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n}\n\nselect.jp-mod-styled:not([multiple]) {\n  height: 32px;\n}\n\nselect.jp-mod-styled[multiple] {\n  max-height: 200px;\n  overflow-y: auto;\n}\n"],sourceRoot:""}]);let a=s},38129(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-switch {
  display: flex;
  align-items: center;
  padding-left: 4px;
  padding-right: 4px;
  font-size: var(--jp-ui-font-size1);
  background-color: transparent;
  color: var(--jp-ui-font-color1);
  border: none;
  height: 20px;
}

.jp-switch:hover {
  background-color: var(--jp-layout-color2);
}

.jp-switch-label {
  margin-right: 5px;
  font-family: var(--jp-ui-font-family);
}

.jp-switch-track {
  cursor: pointer;
  background-color: var(--jp-switch-color, var(--jp-border-color1));
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 34px;
  height: 16px;
  width: 35px;
  position: relative;
}

.jp-switch-track::before {
  content: '';
  position: absolute;
  height: 10px;
  width: 10px;
  margin: 3px;
  left: 0;
  background-color: var(--jp-ui-inverse-font-color1);
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
}

.jp-switch[aria-checked='true'] .jp-switch-track {
  background-color: var(--jp-switch-true-position-color, var(--jp-warn-color0));
}

.jp-switch[aria-checked='true'] .jp-switch-track::before {
  /* track width (35) - margins (3 + 3) - thumb width (10) */
  left: 19px;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/switch.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB,kBAAkB;EAClB,kCAAkC;EAClC,6BAA6B;EAC7B,+BAA+B;EAC/B,YAAY;EACZ,YAAY;AACd;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,iBAAiB;EACjB,qCAAqC;AACvC;;AAEA;EACE,eAAe;EACf,iEAAiE;EACjE,wBAAwB;EACxB,gBAAgB;EAChB,mBAAmB;EACnB,YAAY;EACZ,WAAW;EACX,kBAAkB;AACpB;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,WAAW;EACX,OAAO;EACP,kDAAkD;EAClD,wBAAwB;EACxB,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,6EAA6E;AAC/E;;AAEA;EACE,0DAA0D;EAC1D,UAAU;AACZ",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-switch {\n  display: flex;\n  align-items: center;\n  padding-left: 4px;\n  padding-right: 4px;\n  font-size: var(--jp-ui-font-size1);\n  background-color: transparent;\n  color: var(--jp-ui-font-color1);\n  border: none;\n  height: 20px;\n}\n\n.jp-switch:hover {\n  background-color: var(--jp-layout-color2);\n}\n\n.jp-switch-label {\n  margin-right: 5px;\n  font-family: var(--jp-ui-font-family);\n}\n\n.jp-switch-track {\n  cursor: pointer;\n  background-color: var(--jp-switch-color, var(--jp-border-color1));\n  -webkit-transition: 0.4s;\n  transition: 0.4s;\n  border-radius: 34px;\n  height: 16px;\n  width: 35px;\n  position: relative;\n}\n\n.jp-switch-track::before {\n  content: '';\n  position: absolute;\n  height: 10px;\n  width: 10px;\n  margin: 3px;\n  left: 0;\n  background-color: var(--jp-ui-inverse-font-color1);\n  -webkit-transition: 0.4s;\n  transition: 0.4s;\n  border-radius: 50%;\n}\n\n.jp-switch[aria-checked='true'] .jp-switch-track {\n  background-color: var(--jp-switch-true-position-color, var(--jp-warn-color0));\n}\n\n.jp-switch[aria-checked='true'] .jp-switch-track::before {\n  /* track width (35) - margins (3 + 3) - thumb width (10) */\n  left: 19px;\n}\n"],sourceRoot:""}]);let a=s},94277(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| 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;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/tabbar.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,mBAAmB;EACnB,aAAa;EACb,YAAY;EACZ,mBAAmB;EACnB,iBAAiB;EACjB,yCAAyC;AAC3C;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,cAAc;AAChB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.lm-TabBar .lm-TabBar-addButton {\n  align-items: center;\n  display: flex;\n  padding: 4px;\n  padding-bottom: 5px;\n  margin-right: 1px;\n  background-color: var(--jp-layout-color2);\n}\n\n.lm-TabBar .lm-TabBar-addButton:hover {\n  background-color: var(--jp-layout-color1);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab {\n  width: var(--jp-private-horizontal-tab-width);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-content {\n  flex: unset;\n}\n\n.lm-DockPanel-tabBar[data-orientation='horizontal'] {\n  flex: 1 1 auto;\n}\n"],sourceRoot:""}]);let a=s},29549(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-sortable-table {
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);
  font-size: var(--jp-ui-font-size1);
  border-spacing: 0;

  /* required to preserve borders of \`<th>\` when using position:sticky */
  border-collapse: separate;
  width: 100%;
  overflow-wrap: break-word;
}

.jp-sortable-table > thead {
  box-shadow: var(--jp-toolbar-box-shadow);

  /* move to a new stacking context to exclude from \`mix-blend-mode\` */
  z-index: 1;
}

.jp-sortable-table > tbody {
  overflow-y: auto;
  overflow-x: hidden;
}

.jp-sortable-table-tr > th,
.jp-sortable-table-tr > td {
  position: relative;
  padding: 4px 12px 2px;
  height: 18px;
}

.jp-sortable-table-tr > td::before,
.jp-sortable-table-tr > th::before {
  border-left: var(--jp-border-width) solid var(--jp-border-color3);

  /* border is implemented via pseudo-element to enable selective blending */
  content: '';
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  /* this serves to boost border color when background changes on hover */
  mix-blend-mode: multiply;
}

.jp-sortable-table-tr > th {
  font-weight: 500;
  text-align: left;
  border-width: var(--jp-border-width) 0;
  margin-top: calc(var(--jp-border-width) * -1);
  border-style: solid;
  border-color: var(--jp-border-color1);
  background: var(--jp-layout-color1);
  position: sticky;
  top: 0;
  z-index: 2;
  white-space: nowrap;
  user-select: none;
}

.jp-sortable-table-tr > th:not(:first-child) {
  border-left-color: var(--jp-border-color2);
}

.jp-sortable-table-tr > th:hover {
  background: var(--jp-layout-color2);
}

.jp-sortable-table-tr:hover {
  background: var(--jp-layout-color2);
}

.jp-sortable-table-th-wrapper {
  flex-direction: row;
  display: flex;
}

.jp-sortable-table-th-wrapper > label {
  flex: 1;
  text-overflow: ellipsis;
}

.jp-sort-icon {
  flex: 0;
  height: var(--jp-ui-font-size1);
  width: var(--jp-ui-font-size1);
}

.jp-sort-icon > svg {
  display: inline;
  height: auto;
}

.jp-sortable-table-tr > th:not(.jp-sorted-header) .jp-sort-icon {
  opacity: 0;
}

.jp-sortable-table-tr > th:not(.jp-sorted-header):hover .jp-sort-icon {
  opacity: 0.5;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/table.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,+BAA+B;EAC/B,mCAAmC;EACnC,kCAAkC;EAClC,iBAAiB;;EAEjB,sEAAsE;EACtE,yBAAyB;EACzB,WAAW;EACX,yBAAyB;AAC3B;;AAEA;EACE,wCAAwC;;EAExC,oEAAoE;EACpE,UAAU;AACZ;;AAEA;EACE,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;;EAEE,kBAAkB;EAClB,qBAAqB;EACrB,YAAY;AACd;;AAEA;;EAEE,iEAAiE;;EAEjE,0EAA0E;EAC1E,WAAW;EACX,cAAc;EACd,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,OAAO;;EAEP,uEAAuE;EACvE,wBAAwB;AAC1B;;AAEA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,sCAAsC;EACtC,6CAA6C;EAC7C,mBAAmB;EACnB,qCAAqC;EACrC,mCAAmC;EACnC,gBAAgB;EAChB,MAAM;EACN,UAAU;EACV,mBAAmB;EACnB,iBAAiB;AACnB;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,mBAAmB;EACnB,aAAa;AACf;;AAEA;EACE,OAAO;EACP,uBAAuB;AACzB;;AAEA;EACE,OAAO;EACP,+BAA+B;EAC/B,8BAA8B;AAChC;;AAEA;EACE,eAAe;EACf,YAAY;AACd;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,YAAY;AACd",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-sortable-table {\n  color: var(--jp-ui-font-color1);\n  background: var(--jp-layout-color1);\n  font-size: var(--jp-ui-font-size1);\n  border-spacing: 0;\n\n  /* required to preserve borders of `<th>` when using position:sticky */\n  border-collapse: separate;\n  width: 100%;\n  overflow-wrap: break-word;\n}\n\n.jp-sortable-table > thead {\n  box-shadow: var(--jp-toolbar-box-shadow);\n\n  /* move to a new stacking context to exclude from `mix-blend-mode` */\n  z-index: 1;\n}\n\n.jp-sortable-table > tbody {\n  overflow-y: auto;\n  overflow-x: hidden;\n}\n\n.jp-sortable-table-tr > th,\n.jp-sortable-table-tr > td {\n  position: relative;\n  padding: 4px 12px 2px;\n  height: 18px;\n}\n\n.jp-sortable-table-tr > td::before,\n.jp-sortable-table-tr > th::before {\n  border-left: var(--jp-border-width) solid var(--jp-border-color3);\n\n  /* border is implemented via pseudo-element to enable selective blending */\n  content: '';\n  display: block;\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n\n  /* this serves to boost border color when background changes on hover */\n  mix-blend-mode: multiply;\n}\n\n.jp-sortable-table-tr > th {\n  font-weight: 500;\n  text-align: left;\n  border-width: var(--jp-border-width) 0;\n  margin-top: calc(var(--jp-border-width) * -1);\n  border-style: solid;\n  border-color: var(--jp-border-color1);\n  background: var(--jp-layout-color1);\n  position: sticky;\n  top: 0;\n  z-index: 2;\n  white-space: nowrap;\n  user-select: none;\n}\n\n.jp-sortable-table-tr > th:not(:first-child) {\n  border-left-color: var(--jp-border-color2);\n}\n\n.jp-sortable-table-tr > th:hover {\n  background: var(--jp-layout-color2);\n}\n\n.jp-sortable-table-tr:hover {\n  background: var(--jp-layout-color2);\n}\n\n.jp-sortable-table-th-wrapper {\n  flex-direction: row;\n  display: flex;\n}\n\n.jp-sortable-table-th-wrapper > label {\n  flex: 1;\n  text-overflow: ellipsis;\n}\n\n.jp-sort-icon {\n  flex: 0;\n  height: var(--jp-ui-font-size1);\n  width: var(--jp-ui-font-size1);\n}\n\n.jp-sort-icon > svg {\n  display: inline;\n  height: auto;\n}\n\n.jp-sortable-table-tr > th:not(.jp-sorted-header) .jp-sort-icon {\n  opacity: 0;\n}\n\n.jp-sortable-table-tr > th:not(.jp-sorted-header):hover .jp-sort-icon {\n  opacity: 0.5;\n}\n"],sourceRoot:""}]);let a=s},53664(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

:root {
  --jp-private-toolbar-height: calc(
    31px + var(--jp-border-width)
  ); /* leave 28px for content */
}

.jp-MainAreaWidget > .jp-Toolbar {
  border-radius: 0;
}

.jp-Toolbar {
  /* Increase density for toolbar */
  --design-unit: 3.5;
  --toolbar-item-gap: 0;

  color: var(--jp-ui-font-color1);
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  box-shadow: var(--jp-toolbar-box-shadow);
  background: var(--jp-toolbar-background);
  min-height: var(--jp-toolbar-micro-height);
  padding: 0 2px;
  z-index: 8;
}

/* Toolbar items */

.jp-Toolbar > .jp-Toolbar-item {
  /* Center the items in toolbar */
  height: 100%;
  display: flex;
  align-items: center;
}

.jp-Toolbar::part(positioning-region) {
  align-items: center;
}

.jp-ToolbarLabelComponent {
  background: var(--jp-layout-color1);
  background-color: var(--jp-brand-color1);
  color: var(--jp-ui-inverse-font-color1);
  border: none;
  box-sizing: border-box;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0 6px;
  margin: 0;
  height: 24px;
  border-radius: var(--jp-border-radius);
  display: flex;
  align-items: center;
  text-align: center;
  font-size: var(--jp-ui-font-size0);
  min-width: unset;
  min-height: unset;
  user-select: none;
}

button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label {
  font-size: var(--jp-ui-font-size1);
  line-height: 100%;
  padding-left: 2px;
  color: var(--jp-ui-font-color1);
  font-family: var(--jp-ui-font-family);
}

.jp-Toolbar .jp-ToolbarButtonComponent {
  color: var(--jp-ui-font-color1);
}

.jp-ToolbarButtonComponent::part(content) {
  display: flex;
  align-items: center;
}

.jp-ToolbarButtonComponent::part(control):focus-visible {
  outline-width: var(--jp-focus-outline-width);
  outline-color: var(--jp-focus-outline-color);
  outline-style: solid;
}

.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer {
  flex-grow: 1;
  flex-shrink: 1;
}

.jp-Toolbar-responsive-popup.jp-ThemedContainer {
  position: absolute;
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  box-shadow: var(--jp-toolbar-box-shadow);
  background: var(--jp-toolbar-background);
  z-index: 1;
  right: 0;
  top: 0;
}

#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;
}

/* @deprecated dead code to be removed in JupyterLab 5
  Button in toolbar should use the ui-toolkit
  https://github.com/jupyterlab-contrib/jupyter-ui-toolkit.
*/
button.jp-ToolbarButtonComponent {
  background: var(--jp-layout-color1);
  border: none;
  box-sizing: border-box;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0 6px;
  margin: 0;
  height: 24px;
  border-radius: var(--jp-border-radius);
  display: flex;
  align-items: center;
  text-align: center;
  font-size: var(--jp-ui-font-size0);
  min-width: unset;
  min-height: unset;
}

button.jp-ToolbarButtonComponent:disabled {
  opacity: 0.4;
}

button.jp-ToolbarButtonComponent > span {
  padding: 0;
  flex: 0 0 auto;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/toolbar.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE;;GAEC,EAAE,2BAA2B;AAChC;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,iCAAiC;EACjC,kBAAkB;EAClB,qBAAqB;;EAErB,+BAA+B;EAC/B,0EAA0E;EAC1E,wCAAwC;EACxC,wCAAwC;EACxC,0CAA0C;EAC1C,cAAc;EACd,UAAU;AACZ;;AAEA,kBAAkB;;AAElB;EACE,gCAAgC;EAChC,YAAY;EACZ,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,mCAAmC;EACnC,wCAAwC;EACxC,uCAAuC;EACvC,YAAY;EACZ,sBAAsB;EACtB,aAAa;EACb,gBAAgB;EAChB,wBAAwB;EACxB,qBAAqB;EACrB,cAAc;EACd,SAAS;EACT,YAAY;EACZ,sCAAsC;EACtC,aAAa;EACb,mBAAmB;EACnB,kBAAkB;EAClB,kCAAkC;EAClC,gBAAgB;EAChB,iBAAiB;EACjB,iBAAiB;AACnB;;AAEA;EACE,kCAAkC;EAClC,iBAAiB;EACjB,iBAAiB;EACjB,+BAA+B;EAC/B,qCAAqC;AACvC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,4CAA4C;EAC5C,4CAA4C;EAC5C,oBAAoB;AACtB;;AAEA;EACE,YAAY;EACZ,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,0EAA0E;EAC1E,wCAAwC;EACxC,wCAAwC;EACxC,UAAU;EACV,QAAQ;EACR,MAAM;AACR;;AAEA;;;EAGE,UAAU;EACV,aAAa;AACf;;AAEA;;;EAGE,YAAY;EACZ,gBAAgB;AAClB;;AAEA;;;CAGC;AACD;EACE,mCAAmC;EACnC,YAAY;EACZ,sBAAsB;EACtB,aAAa;EACb,gBAAgB;EAChB,wBAAwB;EACxB,qBAAqB;EACrB,cAAc;EACd,SAAS;EACT,YAAY;EACZ,sCAAsC;EACtC,aAAa;EACb,mBAAmB;EACnB,kBAAkB;EAClB,kCAAkC;EAClC,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,UAAU;EACV,cAAc;AAChB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n:root {\n  --jp-private-toolbar-height: calc(\n    31px + var(--jp-border-width)\n  ); /* leave 28px for content */\n}\n\n.jp-MainAreaWidget > .jp-Toolbar {\n  border-radius: 0;\n}\n\n.jp-Toolbar {\n  /* Increase density for toolbar */\n  --design-unit: 3.5;\n  --toolbar-item-gap: 0;\n\n  color: var(--jp-ui-font-color1);\n  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);\n  box-shadow: var(--jp-toolbar-box-shadow);\n  background: var(--jp-toolbar-background);\n  min-height: var(--jp-toolbar-micro-height);\n  padding: 0 2px;\n  z-index: 8;\n}\n\n/* Toolbar items */\n\n.jp-Toolbar > .jp-Toolbar-item {\n  /* Center the items in toolbar */\n  height: 100%;\n  display: flex;\n  align-items: center;\n}\n\n.jp-Toolbar::part(positioning-region) {\n  align-items: center;\n}\n\n.jp-ToolbarLabelComponent {\n  background: var(--jp-layout-color1);\n  background-color: var(--jp-brand-color1);\n  color: var(--jp-ui-inverse-font-color1);\n  border: none;\n  box-sizing: border-box;\n  outline: none;\n  appearance: none;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  padding: 0 6px;\n  margin: 0;\n  height: 24px;\n  border-radius: var(--jp-border-radius);\n  display: flex;\n  align-items: center;\n  text-align: center;\n  font-size: var(--jp-ui-font-size0);\n  min-width: unset;\n  min-height: unset;\n  user-select: none;\n}\n\nbutton.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label {\n  font-size: var(--jp-ui-font-size1);\n  line-height: 100%;\n  padding-left: 2px;\n  color: var(--jp-ui-font-color1);\n  font-family: var(--jp-ui-font-family);\n}\n\n.jp-Toolbar .jp-ToolbarButtonComponent {\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-ToolbarButtonComponent::part(content) {\n  display: flex;\n  align-items: center;\n}\n\n.jp-ToolbarButtonComponent::part(control):focus-visible {\n  outline-width: var(--jp-focus-outline-width);\n  outline-color: var(--jp-focus-outline-color);\n  outline-style: solid;\n}\n\n.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer {\n  flex-grow: 1;\n  flex-shrink: 1;\n}\n\n.jp-Toolbar-responsive-popup.jp-ThemedContainer {\n  position: absolute;\n  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);\n  box-shadow: var(--jp-toolbar-box-shadow);\n  background: var(--jp-toolbar-background);\n  z-index: 1;\n  right: 0;\n  top: 0;\n}\n\n#jp-main-dock-panel[data-mode='single-document']\n  .jp-MainAreaWidget\n  > .jp-Toolbar.jp-Toolbar-micro {\n  padding: 0;\n  min-height: 0;\n}\n\n#jp-main-dock-panel[data-mode='single-document']\n  .jp-MainAreaWidget\n  > .jp-Toolbar {\n  border: none;\n  box-shadow: none;\n}\n\n/* @deprecated dead code to be removed in JupyterLab 5\n  Button in toolbar should use the ui-toolkit\n  https://github.com/jupyterlab-contrib/jupyter-ui-toolkit.\n*/\nbutton.jp-ToolbarButtonComponent {\n  background: var(--jp-layout-color1);\n  border: none;\n  box-sizing: border-box;\n  outline: none;\n  appearance: none;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  padding: 0 6px;\n  margin: 0;\n  height: 24px;\n  border-radius: var(--jp-border-radius);\n  display: flex;\n  align-items: center;\n  text-align: center;\n  font-size: var(--jp-ui-font-size0);\n  min-width: unset;\n  min-height: unset;\n}\n\nbutton.jp-ToolbarButtonComponent:disabled {\n  opacity: 0.4;\n}\n\nbutton.jp-ToolbarButtonComponent > span {\n  padding: 0;\n  flex: 0 0 auto;\n}\n"],sourceRoot:""}]);let a=s},94547(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-ThemedContainer {
  /* Decrease default density for Jupyter toolkit components */
  --density: -4;
}

/* Styles for tree view */
.jp-TreeView {
  min-width: auto;
}

.jp-TreeView.jp-mod-flat > .jp-TreeItem::part(content-region) {
  margin-inline-start: calc(var(--design-unit) * 2px);
}

/* Styles for tree item */
.jp-TreeItem::part(expand-collapse-button) {
  color: var(--jp-inverse-layout-color3);
}

/* Tune hover for stealth buttons otherwise they won't stand out */
.jp-TreeItem jp-button[appearance='stealth']:hover {
  background: var(--tree-item-expand-collapse-hover);
}

.jp-TreeItem[selected] jp-button[appearance='stealth']:hover {
  background: var(--tree-item-expand-collapse-selected-hover);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/toolkit.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,4DAA4D;EAC5D,aAAa;AACf;;AAEA,yBAAyB;AACzB;EACE,eAAe;AACjB;;AAEA;EACE,mDAAmD;AACrD;;AAEA,yBAAyB;AACzB;EACE,sCAAsC;AACxC;;AAEA,kEAAkE;AAClE;EACE,kDAAkD;AACpD;;AAEA;EACE,2DAA2D;AAC7D",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-ThemedContainer {\n  /* Decrease default density for Jupyter toolkit components */\n  --density: -4;\n}\n\n/* Styles for tree view */\n.jp-TreeView {\n  min-width: auto;\n}\n\n.jp-TreeView.jp-mod-flat > .jp-TreeItem::part(content-region) {\n  margin-inline-start: calc(var(--design-unit) * 2px);\n}\n\n/* Styles for tree item */\n.jp-TreeItem::part(expand-collapse-button) {\n  color: var(--jp-inverse-layout-color3);\n}\n\n/* Tune hover for stealth buttons otherwise they won't stand out */\n.jp-TreeItem jp-button[appearance='stealth']:hover {\n  background: var(--tree-item-expand-collapse-hover);\n}\n\n.jp-TreeItem[selected] jp-button[appearance='stealth']:hover {\n  background: var(--tree-item-expand-collapse-selected-hover);\n}\n"],sourceRoot:""}]);let a=s},43058(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-WindowedPanel-outer {
  height: 100%;
  position: relative;
  overflow: auto;
}

.jp-WindowedPanel-inner {
  position: relative;
}

.jp-WindowedPanel-viewport {
  position: absolute;
  left: 0;
  right: 0;
  overflow: visible;
}

.jp-WindowedPanel-scrollbar {
  display: none;
  position: relative;
  user-select: none;
}

.jp-WindowedPanel.jp-mod-virtual-scrollbar > .jp-WindowedPanel-scrollbar {
  background-color: inherit;
  border-left: 1px solid var(--jp-layout-color3);
  display: block;
  position: fixed;
  overflow-y: auto;
  overflow-x: hidden;
  top: 0;
  bottom: 0;
  right: 0;
  min-width: 35px;
  z-index: 1;
}

.jp-WindowedPanel-scrollbar-content {
  background-color: transparent;
  list-style-type: none;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 3;
}

.jp-WindowedPanel-scrollbar-content > .jp-WindowedPanel-scrollbar-item {
  border-bottom: 1px solid var(--jp-layout-color3);
  background-color: rgb(from var(--jp-layout-color1) r g b / 50%);
  padding: 2px;
  text-align: left;
  margin: 0 2px;
}

.jp-WindowedPanel-scrollbar-content > .jp-WindowedPanel-scrollbar-item:hover {
  cursor: pointer;
  background-color: var(--jp-layout-color3);
}

.jp-WindowedPanel-scrollbar-viewportIndicator {
  position: absolute;
  background: var(--jp-layout-color2);
  border: 1px solid var(--jp-layout-color4);
  width: 100%;
  z-index: 2;
  border-radius: 2px;
  box-sizing: border-box;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/ui-components/style/windowedlist.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;EACE,YAAY;EACZ,kBAAkB;EAClB,cAAc;AAChB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,OAAO;EACP,QAAQ;EACR,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,kBAAkB;EAClB,iBAAiB;AACnB;;AAEA;EACE,yBAAyB;EACzB,8CAA8C;EAC9C,cAAc;EACd,eAAe;EACf,gBAAgB;EAChB,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,QAAQ;EACR,eAAe;EACf,UAAU;AACZ;;AAEA;EACE,6BAA6B;EAC7B,qBAAqB;EACrB,SAAS;EACT,UAAU;EACV,kBAAkB;EAClB,UAAU;AACZ;;AAEA;EACE,gDAAgD;EAChD,+DAA+D;EAC/D,YAAY;EACZ,gBAAgB;EAChB,aAAa;AACf;;AAEA;EACE,eAAe;EACf,yCAAyC;AAC3C;;AAEA;EACE,kBAAkB;EAClB,mCAAmC;EACnC,yCAAyC;EACzC,WAAW;EACX,UAAU;EACV,kBAAkB;EAClB,sBAAsB;AACxB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-WindowedPanel-outer {\n  height: 100%;\n  position: relative;\n  overflow: auto;\n}\n\n.jp-WindowedPanel-inner {\n  position: relative;\n}\n\n.jp-WindowedPanel-viewport {\n  position: absolute;\n  left: 0;\n  right: 0;\n  overflow: visible;\n}\n\n.jp-WindowedPanel-scrollbar {\n  display: none;\n  position: relative;\n  user-select: none;\n}\n\n.jp-WindowedPanel.jp-mod-virtual-scrollbar > .jp-WindowedPanel-scrollbar {\n  background-color: inherit;\n  border-left: 1px solid var(--jp-layout-color3);\n  display: block;\n  position: fixed;\n  overflow-y: auto;\n  overflow-x: hidden;\n  top: 0;\n  bottom: 0;\n  right: 0;\n  min-width: 35px;\n  z-index: 1;\n}\n\n.jp-WindowedPanel-scrollbar-content {\n  background-color: transparent;\n  list-style-type: none;\n  margin: 0;\n  padding: 0;\n  position: relative;\n  z-index: 3;\n}\n\n.jp-WindowedPanel-scrollbar-content > .jp-WindowedPanel-scrollbar-item {\n  border-bottom: 1px solid var(--jp-layout-color3);\n  background-color: rgb(from var(--jp-layout-color1) r g b / 50%);\n  padding: 2px;\n  text-align: left;\n  margin: 0 2px;\n}\n\n.jp-WindowedPanel-scrollbar-content > .jp-WindowedPanel-scrollbar-item:hover {\n  cursor: pointer;\n  background-color: var(--jp-layout-color3);\n}\n\n.jp-WindowedPanel-scrollbar-viewportIndicator {\n  position: absolute;\n  background: var(--jp-layout-color2);\n  border: 1px solid var(--jp-layout-color4);\n  width: 100%;\n  z-index: 2;\n  border-radius: 2px;\n  box-sizing: border-box;\n}\n"],sourceRoot:""}]);let a=s},37731(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-RenderedVegaCommon5 {
  margin-left: 8px;
  margin-top: 8px;
}

.jp-MimeDocument .jp-RenderedVegaCommon5 {
  padding: 16px;
}

.vega canvas {
  background: var(--jp-vega-background);
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/vega5-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;EACE,gBAAgB;EAChB,eAAe;AACjB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,qCAAqC;AACvC",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-RenderedVegaCommon5 {\n  margin-left: 8px;\n  margin-top: 8px;\n}\n\n.jp-MimeDocument .jp-RenderedVegaCommon5 {\n  padding: 16px;\n}\n\n.vega canvas {\n  background: var(--jp-vega-background);\n}\n"],sourceRoot:""}]);let a=s},7736(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/**
 * Base styles for video viewer
 */

.jp-RenderedVideo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.jp-RenderedVideo > video {
  width: 100%;
  height: auto;
  object-fit: contain;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/video-extension/style/base.css"],names:[],mappings:"AAAA;;;8EAG8E;;AAE9E;;EAEE;;AAEF;EACE,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,WAAW;EACX,YAAY;AACd;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,mBAAmB;AACrB",sourcesContent:["/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/**\n * Base styles for video viewer\n */\n\n.jp-RenderedVideo {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  width: 100%;\n  height: 100%;\n}\n\n.jp-RenderedVideo > video {\n  width: 100%;\n  height: auto;\n  object-fit: contain;\n}\n"],sourceRoot:""}]);let a=s},46289(e,t,n){"use strict";n.d(t,{A:()=>d});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(85461),l=s()(o());l.i(a.A),l.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/workspaces-extension/style/base.css"],names:[],mappings:"AAAA;;;EAGE",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n@import './selector.css';\n"],sourceRoot:""}]);let d=l},85461(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-WorkspaceSelector {
  position: relative;
  width: 150px;
  margin-right: 20px;
  font-family: var(--jp-ui-font-family);
  font-size: var(--jp-ui-font-size1);
}

.jp-WorkspaceSelector-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 4px 8px;
  background: var(--jp-layout-color1);
  border: 1px solid var(--jp-border-color1);
  border-radius: 3px;
  cursor: pointer;
  color: var(--jp-ui-font-color1);
}

.jp-WorkspaceSelector-header:hover {
  background: var(--jp-layout-color2);
}

.jp-WorkspaceSelector-dropdown {
  position: absolute;
  padding: 2px 4px;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 4px;
  background: var(--jp-layout-color1);
  border: 1px solid var(--jp-border-color1);
  border-radius: 3px;
  box-shadow: var(--jp-elevation-z4);
  z-index: 1000;
}

.jp-WorkspaceSelector-search {
  display: flex;
  padding: 2px 4px;
  background: var(--jp-layout-color2);
}

.jp-WorkspaceSelector-input {
  flex: 1;
  width: 110px;
  margin-left: 2px;
  border: none;
  outline: none;
  background: transparent;
  color: var(--jp-ui-font-color1);
  font-family: var(--jp-ui-font-family);
}

.jp-WorkspaceSelector-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 600px;
  overflow-y: auto;
}

.jp-WorkspaceSelector-item {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 5fr;
  cursor: pointer;
  color: var(--jp-ui-font-color1);
}

.jp-WorkspaceSelector-item:hover {
  background: var(--jp-layout-color2);
}

.jp-WorkspaceSelector-searchIcon {
  display: flex;
  align-items: center;
  color: var(--jp-ui-font-color2);
}

.jp-WorkspaceSelector-caret {
  /* stylelint-disable-next-line declaration-property-value-allowed-list */
  font-size: 0.8em;
  margin-left: 8px;
}
`,"",{version:3,sources:["webpack://./node_modules/@jupyterlab/workspaces-extension/style/selector.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;EACE,kBAAkB;EAClB,YAAY;EACZ,kBAAkB;EAClB,qCAAqC;EACrC,kCAAkC;AACpC;;AAEA;EACE,aAAa;EACb,8BAA8B;EAC9B,mBAAmB;EACnB,WAAW;EACX,gBAAgB;EAChB,mCAAmC;EACnC,yCAAyC;EACzC,kBAAkB;EAClB,eAAe;EACf,+BAA+B;AACjC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,SAAS;EACT,OAAO;EACP,QAAQ;EACR,eAAe;EACf,mCAAmC;EACnC,yCAAyC;EACzC,kBAAkB;EAClB,kCAAkC;EAClC,aAAa;AACf;;AAEA;EACE,aAAa;EACb,gBAAgB;EAChB,mCAAmC;AACrC;;AAEA;EACE,OAAO;EACP,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,aAAa;EACb,uBAAuB;EACvB,+BAA+B;EAC/B,qCAAqC;AACvC;;AAEA;EACE,gBAAgB;EAChB,SAAS;EACT,UAAU;EACV,iBAAiB;EACjB,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,eAAe;EACf,+BAA+B;AACjC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,+BAA+B;AACjC;;AAEA;EACE,wEAAwE;EACxE,gBAAgB;EAChB,gBAAgB;AAClB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-WorkspaceSelector {\n  position: relative;\n  width: 150px;\n  margin-right: 20px;\n  font-family: var(--jp-ui-font-family);\n  font-size: var(--jp-ui-font-size1);\n}\n\n.jp-WorkspaceSelector-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  width: 100%;\n  padding: 4px 8px;\n  background: var(--jp-layout-color1);\n  border: 1px solid var(--jp-border-color1);\n  border-radius: 3px;\n  cursor: pointer;\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-WorkspaceSelector-header:hover {\n  background: var(--jp-layout-color2);\n}\n\n.jp-WorkspaceSelector-dropdown {\n  position: absolute;\n  padding: 2px 4px;\n  top: 100%;\n  left: 0;\n  right: 0;\n  margin-top: 4px;\n  background: var(--jp-layout-color1);\n  border: 1px solid var(--jp-border-color1);\n  border-radius: 3px;\n  box-shadow: var(--jp-elevation-z4);\n  z-index: 1000;\n}\n\n.jp-WorkspaceSelector-search {\n  display: flex;\n  padding: 2px 4px;\n  background: var(--jp-layout-color2);\n}\n\n.jp-WorkspaceSelector-input {\n  flex: 1;\n  width: 110px;\n  margin-left: 2px;\n  border: none;\n  outline: none;\n  background: transparent;\n  color: var(--jp-ui-font-color1);\n  font-family: var(--jp-ui-font-family);\n}\n\n.jp-WorkspaceSelector-list {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  max-height: 600px;\n  overflow-y: auto;\n}\n\n.jp-WorkspaceSelector-item {\n  display: grid;\n  align-items: center;\n  grid-template-columns: 1fr 5fr;\n  cursor: pointer;\n  color: var(--jp-ui-font-color1);\n}\n\n.jp-WorkspaceSelector-item:hover {\n  background: var(--jp-layout-color2);\n}\n\n.jp-WorkspaceSelector-searchIcon {\n  display: flex;\n  align-items: center;\n  color: var(--jp-ui-font-color2);\n}\n\n.jp-WorkspaceSelector-caret {\n  /* stylelint-disable-next-line declaration-property-value-allowed-list */\n  font-size: 0.8em;\n  margin-left: 8px;\n}\n"],sourceRoot:""}]);let a=s},36869(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-cursor-backdrop {
  top: 0px;
  left: 0px;
  position: fixed;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  will-change: transform;
  z-index: 100;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overflow: scroll;
}

.lm-cursor-backdrop::after {
  content: '';
  height: 1200px;
  width: 1200px;
  display: block;
}

.lm-cursor-backdrop::-webkit-scrollbar {
  display: none;
}

.lm-mod-drag-image {
  top: 0px;
  left: 0px;
  will-change: transform;
}
`,"",{version:3,sources:["webpack://./node_modules/@lumino/dragdrop/style/index.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;;;;;;8EAO8E;;AAE9E;EACE,QAAQ;EACR,SAAS;EACT,eAAe;EACf,YAAY;EACZ,aAAa;EACb,kBAAkB;EAClB,mBAAmB;EACnB,sBAAsB;EACtB,YAAY;EACZ,qBAAqB;EACrB,wBAAwB;EACxB,gBAAgB;AAClB;;AAEA;EACE,WAAW;EACX,cAAc;EACd,aAAa;EACb,cAAc;AAChB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,QAAQ;EACR,SAAS;EACT,sBAAsB;AACxB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-cursor-backdrop {\n  top: 0px;\n  left: 0px;\n  position: fixed;\n  width: 200px;\n  height: 200px;\n  margin-top: -100px;\n  margin-left: -100px;\n  will-change: transform;\n  z-index: 100;\n  scrollbar-width: none;\n  -ms-overflow-style: none;\n  overflow: scroll;\n}\n\n.lm-cursor-backdrop::after {\n  content: '';\n  height: 1200px;\n  width: 1200px;\n  display: block;\n}\n\n.lm-cursor-backdrop::-webkit-scrollbar {\n  display: none;\n}\n\n.lm-mod-drag-image {\n  top: 0px;\n  left: 0px;\n  will-change: transform;\n}\n"],sourceRoot:""}]);let a=s},47963(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title {
  /* Title is rotated for horizontal accordion panel using CSS */
  display: block;
  transform-origin: top left;
  transform: rotate(-90deg) translate(-100%);
}
`,"",{version:3,sources:["webpack://./node_modules/@lumino/widgets/style/accordionpanel.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;EACE,8DAA8D;EAC9D,cAAc;EACd,0BAA0B;EAC1B,0CAA0C;AAC5C",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title {\n  /* Title is rotated for horizontal accordion panel using CSS */\n  display: block;\n  transform-origin: top left;\n  transform: rotate(-90deg) translate(-100%);\n}\n"],sourceRoot:""}]);let a=s},13655(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-CommandPalette {
  display: flex;
  flex-direction: column;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-CommandPalette-search {
  flex: 0 0 auto;
}

.lm-CommandPalette-content {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  min-height: 0;
  overflow: auto;
  list-style-type: none;
}

.lm-CommandPalette-header {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.lm-CommandPalette-item {
  display: flex;
  flex-direction: row;
}

.lm-CommandPalette-itemIcon {
  flex: 0 0 auto;
}

.lm-CommandPalette-itemContent {
  flex: 1 1 auto;
  overflow: hidden;
}

.lm-CommandPalette-itemShortcut {
  flex: 0 0 auto;
}

.lm-CommandPalette-itemLabel {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.lm-close-icon {
  border: 1px solid transparent;
  background-color: transparent;
  position: absolute;
  z-index: 1;
  right: 3%;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 7px 0;
  display: none;
  vertical-align: middle;
  outline: 0;
  cursor: pointer;
}
.lm-close-icon:after {
  content: 'X';
  display: block;
  width: 15px;
  height: 15px;
  text-align: center;
  color: #000;
  font-weight: normal;
  font-size: 12px;
  cursor: pointer;
}
`,"",{version:3,sources:["webpack://./node_modules/@lumino/widgets/style/commandpalette.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;;;;;;8EAO8E;;AAE9E;EACE,aAAa;EACb,sBAAsB;EACtB,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;AACnB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;EACd,SAAS;EACT,UAAU;EACV,aAAa;EACb,cAAc;EACd,qBAAqB;AACvB;;AAEA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;EACd,gBAAgB;AAClB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,6BAA6B;EAC7B,6BAA6B;EAC7B,kBAAkB;EAClB,UAAU;EACV,SAAS;EACT,MAAM;EACN,SAAS;EACT,YAAY;EACZ,cAAc;EACd,aAAa;EACb,sBAAsB;EACtB,UAAU;EACV,eAAe;AACjB;AACA;EACE,YAAY;EACZ,cAAc;EACd,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,WAAW;EACX,mBAAmB;EACnB,eAAe;EACf,eAAe;AACjB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-CommandPalette {\n  display: flex;\n  flex-direction: column;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.lm-CommandPalette-search {\n  flex: 0 0 auto;\n}\n\n.lm-CommandPalette-content {\n  flex: 1 1 auto;\n  margin: 0;\n  padding: 0;\n  min-height: 0;\n  overflow: auto;\n  list-style-type: none;\n}\n\n.lm-CommandPalette-header {\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n}\n\n.lm-CommandPalette-item {\n  display: flex;\n  flex-direction: row;\n}\n\n.lm-CommandPalette-itemIcon {\n  flex: 0 0 auto;\n}\n\n.lm-CommandPalette-itemContent {\n  flex: 1 1 auto;\n  overflow: hidden;\n}\n\n.lm-CommandPalette-itemShortcut {\n  flex: 0 0 auto;\n}\n\n.lm-CommandPalette-itemLabel {\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n}\n\n.lm-close-icon {\n  border: 1px solid transparent;\n  background-color: transparent;\n  position: absolute;\n  z-index: 1;\n  right: 3%;\n  top: 0;\n  bottom: 0;\n  margin: auto;\n  padding: 7px 0;\n  display: none;\n  vertical-align: middle;\n  outline: 0;\n  cursor: pointer;\n}\n.lm-close-icon:after {\n  content: 'X';\n  display: block;\n  width: 15px;\n  height: 15px;\n  text-align: center;\n  color: #000;\n  font-weight: normal;\n  font-size: 12px;\n  cursor: pointer;\n}\n"],sourceRoot:""}]);let a=s},88434(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-DockPanel {
  z-index: 0;
}

.lm-DockPanel-widget {
  z-index: 0;
}

.lm-DockPanel-tabBar {
  z-index: 1;
}

.lm-DockPanel-handle {
  z-index: 2;
}

.lm-DockPanel-handle.lm-mod-hidden {
  display: none !important;
}

.lm-DockPanel-handle:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
}

.lm-DockPanel-handle[data-orientation='horizontal'] {
  cursor: ew-resize;
}

.lm-DockPanel-handle[data-orientation='vertical'] {
  cursor: ns-resize;
}

.lm-DockPanel-handle[data-orientation='horizontal']:after {
  left: 50%;
  min-width: 8px;
  transform: translateX(-50%);
}

.lm-DockPanel-handle[data-orientation='vertical']:after {
  top: 50%;
  min-height: 8px;
  transform: translateY(-50%);
}

.lm-DockPanel-overlay {
  z-index: 3;
  box-sizing: border-box;
  pointer-events: none;
}

.lm-DockPanel-overlay.lm-mod-hidden {
  display: none !important;
}
`,"",{version:3,sources:["webpack://./node_modules/@lumino/widgets/style/dockpanel.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;;;;;;8EAO8E;;AAE9E;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,SAAS;EACT,cAAc;EACd,2BAA2B;AAC7B;;AAEA;EACE,QAAQ;EACR,eAAe;EACf,2BAA2B;AAC7B;;AAEA;EACE,UAAU;EACV,sBAAsB;EACtB,oBAAoB;AACtB;;AAEA;EACE,wBAAwB;AAC1B",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-DockPanel {\n  z-index: 0;\n}\n\n.lm-DockPanel-widget {\n  z-index: 0;\n}\n\n.lm-DockPanel-tabBar {\n  z-index: 1;\n}\n\n.lm-DockPanel-handle {\n  z-index: 2;\n}\n\n.lm-DockPanel-handle.lm-mod-hidden {\n  display: none !important;\n}\n\n.lm-DockPanel-handle:after {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  content: '';\n}\n\n.lm-DockPanel-handle[data-orientation='horizontal'] {\n  cursor: ew-resize;\n}\n\n.lm-DockPanel-handle[data-orientation='vertical'] {\n  cursor: ns-resize;\n}\n\n.lm-DockPanel-handle[data-orientation='horizontal']:after {\n  left: 50%;\n  min-width: 8px;\n  transform: translateX(-50%);\n}\n\n.lm-DockPanel-handle[data-orientation='vertical']:after {\n  top: 50%;\n  min-height: 8px;\n  transform: translateY(-50%);\n}\n\n.lm-DockPanel-overlay {\n  z-index: 3;\n  box-sizing: border-box;\n  pointer-events: none;\n}\n\n.lm-DockPanel-overlay.lm-mod-hidden {\n  display: none !important;\n}\n"],sourceRoot:""}]);let a=s},56959(e,t,n){"use strict";n.d(t,{A:()=>f});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r),a=n(84047),l=n(47963),d=n(13655),c=n(88434),h=n(46674),u=n(94123),p=n(81317),m=n(80405),g=n(5683),A=n(93362),C=s()(o());C.i(a.A),C.i(l.A),C.i(d.A),C.i(c.A),C.i(h.A),C.i(u.A),C.i(p.A),C.i(m.A),C.i(g.A),C.i(A.A),C.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
`,"",{version:3,sources:["webpack://./node_modules/@lumino/widgets/style/index.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;;;;;;8EAO8E",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n@import './widget.css';\n@import './accordionpanel.css';\n@import './commandpalette.css';\n@import './dockpanel.css';\n@import './menu.css';\n@import './menubar.css';\n@import './scrollbar.css';\n@import './splitpanel.css';\n@import './tabbar.css';\n@import './tabpanel.css';\n"],sourceRoot:""}]);let f=C},46674(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-Menu {
  z-index: 10000;
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
  overflow-x: hidden;
  overflow-y: auto;
  outline: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-Menu-content {
  margin: 0;
  padding: 0;
  display: table;
  list-style-type: none;
}

.lm-Menu-item {
  display: table-row;
}

.lm-Menu-item.lm-mod-hidden,
.lm-Menu-item.lm-mod-collapsed {
  display: none !important;
}

.lm-Menu-itemIcon,
.lm-Menu-itemSubmenuIcon {
  display: table-cell;
  text-align: center;
}

.lm-Menu-itemLabel {
  display: table-cell;
  text-align: left;
}

.lm-Menu-itemShortcut {
  display: table-cell;
  text-align: right;
}
`,"",{version:3,sources:["webpack://./node_modules/@lumino/widgets/style/menu.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;;;;;;8EAO8E;;AAE9E;EACE,cAAc;EACd,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,mBAAmB;EACnB,kBAAkB;EAClB,gBAAgB;EAChB,aAAa;EACb,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;AACnB;;AAEA;EACE,SAAS;EACT,UAAU;EACV,cAAc;EACd,qBAAqB;AACvB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;;EAEE,wBAAwB;AAC1B;;AAEA;;EAEE,mBAAmB;EACnB,kBAAkB;AACpB;;AAEA;EACE,mBAAmB;EACnB,gBAAgB;AAClB;;AAEA;EACE,mBAAmB;EACnB,iBAAiB;AACnB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-Menu {\n  z-index: 10000;\n  position: absolute;\n  top: 0;\n  left: 0;\n  white-space: nowrap;\n  overflow-x: hidden;\n  overflow-y: auto;\n  outline: none;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.lm-Menu-content {\n  margin: 0;\n  padding: 0;\n  display: table;\n  list-style-type: none;\n}\n\n.lm-Menu-item {\n  display: table-row;\n}\n\n.lm-Menu-item.lm-mod-hidden,\n.lm-Menu-item.lm-mod-collapsed {\n  display: none !important;\n}\n\n.lm-Menu-itemIcon,\n.lm-Menu-itemSubmenuIcon {\n  display: table-cell;\n  text-align: center;\n}\n\n.lm-Menu-itemLabel {\n  display: table-cell;\n  text-align: left;\n}\n\n.lm-Menu-itemShortcut {\n  display: table-cell;\n  text-align: right;\n}\n"],sourceRoot:""}]);let a=s},94123(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-MenuBar {
  outline: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-MenuBar-content {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  list-style-type: none;
}

.lm-MenuBar-item {
  box-sizing: border-box;
}

.lm-MenuBar-itemIcon,
.lm-MenuBar-itemLabel {
  display: inline-block;
}
`,"",{version:3,sources:["webpack://./node_modules/@lumino/widgets/style/menubar.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;;;;;;8EAO8E;;AAE9E;EACE,aAAa;EACb,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;AACnB;;AAEA;EACE,SAAS;EACT,UAAU;EACV,aAAa;EACb,mBAAmB;EACnB,qBAAqB;AACvB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;;EAEE,qBAAqB;AACvB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-MenuBar {\n  outline: none;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.lm-MenuBar-content {\n  margin: 0;\n  padding: 0;\n  display: flex;\n  flex-direction: row;\n  list-style-type: none;\n}\n\n.lm-MenuBar-item {\n  box-sizing: border-box;\n}\n\n.lm-MenuBar-itemIcon,\n.lm-MenuBar-itemLabel {\n  display: inline-block;\n}\n"],sourceRoot:""}]);let a=s},81317(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-ScrollBar {
  display: flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-ScrollBar[data-orientation='horizontal'] {
  flex-direction: row;
}

.lm-ScrollBar[data-orientation='vertical'] {
  flex-direction: column;
}

.lm-ScrollBar-button {
  box-sizing: border-box;
  flex: 0 0 auto;
}

.lm-ScrollBar-track {
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  flex: 1 1 auto;
}

.lm-ScrollBar-thumb {
  box-sizing: border-box;
  position: absolute;
}
`,"",{version:3,sources:["webpack://./node_modules/@lumino/widgets/style/scrollbar.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;;;;;;8EAO8E;;AAE9E;EACE,aAAa;EACb,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;AACnB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,sBAAsB;EACtB,cAAc;AAChB;;AAEA;EACE,sBAAsB;EACtB,kBAAkB;EAClB,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,sBAAsB;EACtB,kBAAkB;AACpB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-ScrollBar {\n  display: flex;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.lm-ScrollBar[data-orientation='horizontal'] {\n  flex-direction: row;\n}\n\n.lm-ScrollBar[data-orientation='vertical'] {\n  flex-direction: column;\n}\n\n.lm-ScrollBar-button {\n  box-sizing: border-box;\n  flex: 0 0 auto;\n}\n\n.lm-ScrollBar-track {\n  box-sizing: border-box;\n  position: relative;\n  overflow: hidden;\n  flex: 1 1 auto;\n}\n\n.lm-ScrollBar-thumb {\n  box-sizing: border-box;\n  position: absolute;\n}\n"],sourceRoot:""}]);let a=s},80405(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-SplitPanel-child {
  z-index: 0;
}

.lm-SplitPanel-handle {
  z-index: 1;
}

.lm-SplitPanel-handle.lm-mod-hidden {
  display: none !important;
}

.lm-SplitPanel-handle:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
}

.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {
  cursor: ew-resize;
}

.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {
  cursor: ns-resize;
}

.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {
  left: 50%;
  min-width: 8px;
  transform: translateX(-50%);
}

.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {
  top: 50%;
  min-height: 8px;
  transform: translateY(-50%);
}
`,"",{version:3,sources:["webpack://./node_modules/@lumino/widgets/style/splitpanel.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;;;;;;8EAO8E;;AAE9E;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,SAAS;EACT,cAAc;EACd,2BAA2B;AAC7B;;AAEA;EACE,QAAQ;EACR,eAAe;EACf,2BAA2B;AAC7B",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-SplitPanel-child {\n  z-index: 0;\n}\n\n.lm-SplitPanel-handle {\n  z-index: 1;\n}\n\n.lm-SplitPanel-handle.lm-mod-hidden {\n  display: none !important;\n}\n\n.lm-SplitPanel-handle:after {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  content: '';\n}\n\n.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {\n  cursor: ew-resize;\n}\n\n.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {\n  cursor: ns-resize;\n}\n\n.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {\n  left: 50%;\n  min-width: 8px;\n  transform: translateX(-50%);\n}\n\n.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {\n  top: 50%;\n  min-height: 8px;\n  transform: translateY(-50%);\n}\n"],sourceRoot:""}]);let a=s},5683(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-TabBar {
  display: flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-TabBar[data-orientation='horizontal'] {
  flex-direction: row;
  align-items: flex-end;
}

.lm-TabBar[data-orientation='vertical'] {
  flex-direction: column;
  align-items: flex-end;
}

.lm-TabBar-content {
  margin: 0;
  padding: 0;
  display: flex;
  flex: 1 1 auto;
  list-style-type: none;
}

.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {
  flex-direction: row;
}

.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {
  flex-direction: column;
}

.lm-TabBar-tab {
  display: flex;
  flex-direction: row;
  box-sizing: border-box;
  overflow: hidden;
  touch-action: none; /* Disable native Drag/Drop */
}

.lm-TabBar-tabIcon,
.lm-TabBar-tabCloseIcon {
  flex: 0 0 auto;
}

.lm-TabBar-tabLabel {
  flex: 1 1 auto;
  overflow: hidden;
  white-space: nowrap;
}

.lm-TabBar-tabInput {
  user-select: all;
  width: 100%;
  box-sizing: border-box;
}

.lm-TabBar-tab.lm-mod-hidden {
  display: none !important;
}

.lm-TabBar-addButton.lm-mod-hidden {
  display: none !important;
}

.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {
  position: relative;
}

.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {
  left: 0;
  transition: left 150ms ease;
}

.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {
  top: 0;
  transition: top 150ms ease;
}

.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {
  transition: none;
}

.lm-TabBar.lm-mod-unfreezing .lm-TabBar-tab {
  transition:
    width 150ms ease,
    flex-basis 150ms ease;
}

.lm-TabBar-tabLabel .lm-TabBar-tabInput {
  user-select: all;
  width: 100%;
  box-sizing: border-box;
  background: inherit;
}
`,"",{version:3,sources:["webpack://./node_modules/@lumino/widgets/style/tabbar.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;;;;;;8EAO8E;;AAE9E;EACE,aAAa;EACb,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;AACnB;;AAEA;EACE,mBAAmB;EACnB,qBAAqB;AACvB;;AAEA;EACE,sBAAsB;EACtB,qBAAqB;AACvB;;AAEA;EACE,SAAS;EACT,UAAU;EACV,aAAa;EACb,cAAc;EACd,qBAAqB;AACvB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,sBAAsB;EACtB,gBAAgB;EAChB,kBAAkB,EAAE,6BAA6B;AACnD;;AAEA;;EAEE,cAAc;AAChB;;AAEA;EACE,cAAc;EACd,gBAAgB;EAChB,mBAAmB;AACrB;;AAEA;EACE,gBAAgB;EAChB,WAAW;EACX,sBAAsB;AACxB;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,OAAO;EACP,2BAA2B;AAC7B;;AAEA;EACE,MAAM;EACN,0BAA0B;AAC5B;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE;;yBAEuB;AACzB;;AAEA;EACE,gBAAgB;EAChB,WAAW;EACX,sBAAsB;EACtB,mBAAmB;AACrB",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-TabBar {\n  display: flex;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.lm-TabBar[data-orientation='horizontal'] {\n  flex-direction: row;\n  align-items: flex-end;\n}\n\n.lm-TabBar[data-orientation='vertical'] {\n  flex-direction: column;\n  align-items: flex-end;\n}\n\n.lm-TabBar-content {\n  margin: 0;\n  padding: 0;\n  display: flex;\n  flex: 1 1 auto;\n  list-style-type: none;\n}\n\n.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {\n  flex-direction: row;\n}\n\n.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {\n  flex-direction: column;\n}\n\n.lm-TabBar-tab {\n  display: flex;\n  flex-direction: row;\n  box-sizing: border-box;\n  overflow: hidden;\n  touch-action: none; /* Disable native Drag/Drop */\n}\n\n.lm-TabBar-tabIcon,\n.lm-TabBar-tabCloseIcon {\n  flex: 0 0 auto;\n}\n\n.lm-TabBar-tabLabel {\n  flex: 1 1 auto;\n  overflow: hidden;\n  white-space: nowrap;\n}\n\n.lm-TabBar-tabInput {\n  user-select: all;\n  width: 100%;\n  box-sizing: border-box;\n}\n\n.lm-TabBar-tab.lm-mod-hidden {\n  display: none !important;\n}\n\n.lm-TabBar-addButton.lm-mod-hidden {\n  display: none !important;\n}\n\n.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {\n  position: relative;\n}\n\n.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {\n  left: 0;\n  transition: left 150ms ease;\n}\n\n.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {\n  top: 0;\n  transition: top 150ms ease;\n}\n\n.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {\n  transition: none;\n}\n\n.lm-TabBar.lm-mod-unfreezing .lm-TabBar-tab {\n  transition:\n    width 150ms ease,\n    flex-basis 150ms ease;\n}\n\n.lm-TabBar-tabLabel .lm-TabBar-tabInput {\n  user-select: all;\n  width: 100%;\n  box-sizing: border-box;\n  background: inherit;\n}\n"],sourceRoot:""}]);let a=s},93362(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-TabPanel-tabBar {
  z-index: 1;
}

.lm-TabPanel-stackedPanel {
  z-index: 0;
}
`,"",{version:3,sources:["webpack://./node_modules/@lumino/widgets/style/tabpanel.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;;;;;;8EAO8E;;AAE9E;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-TabPanel-tabBar {\n  z-index: 1;\n}\n\n.lm-TabPanel-stackedPanel {\n  z-index: 0;\n}\n"],sourceRoot:""}]);let a=s},84047(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(41855),o=n.n(i),r=n(2117),s=n.n(r)()(o());s.push([e.id,`/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-Widget {
  box-sizing: border-box;
  position: relative;
}

.lm-Widget.lm-mod-hidden {
  display: none !important;
}
`,"",{version:3,sources:["webpack://./node_modules/@lumino/widgets/style/widget.css"],names:[],mappings:"AAAA;;;EAGE;;AAEF;;;;;;;8EAO8E;;AAE9E;EACE,sBAAsB;EACtB,kBAAkB;AACpB;;AAEA;EACE,wBAAwB;AAC1B",sourcesContent:["/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-Widget {\n  box-sizing: border-box;\n  position: relative;\n}\n\n.lm-Widget.lm-mod-hidden {\n  display: none !important;\n}\n"],sourceRoot:""}]);let a=s},49709(e,t,n){"use strict";n.r(t),n.d(t,{DEFAULT_CONTEXT_ITEM_RANK:()=>v,default:()=>P});var i,o,r=n(57941),s=n(97518),a=n(28951),l=n(66885),d=n(46109),c=n(99873),h=n(2786),u=n(8989),p=n(65819),m=n(55187),g=n(63995),A=n(64001),C=n(60721);let f="TopBar",b={id:"@jupyterlab/application-extension:top-bar",description:"Adds a toolbar to the top area (next to the main menu bar).",autoStart:!0,requires:[d.ISettingRegistry,s.IToolbarWidgetRegistry],optional:[h.ITranslator],activate:(e,t,n,i)=>{let o=(null!=i?i:h.nullTranslator).load("jupyterlab"),r=new u.Toolbar;r.id="jp-top-bar",r.node.setAttribute("aria-label",o.__("Topbar toolbar")),(0,s.setToolbar)(r,(0,s.createToolbarFactory)(n,t,f,b.id,null!=i?i:h.nullTranslator),r),e.shell.add(r,"top",{rank:900})}},v=100;!function(e){e.activateNextTab="application:activate-next-tab",e.activatePreviousTab="application:activate-previous-tab",e.activateNextTabBar="application:activate-next-tab-bar",e.activatePreviousTabBar="application:activate-previous-tab-bar",e.close="application:close",e.closeOtherTabs="application:close-other-tabs",e.closeRightTabs="application:close-right-tabs",e.closeAll="application:close-all",e.setActivityBarPosition="application:set-activity-bar-position",e.moveWidget="application:move-widget",e.setMode="application:set-mode",e.showPropertyPanel="property-inspector:show-panel",e.resetLayout="application:reset-layout",e.toggleContextMenu="application:toggle-context-menu",e.toggleHeader="application:toggle-header",e.toggleMode="application:toggle-mode",e.toggleLeftArea="application:toggle-left-area",e.toggleRightArea="application:toggle-right-area",e.toggleDownArea="application:toggle-down-area",e.toggleSideTabBar="application:toggle-side-tabbar",e.toggleSidebarWidget="application:toggle-sidebar-widget",e.togglePresentationMode="application:toggle-presentation-mode",e.toggleFullscreenMode="application:toggle-fullscreen-mode",e.tree="router:tree",e.switchSidebar="sidebar:switch",e.splitTab="application:split-tab",e.zoomInWidget="application:zoom-in-widget",e.zoomOutWidget="application:zoom-out-widget",e.resetWidgetZoom="application:reset-widget-zoom"}(i||(i={}));let _=.5,y=3,E={id:"@jupyterlab/application-extension:commands",description:"Adds commands related to the shell.",autoStart:!0,requires:[h.ITranslator,d.ISettingRegistry],optional:[r.ILabShell,s.ICommandPalette],activate:(e,t,n,o,s)=>{var l;let{commands:d,shell:c}=e,h=t.load("jupyterlab"),u=h.__("Main Area");d.addCommand(r.JupyterFrontEndContextMenu.contextMenu,{label:h.__("Shift+Right Click for Browser Menu"),describedBy:{args:{type:"object",properties:{}}},isEnabled:()=>!1,execute:()=>void 0});let m=e=>{var t;if(o)for(let t of["main","left","right","down"]){let n=(0,p.find)(o.widgets(t),t=>t.id===e);if(n)return n}return null!=(t=(0,p.find)(c.widgets("main"),t=>t.id===e))?t:null},g=()=>{let t=e=>!!e.dataset.id,n=e.contextMenuHitTest(t);if(!n)return c.currentWidget;let i=n.dataset.id;return i?m(i):null},A=e=>{e.forEach(e=>e.close())},C=(e,t)=>{if("tab-area"===e.type)return e.widgets.includes(t)?e:null;if("split-area"===e.type)for(let n of e.children){let e=C(n,t);if(e)return e}return null},f=e=>{var t;let n=null==o?void 0:o.saveLayout(),i=null==n?void 0:n.mainArea;if(!i||"multiple-document"!==a.PageConfig.getOption("mode"))return null;let r=null==(t=i.dock)?void 0:t.main;return r?C(r,e):null},b=e=>{let{id:t}=e,n=f(e),i=n&&n.widgets||[],o=i.findIndex(e=>e.id===t);return o<0?[]:i.slice(o+1)},v=e=>{let t;if("left"!=e&&"right"!=e)throw Error(`Unsupported sidebar: ${e}`);if("left"===e)t=document.querySelector(".lm-TabBar-tab.lm-mod-current");else{let e=document.querySelectorAll(".lm-TabBar-tab.lm-mod-current");t=e[e.length-1]}let n=null==t?void 0:t.getAttribute("data-id");return n?null==n?void 0:n.toString():""},E=()=>{var e;return null!=(e=c.currentWidget)?e:null};function w(e){let t=j(e);t&&t.style.removeProperty("zoom")}function j(e){let t=e.node,n=t.querySelector(".jp-zoom-target");return n||(t.classList.add("jp-zoom-target"),t)}function x(e,t){let n=j(e);if(!n)return;let i=Math.min(y,Math.max(_,Number(n.style.zoom||1)+t));n.style.zoom=String(i)}function B(e){e&&e.focus()}if(d.addCommand(i.close,{label:()=>h.__("Close Tab"),describedBy:{args:{type:"object",properties:{}}},isEnabled:()=>{let e=g();return!!e&&e.title.closable},execute:()=>{let e=g();e&&e.close()}}),d.addCommand(i.closeOtherTabs,{label:()=>h.__("Close All Other Tabs"),describedBy:{args:{type:"object",properties:{}}},isEnabled:()=>(0,p.some)(c.widgets("main"),(e,t)=>1===t),execute:()=>{let e=g();if(!e)return;let{id:t}=e;for(let e of c.widgets("main"))e.id!==t&&e.close()}}),d.addCommand(i.closeRightTabs,{label:()=>h.__("Close Tabs to Right"),describedBy:{args:{type:"object",properties:{}}},isEnabled:()=>!!g()&&b(g()).length>0,execute:()=>{let e=g();e&&A(b(e))}}),d.addCommand(i.zoomInWidget,{label:h.__("Zoom In Active Widget"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let e=E();e&&x(e,.1)}}),d.addCommand(i.zoomOutWidget,{label:h.__("Zoom Out Active Widget"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let e=E();e&&x(e,-.1)}}),d.addCommand(i.resetWidgetZoom,{label:h.__("Reset Widget Zoom"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let e=E();e&&w(e)}}),null==(l=c.currentChanged)||l.connect(()=>{[i.close,i.closeOtherTabs,i.closeRightTabs].forEach(e=>d.notifyCommandChanged(e))}),o){d.addCommand(i.activateNextTab,{label:h.__("Activate Next Tab"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{o.activateNextTab()}}),d.addCommand(i.activatePreviousTab,{label:h.__("Activate Previous Tab"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{o.activatePreviousTab()}}),d.addCommand(i.activateNextTabBar,{label:h.__("Activate Next Tab Bar"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{o.activateNextTabBar()}}),d.addCommand(i.activatePreviousTabBar,{label:h.__("Activate Previous Tab Bar"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{o.activatePreviousTabBar()}}),d.addCommand(i.closeAll,{label:h.__("Close All Tabs"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{o.closeAll()}}),d.addCommand(i.toggleHeader,{label:h.__("Show Header"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{"single-document"===o.mode&&o.toggleTopInSimpleModeVisibility()},isToggled:()=>o.isTopInSimpleModeVisible(),isVisible:()=>"single-document"===o.mode}),d.addCommand(i.toggleLeftArea,{label:h.__("Show Left Sidebar"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{o.leftCollapsed?o.expandLeft():(o.collapseLeft(),o.currentWidget&&o.activateById(o.currentWidget.id))},isToggled:()=>!o.leftCollapsed,isEnabled:()=>!o.isEmpty("left")}),d.addCommand(i.toggleRightArea,{label:h.__("Show Right Sidebar"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{o.rightCollapsed?o.expandRight():(o.collapseRight(),o.currentWidget&&o.activateById(o.currentWidget.id))},isToggled:()=>!o.rightCollapsed,isEnabled:()=>!o.isEmpty("right")}),d.addCommand(i.toggleDownArea,{label:h.__("Show Down Area"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{o.downCollapsed?o.expandDown():(o.collapseDown(),o.currentWidget&&o.activateById(o.currentWidget.id))},isToggled:()=>!o.downCollapsed,isEnabled:()=>!o.isEmpty("down")}),d.addCommand(i.toggleSidebarWidget,{label:e=>void 0===e||void 0===e.side||void 0===e.index?h.__("Toggle Sidebar Element"):"right"===e.side?h.__("Toggle Element %1 in Right Sidebar",parseInt(e.index,10)+1):h.__("Toggle Element %1 in Left Sidebar",parseInt(e.index,10)+1),describedBy:{args:{type:"object",properties:{side:{type:"string",enum:["left","right"],description:h.__("The sidebar side")},index:{type:["string","number"],description:h.__("The index of the sidebar widget")}},required:["side","index"]}},execute:e=>{let t=parseInt(e.index,10);if("left"!=e.side&&"right"!=e.side)throw Error(`Unsupported sidebar: ${e.side}`);let n=Array.from(o.widgets(e.side));if(t>=n.length)return;let i=n[t].id,r=document.querySelector("[data-id='"+i+"']");v(e.side)===i?("left"==e.side&&(o.collapseLeft(),B(r)),"right"==e.side&&(o.collapseRight(),B(r))):(o.activateById(i),B(r))}}),d.addCommand(i.toggleSideTabBar,{label:e=>"right"===e.side?h.__("Show Right Activity Bar"):h.__("Show Left Activity Bar"),describedBy:{args:{type:"object",properties:{side:{type:"string",enum:["left","right"],description:h.__("The sidebar side")}},required:["side"]}},execute:e=>{"right"===e.side?o.toggleSideTabBarVisibility("right"):o.toggleSideTabBarVisibility("left")},isToggled:e=>"right"===e.side?o.isSideTabBarVisible("right"):o.isSideTabBarVisible("left"),isEnabled:e=>"right"===e.side?!o.isEmpty("right"):!o.isEmpty("left")}),d.addCommand(i.togglePresentationMode,{label:()=>h.__("Presentation Mode"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{o.presentationMode=!o.presentationMode},isToggled:()=>o.presentationMode,isVisible:()=>!0}),d.addCommand(i.toggleFullscreenMode,{label:h.__("Fullscreen Mode"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{null===document.fullscreenElement||void 0===document.fullscreenElement?document.documentElement.requestFullscreen().catch(e=>{console.error("Failed to enter fullscreen mode.",e)}):null!==document.fullscreenElement&&document.exitFullscreen().catch(e=>{console.error("Failed to exit fullscreen mode.",e)})},isToggled:()=>null!==document.fullscreenElement}),d.addCommand(i.setMode,{label:e=>e.mode?h.__("Set %1 mode.",e.mode):h.__("Set the layout `mode`."),caption:h.__('The layout `mode` can be "single-document" or "multiple-document".'),describedBy:{args:{type:"object",properties:{mode:{type:"string",enum:["single-document","multiple-document"],description:h.__("The layout mode")}},required:["mode"]}},isVisible:e=>{let t=e.mode;return"single-document"===t||"multiple-document"===t},execute:e=>{let t=e.mode;if("single-document"===t||"multiple-document"===t){o.mode=t;return}throw Error(`Unsupported application shell mode: ${t}`)}}),d.addCommand(i.toggleMode,{label:h.__("Simple Interface"),describedBy:{args:{type:"object",properties:{}}},isToggled:()=>"single-document"===o.mode,execute:()=>{let e="multiple-document"===o.mode?{mode:"single-document"}:{mode:"multiple-document"};return d.execute(i.setMode,e)}}),d.addCommand(i.resetLayout,{label:h.__("Reset Default Layout"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{o.presentationMode&&d.execute(i.togglePresentationMode).catch(e=>{console.error("Failed to undo presentation mode.",e)}),(null!==document.fullscreenElement||void 0!==document.fullscreenElement)&&d.execute(i.toggleFullscreenMode).catch(e=>{console.error("Failed to exit fullscreen mode.",e)}),"single-document"!==o.mode||o.isTopInSimpleModeVisible()||d.execute(i.toggleHeader).catch(e=>{console.error("Failed to display title header.",e)}),["left","right"].forEach(e=>{o.isSideTabBarVisible(e)||o.isEmpty(e)||d.execute(i.toggleSideTabBar,{side:e}).catch(t=>{console.error(`Failed to show ${e} activity bar.`,t)})})}});let t=()=>{var t;let n=e=>e.classList.contains("lm-TabBar-tab")&&!!e.dataset.id,i=e.contextMenuHitTest(n);if(!i)return null;let r=i.dataset.id;return r&&null!=(t=(0,p.find)(o.widgets("main"),e=>e.id===r))?t:null};d.addCommand(i.splitTab,{label:e=>{let t=null==e?void 0:e.direction;return t?({left:h.__("Left"),right:h.__("Right"),top:h.__("Up"),bottom:h.__("Down")})[t]:h.__("Split Tab")},caption:h.__("Split the current tab"),describedBy:{args:{type:"object",properties:{direction:{type:"string",enum:["left","right","top","bottom"],description:h.__("The direction to split the tab")},id:{type:"string",description:h.__("The widget ID to split. Defaults to the context menu target.")}},required:["direction"]}},isEnabled:()=>{let e=t();if(!e||!(o instanceof r.LabShell))return!1;let n=o.getMainAreaTabBar(e);return!!n&&n.titles.length>1},execute:e=>{let n=null==e?void 0:e.direction,i=(null==e?void 0:e.id)?(0,p.find)(o.widgets("main"),t=>t.id===(null==e?void 0:e.id)):null;i||(i=t()),i&&n&&o.moveTab(i,n)}})}function S(e){let t=e.target;if(!t)return null;let n=t.closest(".lm-Widget");if(!n)return null;for(let e of c.widgets("main"))if(e.node.contains(n))return e;return null}s&&([i.activateNextTab,i.activatePreviousTab,i.activateNextTabBar,i.activatePreviousTabBar,i.close,i.closeAll,i.closeOtherTabs,i.closeRightTabs,i.toggleHeader,i.toggleLeftArea,i.toggleRightArea,i.toggleDownArea,i.togglePresentationMode,i.toggleFullscreenMode,i.toggleMode,i.resetLayout,i.zoomInWidget,i.zoomOutWidget,i.resetWidgetZoom].forEach(e=>s.addItem({command:e,category:u})),["right","left"].forEach(e=>{s.addItem({command:i.toggleSideTabBar,category:u,args:{side:e}})}));let M=!1,I="side";n.load("@jupyterlab/application-extension:shell").then(e=>{M=e.get("zoomOnWheel").composite,I=e.get("activityBarPosition").composite,e.changed.connect(()=>{M=e.get("zoomOnWheel").composite;let t=e.get("activityBarPosition").composite;t!==I&&(I=t,d.notifyCommandChanged(i.setActivityBarPosition))}),d.addCommand(i.setActivityBarPosition,{label:e=>{let t=e.position,n="side"===t?h.__("Side"):"top"===t?h.__("Top"):"bottom"===t?h.__("Bottom"):"";return n?e.isPalette?h.__("Activity Bar Position: %1",n):n:h.__("Set Activity Bar Position")},caption:h.__("Position of the side activity bars (side, top, or bottom)."),describedBy:{args:{type:"object",properties:{position:{type:"string",oneOf:[{const:"side",title:h.__("Side")},{const:"top",title:h.__("Top")},{const:"bottom",title:h.__("Bottom")}],description:h.__("The activity bar position")},isPalette:{type:"boolean",description:h.__("Whether the command is being called from the palette")}},required:["position"]}},isToggled:e=>e.position===I,execute:t=>{let n=t.position;if("side"!==n&&"top"!==n&&"bottom"!==n)throw Error(`Unsupported activity bar position: ${n}`);return e.set("activityBarPosition",n)}}),s&&["side","top","bottom"].forEach(e=>{s.addItem({command:i.setActivityBarPosition,category:u,args:{position:e,isPalette:!0}})})}).catch(e=>{console.error("Failed to load shell settings.",e)});let k=!1;window.addEventListener("keydown",e=>{"Control"===e.key&&(k=!0)}),window.addEventListener("keyup",e=>{"Control"===e.key&&(k=!1)}),window.addEventListener("blur",()=>{k=!1}),window.addEventListener("wheel",e=>{if(!M||!e.ctrlKey||!k)return;let t=S(e);t&&(e.preventDefault(),x(t,e.deltaY<0?.1:-.1))},{passive:!1,capture:!0})}},w={id:"@jupyterlab/application-extension:main",description:"Initializes the application and provides the URL tree path handler.",requires:[r.IRouter,s.IWindowResolver,h.ITranslator,r.JupyterFrontEnd.ITreeResolver],optional:[r.IConnectionLost],provides:r.ITreePathUpdater,activate:(e,t,n,i,o,l)=>{let d=i.load("jupyterlab");if(!(e instanceof r.JupyterLab))throw Error(`${w.id} must be activated in JupyterLab.`);let c="",h="";function u(e){o.paths.then(()=>{if(h=e,!c){let n=a.PageConfig.getUrl({treePath:e}),i=a.URLExt.parse(n).pathname;t.navigate(i,{skipRouting:!0}),a.PageConfig.setOption("treePath",e)}})}let p=n.name;if(console.debug(`Starting application in workspace: "${p}"`),0!==e.registerPluginErrors.length){let t=C.createElement("pre",null,e.registerPluginErrors.map(e=>e.message).join("\n"));(0,s.showErrorMessage)(d.__("Error Registering Plugins"),{message:t})}e.shell.modeChanged.connect((e,n)=>{let i=a.PageConfig.getUrl({mode:n}),o=a.URLExt.parse(i).pathname;t.navigate(o,{skipRouting:!0}),a.PageConfig.setOption("mode",n)}),o.paths.then(()=>{e.shell.currentPathChanged.connect((e,n)=>{let i=n.newValue,o=i||h,r=a.PageConfig.getUrl({treePath:o}),s=a.URLExt.parse(r).pathname;t.navigate(s,{skipRouting:!0}),a.PageConfig.setOption("treePath",o),c=i})}),l=l||r.ConnectionLost,e.serviceManager.connectionFailure.connect((e,t)=>l(e,t,i));let m=e.serviceManager.builder,g=()=>m.build().then(()=>(0,s.showDialog)({title:d.__("Build Complete"),body:C.createElement("div",null,d.__("Build successfully completed, reload page?"),C.createElement("br",null),d.__("You will lose any unsaved changes.")),buttons:[s.Dialog.cancelButton({label:d.__("Reload Without Saving"),actions:["reload"]}),s.Dialog.okButton({label:d.__("Save and Reload")})],hasClose:!0})).then(({button:{accept:n,actions:i}})=>{n?e.commands.execute("docmanager:save").then(()=>{t.reload()}).catch(e=>{(0,s.showErrorMessage)(d.__("Save Failed"),{message:C.createElement("pre",null,e.message)})}):i.includes("reload")&&t.reload()}).catch(e=>{(0,s.showErrorMessage)(d.__("Build Failed"),{message:C.createElement("pre",null,e.message)})});return m.isAvailable&&m.shouldCheck&&m.getStatus().then(e=>{if("building"===e.status)return g();if("needed"!==e.status)return;let t=C.createElement("div",null,d.__("JupyterLab build is suggested:"),C.createElement("br",null),C.createElement("pre",null,e.message));(0,s.showDialog)({title:d.__("Build Recommended"),body:t,buttons:[s.Dialog.cancelButton(),s.Dialog.okButton({label:d.__("Build")})]}).then(e=>e.button.accept?g():void 0)}),u},autoStart:!0},j={id:"@jupyterlab/application-extension:context-menu",description:"Populates the context menu.",autoStart:!0,requires:[d.ISettingRegistry,h.ITranslator],optional:[s.ICommandPalette],activate:(e,t,n,r)=>{let s=n.load("jupyterlab");function a(t){let n=new u.RankedMenu({...t,commands:e.commands});return t.label&&(n.title.label=s.__(t.label)),n}e.started.then(()=>o.loadSettingsContextMenu(e.contextMenu,e.commands,t,a,n)).then(()=>{r&&(null==r||r.addItem({category:s.__("Settings"),command:i.toggleContextMenu}))}).catch(e=>{console.error("Failed to load context menu items from settings registry.",e)})}},x={id:"@jupyterlab/application-extension:dirty",description:"Adds safeguard dialog when closing the browser tab with unsaved modifications.",autoStart:!0,requires:[h.ITranslator],activate:(e,t)=>{if(!(e instanceof r.JupyterLab))throw Error(`${x.id} must be activated in JupyterLab.`);let n=t.load("jupyterlab").__("Are you sure you want to exit JupyterLab?\n\nAny unsaved changes will be lost.");window.addEventListener("beforeunload",t=>{if(e.status.isDirty)return t.returnValue=n})}},B={id:"@jupyterlab/application-extension:layout",description:"Provides the shell layout restorer.",requires:[c.IStateDB,r.ILabShell,d.ISettingRegistry],optional:[h.ITranslator],activate:(e,t,n,i,l)=>{let d=(null!=l?l:h.nullTranslator).load("jupyterlab"),c=e.started,u=e.commands,p=a.PageConfig.getOption("mode"),g=new r.LayoutRestorer({connector:t,first:c,registry:u,mode:p});return i.load(D.id).then(t=>{var i,r;n.updateConfig({activityBarPosition:t.get("activityBarPosition").composite});let s=t.composite.layout;n.restoreLayout(p,g,{"multiple-document":null!=(i=s.multiple)?i:{},"single-document":null!=(r=s.single)?r:{}}).then(()=>{n.layoutModified.connect(()=>{g.save(n.saveLayout())}),t.changed.connect(A),o.activateSidebarSwitcher(e,n,t,d)})}).catch(e=>{console.error("Fail to load settings for the layout restorer."),console.error(e)}),g;async function A(e){!m.JSONExt.deepEqual(e.composite.layout,{single:n.userLayout["single-document"],multiple:n.userLayout["multiple-document"]})&&(await (0,s.showDialog)({title:d.__("Information"),body:d.__("User layout customization has changed. You may need to reload JupyterLab to see the changes."),buttons:[s.Dialog.cancelButton(),s.Dialog.okButton({label:d.__("Reload")})]})).button.accept&&location.reload()}},autoStart:!0,provides:r.ILayoutRestorer},S={id:"@jupyterlab/application-extension:router",description:"Provides the URL router",requires:[r.JupyterFrontEnd.IPaths],activate:(e,t)=>{let{commands:n}=e,i=t.urls.base,o=new r.Router({base:i,commands:n});return e.started.then(()=>{o.route(),window.addEventListener("popstate",()=>{o.route()})}),o},autoStart:!0,provides:r.IRouter},M={id:"@jupyterlab/application-extension:tree-resolver",description:"Provides the tree route resolver",autoStart:!0,requires:[r.IRouter],optional:[h.ITranslator],provides:r.JupyterFrontEnd.ITreeResolver,activate:(e,t,n)=>{let o=(null!=n?n:h.nullTranslator).load("jupyterlab"),{commands:r}=e,s=new g.DisposableSet,l=new m.PromiseDelegate,d=RegExp("/(lab|doc)(/workspaces/[\\w-]+)?(/tree/.*)?");s.add(r.addCommand(i.tree,{describedBy:{args:{type:"object",properties:{search:{type:"string",description:o.__("The URL search string containing query parameters")}}}},execute:async e=>{var t;if(s.isDisposed)return;let n=a.URLExt.queryStringToObject(null!=(t=e.search)?t:""),i=n["file-browser-path"]||"";delete n["file-browser-path"],s.dispose(),l.resolve({browser:i,file:a.PageConfig.getOption("treePath")})}})),s.add(t.register({command:i.tree,pattern:d}));let c=()=>{s.isDisposed||(s.dispose(),l.resolve(null))};return t.routed.connect(c),s.add(new g.DisposableDelegate(()=>{t.routed.disconnect(c)})),{paths:l.promise}}},I={id:"@jupyterlab/application-extension:notfound",description:"Defines the behavior for not found URL (aka route).",requires:[r.JupyterFrontEnd.IPaths,r.IRouter,h.ITranslator],activate:(e,t,n,i)=>{let o=i.load("jupyterlab"),r=t.urls.notFound;if(!r)return;let a=n.base,l=o.__("The path: %1 was not found. JupyterLab redirected to: %2",r,a);n.navigate(""),(0,s.showErrorMessage)(o.__("Path Not Found"),{message:l})},autoStart:!0},k={id:"@jupyterlab/application-extension:faviconbusy",description:"Handles the favicon depending on the application status.",requires:[r.ILabStatus],activate:async(e,t)=>{t.busySignal.connect((e,t)=>{let n=document.querySelector(`link[rel="icon"]${t?".idle.favicon":".busy.favicon"}`);if(!n)return;let i=document.querySelector(`link${t?".busy.favicon":".idle.favicon"}`);i&&n!==i&&(n.rel="",i.rel="icon",i.parentNode.replaceChild(i,i))})},autoStart:!0},D={id:"@jupyterlab/application-extension:shell",description:"Provides the JupyterLab shell. It has an extended API compared to `app.shell`.",optional:[d.ISettingRegistry],activate:(e,t)=>{if(!(e.shell instanceof r.LabShell))throw Error(`${D.id} did not find a LabShell instance.`);return t&&t.load(D.id).then(t=>{e.shell.updateConfig(t.composite),t.changed.connect(()=>{e.shell.updateConfig(t.composite)}),e.restored.then(()=>{let n=t.get("startMode").composite;n&&(e.shell.mode="single"===n?"single-document":"multiple-document")})}),e.shell},autoStart:!0,provides:r.ILabShell},T={id:"@jupyterlab/application-extension:status",description:"Provides the application status.",activate:e=>{if(!(e instanceof r.JupyterLab))throw Error(`${T.id} must be activated in JupyterLab.`);return e.status},autoStart:!0,provides:r.ILabStatus},L={id:"@jupyterlab/application-extension:info",description:"Provides the application information.",activate:e=>{if(!(e instanceof r.JupyterLab))throw Error(`${L.id} must be activated in JupyterLab.`);return e.info},autoStart:!0,provides:r.JupyterLab.IInfo},N={id:"@jupyterlab/application-extension:paths",description:"Provides the application paths.",activate:e=>{if(!(e instanceof r.JupyterLab))throw Error(`${N.id} must be activated in JupyterLab.`);return e.paths},autoStart:!0,provides:r.JupyterFrontEnd.IPaths},P=[j,x,w,E,B,S,M,I,k,D,T,L,N,{id:"@jupyterlab/application-extension:property-inspector",description:"Provides the property inspector.",autoStart:!0,requires:[r.ILabShell,h.ITranslator],optional:[r.ILayoutRestorer],provides:l.IPropertyInspectorProvider,activate:(e,t,n,o)=>{let r=n.load("jupyterlab"),s=new l.SideBarPropertyInspectorProvider({shell:t,translator:n});return s.title.icon=u.buildIcon,s.title.dataset={...s.title.dataset,jpTabLabel:r.__("Property Inspector")},s.title.caption=r.__("Property Inspector"),s.id="jp-property-inspector",t.add(s,"right",{rank:100,type:"Property Inspector"}),e.commands.addCommand(i.showPropertyPanel,{label:r.__("Property Inspector"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{t.activateById(s.id)}}),o&&o.add(s,"jp-property-inspector"),s}},{id:"@jupyterlab/application-extension:logo",description:"Sets the application logo.",autoStart:!0,requires:[r.ILabShell],activate:(e,t)=>{let n=new A.Widget;u.jupyterIcon.element({container:n.node,elementPosition:"center",margin:"2px 2px 2px 8px",height:"auto",width:"16px"}),n.id="jp-MainLogo",t.add(n,"top",{rank:0})}},b,{id:"@jupyterlab/application-extension:move-widget",description:"Adds commands and context menu items to move widgets between areas.",autoStart:!0,requires:[r.ILabShell],optional:[h.ITranslator],activate:(e,t,n)=>{let{commands:o}=e,r=(null!=n?n:h.nullTranslator).load("jupyterlab"),s=["main","left","right","down"],a=e=>"string"==typeof e&&s.some(t=>t===e),l=e=>{for(let n of s){let i=(0,p.find)(t.widgets(n),t=>t.id===e);if(i)return i}return null},d=()=>{let t=e=>!!e.dataset.id,n=e.contextMenuHitTest(t);return n?l(n.dataset.id):null},c=e=>{let t=null==e?void 0:e.id;return"string"==typeof t?l(t):d()},u=e=>{for(let n of s)if((0,p.find)(t.widgets(n),t=>t.id===e.id))return n;return null},m=(e,n)=>{u(e)!==n&&(t.add(e,n),t.activateById(e.id))};o.addCommand(i.moveWidget,{label:e=>{let t=null==e?void 0:e.area;if(!a(t))return r.__("Move Widget");switch(t){case"main":return r.__("Move to Main Area");case"left":return r.__("Move to Left Sidebar");case"right":return r.__("Move to Right Sidebar");case"down":return r.__("Move to Down Area")}},describedBy:{args:{type:"object",properties:{area:{type:"string",enum:["main","left","right","down"],description:r.__("The target area to move the widget to")},id:{type:"string",description:r.__("The widget ID to move. Defaults to the context menu target.")}},required:["area"]}},isVisible:e=>a(null==e?void 0:e.area),isEnabled:e=>{let t=null==e?void 0:e.area,n=c(e);return null!==n&&a(t)&&u(n)!==t},execute:e=>{let t=null==e?void 0:e.area,n=c(e);n&&a(t)&&m(n,t)}})}}];!function(e){function t(e,t){let n={single:m.JSONExt.deepCopy(t["single-document"]),multiple:m.JSONExt.deepCopy(t["multiple-document"])};return e.set("layout",n)}async function n(e){(await (0,s.showDialog)({title:e.__("Information"),body:e.__("Context menu customization has changed. You will need to reload JupyterLab to see the changes."),buttons:[s.Dialog.cancelButton(),s.Dialog.okButton({label:e.__("Reload")})]})).button.accept&&location.reload()}e.saveUserLayout=t,e.loadSettingsContextMenu=async function(e,t,o,r,a){var l;let c=a.load("jupyterlab"),h=j.id,u=null,p={};function g(e){var t,n;p={};let i=Object.keys(o.plugins).map(e=>{var t,n;let i=null!=(n=null==(t=o.plugins[e].schema["jupyter.lab.menus"])?void 0:t.context)?n:[];return p[e]=i,i}).concat([null!=(n=null==(t=e["jupyter.lab.menus"])?void 0:t.context)?n:[]]).reduceRight((e,t)=>d.SettingRegistry.reconcileItems(e,t,!0),[]);e.properties.contextMenu.default=d.SettingRegistry.reconcileItems(i,e.properties.contextMenu.default,!0).sort((e,t)=>{var n,i;return(null!=(n=e.rank)?n:1/0)-(null!=(i=t.rank)?i:1/0)})}o.transform(h,{compose:e=>{var t,n,i,o;u||g(u=m.JSONExt.deepCopy(e.schema));let r=null!=(i=null==(n=null==(t=u.properties)?void 0:t.contextMenu)?void 0:n.default)?i:[],s={...e.data.user,contextMenu:null!=(o=e.data.user.contextMenu)?o:[]},a={...e.data.composite,contextMenu:d.SettingRegistry.reconcileItems(r,s.contextMenu,!1)};return e.data={composite:a,user:s},e},fetch:e=>(u||g(u=m.JSONExt.deepCopy(e.schema)),{data:e.data,id:e.id,raw:e.raw,schema:u,version:e.version})});let A=await o.load(h),C=e=>{let t=document.body,n=t.hasAttribute("data-jp-suppress-context-menu"),i=e.get("disabled").composite;n&&!i?t.removeAttribute("data-jp-suppress-context-menu"):i&&!n&&t.setAttribute("data-jp-suppress-context-menu","true")},f=null!=(l=A.composite.contextMenu)?l:[];d.SettingRegistry.filterDisabledItems(f).forEach(t=>{s.MenuFactory.addContextItem({rank:v,...t},e,r)}),A.changed.connect(()=>{var e;let t=null!=(e=A.composite.contextMenu)?e:[];m.JSONExt.deepEqual(f,t)||n(c),C(A)}),o.pluginChanged.connect(async(t,i)=>{var a,l,u,g;if(i!==h){let t=null!=(a=p[i])?a:[],h=null!=(u=null==(l=o.plugins[i].schema["jupyter.lab.menus"])?void 0:l.context)?u:[];if(!m.JSONExt.deepEqual(t,h))if(p[i])await n(c);else{p[i]=m.JSONExt.deepCopy(h);let t=null!=(g=d.SettingRegistry.reconcileItems(h,f,!1,!1))?g:[];d.SettingRegistry.filterDisabledItems(t).forEach(t=>{s.MenuFactory.addContextItem({rank:v,...t},e,r)})}}}),C(A),t.addCommand(i.toggleContextMenu,{label:c.__("Enable Context Menu"),describedBy:{args:{type:"object",properties:{}}},isToggleable:!0,isToggled:()=>!A.get("disabled").composite,execute:()=>void A.set("disabled",!A.get("disabled").composite)})},e.activateSidebarSwitcher=function(e,n,o,r){e.commands.addCommand(i.switchSidebar,{label:r.__("Switch Sidebar Side"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let i=e.contextMenuHitTest(e=>!!e.dataset.id);if(!i)return;let r=i.dataset.id,s=document.getElementById("jp-left-stack"),a=document.getElementById(r),l=null;if(s&&a&&s.contains(a)){let e=(0,p.find)(n.widgets("left"),e=>e.id===r);e&&(l=n.move(e,"right"),n.activateById(e.id))}else{let e=(0,p.find)(n.widgets("right"),e=>e.id===r);e&&(l=n.move(e,"left"),n.activateById(e.id))}l&&t(o,l).catch(e=>{console.error("Failed to save user layout customization.",e)})}}),e.commands.commandExecuted.connect((e,t)=>{t.id===i.resetLayout&&o.remove("layout").catch(e=>{console.error("Failed to remove user layout customization.",e)})})}}(o||(o={}))},37374(e,t,n){"use strict";n(82311),n(97777),n(67474),n(335);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(85841),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},43071(e,t,n){"use strict";n.r(t),n.d(t,{ConnectionLost:()=>u,IConnectionLost:()=>J,ILabShell:()=>U,ILabStatus:()=>K,ILayoutRestorer:()=>E,IMimeDocumentTracker:()=>x,IRouter:()=>Z,ITreePathUpdater:()=>Q,JupyterFrontEnd:()=>b,JupyterFrontEndContextMenu:()=>r,JupyterLab:()=>G,LabShell:()=>Y,LabStatus:()=>q,LayoutRestorer:()=>j,Router:()=>$,addSemanticCommand:()=>X,createRendermimePlugin:()=>S,createRendermimePlugins:()=>B,createSemanticCommand:()=>ee});var i,o,r,s,a,l,d,c=n(97518),h=n(2786);let u=async function(e,t,n){let o=(n=n||h.nullTranslator).load("jupyterlab"),r=o.__("Server Connection Error"),s=o.__("A connection to the Jupyter server could not be established.\nJupyterLab will continue trying to reconnect.\nCheck your network connection or Jupyter server configuration.\n");if(!i.displayConnectionLost)return;if(i.serverConnectionLost)return void await i.serverConnectionLost;let a=(0,c.showDialog)({title:r,body:s,checkbox:{label:o.__("Do not show this message again in this session."),caption:o.__("If checked, you will not see a dialog informing you about an issue with server connection in this session.")},buttons:[c.Dialog.cancelButton({label:o.__("Close")})]}).then(e=>{e.isChecked&&(i.displayConnectionLost=!1)}).catch(e=>{console.error("An error occurred while showing the dialog: ",e)}).finally(()=>{i.serverConnectionLost=void 0});i.serverConnectionLost=a};!function(e){e.displayConnectionLost=!0}(i||(i={}));var p=n(31997),m=n(53040),g=n(8989),A=n(7232),C=n(55187),f=n(20659);class b extends A.Application{constructor(e){super(e),this._formatChanged=new f.Signal(this),e.shell.addClass("jp-ThemedContainer"),this.contextMenu=new g.ContextMenuSvg({commands:this.commands,renderer:e.contextMenuRenderer,groupByTarget:!1,sortBySelector:!1});const t=new Promise(e=>{requestAnimationFrame(()=>{e()})});this.commandLinker=e.commandLinker||new c.CommandLinker({commands:this.commands}),this.docRegistry=e.docRegistry||new p.DocumentRegistry,this.restored=e.restored||this.started.then(()=>t).catch(()=>t),this.serviceManager=e.serviceManager||new m.ServiceManager}get format(){return this._format}set format(e){this._format!==e&&(this._format=e,document.body.dataset.format=e,this._formatChanged.emit(e))}get formatChanged(){return this._formatChanged}contextMenuHitTest(e){if(!this._contextMenuEvent||!(this._contextMenuEvent.target instanceof Node))return;let t=this._contextMenuEvent.target;do{if(t instanceof HTMLElement&&e(t))return t;t=t.parentNode}while(t&&t.parentNode&&t!==t.parentNode)}evtContextMenu(e){if((this._contextMenuEvent=e,!(e.shiftKey||o.suppressContextMenu(e.target)))&&this.contextMenu.open(e)){let t=this.contextMenu.menu.items;if(1===t.length&&t[0].command===r.contextMenu)return void this.contextMenu.menu.close();e.preventDefault(),e.stopPropagation()}}}!function(e){e.inDocMode=function(e,t){let n=RegExp(`^${t.urls.doc}`);return!!e.match(n)},e.IPaths=new C.Token("@jupyterlab/application:IPaths",`A service providing information about various
  URLs and server paths for the current application. Use this service if you want to
  assemble URLs to use the JupyterLab REST API.`),e.ITreeResolver=new C.Token("@jupyterlab/application:ITreeResolver","A service to resolve the tree path.")}(b||(b={})),function(e){e.suppressContextMenu=function(e){return null!==e.closest("[data-jp-suppress-context-menu]")}}(o||(o={})),function(e){e.contextMenu="__internal:context-menu-info"}(r||(r={}));var v=n(28951),_=n(31031),y=n(17981);let E=new C.Token("@jupyterlab/application:ILayoutRestorer","A service providing application layout restoration functionality. Use this to have your activities restored across page loads."),w="layout-restorer:data";class j{constructor(e){this._deferred=[],this._deferredMainArea=null,this._firstDone=!1,this._promisesDone=!1,this._promises=[],this._restored=new C.PromiseDelegate,this._trackers=new Set,this._widgets=new Map,this._mode="multiple-document",this._connector=e.connector,this._first=e.first,this._registry=e.registry,e.mode&&(this._mode=e.mode),this._first.then(()=>{this._firstDone=!0}).then(()=>Promise.all(this._promises)).then(()=>{this._promisesDone=!0,this._trackers.clear()}).then(()=>{this._restored.resolve(void 0)})}get isDeferred(){return this._deferred.length>0}get restored(){return this._restored.promise}add(e,t){s.nameProperty.set(e,t),this._widgets.set(t,e),e.disposed.connect(this._onWidgetDisposed,this)}async fetch(){var e;let t={fresh:!0,mainArea:null,downArea:null,leftArea:null,rightArea:null,topArea:null,relativeSizes:null},n=this._connector.fetch(w);try{let[i]=await Promise.all([n,this.restored]);if(!i)return t;let{main:o,down:r,left:s,right:a,relativeSizes:l,top:d}=i,c=!1,h=null;"multiple-document"===this._mode?h=this._rehydrateMainArea(o):this._deferredMainArea=o;let u=this._rehydrateDownArea(r),p=this._rehydrateSideArea(s),m=this._rehydrateSideArea(a);return{fresh:c,mainArea:h,downArea:u,leftArea:p,rightArea:m,relativeSizes:l||null,topArea:null!=(e=d)?e:null}}catch(e){return t}}async restore(e,t){if(this._firstDone)throw Error("restore() must be called before `first` has resolved.");let{namespace:n}=e;if(this._trackers.has(n))throw Error(`The tracker "${n}" is already restored.`);let{args:i,command:o,name:r,when:a}=t;this._trackers.add(n),e.widgetAdded.connect((e,t)=>{let i=r(t);i&&this.add(t,`${n}:${i}`)},this),e.widgetUpdated.connect((e,t)=>{let i=r(t);if(i){let e=`${n}:${i}`;s.nameProperty.set(t,e),this._widgets.set(e,t)}});let l=this._first;if("multiple-document"==this._mode){let t=e.restore({args:i||(()=>C.JSONExt.emptyObject),command:o,connector:this._connector,name:r,registry:this._registry,when:a?[l].concat(a):l}).catch(e=>{console.error(e)});return this._promises.push(t),t}e.defer({args:i||(()=>C.JSONExt.emptyObject),command:o,connector:this._connector,name:r,registry:this._registry,when:a?[l].concat(a):l}),this._deferred.push(e)}async restoreDeferred(){if(!this.isDeferred)return null;let e=Promise.resolve(),t=this._deferred.map(t=>e.then(()=>t.restore()));return this._deferred.length=0,await Promise.all(t),this._rehydrateMainArea(this._deferredMainArea)}save(e){var t;if(!this._promisesDone){let e="save() was called prematurely.";return console.warn(e),Promise.reject(e)}let n={};if(n.main=this.isDeferred?this._deferredMainArea:this._dehydrateMainArea(e.mainArea),this.isDeferred){let i=null==(t=e.mainArea)?void 0:t.currentWidget;if(i){let e=s.nameProperty.get(i);n.main={...n.main,current:e||void 0}}}return n.down=this._dehydrateDownArea(e.downArea),n.left=this._dehydrateSideArea(e.leftArea),n.right=this._dehydrateSideArea(e.rightArea),n.relativeSizes=e.relativeSizes,n.top={...e.topArea},this._connector.save(w,n)}_dehydrateMainArea(e){return e?s.serializeMain(e):null}_rehydrateMainArea(e){return e?s.deserializeMain(e,this._widgets):null}_dehydrateDownArea(e){if(!e)return null;let t={size:e.size};if(void 0!==e.collapsed&&(t.collapsed=e.collapsed),e.currentWidget){let n=s.nameProperty.get(e.currentWidget);n&&(t.current=n)}return e.widgets&&(t.widgets=e.widgets.map(e=>s.nameProperty.get(e)).filter(e=>!!e)),t}_rehydrateDownArea(e){var t;if(!e)return{currentWidget:null,size:0,widgets:null};let n=this._widgets,i=e.current&&n.has(`${e.current}`)?n.get(`${e.current}`):null,o=Array.isArray(e.widgets)?e.widgets.map(e=>n.has(`${e}`)?n.get(`${e}`):null).filter(e=>!!e):null;return{..."boolean"==typeof e.collapsed?{collapsed:e.collapsed}:{},currentWidget:i,size:null!=(t=e.size)?t:0,widgets:o}}_dehydrateSideArea(e){if(!e)return null;let t={collapsed:e.collapsed,visible:e.visible};if(e.currentWidget){let n=s.nameProperty.get(e.currentWidget);n&&(t.current=n)}return e.widgets&&(t.widgets=e.widgets.map(e=>s.nameProperty.get(e)).filter(e=>!!e)),e.widgetStates&&(t.widgetStates=e.widgetStates),t}_rehydrateSideArea(e){var t,n;if(!e)return{collapsed:!0,currentWidget:null,visible:!0,widgets:null,widgetStates:{null:{sizes:null,expansionStates:null}}};let i=this._widgets,o=null!=(t=e.collapsed)&&t,r=e.current&&i.has(`${e.current}`)?i.get(`${e.current}`):null,s=Array.isArray(e.widgets)?e.widgets.map(e=>i.has(`${e}`)?i.get(`${e}`):null).filter(e=>!!e):null,a=e.widgetStates;return{collapsed:o,currentWidget:r,widgets:s,visible:null==(n=e.visible)||n,widgetStates:a}}_onWidgetDisposed(e){let t=s.nameProperty.get(e);this._widgets.delete(t)}}!function(e){function t(n){return n&&n.type?"tab-area"===n.type?{type:"tab-area",currentIndex:n.currentIndex,widgets:n.widgets.map(t=>e.nameProperty.get(t)).filter(e=>!!e)}:{type:"split-area",orientation:n.orientation,sizes:n.sizes,children:n.children.map(t).filter(e=>!!e)}:null}function n(n){let i={dock:n&&n.dock&&t(n.dock.main)||null};if(n&&n.currentWidget){let t=e.nameProperty.get(n.currentWidget);t&&(i.current=t)}return i}function i(e,t){if(!e)return null;let n=e.type||"unknown";if("unknown"===n||"tab-area"!==n&&"split-area"!==n)return console.warn(`Attempted to deserialize unknown type: ${n}`),null;if("tab-area"===n){let{currentIndex:n,widgets:i}=e,o={type:"tab-area",currentIndex:n||0,widgets:i&&i.map(e=>t.get(e)).filter(e=>!!e)||[]};return o.currentIndex>o.widgets.length-1&&(o.currentIndex=0),o}let{orientation:o,sizes:r,children:s}=e;return{type:"split-area",orientation:o,sizes:r||[],children:s&&s.map(e=>i(e,t)).filter(e=>!!e)||[]}}e.nameProperty=new y.AttachedProperty({name:"name",create:e=>""}),e.serializeMain=n,e.deserializeMain=function(e,t){if(!e)return null;let n=e.current||null,o=e.dock||null;return{currentWidget:n&&t.has(n)&&t.get(n)||null,dock:o?{main:i(o,t)}:null}}}(s||(s={}));let x=new C.Token("@jupyterlab/application:IMimeDocumentTracker","A widget tracker for documents rendered using a mime renderer extension. Use this if you want to list and interact with documents rendered by such extensions.");function B(e){let t=[],n="application-mimedocuments",i=new c.WidgetTracker({namespace:n});return e.forEach(e=>{let n=e.default;e.hasOwnProperty("__esModule")||(n=e),Array.isArray(n)||(n=[n]),n.forEach(e=>{t.push(S(i,e))})}),t.push({id:"@jupyterlab/application-extension:mimedocument",description:"Provides a mime document widget tracker.",optional:[E],provides:x,autoStart:!0,activate:(e,t)=>(t&&t.restore(i,{command:"docmanager:open",args:e=>({path:e.context.path,factory:a.factoryNameProperty.get(e)}),name:e=>`${e.context.path}:${a.factoryNameProperty.get(e)}`}),i)}),t}function S(e,t){return{id:t.id,description:t.description,requires:[_.IRenderMimeRegistry,h.ITranslator],autoStart:!0,activate:(n,i,o)=>{if(void 0!==t.rank?i.addFactory(t.rendererFactory,t.rank):i.addFactory(t.rendererFactory),!t.documentWidgetFactoryOptions)return;let r=n.docRegistry,s=[];s=Array.isArray(t.documentWidgetFactoryOptions)?t.documentWidgetFactoryOptions:[t.documentWidgetFactoryOptions],t.fileTypes&&t.fileTypes.forEach(e=>{e.icon&&(e={...e,icon:g.LabIcon.resolve({icon:e.icon})}),n.docRegistry.addFileType(e)}),s.forEach(n=>{let s=n.toolbarFactory?e=>n.toolbarFactory(e.content.renderer):void 0,l=new p.MimeDocumentFactory({renderTimeout:t.renderTimeout,dataType:t.dataType,rendermime:i,modelName:n.modelName,name:n.name,primaryFileType:r.getFileType(n.primaryFileType),fileTypes:n.fileTypes,defaultFor:n.defaultFor,defaultRendered:n.defaultRendered,toolbarFactory:s,translator:o,factory:t.rendererFactory});r.addWidgetFactory(l),l.widgetCreated.connect((t,n)=>{a.factoryNameProperty.set(n,l.name),n.context.pathChanged.connect(()=>{e.save(n)}),e.add(n)})})}}}!function(e){e.factoryNameProperty=new y.AttachedProperty({name:"factoryName",create:()=>void 0})}(a||(a={}));var M=n(65819),I=n(93771),k=n(59807),D=n(64001);let T=1e3,L=25e3;class N extends g.DockPanelSvg{constructor(){super(...arguments),this._optimizeResize=!0,this._isResizeDragActive=!1,this._frozenGroups=[],this._refreshTimerId=0,this._refreshRAFId=0,this._intervalId=0}handleEvent(e){if("pointerdown"===e.type&&(this._isResizeDragActive=this._isHandlePointerDown(e)),this._frozenGroups.length>0&&this._isResizeDragActive){let t=e.type;("pointerup"===t||"pointercancel"===t||"keydown"===t)&&(this._isResizeDragActive=!1,this._unfreezeElements())}super.handleEvent(e),this._optimizeResize&&("pointerdown"===e.type&&this._isResizeDragActive?this._freezeHeavyLeaves():"pointermove"===e.type&&this._isResizeDragActive&&this._scheduleRefresh())}_isHandlePointerDown(e){let t=e;if(0!==t.button)return!1;let n=t.target;if(!(n instanceof HTMLElement))return!1;for(let e of this.handles())if(e.contains(n))return!0;return!1}get optimizeResize(){return this._optimizeResize}set optimizeResize(e){this._optimizeResize=e,e||this._unfreezeElements()}_freezeHeavyLeaves(){if(this._frozenGroups.length>0)return;let e=[];for(let t of this.widgets())this._collectHeavyWidgets(t,e);for(let t of e){let e=t.node,n=[e];for(let t=0;t<e.children.length;t++)n.push(e.children[t]);let i=n.map(e=>e.getBoundingClientRect()),o=n.map((e,t)=>({element:e,isHead:0===t,prevWidth:e.style.width,prevMaxWidth:e.style.maxWidth,prevHeight:e.style.height,prevMaxHeight:e.style.maxHeight}));for(let e=0;e<o.length;e++){let t=o[e].element,n=i[e];t.style.width=`${n.width}px`,t.style.maxWidth=`${n.width}px`,t.style.maxHeight=`${n.height}px`,o[e].isHead&&(t.style.height=`${n.height}px`)}this._frozenGroups.push(o)}this._frozenGroups.length>0&&0===this._intervalId&&(this._intervalId=window.setInterval(()=>{this._refreshFrozenElements()},3e3))}_scheduleRefresh(){0!==this._frozenGroups.length&&(0!==this._refreshTimerId&&clearTimeout(this._refreshTimerId),this._refreshTimerId=window.setTimeout(()=>{this._refreshTimerId=0,this._refreshFrozenElements()},300))}_refreshFrozenElements(){let e=0,t=()=>{if(e>=this._frozenGroups.length){this._refreshRAFId=0;return}let n=this._frozenGroups[e];for(let e of n){let t=e.element;t.style.width="",t.style.maxWidth="",t.style.height="",t.style.maxHeight=""}this._refreshRAFId=requestAnimationFrame(()=>{let i=n.map(e=>e.element.getBoundingClientRect());for(let e=0;e<n.length;e++){let t=n[e],o=i[e],r=t.element;r.style.width=`${o.width}px`,r.style.maxWidth=`${o.width}px`,r.style.maxHeight=`${o.height}px`,t.isHead&&(r.style.height=`${o.height}px`)}e++,this._refreshRAFId=requestAnimationFrame(t)})};this._refreshRAFId=requestAnimationFrame(t)}_unfreezeElements(){for(let e of(0!==this._refreshTimerId&&(clearTimeout(this._refreshTimerId),this._refreshTimerId=0),0!==this._refreshRAFId&&(cancelAnimationFrame(this._refreshRAFId),this._refreshRAFId=0),0!==this._intervalId&&(clearInterval(this._intervalId),this._intervalId=0),this._frozenGroups))for(let t of e)t.element.style.width=t.prevWidth,t.element.style.maxWidth=t.prevMaxWidth,t.element.style.height=t.prevHeight,t.element.style.maxHeight=t.prevMaxHeight;this._frozenGroups=[]}_collectHeavyWidgets(e,t){if(!this._isDOMHeavy(e.node))return;let n=e.layout;if(!n)return void t.push(e);let i=!1;for(let e of n)if(this._isDOMHeavy(e.node)){i=!0;break}if(i)for(let e of n)this._collectHeavyWidgets(e,t);else t.push(e)}_isDOMHeavy(e){var t,n;return!!(e.querySelectorAll("*").length>=T)||!!((null!=(n=null==(t=e.textContent)?void 0:t.length)?n:0)>=L)}}let P="jp-LabShell",z="jp-SideBar",R="jp-mod-current",O="jp-mod-active",F=900,W="jp-Activity",H=.25,U=new C.Token("@jupyterlab/application:ILabShell","A service for interacting with the JupyterLab shell. The top-level `application` object also has a reference to the shell, but it has a restricted interface in order to be agnostic to different shell implementations on the application. Use this to get more detailed information about currently active widgets and layout state.");class Y extends D.Widget{constructor(e){super(),this._dockChildHook=(e,t)=>{switch(t.type){case"child-added":t.child.addClass(W),this._tracker.add(t.child);break;case"child-removed":t.child.removeClass(W),this._tracker.remove(t.child)}return!0},this._activeChanged=new f.Signal(this),this._cachedLayout=null,this._currentChanged=new f.Signal(this),this._currentPath="",this._currentPathChanged=new f.Signal(this),this._modeChanged=new f.Signal(this),this._isRestored=!1,this._lastDownAreaSize=H,this._layoutModified=new f.Signal(this),this._layoutDebouncer=new k.Debouncer(()=>{this._layoutModified.emit(void 0)},0),this._restored=new C.PromiseDelegate,this._tracker=new D.FocusTracker,this._topHandlerHiddenByUser=!1,this._idTypeMap=new Map,this._mainOptionsCache=new Map,this._sideOptionsCache=new Map,this._delayedWidget=[],this.addClass(P),this.id="main",(null==e?void 0:e.waitForRestore)===!1&&(this._userLayout={"multiple-document":{},"single-document":{}});const t=this._skipLinkWidget=new l.SkipLinkWidget(this);this._skipLinkWidget.show();const n=new D.Panel;n.addClass("jp-skiplink-wrapper"),n.addWidget(t);const i=this._headerPanel=new D.BoxPanel,o=this._menuHandler=new l.PanelHandler;o.panel.node.setAttribute("role","navigation");const r=this._topHandler=new l.PanelHandler;r.panel.node.setAttribute("role","banner");const s=this._bottomPanel=new D.BoxPanel;s.node.setAttribute("role","contentinfo");const a=new D.BoxPanel,d=this._vsplitPanel=new l.RestorableSplitPanel,c=this._dockPanel=new N({hiddenMode:D.Widget.HiddenMode.Display});I.MessageLoop.installMessageHook(c,this._dockChildHook);const u=this._hsplitPanel=new l.RestorableSplitPanel,m=this._downPanel=new g.TabPanelSvg({tabsMovable:!0}),A=this._leftHandler=new l.SideBarHandler({side:"left",host:a}),b=this._rightHandler=new l.SideBarHandler({side:"right",host:a}),v=new D.BoxLayout;i.id="jp-header-panel",o.panel.id="jp-menu-panel",r.panel.id="jp-top-panel",s.id="jp-bottom-panel",a.id="jp-main-content-panel",d.id="jp-main-vsplit-panel",c.id="jp-main-dock-panel",u.id="jp-main-split-panel",m.id="jp-down-stack",A.sideBar.addClass(z),A.sideBar.addClass("jp-mod-left"),A.sideBar.node.setAttribute("role","complementary"),A.stackedPanel.id="jp-left-stack",A.area.addClass("jp-SideArea"),A.area.node.setAttribute("data-side","left"),b.sideBar.addClass(z),b.sideBar.addClass("jp-mod-right"),b.sideBar.node.setAttribute("role","complementary"),b.stackedPanel.id="jp-right-stack",b.area.addClass("jp-SideArea"),b.area.node.setAttribute("data-side","right"),c.node.setAttribute("role","main"),a.spacing=0,d.spacing=1,c.spacing=5,u.spacing=1,i.direction="top-to-bottom",d.orientation="vertical",a.direction="left-to-right",u.orientation="horizontal",s.direction="bottom-to-top",D.SplitPanel.setStretch(A.area,0),D.SplitPanel.setStretch(m,0),D.SplitPanel.setStretch(c,1),D.SplitPanel.setStretch(b.area,0),D.BoxPanel.setStretch(A.sideBar,0),D.BoxPanel.setStretch(u,1),D.BoxPanel.setStretch(b.sideBar,0),D.SplitPanel.setStretch(d,1),u.addWidget(A.area),u.addWidget(c),u.addWidget(b.area),d.addWidget(u),d.addWidget(m),a.addWidget(A.sideBar),a.addWidget(d),a.addWidget(b.sideBar),v.direction="top-to-bottom",v.spacing=0,d.setRelativeSizes([3,1]),u.setRelativeSizes([1,2.5,1]),D.BoxLayout.setStretch(i,0),D.BoxLayout.setStretch(o.panel,0),D.BoxLayout.setStretch(r.panel,0),D.BoxLayout.setStretch(a,1),D.BoxLayout.setStretch(s,0),v.addWidget(n),v.addWidget(i),v.addWidget(r.panel),v.addWidget(a),v.addWidget(s),this._headerPanel.hide(),this._bottomPanel.hide(),this._downPanel.hide(),this.layout=v,this._tracker.currentChanged.connect(this._onCurrentChanged,this),this._tracker.activeChanged.connect(this._onActiveChanged,this),this._dockPanel.layoutModified.connect(this._onLayoutModified,this),this._vsplitPanel.updated.connect(this._onLayoutModified,this),this._downPanel.currentChanged.connect(this._onLayoutModified,this),this._downPanel.tabBar.tabMoved.connect(this._onTabPanelChanged,this),this._downPanel.stackedPanel.widgetRemoved.connect(this._onTabPanelChanged,this),this._leftHandler.updated.connect(this._onLayoutModified,this),this._rightHandler.updated.connect(this._onLayoutModified,this),this._hsplitPanel.updated.connect(this._onLayoutModified,this);const _=this._titleHandler=new l.TitleHandler(this);this.add(_,"top",{rank:100}),"multiple-document"===this._dockPanel.mode?(this._topHandler.addWidget(this._menuHandler.panel,100),_.hide()):v.insertWidget(3,this._menuHandler.panel),this.translator=h.nullTranslator,this.currentChanged.connect((e,t)=>{let n=t.newValue,i=t.oldValue;i&&(i.title.changed.disconnect(this._updateTitlePanelTitle,this),i instanceof p.DocumentWidget&&i.context.pathChanged.disconnect(this._updateCurrentPath,this)),n&&(n.title.changed.connect(this._updateTitlePanelTitle,this),this._updateTitlePanelTitle(),n instanceof p.DocumentWidget&&n.context.pathChanged.connect(this._updateCurrentPath,this)),this._updateCurrentPath()})}get activeChanged(){return this._activeChanged}get activeWidget(){return this._tracker.activeWidget}get addButtonEnabled(){return this._dockPanel.addButtonEnabled}set addButtonEnabled(e){this._dockPanel.addButtonEnabled=e}get addRequested(){return this._dockPanel.addRequested}get currentChanged(){return this._currentChanged}get currentPath(){return this._currentPath}get currentPathChanged(){return this._currentPathChanged}get currentWidget(){return this._tracker.currentWidget}get downCollapsed(){return this._downPanel.isHidden}get layoutModified(){return this._layoutModified}get leftCollapsed(){return!this._leftHandler.sideBar.currentTitle}get rightCollapsed(){return!this._rightHandler.sideBar.currentTitle}get presentationMode(){return this.hasClass("jp-mod-presentationMode")}set presentationMode(e){this.toggleClass("jp-mod-presentationMode",e)}get mode(){return this._dockPanel.mode}set mode(e){let t=this._dockPanel;if(e===t.mode)return;let n=this.currentWidget;if("single-document"===e)this._cachedLayout=t.saveLayout(),t.mode=e,this.currentWidget&&t.activateWidget(this.currentWidget),this.layout.insertWidget(3,this._menuHandler.panel),this._titleHandler.show(),this._updateTitlePanelTitle(),this._topHandlerHiddenByUser&&this._topHandler.panel.hide();else{let i=Array.from(t.widgets());t.mode=e,this._cachedLayout&&(l.normalizeAreaConfig(t,this._cachedLayout.main),t.restoreLayout(this._cachedLayout),this._cachedLayout=null),this._layoutRestorer.isDeferred&&this._layoutRestorer.restoreDeferred().then(e=>{if(e){let{currentWidget:t,dock:n}=e;n&&this._dockPanel.restoreLayout(n),t&&this.activateById(t.id)}}).catch(e=>{console.error("Failed to restore the deferred layout."),console.error(e)}),i.forEach(e=>{e.parent||this._addToMainArea(e,{...this._mainOptionsCache.get(e),activate:!1})}),this._mainOptionsCache.clear(),n&&t.activateWidget(n),this.add(this._menuHandler.panel,"top",{rank:100}),this._titleHandler.hide()}this.node.dataset.shellMode=e,this._downPanel.fit(),this._modeChanged.emit(e)}get modeChanged(){return this._modeChanged}get restored(){return this._restored.promise}get translator(){var e;return null!=(e=this._translator)?e:h.nullTranslator}set translator(e){if(e!==this._translator){this._translator=e,g.TabBarSvg.translator=e;let t=e.load("jupyterlab");this._menuHandler.panel.node.setAttribute("aria-label",t.__("main menu")),this._leftHandler.sideBar.node.setAttribute("aria-label",t.__("main sidebar")),this._leftHandler.sideBar.contentNode.setAttribute("aria-label",t.__("main sidebar")),this._rightHandler.sideBar.node.setAttribute("aria-label",t.__("alternate sidebar")),this._rightHandler.sideBar.contentNode.setAttribute("aria-label",t.__("alternate sidebar")),this._topHandler.panel.node.setAttribute("aria-label",t.__("Top Bar")),this._bottomPanel.node.setAttribute("aria-label",t.__("Bottom Panel")),this._dockPanel.node.setAttribute("aria-label",t.__("Main Content"))}}get userLayout(){return C.JSONExt.deepCopy(this._userLayout)}activateById(e){var t;if(this._leftHandler.has(e))return void this._leftHandler.activate(e);if(this._rightHandler.has(e))return void this._rightHandler.activate(e);let n=this._downPanel.tabBar.titles.findIndex(t=>t.owner.id===e);if(n>=0){let e=this._downPanel.isHidden;this._downPanel.currentIndex=n,e&&(this._showDownPanel(),this._onLayoutModified()),null==(t=this._downPanel.currentWidget)||t.activate();return}let i=this._dockPanel,o=(0,M.find)(i.widgets(),t=>t.id===e);o&&i.activateWidget(o)}activateArea(e="main"){switch(e){case"main":{let e=this._currentTabBar();if(!e)return;e.currentTitle&&e.currentTitle.owner.activate()}return;case"left":case"right":case"header":case"top":case"menu":case"bottom":console.debug(`Area: ${e} activation not yet implemented`);break;default:throw Error(`Invalid area: ${e}`)}}activateNextTab(){let e=this._currentTabBar();if(!e)return;let t=e.currentIndex;if(-1!==t){if(t<e.titles.length-1){e.currentIndex+=1,e.currentTitle&&e.currentTitle.owner.activate();return}if(t===e.titles.length-1){let e=this._adjacentBar("next");e&&(e.currentIndex=0,e.currentTitle&&e.currentTitle.owner.activate())}}}activatePreviousTab(){let e=this._currentTabBar();if(!e)return;let t=e.currentIndex;if(-1!==t){if(t>0){e.currentIndex-=1,e.currentTitle&&e.currentTitle.owner.activate();return}if(0===t){let e=this._adjacentBar("previous");if(e){let t=e.titles.length;e.currentIndex=t-1,e.currentTitle&&e.currentTitle.owner.activate()}}}}activateNextTabBar(){let e=this._adjacentBar("next");e&&e.currentTitle&&e.currentTitle.owner.activate()}activatePreviousTabBar(){let e=this._adjacentBar("previous");e&&e.currentTitle&&e.currentTitle.owner.activate()}add(e,t="main",n){var i;let o;if(!this._userLayout)return void this._delayedWidget.push({widget:e,area:t,options:n});switch((null==n?void 0:n.type)&&this._userLayout[this.mode][n.type]?(o=this._userLayout[this.mode][n.type],this._idTypeMap.set(e.id,n.type)):o=this._userLayout[this.mode][e.id],(null==n?void 0:n.type)&&(this._idTypeMap.set(e.id,n.type),e.disposed.connect(()=>{this._idTypeMap.delete(e.id)})),t=null!=(i=null==o?void 0:o.area)?i:t,(null==(n=n||(null==o?void 0:o.options)?{...n,...null==o?void 0:o.options}:void 0)?void 0:n.rank)!==void 0&&this._sideOptionsCache.set(e,{...this._sideOptionsCache.get(e),rank:n.rank}),t||"main"){case"bottom":return this._addToBottomArea(e,n);case"down":return this._addToDownArea(e,n);case"header":return this._addToHeaderArea(e,n);case"left":return this._addToLeftArea(e,n);case"main":return this._addToMainArea(e,n);case"menu":return this._addToMenuArea(e,n);case"right":return this._addToRightArea(e,n);case"top":return this._addToTopArea(e,n);default:throw Error(`Invalid area: ${t}`)}}move(e,t,n){var i,o;let r=null!=(i=this._idTypeMap.get(e.id))?i:e.id,s=null==(o=this._sideOptionsCache.get(e))?void 0:o.rank;for(let e of["single-document","multiple-document"].filter(e=>!n||e===n)){let n=this._userLayout[e][r];this._userLayout[e][r]={...n,area:t,...void 0!==s?{options:{...null==n?void 0:n.options,rank:s}}:{}}}return this.add(e,t),this._userLayout}collapseLeft(){this._leftHandler.collapse(),this._onLayoutModified()}collapseRight(){this._rightHandler.collapse(),this._onLayoutModified()}collapseDown(){this._downPanel.isHidden||(this._hideDownPanel(),this._onLayoutModified())}dispose(){this.isDisposed||(this._layoutDebouncer.dispose(),super.dispose())}expandLeft(){this._leftHandler.expand(),this._onLayoutModified()}expandRight(){this._rightHandler.expand(),this._onLayoutModified()}expandDown(){var e;0!==this._downPanel.stackedPanel.widgets.length&&(this._showDownPanel(),null==(e=this._downPanel.currentWidget)||e.activate(),this._onLayoutModified())}closeAll(){Array.from(this._dockPanel.widgets()).forEach(e=>e.close()),this._downPanel.stackedPanel.widgets.forEach(e=>e.close())}isSideTabBarVisible(e){switch(e){case"left":return this._leftHandler.isVisible;case"right":return this._rightHandler.isVisible}}isTopInSimpleModeVisible(){return!this._topHandlerHiddenByUser}isEmpty(e){switch(e){case"bottom":return 0===this._bottomPanel.widgets.length;case"down":return 0===this._downPanel.stackedPanel.widgets.length;case"header":return 0===this._headerPanel.widgets.length;case"left":return 0===this._leftHandler.stackedPanel.widgets.length;case"main":return this._dockPanel.isEmpty;case"menu":return 0===this._menuHandler.panel.widgets.length;case"right":return 0===this._rightHandler.stackedPanel.widgets.length;case"top":return 0===this._topHandler.panel.widgets.length;default:return!0}}async restoreLayout(e,t,n={}){var i,o,r,s,a,l,d,c;this._userLayout={"single-document":null!=(i=n["single-document"])?i:{},"multiple-document":null!=(o=n["multiple-document"])?o:{}},this._delayedWidget.forEach(({widget:e,area:t,options:n})=>{this.add(e,t,n)}),this._delayedWidget.length=0,this._layoutRestorer=t;let h=await t.fetch(),{mainArea:u,downArea:p,leftArea:m,rightArea:g,topArea:A,relativeSizes:C}=h;if(u){let{currentWidget:t,dock:n}=u;n&&"multiple-document"===e&&this._dockPanel.restoreLayout(n),e&&(this.mode=e),t&&this.activateById(t.id)}else e&&(this.mode=e);if((null==A?void 0:A.simpleVisibility)!==void 0&&(this._topHandlerHiddenByUser=!A.simpleVisibility,"single-document"===this.mode&&this._topHandler.panel.setHidden(this._topHandlerHiddenByUser)),p){let{currentWidget:e,widgets:t,size:n}=p,i=null!=(r=p.collapsed)?r:!n,o=null!=(s=null==t?void 0:t.map(e=>e.id))?s:[],h=new Set,A=e=>{if(e){if("tab-area"===e.type)return void e.widgets.forEach(e=>{h.add(e.id)});e.children.forEach(A)}};A(null==(a=null==u?void 0:u.dock)?void 0:a.main),null==(l=null==m?void 0:m.widgets)||l.forEach(e=>{h.add(e.id)}),null==(d=null==g?void 0:g.widgets)||d.forEach(e=>{h.add(e.id)}),this._downPanel.tabBar.titles.filter(e=>!o.includes(e.owner.id)).forEach(e=>{h.has(e.owner.id)?e.owner.parent=null:e.owner.close()});let C=this._downPanel.tabBar.titles.map(e=>e.owner.id);for(null==t||t.filter(e=>!C.includes(e.id)).map(e=>this._downPanel.addWidget(e));!M.ArrayExt.shallowEqual(o,this._downPanel.tabBar.titles.map(e=>e.owner.id));)this._downPanel.tabBar.titles.forEach((e,t)=>{let n=o.findIndex(t=>e.owner.id==t);n>=0&&n!=t&&this._downPanel.tabBar.insertTab(n,e)});if(e){let t=this._downPanel.stackedPanel.widgets.findIndex(t=>t.id===e.id);t>=0&&(this._downPanel.currentIndex=t)}!i&&(null==t?void 0:t.length)&&n&&n>0?(this._showDownPanel(n),null==(c=this._downPanel.currentWidget)||c.activate()):(this._hideDownPanel(),n&&n>0&&(this._lastDownAreaSize=n))}m?this._leftHandler.rehydrate(m):"single-document"===e&&this.collapseLeft(),g?this._rightHandler.rehydrate(g):"single-document"===e&&this.collapseRight(),C&&this._hsplitPanel.setRelativeSizes(C),this._isRestored||(I.MessageLoop.flush(),this._restored.resolve(h))}saveLayout(){return{mainArea:{currentWidget:this._tracker.currentWidget,dock:"single-document"===this.mode&&this._cachedLayout||this._dockPanel.saveLayout()},downArea:{collapsed:this.downCollapsed,currentWidget:this._downPanel.currentWidget,widgets:Array.from(this._downPanel.stackedPanel.widgets),size:0===this._downPanel.stackedPanel.widgets.length?0:this.downCollapsed?this._lastDownAreaSize:this._vsplitPanel.relativeSizes()[1]},leftArea:this._leftHandler.dehydrate(),rightArea:this._rightHandler.dehydrate(),topArea:{simpleVisibility:!this._topHandlerHiddenByUser},relativeSizes:this._hsplitPanel.relativeSizes()}}toggleTopInSimpleModeVisibility(){"single-document"===this.mode&&(this._topHandler.panel.isVisible?(this._topHandlerHiddenByUser=!0,this._topHandler.panel.hide()):(this._topHandlerHiddenByUser=!1,this._topHandler.panel.show(),this._updateTitlePanelTitle()),this._onLayoutModified())}toggleSideTabBarVisibility(e){"right"===e?this._rightHandler.isVisible?this._rightHandler.hide():this._rightHandler.show():this._leftHandler.isVisible?this._leftHandler.hide():this._leftHandler.show()}updateConfig(e){if(e.hiddenMode)switch(e.hiddenMode){case"display":this._dockPanel.hiddenMode=D.Widget.HiddenMode.Display;break;case"scale":this._dockPanel.hiddenMode=D.Widget.HiddenMode.Scale;break;case"contentVisibility":this._dockPanel.hiddenMode=D.Widget.HiddenMode.ContentVisibility}void 0!==e.dockPanelPadding&&(!1===e.dockPanelPadding?this._dockPanel.node.style.setProperty("--jp-private-dock-panel-padding","0px"):this._dockPanel.node.style.removeProperty("--jp-private-dock-panel-padding"),this._dockPanel.fit()),void 0!==e.optimizeResize&&(this._dockPanel.optimizeResize=e.optimizeResize),void 0!==e.activityBarPosition&&(this._setActivityBarPosition("left",e.activityBarPosition),this._setActivityBarPosition("right",e.activityBarPosition))}_setActivityBarPosition(e,t){let n="left"===e?this._leftHandler:this._rightHandler;n.position!==t&&(n.position=t,this._onLayoutModified())}widgets(e){switch(null!=e?e:"main"){case"main":return this._dockPanel.widgets();case"left":return(0,M.map)(this._leftHandler.sideBar.titles,e=>e.owner);case"right":return(0,M.map)(this._rightHandler.sideBar.titles,e=>e.owner);case"header":return this._headerPanel.children();case"top":return this._topHandler.panel.children();case"menu":return this._menuHandler.panel.children();case"bottom":return this._bottomPanel.children();case"down":return this._downPanel.stackedPanel.children();default:throw Error(`Invalid area: ${e}`)}}onAfterAttach(e){this.node.dataset.shellMode=this.mode}_updateTitlePanelTitle(){let e=this.currentWidget,t=this._titleHandler.inputElement;t.value=e?g.TabBarSvg.titleLabel(e.title):"",t.title=e?e.title.caption:""}_updateCurrentPath(){let e=this.currentWidget,t="";e&&e instanceof p.DocumentWidget&&(t=e.context.path),this._currentPathChanged.emit({newValue:t,oldValue:this._currentPath}),this._currentPath=t}_addToLeftArea(e,t){if(!e.id)return void console.error("Widgets added to app shell must have unique id property.");t=t||this._sideOptionsCache.get(e)||{},this._sideOptionsCache.set(e,t);let n="rank"in t?t.rank:F;this._leftHandler.addWidget(e,n),this._onLayoutModified()}_addToMainArea(e,t){if(!e.id)return void console.error("Widgets added to app shell must have unique id property.");t=t||{};let n=this._dockPanel,i=t.mode||"tab-after",o=this.currentWidget;t.ref&&(o=(0,M.find)(n.widgets(),e=>e.id===t.ref)||null);let{title:r}=e;r.dataset={...r.dataset,id:e.id},r.icon instanceof g.LabIcon?r.icon=r.icon.bindprops({stylesheet:"mainAreaTab"}):"string"!=typeof r.icon&&r.icon||(r.iconClass=(0,g.classes)(r.iconClass,"jp-Icon")),n.addWidget(e,{mode:i,ref:o}),"single-document"===n.mode&&this._mainOptionsCache.set(e,t),!1!==t.activate&&n.activateWidget(e)}_addToRightArea(e,t){if(!e.id)return void console.error("Widgets added to app shell must have unique id property.");let n="rank"in(t=t||this._sideOptionsCache.get(e)||{})?t.rank:F;this._sideOptionsCache.set(e,t),this._rightHandler.addWidget(e,n),this._onLayoutModified()}_addToTopArea(e,t){var n;if(!e.id)return void console.error("Widgets added to app shell must have unique id property.");let i=null!=(n=(t=t||{}).rank)?n:F;this._topHandler.addWidget(e,i),this._onLayoutModified(),this._topHandler.panel.isHidden&&this._topHandler.panel.show()}_addToMenuArea(e,t){var n;if(!e.id)return void console.error("Widgets added to app shell must have unique id property.");let i=null!=(n=(t=t||{}).rank)?n:F;this._menuHandler.addWidget(e,i),this._onLayoutModified(),this._menuHandler.panel.isHidden&&this._menuHandler.panel.show()}_addToHeaderArea(e,t){e.id?(this._headerPanel.addWidget(e),this._onLayoutModified(),this._headerPanel.isHidden&&this._headerPanel.show()):console.error("Widgets added to app shell must have unique id property.")}_addToBottomArea(e,t){e.id?(this._bottomPanel.addWidget(e),this._onLayoutModified(),this._bottomPanel.isHidden&&this._bottomPanel.show()):console.error("Widgets added to app shell must have unique id property.")}_addToDownArea(e,t){if(!e.id)return void console.error("Widgets added to app shell must have unique id property.");let{title:n}=e;n.dataset={...n.dataset,id:e.id},n.icon instanceof g.LabIcon?n.icon=n.icon.bindprops({stylesheet:"mainAreaTab"}):"string"!=typeof n.icon&&n.icon||(n.iconClass=(0,g.classes)(n.iconClass,"jp-Icon")),this._downPanel.addWidget(e),this._downPanel.isHidden&&this._showDownPanel(),this._onLayoutModified()}_showDownPanel(e=this._lastDownAreaSize){let t=e>0?e:H;this._lastDownAreaSize=t,this._vsplitPanel.setRelativeSizes([Math.max(1-t,0),t]),this._downPanel.show()}_hideDownPanel(){let e=this._vsplitPanel.relativeSizes()[1];e>0&&(this._lastDownAreaSize=e),this._downPanel.hide()}_adjacentBar(e){let t=this._currentTabBar();if(!t)return null;let n=Array.from(this._dockPanel.tabBars()),i=n.length,o=n.indexOf(t);return"previous"===e?o>0?n[o-1]:0===o?n[i-1]:null:o<i-1?n[o+1]:o===i-1?n[0]:null}_currentTabBar(){let e=this._tracker.currentWidget;if(!e)return null;let t=e.title,n=this._dockPanel.tabBars();return(0,M.find)(n,e=>e.titles.indexOf(t)>-1)||null}_onActiveChanged(e,t){t.newValue&&(t.newValue.title.className+=` ${O}`),t.oldValue&&(t.oldValue.title.className=t.oldValue.title.className.replace(O,"")),this._activeChanged.emit(t)}_onCurrentChanged(e,t){t.newValue&&(t.newValue.title.className+=` ${R}`),t.oldValue&&(t.oldValue.title.className=t.oldValue.title.className.replace(R,"")),this._currentChanged.emit(t),this._onLayoutModified()}_onTabPanelChanged(){0===this._downPanel.stackedPanel.widgets.length&&this._hideDownPanel(),this._onLayoutModified()}_onLayoutModified(){this._layoutDebouncer.invoke()}moveTab(e,t){let n=e,i={left:"split-left",right:"split-right",top:"split-top",bottom:"split-bottom"}[t];this._dockPanel.addWidget(e,{mode:i,ref:n})}getMainAreaTabBar(e){for(let t of this._dockPanel.tabBars())if(t.titles.includes(e.title))return t;return null}}!function(e){function t(e,n){if(n){if("tab-area"===n.type){n.widgets=n.widgets.filter(t=>!t.isDisposed&&t.parent===e);return}n.children.forEach(n=>{t(e,n)})}}e.itemCmp=function(e,t){return e.rank-t.rank},e.normalizeAreaConfig=t;class n{constructor(){this._panelChildHook=(e,t)=>{switch(t.type){case"child-added":{let e=t.child;if(this._items.find(t=>t.widget===e))break;let n=this._items[this._items.length-1].rank;this._items.push({widget:e,rank:n})}break;case"child-removed":{let e=t.child;M.ArrayExt.removeFirstWhere(this._items,t=>t.widget===e)}}return!0},this._items=[],this._panel=new D.Panel,I.MessageLoop.installMessageHook(this._panel,this._panelChildHook)}get panel(){return this._panel}addWidget(t,n){t.parent=null;let i={widget:t,rank:n},o=M.ArrayExt.upperBound(this._items,i,e.itemCmp);M.ArrayExt.insert(this._items,o,i),this._panel.insertWidget(o,t)}}e.PanelHandler=n;class i{constructor(e){this._isHiddenByUser=!1,this._isCollapsedByUser=!1,this._items=[],this._position="side",this._updated=new f.Signal(this),this._side=e.side,this._host=e.host,this._sideBar=new D.TabBar({insertBehavior:"none",removeBehavior:"none",allowDeselect:!0,orientation:"vertical"}),this._sideBar.node.setAttribute("data-side",this._side),this._stackedPanel=new D.StackedPanel,this._area=new D.BoxPanel({direction:"top-to-bottom",spacing:0}),D.BoxPanel.setStretch(this._stackedPanel,1),D.BoxPanel.setStretch(this._sideBar,0),this._area.addWidget(this._stackedPanel),this._sideBar.hide(),this._stackedPanel.hide(),this._lastCurrent=null,this._sideBar.currentChanged.connect(this._onCurrentChanged,this),this._sideBar.tabCloseRequested.connect(this._onTabCloseRequested,this),this._sideBar.tabActivateRequested.connect(this._onTabActivateRequested,this),this._stackedPanel.widgetRemoved.connect(this._onWidgetRemoved,this)}get isVisible(){return this._sideBar.isVisible}get sideBar(){return this._sideBar}get stackedPanel(){return this._stackedPanel}get area(){return this._area}get position(){return this._position}set position(e){if(this._position===e)return;this._position=e,this._isCollapsedByUser=!1,this._sideBar.parent=null;let t="left"===this._side;this._sideBar.orientation="side"===e?"vertical":"horizontal",this._sideBar.toggleClass("jp-mod-left",t&&"side"===e),this._sideBar.toggleClass("jp-mod-right",!t&&"side"===e);let n="side"===e?t?"left":"right":e;if(this._sideBar.node.setAttribute("data-side",n),this._sideBar.allowDeselect="side"===e,"side"===e){let e=t?0:this._host.widgets.length;this._host.insertWidget(e,this._sideBar)}else"top"===e?this._area.insertWidget(0,this._sideBar):this._area.addWidget(this._sideBar);this._refreshVisibility()}get updated(){return this._updated}_onHandleMoved(){return this._refreshVisibility()}_onExpansionToggle(e,t){return this._refreshVisibility()}expand(){this._isCollapsedByUser=!1;let e=this._lastCurrent||this._items.length>0&&this._items[0].widget;e?this.activate(e.id):this._refreshVisibility()}activate(e){let t=this._findWidgetByID(e);t&&(this._isCollapsedByUser=!1,this._sideBar.currentTitle=t.title,t.activate())}has(e){return null!==this._findWidgetByID(e)}collapse(){this._isCollapsedByUser=!0,this._sideBar.currentTitle=null,this._refreshVisibility()}addWidget(e,t){var n,i,o,r;e.parent=null,e.hide();let s={widget:e,rank:t},a=this._findInsertIndex(s);M.ArrayExt.insert(this._items,a,s),this._stackedPanel.insertWidget(a,e);let l=this._sideBar.insertTab(a,e.title);l.dataset={...l.dataset,id:e.id},l.icon instanceof g.LabIcon?l.icon=l.icon.bindprops({stylesheet:"sideBar"}):"string"==typeof l.icon&&""!=l.icon?l.iconClass=(0,g.classes)(l.iconClass,"jp-Icon","jp-Icon-20"):l.icon||l.label||(l.icon=g.tabIcon.bindprops({stylesheet:"sideBar"})),null==(i=null==(n=e.content)?void 0:n.expansionToggled)||i.connect(this._onExpansionToggle,this),null==(r=null==(o=e.content)?void 0:o.handleMoved)||r.connect(this._onHandleMoved,this),this._refreshVisibility()}dehydrate(){let e=null===this._sideBar.currentTitle,t=Array.from(this._stackedPanel.widgets),n=t[this._sideBar.currentIndex],i={};return this._stackedPanel.widgets.forEach(e=>{e.id&&e.content instanceof D.SplitPanel&&(i[e.id]={sizes:e.content.relativeSizes(),expansionStates:e.content.widgets.map(e=>e.isVisible)})}),{collapsed:e,currentWidget:n,visible:!this._isHiddenByUser,widgets:t,widgetStates:i}}rehydrate(e){if(Array.isArray(e.widgets)){let t=e.widgets.map(e=>e.id),n=new Set(t),i=this._stackedPanel.widgets.map(e=>e.id);e.widgets.filter(e=>!i.includes(e.id)).forEach(e=>{this.addWidget(e,F)});let o=0;this._stackedPanel.widgets.map(e=>n.has(e.id)?t[o++]:e.id).forEach((e,t)=>{let n=this._stackedPanel.widgets.findIndex(t=>t.id===e);if(n>=0&&n!==t){let e=this._stackedPanel.widgets[n];M.ArrayExt.move(this._items,n,t),this._stackedPanel.insertWidget(t,e),this._sideBar.insertTab(t,e.title)}})}e.visible?this.show():this.hide(),e.currentWidget?this.activate(e.currentWidget.id):e.collapsed&&this.collapse(),e.widgetStates&&this._stackedPanel.widgets.forEach(t=>{var n;if(t.id&&t.content instanceof D.SplitPanel){let i=null!=(n=e.widgetStates[t.id])?n:{};t.content.widgets.forEach((e,n)=>{var o;let r=(null!=(o=i.expansionStates)?o:[])[n];"boolean"==typeof r&&t.content instanceof D.AccordionPanel&&(r?t.content.expand(n):t.content.collapse(n))}),i.sizes&&t.content.setRelativeSizes(i.sizes)}})}hide(){this._isHiddenByUser=!0,this._refreshVisibility()}show(){this._isHiddenByUser=!1,this._isCollapsedByUser=!1,this._refreshVisibility()}_findInsertIndex(t){return M.ArrayExt.upperBound(this._items,t,e.itemCmp)}_findWidgetIndex(e){return M.ArrayExt.findFirstIndex(this._items,t=>t.widget===e)}_findWidgetByTitle(e){let t=(0,M.find)(this._items,t=>t.widget.title===e);return t?t.widget:null}_findWidgetByID(e){let t=(0,M.find)(this._items,t=>t.widget.id===e);return t?t.widget:null}_refreshVisibility(){"side"===this._position?this._stackedPanel.setHidden(null===this._sideBar.currentTitle):this._stackedPanel.setHidden(0===this._items.length),this._sideBar.setHidden(this._isHiddenByUser||0===this._sideBar.titles.length),"side"===this._position?this._area.setHidden(this._stackedPanel.isHidden):this._area.setHidden(this._isCollapsedByUser||0===this._sideBar.titles.length),this._updated.emit()}_onCurrentChanged(e,t){let n=t.previousTitle?this._findWidgetByTitle(t.previousTitle):null,i=t.currentTitle?this._findWidgetByTitle(t.currentTitle):null;n&&n.hide(),i&&i.show(),this._lastCurrent=i||n,this._refreshVisibility()}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onWidgetRemoved(e,t){t===this._lastCurrent&&(this._lastCurrent=null),M.ArrayExt.removeAt(this._items,this._findWidgetIndex(t)),this._sideBar.removeTab(t.title),this._refreshVisibility()}}e.SideBarHandler=i;class o extends D.Widget{constructor(e){super(),this.addClass("jp-skiplink"),this.id="jp-skiplink",this._shell=e,this._createSkipLink("Skip to main panel","main")}handleEvent(e){var t,n;"click"===e.type&&e.target instanceof HTMLElement&&this._shell.activateArea(null==(n=null==(t=e.target)?void 0:t.dataset)?void 0:n.targetarea)}onAfterAttach(e){super.onAfterAttach(e),this.node.addEventListener("click",this)}onBeforeDetach(e){this.node.removeEventListener("click",this),super.onBeforeDetach(e)}_createSkipLink(e,t){let n=document.createElement("a");n.href="#",n.tabIndex=0,n.text=e,n.className="skip-link",n.dataset.targetarea=t,this.node.appendChild(n)}}e.SkipLinkWidget=o;class r extends D.Widget{constructor(e){super(),this._selected=!1;const t=document.createElement("input");t.type="text",this.node.appendChild(t),this._shell=e,this.id="jp-title-panel-title"}onAfterAttach(e){super.onAfterAttach(e),this.inputElement.addEventListener("keyup",this),this.inputElement.addEventListener("click",this),this.inputElement.addEventListener("blur",this)}onBeforeDetach(e){super.onBeforeDetach(e),this.inputElement.removeEventListener("keyup",this),this.inputElement.removeEventListener("click",this),this.inputElement.removeEventListener("blur",this)}handleEvent(e){switch(e.type){case"keyup":this._evtKeyUp(e);break;case"click":this._evtClick(e);break;case"blur":this._selected=!1}}async _evtKeyUp(e){if("Enter"==e.key){let e=this._shell.currentWidget;if(null==e)return;let t=g.TabBarSvg.titleLabel(e.title),n=this.inputElement,i=n.value;n.blur(),i!==t?e.title.label=i:n.value=t}}_evtClick(e){if(0!==e.button||this._selected)return;let t=this.inputElement;e.preventDefault(),e.stopPropagation(),this._selected=!0;let n=t.value.indexOf(".");-1===n?t.select():t.setSelectionRange(0,n)}get inputElement(){return this.node.children[0]}}e.TitleHandler=r;class s extends D.SplitPanel{constructor(e={}){super(e),this._updated=new f.Signal(this)}get updated(){return this._updated}onUpdateRequest(e){super.onUpdateRequest(e),this._updated.emit()}}e.RestorableSplitPanel=s}(l||(l={}));var V=n(63995);class q{constructor(e){this._busyCount=0,this._dirtyCount=0,this._busySignal=new f.Signal(e),this._dirtySignal=new f.Signal(e)}get busySignal(){return this._busySignal}get dirtySignal(){return this._dirtySignal}get isBusy(){return this._busyCount>0}get isDirty(){return this._dirtyCount>0}setDirty(){let e=this.isDirty;return this._dirtyCount++,this.isDirty!==e&&this._dirtySignal.emit(this.isDirty),new V.DisposableDelegate(()=>{let e=this.isDirty;this._dirtyCount=Math.max(0,this._dirtyCount-1),this.isDirty!==e&&this._dirtySignal.emit(this.isDirty)})}setBusy(){let e=this.isBusy;return this._busyCount++,this.isBusy!==e&&this._busySignal.emit(this.isBusy),new V.DisposableDelegate(()=>{let e=this.isBusy;this._busyCount--,this.isBusy!==e&&this._busySignal.emit(this.isBusy)})}}class G extends b{constructor(e={shell:new Y}){super({...e,shell:e.shell||new Y,serviceManager:e.serviceManager||new m.ServiceManager({standby:()=>!this._info.isConnected||"when-hidden"})}),this.name=v.PageConfig.getOption("appName")||"JupyterLab",this.namespace=v.PageConfig.getOption("appNamespace")||this.name,this.registerPluginErrors=[],this.status=new q(this),this.version=v.PageConfig.getOption("appVersion")||"unknown",this._allPluginsActivated=new C.PromiseDelegate,this._info=new G.Info(e),this.restored=this.shell.restored.then(async()=>{let e=[],t=this.activateDeferredPlugins().catch(e=>{console.error("Error when activating deferred plugins\n:",e)});if(e.push(t),this._info.deferred){let t=Promise.all(this._info.deferred.matches.map(e=>this.activatePlugin(e))).catch(e=>{console.error("Error when activating customized list of deferred plugins:\n",e)});e.push(t)}Promise.all(e).then(()=>{this._allPluginsActivated.resolve()}).catch(()=>void 0)}).catch(()=>void 0);const t=G.defaultPaths.urls,n=G.defaultPaths.directories,i=e.paths&&e.paths.urls||{},o=e.paths&&e.paths.directories||{};if(this._paths={urls:Object.keys(t).reduce((e,n)=>{if(n in i){let t=i[n];e[n]=t}else e[n]=t[n];return e},{}),directories:Object.keys(G.defaultPaths.directories).reduce((e,t)=>{if(t in o){let n=o[t];e[t]=n}else e[t]=n[t];return e},{})},this._info.devMode&&this.shell.addClass("jp-mod-devMode"),this.docRegistry.addModelFactory(new p.Base64ModelFactory),e.mimeExtensions)for(const t of B(e.mimeExtensions))this.registerPlugin(t)}get info(){return this._info}get paths(){return this._paths}get allPluginsActivated(){return this._allPluginsActivated.promise}registerPluginModule(e){let t=e.default;e.hasOwnProperty("__esModule")||(t=e),Array.isArray(t)||(t=[t]),t.forEach(e=>{try{this.registerPlugin(e)}catch(e){this.registerPluginErrors.push(e)}})}registerPluginModules(e){e.forEach(e=>{this.registerPluginModule(e)})}evtKeydown(e){let t=new C.PromiseDelegate;this.commands.holdKeyBindingExecution(e,t.promise),this.commands.processKeydownEvent(e);let n=e.target;if(!n)return t.resolve(!0);let i=null,o=null,r=()=>{i&&n.removeEventListener("beforeinput",i),o&&n.removeEventListener("keyup",o)};Promise.race([new Promise(e=>{i=t=>{switch(t.inputType){case"historyUndo":case"historyRedo":if(t.target instanceof Element&&t.target.closest("[data-jp-undoer]"))return t.preventDefault(),r(),e(!1);break;case"insertLineBreak":if(t.target instanceof Element&&t.target.closest(".jp-Cell"))return t.preventDefault(),r(),e(!1)}return r(),e(!0)},n.addEventListener("beforeinput",i,{once:!0})}),new Promise(t=>{o=n=>{if(n.code===e.code)return r(),t(!1)},n.addEventListener("keyup",o,{once:!0})}),new Promise(e=>{setTimeout(()=>(r(),e(!1)),d.INPUT_GUARD_TIMEOUT)})]).then(e=>{t.resolve(!e)}).catch(console.warn)}}!function(e){e.IInfo=new C.Token("@jupyterlab/application:IInfo","A service providing metadata about the current application, including disabled extensions and whether dev mode is enabled.");class t{constructor({connectionStatus:t,...n}={}){var i,o,r,s,a,l,d;this._connectionStatus=null!=t?t:new m.ConnectionStatus,this._availablePlugins=null!=(i=n.availablePlugins)?i:e.defaultInfo.availablePlugins,this._devMode=null!=(o=n.devMode)?o:e.defaultInfo.devMode,this._deferred=JSON.parse(JSON.stringify(null!=(r=n.deferred)?r:e.defaultInfo.deferred)),this._disabled=JSON.parse(JSON.stringify(null!=(s=n.disabled)?s:e.defaultInfo.disabled)),this._filesCached=null!=(a=n.filesCached)?a:e.defaultInfo.filesCached,this._mimeExtensions=JSON.parse(JSON.stringify(null!=(l=n.mimeExtensions)?l:e.defaultInfo.mimeExtensions)),this.isConnected=null!=(d=n.isConnected)?d:e.defaultInfo.isConnected}get availablePlugins(){return this._availablePlugins}get devMode(){return this._devMode}get deferred(){return this._deferred}get disabled(){return this._disabled}get filesCached(){return this._filesCached}get isConnected(){return this._connectionStatus.isConnected}set isConnected(e){this._connectionStatus.isConnected=e}get mimeExtensions(){return this._mimeExtensions}}e.Info=t,e.defaultInfo={devMode:"true"===v.PageConfig.getOption("devMode").toLowerCase(),deferred:{patterns:[],matches:[]},disabled:{patterns:[],matches:[]},mimeExtensions:[],availablePlugins:[],filesCached:"true"===v.PageConfig.getOption("cacheFiles").toLowerCase(),isConnected:!0},e.defaultPaths={urls:{base:v.PageConfig.getOption("baseUrl"),notFound:v.PageConfig.getOption("notFoundUrl"),app:v.PageConfig.getOption("appUrl"),doc:v.PageConfig.getOption("docUrl"),static:v.PageConfig.getOption("staticUrl"),settings:v.PageConfig.getOption("settingsUrl"),themes:v.PageConfig.getOption("themesUrl"),translations:v.PageConfig.getOption("translationsApiUrl"),hubHost:v.PageConfig.getOption("hubHost")||void 0,hubPrefix:v.PageConfig.getOption("hubPrefix")||void 0,hubUser:v.PageConfig.getOption("hubUser")||void 0,hubServerName:v.PageConfig.getOption("hubServerName")||void 0},directories:{appSettings:v.PageConfig.getOption("appSettingsDir"),schemas:v.PageConfig.getOption("schemasDir"),static:v.PageConfig.getOption("staticDir"),templates:v.PageConfig.getOption("templatesDir"),themes:v.PageConfig.getOption("themesDir"),userSettings:v.PageConfig.getOption("userSettingsDir"),serverRoot:v.PageConfig.getOption("serverRoot"),workspaces:v.PageConfig.getOption("workspacesDir")}}}(G||(G={})),function(e){e.INPUT_GUARD_TIMEOUT=10}(d||(d={}));class ${constructor(e){this.stop=new C.Token("@jupyterlab/application:Router#stop"),this._routed=new f.Signal(this),this._rules=new Map,this.base=e.base,this.commands=e.commands}get current(){var e,t;let{base:n}=this,i=v.URLExt.parse(window.location.href),{search:o,hash:r}=i,s=null!=(t=null==(e=i.pathname)?void 0:e.replace(n,"/"))?t:"",a=s+o+r;return{hash:r,path:s,request:a,search:o}}get routed(){return this._routed}navigate(e,t={}){let{base:n}=this,{history:i}=window,{hard:o}=t,r=document.location.href,s=e&&0===e.indexOf(n)?e:v.URLExt.join(n,e);return s===r?o?this.reload():void 0:(i.pushState({},"",s),o)?this.reload():void(!t.skipRouting&&requestAnimationFrame(()=>{this.route()}))}register(e){var t;let{command:n,pattern:i}=e,o=null!=(t=e.rank)?t:100,r=this._rules;return r.set(i,{command:n,rank:o}),new V.DisposableDelegate(()=>{r.delete(i)})}reload(){window.location.reload()}route(){let{commands:e,current:t,stop:n}=this,{request:i}=t,o=this._routed,r=this._rules,s=[];r.forEach((e,t)=>{(null==i?void 0:i.match(t))&&s.push(e)});let a=s.sort((e,t)=>t.rank-e.rank),l=new C.PromiseDelegate,d=async()=>{if(!a.length){o.emit(t),l.resolve(void 0);return}let{command:r}=a.pop();try{let i=this.current.request;await e.execute(r,t)===n&&(a.length=0,console.debug(`Routing ${i} was short-circuited by ${r}`))}catch(e){console.warn(`Routing ${i} to ${r} failed`,e)}d()};return d(),l.promise}}let J=new C.Token("@jupyterlab/application:IConnectionLost",`A service for invoking the dialog shown
  when JupyterLab has lost its connection to the server. Use this if, for some reason,
  you want to bring up the "connection lost" dialog under new circumstances.`),K=new C.Token("@jupyterlab/application:ILabStatus",`A service for interacting with the application busy/dirty
  status. Use this if you want to set the application "busy" favicon, or to set
  the application "dirty" status, which asks the user for confirmation before leaving the application page.`),Z=new C.Token("@jupyterlab/application:IRouter","The URL router used by the application. Use this to add custom URL-routing for your extension (e.g., to invoke a command if the user navigates to a sub-path)."),Q=new C.Token("@jupyterlab/application:ITreePathUpdater","A service to update the tree path.");function X(e){let{id:t,commands:n,shell:i,semanticCommands:o,default:r,overrides:s,trans:a}=e;n.addCommand(t,{...ee({commands:n,shell:i},o,null!=r?r:{},null!=a?a:h.nullTranslator.load("jupyterlab")),...s});let l=Array.isArray(o)?o:[o],d=(e,n)=>{if(n.id){if(n.id===t&&"removed"===n.type)e.commandChanged.disconnect(d);else if(l.reduce((e,t)=>e.concat(t.ids),[]).includes(n.id))switch(n.type){case"changed":case"many-changed":e.notifyCommandChanged(t);break;case"removed":for(let e of l)e.remove(n.id)}}};n.commandChanged.connect(d)}function ee(e,t,n,i){let{commands:o,shell:r}=e,s=Array.isArray(t)?t:[t];return{label:l("label"),caption:l("caption"),isEnabled:()=>{var e;let t=a("isEnabled");return t.length>0&&!t.some(e=>!1===e)||null!=(e=n.isEnabled)&&e},isToggled:()=>{var e;return a("isToggled").some(e=>!0===e)||null!=(e=n.isToggled)&&e},isVisible:()=>{var e;let t=a("isVisible");return t.length>0&&!t.some(e=>!1===e)||null==(e=n.isVisible)||e},execute:async()=>{let e=r.currentWidget,t=s.map(t=>null!==e?t.getActiveCommandId(e):null).filter(e=>null!==e&&o.isEnabled(e)),i=null;if(t.length>0)for(let n of t){let t={[c.SemanticCommand.WIDGET]:e.id};if("boolean"==typeof(i=await o.execute(n,t))&&!1===i)break}else n.execute&&(i=await o.execute(n.execute));return i}};function a(e){let t=r.currentWidget;return s.map(e=>null!==t?e.getActiveCommandId(t):null).filter(e=>null!==e).map(t=>o[e](t))}function l(e){return()=>{var t;let o=a(e).map((t,n)=>"caption"==e&&n>0?t.toLocaleLowerCase():t);switch(o.length){case 0:return null!=(t=n[e])?t:"";case 1:return o[0];default:{let e=o.some(e=>/…$/.test(e)),t=o.slice(void 0,-1).map(e=>e.replace(/…$/,"")).join(", "),n=o.slice(-1)[0].replace(/…$/,"")+(e?"…":"");return i.__("%1 and %2",t,n)}}}}}},67474(e,t,n){"use strict";n(78915),n(46143),n(82311),n(97777),n(62971),n(45350);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(64665),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},6048(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>eL,kernelSettings:()=>eT,toggleHeader:()=>eB});var i,o,r,s,a,l,d,c,h,u=n(57941),p=n(97518),m=n(28951),g=n(31997),A=n(46109),C=n(99873),f=n(2786),b=n(8989),v=n(55187),_=n(63995),y=n(59807),E=n(53040);let w="help:open",j="/lab/api/news",x="/lab/api/update",B="https://jupyterlab.readthedocs.io/en/stable/privacy_policies.html";async function S(e,t={},n){let i,o=null!=n?n:E.ServerConnection.makeSettings(),r=m.URLExt.join(o.baseUrl,e);try{i=await E.ServerConnection.makeRequest(r,t,o)}catch(e){throw new E.ServerConnection.NetworkError(e)}let s=await i.json();if(!i.ok)throw new E.ServerConnection.ResponseError(i,s.message);return s}let M={id:"@jupyterlab/apputils-extension:announcements",description:"Add the announcement feature. It will fetch news on the internet and check for application updates.",autoStart:!0,optional:[E.IConfigSectionManager,A.ISettingRegistry,f.ITranslator],activate:(e,t,n,i)=>{var o,r;let s=M.id.replace(/\W/g,"");Promise.all([e.restored,null!=(o=null==n?void 0:n.load("@jupyterlab/apputils-extension:notification"))?o:Promise.resolve(null),null!=(r=null==t?void 0:t.create({name:s}))?r:Promise.resolve(null)]).then(async([t,n,o])=>{let r=(null!=i?i:f.nullTranslator).load("jupyterlab");if(p.Notification.manager.changed.connect((e,t)=>{var n;if("removed"!==t.type)return;let{id:i,tags:r}=null!=(n=t.notification.options.data)?n:{};if((null!=r?r:[]).some(e=>["news","update"].includes(e))&&i){let e={};e[i]={seen:!0,dismissed:!0},null==o||o.update(e).catch(e=>{console.error(`Failed to update the announcements config:
${e}`)})}}),"none"===(null==n?void 0:n.get("fetchNews").composite)){let t=p.Notification.emit(r.__("Would you like to get notified about official Jupyter news?"),"default",{autoClose:!1,actions:[{label:r.__("Open privacy policy"),caption:B,callback:t=>{t.preventDefault(),e.commands.hasCommand(w)?e.commands.execute(w,{text:r.__("Privacy policies"),url:B}):window.open(B,"_blank","noreferrer")},displayType:"link"},{label:r.__("Yes"),callback:()=>{p.Notification.dismiss(t),null==o||o.update({}).then(()=>s()).catch(e=>{console.error(`Failed to get the news:
${e}`)}),null==n||n.set("fetchNews","true").catch(e=>{console.error(`Failed to save setting 'fetchNews':
${e}`)})}},{label:r.__("No"),callback:()=>{p.Notification.dismiss(t),null==n||n.set("fetchNews","false").catch(e=>{console.error(`Failed to save setting 'fetchNews':
${e}`)})}}]})}else await s();async function s(){var t,i,s,a;if((null!=(t=null==n?void 0:n.get("fetchNews").composite)?t:"false")==="true")try{for(let{link:t,message:n,type:s,options:a}of(await S(j,{},e.serviceManager.serverSettings)).news){let e=a.data.id,l=null!=(i=null==o?void 0:o.data[e])?i:{seen:!1,dismissed:!1};if(!l.dismissed){if(a.actions=[{label:r.__("Hide"),caption:r.__("Never show this notification again."),callback:()=>{let t={};t[e]={seen:!0,dismissed:!0},null==o||o.update(t).catch(e=>{console.error(`Failed to update the announcements config:
${e}`)})}}],(null==t?void 0:t.length)===2&&a.actions.push({label:t[0],caption:t[1],callback:()=>{window.open(t[1],"_blank","noreferrer")},displayType:"link"}),!l.seen){a.autoClose=5e3;let t={};t[e]={seen:!0},null==o||o.update(t).catch(e=>{console.error(`Failed to update the announcements config:
${e}`)})}p.Notification.emit(n,s,a)}}}catch(e){console.log("Failed to get the announcements.",e)}if(null==(s=null==n?void 0:n.get("checkForUpdates").composite)||s){let t=await S(x,{},e.serviceManager.serverSettings);if(t.notification){let{link:e,message:i,type:s,options:l}=t.notification,d=l.data.id,c=null!=(a=null==o?void 0:o.data[d])?a:{seen:!1,dismissed:!1};if(!c.dismissed){let t;if(l.actions=[{label:r.__("Ignore all updates"),caption:r.__("Do not prompt me if a new JupyterLab version is available."),callback:()=>{null==n||n.set("checkForUpdates",!1).then(()=>{p.Notification.dismiss(t)}).catch(e=>{console.error("Failed to set the `checkForUpdates` setting.",e)})}}],(null==e?void 0:e.length)===2&&l.actions.push({label:e[0],caption:e[1],callback:()=>{window.open(e[1],"_blank","noreferrer")},displayType:"accent"}),!c.seen){l.autoClose=5e3;let e={};e[d]={seen:!0},null==o||o.update(e).catch(e=>{console.error(`Failed to update the announcements config:
${e}`)})}t=p.Notification.emit(i,s,l)}}}}})}};var I=n(95615);!function(e){e.licenses="apputils:licenses",e.licenseReport="apputils:license-report",e.refreshLicenses="apputils:licenses-refresh"}(i||(i={}));let k={id:"@jupyterlab/apputils-extension:licenses-client",description:"The licenses client plugin for fetching licenses.",autoStart:!0,provides:p.ILicensesClient,activate:e=>{let t=e.serviceManager.serverSettings;return new p.Licenses.LicensesClient({serverSettings:t})}},D={id:"@jupyterlab/apputils-extension:licenses-plugin",description:"Adds licenses reporting tools.",requires:[p.ILicensesClient,f.ITranslator],optional:[u.ILayoutRestorer,I.IMainMenu,p.ICommandPalette],autoStart:!0,activate:(e,t,n,o,r,s)=>{let{commands:a,shell:l}=e,d=n.load("jupyterlab"),c=d.__("Help"),h=d.__("Download All Licenses as"),u=d.__("Refresh Licenses"),g="help-licenses",A=new p.WidgetTracker({namespace:g}),C=d.__("Licenses"),f=0;function v(e){let n=new p.Licenses.Model({...e,client:t,trans:d}),o=new p.Licenses({model:n});o.id=`${g}-${++f}`,o.title.label=C,o.title.icon=b.copyrightIcon;let r=new p.MainAreaWidget({content:o,reveal:n.licensesReady});for(let e of(r.toolbar.addItem("refresh-licenses",new b.CommandToolbarButton({id:i.refreshLicenses,args:{noLabel:1},commands:a})),r.toolbar.addItem("spacer",b.Toolbar.createSpacerItem()),Object.keys(p.Licenses.REPORT_FORMATS))){let t=new b.CommandToolbarButton({id:i.licenseReport,args:{format:e,noLabel:1},commands:a});r.toolbar.addItem(`download-${e}`,t)}return r}function _(e){return p.Licenses.REPORT_FORMATS[e]||p.Licenses.REPORT_FORMATS[p.Licenses.DEFAULT_FORMAT]}a.addCommand(i.licenses,{label:C,describedBy:{args:{type:"object",properties:{}}},execute:e=>{if(!m.PageConfig.getOption("licensesUrl"))return void console.warn("No license API available from the server");let t=v(e);return l.add(t,"main",{type:"Licenses"}),A.add(t),t.content.model.trackerDataChanged.connect(()=>{A.save(t)}),t}}),a.addCommand(i.refreshLicenses,{label:e=>e.noLabel?"":u,caption:u,icon:b.refreshIcon,describedBy:{args:{type:"object",properties:{noLabel:{oneOf:[{type:"boolean"},{type:"number"}],description:"Whether to hide the label (truthy values hide label)"}}}},execute:async()=>{var e;return null==(e=A.currentWidget)?void 0:e.content.model.initLicenses()}}),a.addCommand(i.licenseReport,{label:e=>{if(e.noLabel)return"";let t=_(`${e.format}`);return`${h} ${t.title}`},caption:e=>{let t=_(`${e.format}`);return`${h} ${t.title}`},icon:e=>_(`${e.format}`).icon,describedBy:{args:{type:"object",properties:{format:{type:"string",description:d.__("The report format to use for download")},noLabel:{oneOf:[{type:"boolean"},{type:"number"}],description:"Whether to hide the label (truthy values hide label)"}},required:["format"]}},execute:async e=>{var t;let n=_(`${e.format}`);return await (null==(t=A.currentWidget)?void 0:t.content.model.download({format:n.id}))}}),s&&s.addItem({command:i.licenses,category:c}),r&&r.helpMenu.addGroup([{command:i.licenses}],0),o&&o.restore(A,{command:i.licenses,name:e=>"licenses",args:e=>{let{currentBundleName:t,currentPackageIndex:n,packageFilter:i}=e.content.model;return{currentBundleName:t,currentPackageIndex:n,packageFilter:i}}})}};var T=n(59057),L=n(64001),N=n(60721),P=n(5338);let z="jp-Notification-Toast-Close",R="jp-Notification-Toast-Close-Margin",O=140;!function(e){e.dismiss="apputils:dismiss-notification",e.display="apputils:display-notifications",e.notify="apputils:notify",e.update="apputils:update-notification"}(o||(o={}));let F=4;function W(e){let{manager:t,onClose:n,trans:i}=e,[o,s]=N.useState([]),[a,l]=N.useState(null);return N.useEffect(()=>{async function e(){s(await Promise.all(t.notifications.map(async e=>Object.freeze({...e}))))}return o.length!==t.count&&e(),t.changed.connect(e),()=>{t.changed.disconnect(e)}},[t]),N.useEffect(()=>{r.getIcons().then(e=>{l(e)}).catch(e=>{console.error(`Failed to get react-toastify icons:
${e}`)})},[]),N.createElement(b.UseSignal,{signal:t.changed},()=>N.createElement(N.Fragment,null,N.createElement("h2",{className:"jp-Notification-Header jp-Toolbar"},N.createElement("span",{className:"jp-Toolbar-item"},t.count>0?i._n("%1 notification","%1 notifications",t.count):i.__("No notifications")),N.createElement("span",{className:"jp-Toolbar-item jp-Toolbar-spacer"}),N.createElement(b.ToolbarButtonComponent,{noFocusOnClick:!1,onClick:()=>{t.dismiss()},icon:b.deleteIcon,tooltip:i.__("Dismiss all notifications"),enabled:t.count>0}),N.createElement(b.ToolbarButtonComponent,{noFocusOnClick:!1,onClick:n,icon:b.closeIcon,tooltip:i.__("Hide notifications")})),N.createElement("ol",{className:"jp-Notification-List"},o.map(e=>{var n;let{id:o,message:s,type:l,options:d}=e,c="in-progress"===l?"default":l,h=()=>{t.dismiss(o)},u="default"===l?null:"in-progress"===l?null!=(n=null==a?void 0:a.spinner)?n:null:a&&a[l];return N.createElement("li",{className:"jp-Notification-List-Item",key:e.id,onClick:e=>{e.stopPropagation()}},N.createElement("div",{className:`Toastify__toast Toastify__toast-theme--light Toastify__toast--${c} jp-Notification-Toast-${c}`},N.createElement("div",{className:"Toastify__toast-body"},u&&N.createElement("div",{className:"Toastify__toast-icon"},u({theme:"light",type:c})),N.createElement("div",null,r.createContent(s,h,d.actions))),N.createElement(r.CloseButton,{close:h,closeIcon:b.deleteIcon.react,title:i.__("Dismiss notification"),closeIconMargin:!0})))}))))}class H extends b.VDomModel{constructor(e){super(),this.manager=e,this._highlight=!1,this._listOpened=!1,this._doNotDisturbMode=!1,this._count=e.count,this.manager.changed.connect(this.onNotificationChanged,this)}get count(){return this._count}get doNotDisturbMode(){return this._doNotDisturbMode}set doNotDisturbMode(e){this._doNotDisturbMode=e}get highlight(){return this._highlight}get listOpened(){return this._listOpened}set listOpened(e){this._listOpened=e,(this._listOpened||this._highlight)&&(this._highlight=!1),this.stateChanged.emit()}onNotificationChanged(e,t){this._count=this.manager.count;let{autoClose:n}=t.notification.options,i=this.doNotDisturbMode||"number"==typeof n&&n<=0;!this._listOpened&&"removed"!==t.type&&i&&(this._highlight=!0),this.stateChanged.emit()}}function U(e){return N.createElement(T.GroupItem,{role:"button",tabIndex:0,"aria-haspopup":!0,spacing:F,onClick:()=>{e.onClick()},onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&e.onClick()},title:e.count>0?e.trans._n("%1 notification","%1 notifications",e.count):e.trans.__("No notifications")},N.createElement(T.TextItem,{className:"jp-Notification-Status-Text",source:`${e.count}`}),N.createElement(b.bellIcon.react,{top:"2px",stylesheet:"statusBar"}))}let Y={id:"@jupyterlab/apputils-extension:notification",description:"Add the notification center and its status indicator.",autoStart:!0,optional:[T.IStatusBar,A.ISettingRegistry,f.ITranslator],activate:(e,t,n,i)=>{r.translator=null!=i?i:f.nullTranslator;let s=r.translator.load("jupyterlab"),a=new H(p.Notification.manager);a.doNotDisturbMode=!1,n&&Promise.all([n.load(Y.id),e.restored]).then(([e])=>{let t=()=>{a.doNotDisturbMode=e.get("doNotDisturbMode").composite};t(),e.changed.connect(t)}),e.commands.addCommand(o.notify,{label:s.__("Emit a notification"),caption:s.__("Notification is described by {message: string, type?: string, options?: {autoClose?: number | false, actions: {label: string, commandId: string, args?: ReadOnlyJSONObject, caption?: string, className?: string}[], data?: ReadOnlyJSONValue}}."),describedBy:{args:{type:"object",properties:{message:{type:"string",description:"The notification message text"},type:{type:"string",description:'The notification type (e.g., "default", "info", "warning", "error")'},options:{type:"object",description:"Additional notification options",properties:{autoClose:{oneOf:[{type:"number"},{type:"boolean"}],description:"Auto-close timeout in milliseconds, or false to disable"},actions:{type:"array",description:"Array of action buttons for the notification",items:{type:"object",properties:{label:{type:"string",description:"The action button label"},commandId:{type:"string",description:"The command ID to execute when clicked"},args:{description:"Arguments to pass to the command"},caption:{type:"string",description:"The action button caption/tooltip"},className:{type:"string",description:"CSS class name for the action button"}},required:["label","commandId"]}},data:{description:"Additional data associated with the notification"}}}},required:["message"]}},execute:t=>{var n;let{message:i,type:o}=t,r=null!=(n=t.options)?n:{};return p.Notification.manager.notify(i,null!=o?o:"default",{...r,actions:r.actions?r.actions.map(t=>({...t,callback:()=>{e.commands.execute(t.commandId,t.args).catch(e=>{console.error(`Failed to executed '${t.commandId}':
${e}`)})}})):null})}}),e.commands.addCommand(o.update,{label:s.__("Update a notification"),caption:s.__("Notification is described by {id: string, message: string, type?: string, options?: {autoClose?: number | false, actions: {label: string, commandId: string, args?: ReadOnlyJSONObject, caption?: string, className?: string}[], data?: ReadOnlyJSONValue}}."),describedBy:{args:{type:"object",properties:{id:{type:"string",description:"The notification ID to update"},message:{type:"string",description:"The notification message text"},type:{type:"string",description:'The notification type (e.g., "default", "info", "warning", "error")'},options:{type:"object",description:"Additional notification options",properties:{autoClose:{oneOf:[{type:"number"},{type:"boolean"}],description:"Auto-close timeout in milliseconds, or false to disable"},actions:{type:"array",description:"Array of action buttons for the notification",items:{type:"object",properties:{label:{type:"string",description:"The action button label"},commandId:{type:"string",description:"The command ID to execute when clicked"},args:{description:"Arguments to pass to the command"},caption:{type:"string",description:"The action button caption/tooltip"},className:{type:"string",description:"CSS class name for the action button"}},required:["label","commandId"]}},data:{description:"Additional data associated with the notification"}}}},required:["id","message"]}},execute:t=>{let{id:n,message:i,type:o,...r}=t;return p.Notification.manager.update({id:n,message:i,type:null!=o?o:"default",...r,actions:r.actions?r.actions.map(t=>({...t,callback:()=>{e.commands.execute(t.commandId,t.args).catch(e=>{console.error(`Failed to executed '${t.commandId}':
${e}`)})}})):null})}}),e.commands.addCommand(o.dismiss,{label:s.__("Dismiss a notification"),describedBy:{args:{type:"object",properties:{id:{type:"string",description:"The notification ID to dismiss"}},required:["id"]}},execute:e=>{let{id:t}=e;p.Notification.manager.dismiss(t)}});let l=null;a.listOpened=!1;let d=p.ReactWidget.create(N.createElement(W,{manager:p.Notification.manager,onClose:()=>{null==l||l.dispose()},trans:s}));async function c(e,t){var n;if(a.doNotDisturbMode||null!==l&&!l.isDisposed)return;let{message:i,type:o,options:s,id:d}=t.notification;if("number"!=typeof s.autoClose||!(s.autoClose<=0))switch(t.type){case"added":await r.createToast(d,i,o,s);break;case"updated":{let t=await r.toast(),a=s.actions,l=null!=(n=s.autoClose)?n:(!a||!(a.length>0))&&null;if(t.isActive(d)){let n=()=>{t.dismiss(d),e.dismiss(d)};t.update(d,{type:"in-progress"===o?null:o,isLoading:"in-progress"===o,autoClose:l,render:r.createContent(i,n,s.actions)})}else await r.createToast(d,i,o,s)}break;case"removed":await r.toast().then(e=>{e.dismiss(d)})}}d.addClass("jp-Notification-Center"),p.Notification.manager.changed.connect(c);let h=()=>{l?(l.dispose(),l=null):(l=(0,T.showPopup)({body:d,anchor:u,align:"right",hasDynamicSize:!0,startHidden:!0}),r.toast().then(e=>{e.dismiss()}).catch(e=>{console.error(`Failed to dismiss all toasts:
${e}`)}).finally(()=>{null==l||l.launch(),d.node.focus(),null==l||l.disposed.connect(()=>{a.listOpened=!1,l=null})})),a.listOpened=null!==l};e.commands.addCommand(o.display,{label:s.__("Show Notifications"),describedBy:{args:{type:"object",properties:{}}},execute:h});let u=p.ReactWidget.create(N.createElement(b.UseSignal,{signal:a.stateChanged},()=>(a.highlight||l&&!l.isDisposed?u.addClass("jp-mod-selected"):u.removeClass("jp-mod-selected"),N.createElement(U,{count:a.count,highlight:a.highlight,trans:s,onClick:h}))));u.addClass("jp-Notification-Status"),t?t.registerStatusItem(Y.id,{item:u,align:"right",rank:-1}):(u.addClass("jp-ThemedContainer"),u.node.style.position="fixed",u.node.style.bottom="0",u.node.style.right="10px",L.Widget.attach(u,document.body),u.show())}};!function(e){e.translator=f.nullTranslator;let t=null;function i(e){var t;return N.createElement("button",{className:`jp-Button jp-mod-minimal ${z}${e.closeIconMargin?` ${R}`:""}`,title:null!=(t=e.title)?t:"",onClick:e.close},N.createElement(e.closeIcon,{className:"jp-icon-hover",tag:"span"}))}function o(t){let n=e.translator.load("jupyterlab");return N.createElement(i,{close:t.closeToast,closeIcon:b.closeIcon.react,title:n.__("Hide notification")})}e.CloseButton=i;let r=null;async function s(){if(null===r?r=new v.PromiseDelegate:await r.promise,null===t){t=await n.e(4690).then(n.t.bind(n,39721,23));let e=document.body.appendChild(document.createElement("div"));e.id="react-toastify-container",e.classList.add("jp-ThemedContainer"),(0,P.H)(e).render(N.createElement(t.ToastContainer,{draggable:!1,closeOnClick:!1,hideProgressBar:!0,newestOnTop:!0,pauseOnFocusLoss:!0,pauseOnHover:!0,position:"bottom-right",className:"jp-toastContainer",transition:t.Slide,closeButton:o})),r.resolve()}return t.toast}e.toast=s,e.getIcons=async function(){return null===t&&await s(),t.Icons};let a={accent:"jp-mod-accept",link:"jp-mod-link",warn:"jp-mod-warn",default:""};function l({action:e,closeToast:t}){var n,i;let o=n=>{e.callback(n),n.defaultPrevented||t()},r=["jp-toast-button",a[null!=(n=e.displayType)?n:"default"]].join(" ");return N.createElement(b.Button,{title:null!=(i=e.caption)?i:e.label,className:r,onClick:o,small:!0},e.label)}function d(e,t,n){var i;let o=e.length>O?e.slice(0,O)+"…":e;return N.createElement(N.Fragment,null,N.createElement("div",{className:"jp-toast-message"},o.split("\n").map((e,t)=>N.createElement(N.Fragment,{key:`part-${t}`},t>0?N.createElement("br",null):null,e))),(null!=(i=null==n?void 0:n.length)?i:0)>0&&N.createElement("div",{className:"jp-toast-buttonBar"},N.createElement("div",{className:"jp-toast-spacer"}),n.map((e,n)=>N.createElement(l,{key:"button-"+n,action:e,closeToast:t}))))}e.createContent=d,e.createToast=async function(e,t,n,i={}){let{actions:o,autoClose:r,data:a}=i;return(await s())(({closeToast:n})=>d(t,()=>{n&&n(),p.Notification.manager.dismiss(e)},o),{autoClose:null!=r?r:(!o||!(o.length>0))&&void 0,data:a,className:`jp-Notification-Toast-${n}`,toastId:e,type:"in-progress"===n?null:n,isLoading:"in-progress"===n})}}(r||(r={}));var V=n(65819),q=n(46976);!function(e){e.activate="apputils:activate-command-palette"}(s||(s={}));let G="@jupyterlab/apputils-extension:palette";class ${constructor(e,t){this.translator=t||f.nullTranslator;const n=this.translator.load("jupyterlab");this._palette=e,this._palette.title.label="",this._palette.title.dataset={...this._palette.title.dataset,jpTabLabel:n.__("Commands")},this._palette.title.caption=n.__("Command Palette")}set placeholder(e){this._palette.inputNode.placeholder=e}get placeholder(){return this._palette.inputNode.placeholder}activate(){this._palette.activate()}addItem(e){let t=this._palette.addItem(e);return new _.DisposableDelegate(()=>{this._palette.removeItem(t)})}}!function(e){function t(t,n,i){let{commands:o,shell:r}=t,l=n.load("jupyterlab"),d=a.createPalette(t),c=new p.ModalCommandPalette({commandPalette:d,restore:()=>{let e=t.shell.currentWidget;e&&e.activate()}}),h=!1;if(d.node.setAttribute("role","region"),d.node.setAttribute("aria-label",l.__("Command Palette Section")),r.add(d,"left",{rank:300,type:"Command Palette"}),i){let e=i.load(G),n=e=>{let t=e.get("modal").composite;h&&!t?(d.parent=null,c.detach(),r.add(d,"left",{rank:300,type:"Command Palette"})):!h&&t&&(d.parent=null,c.palette=d,d.show(),c.attach()),h=t};Promise.all([e,t.restored]).then(([e])=>{n(e),e.changed.connect(e=>{n(e)})}).catch(e=>{console.error(e.message)})}let u=()=>{let e=(0,V.find)(t.commands.keyBindings,e=>e.command===s.activate);if(e){let t=e.keys.map(q.CommandRegistry.formatKeystroke).join(", ");d.title.caption=l.__("Commands (%1)",t)}else d.title.caption=l.__("Commands")};return u(),t.commands.keyBindingChanged.connect(()=>{u()}),o.addCommand(s.activate,{describedBy:{args:{type:"object",properties:{}}},execute:()=>{h?c.activate():r.activateById(d.id)},label:l.__("Activate Command Palette")}),d.inputNode.placeholder=l.__("SEARCH"),new e(d,n)}e.activate=t,e.restore=function(e,t){let n=a.createPalette(e);t.add(n,"command-palette")}}($||($={})),function(e){let t;e.createPalette=function(e){return t||((t=new L.CommandPalette({commands:e.commands,renderer:b.CommandPaletteSvg.defaultRenderer})).id="command-palette",t.title.icon=b.paletteIcon),t}}(a||(a={}));class J extends C.DataConnector{constructor(e){super(),this._throttlers=Object.create(null),this._connector=e}fetch(e){let t=this._throttlers;return e in t||(t[e]=new y.Throttler(()=>this._connector.fetch(e),100)),t[e].invoke()}async list(e="all"){let{isDisabled:t}=m.PageConfig.Extension,{ids:n,values:i}=await this._connector.list("ids"===e?"ids":void 0);return"all"===e?{ids:n,values:i}:"ids"===e?{ids:n}:{ids:n.filter(e=>!t(e)),values:i.filter(({id:e})=>!t(e))}}async save(e,t){await this._connector.save(e,t)}}let K={id:"@jupyterlab/apputils-extension:settings-connector",description:"Provides the settings connector.",autoStart:!0,provides:A.ISettingConnector,activate:e=>new J(e.serviceManager.settings)},Z={id:"@jupyterlab/apputils-extension:settings",autoStart:!0,provides:A.ISettingRegistry,optional:[A.ISettingConnector],description:"Provides the setting registry.",activate:async(e,t)=>{let{isDisabled:n}=m.PageConfig.Extension,i=null!=t?t:new J(e.serviceManager.settings),o=new A.SettingRegistry({connector:i,plugins:(await i.list("active")).values.filter(t=>e.hasPlugin(t.id))});return e.restored.then(async()=>{(await i.list("ids")).ids.forEach(async t=>{if(!(!e.hasPlugin(t)||n(t))&&!(t in o.plugins))try{await o.load(t)}catch(n){console.warn(`Settings failed to load for (${t})`,n),e.isPluginActivated(t)||console.warn(`If 'jupyter.lab.transform=true' in the plugin schema, this may happen if {autoStart: false} in (${t}) or if it is one of the deferredExtensions in page config.`)}})}),o}},Q={id:"@jupyterlab/apputils-extension:kernel-status",description:"Provides the kernel status indicator model.",autoStart:!0,requires:[T.IStatusBar],provides:p.IKernelStatusModel,optional:[p.ISessionContextDialogs,f.ITranslator,u.ILabShell],activate:(e,t,n,i,o)=>{let r=null!=i?i:f.nullTranslator,s=null!=n?n:new p.SessionContextDialogs({translator:r}),a=async()=>{d.model.sessionContext&&await s.selectKernel(d.model.sessionContext)},l=async e=>{if("Enter"===e.key||"Spacebar"===e.key||" "===e.key)return e.preventDefault(),e.stopPropagation(),a()},d=new p.KernelStatus({onClick:a,onKeyDown:l},r),c=new Set,h=t=>{c.add(t),e.shell.currentWidget&&u(e.shell,{newValue:e.shell.currentWidget,oldValue:null})};function u(e,t){var n;let{oldValue:i,newValue:o}=t;i&&i.title.changed.disconnect(m),d.model.sessionContext=null!=(n=[...c].map(e=>e(t.newValue)).filter(e=>null!==e)[0])?n:null,o&&d.model.sessionContext&&(m(o.title),o.title.changed.connect(m))}let m=e=>{d.model.activityName=e.label};return o&&o.currentChanged.connect(u),t.registerStatusItem(Q.id,{priority:1,item:d,align:"left",rank:1,isActive:()=>null!==d.model.sessionContext}),{addSessionProvider:h}}},X={id:"@jupyterlab/apputils-extension:running-sessions-status",description:"Add the running sessions and terminals status bar item.",autoStart:!0,requires:[T.IStatusBar,f.ITranslator],optional:[A.ISettingRegistry],activate:(e,t,n,i)=>{let o=t=>{let i=new p.RunningSessions({onClick:()=>e.shell.activateById("jp-running-sessions"),onKeyDown:t=>{("Enter"===t.key||"Spacebar"===t.key||" "===t.key)&&(t.preventDefault(),t.stopPropagation(),e.shell.activateById("jp-running-sessions"))},serviceManager:e.serviceManager,translator:n,...t});return i.model.sessions=Array.from(e.serviceManager.sessions.running()).length,i.model.terminals=Array.from(e.serviceManager.terminals.running()).length,i},r=e=>{let n=o(e);return t.registerStatusItem(X.id,{item:n,align:"left",rank:0})};if(i){let e,t=(t,n)=>{var i,o;let s={"if-any":void 0,never:!1,always:!0},a=null==(i=null==t?void 0:t.get("showStatusBarItem").composite)||i,l=s[null!=(o=null==n?void 0:n.get("showStatusBarItem").composite)?o:"if-any"];null==e||e.dispose(),(a||!1!==l)&&(e=r({showKernels:a,showTerminals:l}))},n="@jupyterlab/apputils-extension:kernels-settings",o="@jupyterlab/terminal-extension:plugin";Promise.all([n in i.plugins?i.load(n).catch(()=>void 0):Promise.resolve(void 0),o in i.plugins?i.load(o).catch(()=>void 0):Promise.resolve(void 0)]).then(([e,n])=>{t(e,n),e&&e.changed.connect(i=>{t(e=i,n)}),n&&n.changed.connect(i=>{t(e,n=i)})})}else r({showKernels:!0})}},ee={id:"@jupyterlab/apputils-extension:subshell-settings",description:"Kernel subshell settings.",autoStart:!0,requires:[],optional:[A.ISettingRegistry],activate:(e,t)=>{t&&e.started.then(async()=>{let n=await t.load("@jupyterlab/apputils-extension:kernels-settings"),i=n.get("commsOverSubshells").composite;e.serviceManager.kernels.commsOverSubshells=i,n.changed.connect(()=>{let t=n.get("commsOverSubshells").composite;e.serviceManager.kernels.commsOverSubshells=t})}).catch(e=>{console.error("Fail to load settings for the subshells."),console.error(e)})}},et="/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*\n * Webkit scrollbar styling.\n * Separate file which is dynamically loaded based on user/theme settings.\n */\n\n/* use standard opaque scrollbars for most nodes */\n\n::-webkit-scrollbar,\n::-webkit-scrollbar-corner {\n  background: var(--jp-scrollbar-background-color);\n}\n\n::-webkit-scrollbar-thumb {\n  background: rgb(var(--jp-scrollbar-thumb-color));\n  border: var(--jp-scrollbar-thumb-margin) solid transparent;\n  background-clip: content-box;\n  border-radius: var(--jp-scrollbar-thumb-radius);\n}\n\n::-webkit-scrollbar-track:horizontal {\n  border-left: var(--jp-scrollbar-endpad) solid\n    var(--jp-scrollbar-background-color);\n  border-right: var(--jp-scrollbar-endpad) solid\n    var(--jp-scrollbar-background-color);\n}\n\n::-webkit-scrollbar-track:vertical {\n  border-top: var(--jp-scrollbar-endpad) solid\n    var(--jp-scrollbar-background-color);\n  border-bottom: var(--jp-scrollbar-endpad) solid\n    var(--jp-scrollbar-background-color);\n}\n\n/* for code nodes, use a transparent style of scrollbar */\n\n.CodeMirror-hscrollbar::-webkit-scrollbar,\n.CodeMirror-vscrollbar::-webkit-scrollbar,\n.CodeMirror-hscrollbar::-webkit-scrollbar-corner,\n.CodeMirror-vscrollbar::-webkit-scrollbar-corner {\n  background-color: transparent;\n}\n\n.CodeMirror-hscrollbar::-webkit-scrollbar-thumb,\n.CodeMirror-vscrollbar::-webkit-scrollbar-thumb {\n  background: rgba(var(--jp-scrollbar-thumb-color), 0.5);\n  border: var(--jp-scrollbar-thumb-margin) solid transparent;\n  background-clip: content-box;\n  border-radius: var(--jp-scrollbar-thumb-radius);\n}\n\n.CodeMirror-hscrollbar::-webkit-scrollbar-track:horizontal {\n  border-left: var(--jp-scrollbar-endpad) solid transparent;\n  border-right: var(--jp-scrollbar-endpad) solid transparent;\n}\n\n.CodeMirror-vscrollbar::-webkit-scrollbar-track:vertical {\n  border-top: var(--jp-scrollbar-endpad) solid transparent;\n  border-bottom: var(--jp-scrollbar-endpad) solid transparent;\n}\n";function en(e){let t=document.createElement("style");return t.setAttribute("type","text/css"),t.appendChild(document.createTextNode(e)),t}!function(e){e.changeTheme="apputils:change-theme",e.changePreferredLightTheme="apputils:change-light-theme",e.changePreferredDarkTheme="apputils:change-dark-theme",e.toggleAdaptiveTheme="apputils:adaptive-theme",e.themeScrollbars="apputils:theme-scrollbars",e.changeFont="apputils:change-font",e.incrFontSize="apputils:incr-font-size",e.decrFontSize="apputils:decr-font-size"}(l||(l={}));let ei={id:"@jupyterlab/apputils-extension:themes",description:"Provides the theme manager.",requires:[A.ISettingRegistry,u.JupyterFrontEnd.IPaths,f.ITranslator],optional:[p.ISplashScreen],activate:(e,t,n,i,o)=>{let r,s=i.load("jupyterlab"),a=e.shell,d=e.commands,c=m.URLExt.join(e.serviceManager.serverSettings.baseUrl,n.urls.themes),h=ei.id,u=new p.ThemeManager({key:h,host:a,settings:t,splash:null!=o?o:void 0,url:c}),g=null;u.themeChanged.connect((e,t)=>{r=t.newValue,document.body.dataset.jpThemeLight=String(u.isLight(r)),document.body.dataset.jpThemeName=r,document.body.style.colorScheme=u.isLight(r)?"light":"dark",document.body.dataset.jpThemeScrollbars!==String(u.themeScrollbars(r))&&(document.body.dataset.jpThemeScrollbars=String(u.themeScrollbars(r)),u.themeScrollbars(r)?(g||(g=en(et)),g.parentElement||document.body.appendChild(g)):g&&g.parentElement&&g.parentElement.removeChild(g)),d.notifyCommandChanged(l.changeTheme)}),d.addCommand(l.changeTheme,{label:e=>{if(void 0===e.theme)return s.__("Switch to the provided `theme`.");let t=e.theme,n=u.getDisplayName(t);return e.isPalette?s.__("Use Theme: %1",n):n},describedBy:{args:{type:"object",properties:{theme:{type:"string",description:s.__("The theme name to switch to")},isPalette:{type:"boolean",description:s.__("Whether the command is being called from the palette")}},required:["theme"]}},isToggled:e=>e.theme===r,execute:e=>{let t=e.theme;if(t!==u.theme)return u.isToggledAdaptiveTheme()?u.toggleAdaptiveTheme():u.setTheme(t)}}),d.addCommand(l.changePreferredLightTheme,{label:e=>{if(void 0===e.theme)return s.__("Switch to the provided light `theme`.");let t=e.theme,n=u.getDisplayName(t);return e.isPalette?s.__("Set Preferred Light Theme: %1",n):n},describedBy:{args:{type:"object",properties:{theme:{type:"string",description:s.__("The preferred light theme name")},isPalette:{type:"boolean",description:s.__("Whether the command is being called from the palette")}},required:["theme"]}},isToggled:e=>e.theme===u.preferredLightTheme,execute:e=>{let t=e.theme;if(t!==u.preferredLightTheme)return u.setPreferredLightTheme(t)}}),d.addCommand(l.changePreferredDarkTheme,{label:e=>{if(void 0===e.theme)return s.__("Switch to the provided dark `theme`.");let t=e.theme,n=u.getDisplayName(t);return e.isPalette?s.__("Set Preferred Dark Theme: %1",n):n},describedBy:{args:{type:"object",properties:{theme:{type:"string",description:s.__("The preferred dark theme name")},isPalette:{type:"boolean",description:s.__("Whether the command is being called from the palette")}},required:["theme"]}},isToggled:e=>e.theme===u.preferredDarkTheme,execute:e=>{let t=e.theme;if(t!==u.preferredDarkTheme)return u.setPreferredDarkTheme(t)}}),d.addCommand(l.toggleAdaptiveTheme,{label:e=>e.isPalette?s.__("Synchronize Styling Theme with System Settings"):s.__("Synchronize with System Settings"),describedBy:{args:{type:"object",properties:{isPalette:{type:"boolean",description:s.__("Whether the command is being called from the palette")}}}},isToggled:()=>u.isToggledAdaptiveTheme(),execute:()=>{u.toggleAdaptiveTheme().catch(console.warn)}}),d.addCommand(l.themeScrollbars,{label:s.__("Theme Scrollbars"),describedBy:{args:{type:"object",properties:{}}},isToggled:()=>u.isToggledThemeScrollbars(),execute:()=>u.toggleThemeScrollbars()}),d.addCommand(l.changeFont,{label:e=>e.enabled?`${e.font}`:s.__("waiting for fonts"),describedBy:{args:{type:"object",properties:{enabled:{type:"boolean",description:s.__("Whether the font is available and enabled")},font:{type:"string",description:s.__("The font name")},key:{type:"string",description:s.__("The CSS property key to modify")}},required:["enabled","font","key"]}},isEnabled:e=>e.enabled,isToggled:e=>u.getCSS(e.key)===e.font,execute:e=>u.setCSSOverride(e.key,e.font)}),d.addCommand(l.incrFontSize,{label:e=>{switch(e.key){case"code-font-size":return s.__("Increase Code Font Size");case"content-font-size1":return s.__("Increase Content Font Size");case"ui-font-size1":return s.__("Increase UI Font Size");default:return s.__("Increase Font Size")}},describedBy:{args:{type:"object",properties:{key:{type:"string",description:s.__('The font size key to increase (e.g., "code-font-size", "content-font-size1", "ui-font-size1")')}},required:["key"]}},execute:e=>u.incrFontSize(e.key)}),d.addCommand(l.decrFontSize,{label:e=>{switch(e.key){case"code-font-size":return s.__("Decrease Code Font Size");case"content-font-size1":return s.__("Decrease Content Font Size");case"ui-font-size1":return s.__("Decrease UI Font Size");default:return s.__("Decrease Font Size")}},describedBy:{args:{type:"object",properties:{key:{type:"string",description:s.__('The font size key to decrease (e.g., "code-font-size", "content-font-size1", "ui-font-size1")')}},required:["key"]}},execute:e=>u.decrFontSize(e.key)});let A=window.matchMedia("(prefers-color-scheme: dark)"),C=e=>{if(u.isToggledAdaptiveTheme()){let t=e.matches?u.preferredDarkTheme:u.preferredLightTheme;u.theme!==t&&u.setTheme(t)}};return A.addEventListener("change",C),u},autoStart:!0,provides:p.IThemeManager},eo={id:"@jupyterlab/apputils-extension:themes-palette-menu",description:"Adds theme commands to the menu and the command palette.",requires:[p.IThemeManager,f.ITranslator],optional:[p.ICommandPalette,I.IMainMenu],activate:(e,t,n,i,o)=>{let r=n.load("jupyterlab");o&&e.restored.then(()=>{var e;let n=!1,i=null==(e=o.settingsMenu.items.find(e=>{var t;return"submenu"===e.type&&(null==(t=e.submenu)?void 0:t.id)==="jp-mainmenu-settings-apputilstheme"}))?void 0:e.submenu;i&&t.themes.forEach((e,t)=>{i.insertItem(t,{command:l.changeTheme,args:{isPalette:n,theme:e}})})}),i&&e.restored.then(()=>{let e=r.__("Theme"),n=l.changeTheme,o=!0;t.themes.forEach(t=>{i.addItem({command:n,args:{isPalette:o,theme:t},category:e})}),t.themes.forEach(t=>{i.addItem({command:l.changePreferredLightTheme,args:{isPalette:o,theme:t},category:e})}),t.themes.forEach(t=>{i.addItem({command:l.changePreferredDarkTheme,args:{isPalette:o,theme:t},category:e})}),i.addItem({command:l.toggleAdaptiveTheme,args:{isPalette:o},category:e}),i.addItem({command:l.themeScrollbars,category:e}),i.addItem({command:l.incrFontSize,args:{key:"code-font-size"},category:e}),i.addItem({command:l.decrFontSize,args:{key:"code-font-size"},category:e}),i.addItem({command:l.incrFontSize,args:{key:"content-font-size1"},category:e}),i.addItem({command:l.decrFontSize,args:{key:"content-font-size1"},category:e}),i.addItem({command:l.incrFontSize,args:{key:"ui-font-size1"},category:e}),i.addItem({command:l.decrFontSize,args:{key:"ui-font-size1"},category:e})})},autoStart:!0},er={id:"@jupyterlab/apputils-extension:toolbar-registry",description:"Provides toolbar items registry.",autoStart:!0,provides:p.IToolbarWidgetRegistry,activate:e=>new p.ToolbarWidgetRegistry({defaultFactory:(0,p.createDefaultFactory)(e.commands)})};var es=n(29267);let ea="jupyterlab-workspace",el="."+ea,ed="workspace-ui:lastSave",ec="jp-JupyterIcon",eh={id:"@jupyterlab/apputils-extension:workspaces",description:"Add workspace file type.",autoStart:!0,requires:[C.IStateDB,f.ITranslator,u.JupyterFrontEnd.IPaths],optional:[u.IRouter,es.IWorkspaceCommands,es.IWorkspacesModel],activate:(e,t,n,i,o,r,s)=>{let a=new d.WorkspaceFactory({workspaces:e.serviceManager.workspaces,workspacesModel:s,state:t,translator:n,open:async t=>{if(r)await e.commands.execute(r.open,{workspace:t});else{let e=m.URLExt.join(i.urls.app,"workspaces"),n=m.URLExt.join(e,t);if(!n.startsWith(e))throw Error("Can only be used for workspaces");o?o.navigate(n,{hard:!0}):document.location.href=n}}}),l=n.load("jupyterlab");e.docRegistry.addFileType({name:ea,contentType:"file",fileFormat:"text",displayName:l.__("JupyterLab Workspace File"),extensions:[el],mimeTypes:["text/json"],iconClass:ec}),e.docRegistry.addWidgetFactory(a)}};!function(e){class t extends g.ABCWidgetFactory{constructor(e){var t;super({name:"Workspace loader",label:(e.translator||f.nullTranslator).load("jupyterlab").__("Workspace loader"),fileTypes:[ea],defaultFor:[ea],readOnly:!0}),this._state=e.state,this._workspaces=e.workspaces,this._workspacesModel=null!=(t=e.workspacesModel)?t:null,this._open=e.open}createNewWidget(e){return e.ready.then(async()=>{var t;let n=e.model.toJSON(),i=e.path,o=n.metadata.id;await this._workspaces.save(o,n),await (null==(t=this._workspacesModel)?void 0:t.refresh()),await this._state.save(ed,i),await this._open(o)}),n(e)}}function n(e){let t=new g.DocumentWidget({content:new L.Widget,context:e});return t.content.dispose(),t}e.WorkspaceFactory=t}(d||(d={}));var eu=n(53193);let ep="jp-ContextualShortcut-TableRow",em="jp-ContextualShortcut-TableLastRow",eg="jp-ContextualShortcut-TableItem",eA="jp-ContextualShortcut-Key";function eC(e){let{commands:t,trans:n,activeElement:i}=e,o=null!=i?i:document.activeElement;function r(e){let t=[];return e.forEach((e,n)=>{let i=[];e.split(" ").forEach((e,t)=>{i.push(N.createElement("span",{className:eA,key:`ch-${t}`},N.createElement("kbd",null,e)),N.createElement(N.Fragment,{key:`fragment-${t}`}," + "))}),t.push(N.createElement("span",{key:`key-${n}`},i.slice(0,-1)),N.createElement(N.Fragment,{key:`fragment-${n}`}," + "))}),N.createElement("span",null,t.slice(0,-1))}function s(e){return e.charAt(0).toUpperCase()+e.slice(1)}function a(e){let n=t.label(e.command),i=e.command.split(":")[1].split("-"),o="";for(let e=0;e<i.length;e++)o=o+" "+s(i[e]);return n.length>0?n:o}function l(e,t){let n=t;for(let t=0;null!==n&&n!==n.parentElement&&!n.hasAttribute("data-lm-suppress-shortcuts");n=n.parentElement,++t)if(n.matches(e))return t;return -1}let d=new Map;for(let e=0;e<t.keyBindings.length;e++){let n=t.keyBindings[e],i=l(n.selector,o);if(i<0)continue;let r=q.CommandRegistry.formatKeystroke(n.keys);if(d.has(r)){let e=d.get(r);if(e[0]<i||e[0]===i&&eu.Selector.calculateSpecificity(e[1].selector)>eu.Selector.calculateSpecificity(n.selector))continue}d.set(r,[i,n])}let c=-1,h=new Map;for(let[e,t]of d.values())c=Math.max(e,c),h.has(e)||h.set(e,[]),h.get(e).push(t);let u=[];for(let e=0;e<=c;e++)h.has(e)&&(u.push(h.get(e).map(e=>N.createElement("tr",{className:ep,key:`${e.command}-${e.keys.join("-").replace(" ","_")}`},N.createElement("td",{className:eg},a(e)),N.createElement("td",{className:eg},r([...e.keys]))))),u.push(N.createElement("tr",{className:em,key:`group-${e}-last`})));let m=N.createElement("div",{tabIndex:0,className:"jp-Shortcuts-Container"},N.createElement("table",null,N.createElement("caption",{className:"jp-sr-only"},n.__("Keyboard Shortcuts")),N.createElement("thead",null,N.createElement("tr",null,N.createElement("th",{scope:"col"},n.__("Command")),N.createElement("th",{scope:"col"},n.__("Keybinding")))),N.createElement("tbody",null,u)));return(0,p.showDialog)({title:n.__("Keyboard Shortcuts"),body:m,buttons:[p.Dialog.cancelButton({label:n.__("Close")})],focusNodeSelector:".jp-Shortcuts-Container"})}let ef="section-mover:layout";!function(e){e.moveSectionTo="apputils:move-section-to",e.moveSectionBack="apputils:move-section-back"}(c||(c={}));let eb={id:"@jupyterlab/apputils-extension:move-sections",description:"Enables moving sections between any registered source and target sidebars.",requires:[f.ITranslator],optional:[p.IMovableSectionRegistry,C.IStateDB],autoStart:!0,activate:(e,t,n,i)=>{if(!n)return;let o=t.load("jupyterlab"),r=new WeakMap,s=new Map,a=new WeakMap,l=new WeakSet,d=new Map,h=null;document.addEventListener("contextmenu",e=>{h=e.target},!0);let u=async()=>{if(!i)return;let e={};for(let[t,{panel:i}]of n.getTargets()){let n=i.accordionPanel,o=n?Array.from(n.widgets):[],r=i.sections.map(e=>{let n=s.get(e);if(!n||n.targetId!==t)return null;let i=e.isHidden,r=o.indexOf(e);return{sourceId:n.sourceId,sectionId:n.sectionId,...r>=0?{index:r}:{},...i?{collapsed:!0}:{}}}).filter(e=>null!==e);r.sort((e,t)=>{var n,i;return(null!=(n=e.index)?n:Number.MAX_SAFE_INTEGER)-(null!=(i=t.index)?i:Number.MAX_SAFE_INTEGER)}),r.length>0&&(e[t]=r)}await i.save(ef,e)},p=e=>{for(let t of e.layout.titles)e.node.appendChild(t)},m=(e,t)=>{let n=Array.from(t.widgets).indexOf(e);if(n<0)return;let i=t.titles[n];if(!i.querySelector(".jp-movable-section-dragHandle")){let e=document.createElement("span");e.className="jp-movable-section-dragHandle",i.prepend(e)}},g=e=>{if(l.has(e))return;l.add(e),e.expansionToggled.connect(()=>void u());let t=null,n=0,i=!1,o=document.createElement("div");o.className="jp-movable-section-dropIndicator",o.style.display="none",e.node.appendChild(o);let r=t=>{let n=Array.from(e.layout.titles);for(let e=0;e<n.length;e++){let i=n[e].getBoundingClientRect();if(t<i.top+i.height/2)return e}return n.length},s=t=>{let n,i=Array.from(e.layout.titles),r=e.node.getBoundingClientRect();n=t<i.length?i[t].getBoundingClientRect().top-r.top:i[i.length-1].getBoundingClientRect().bottom-r.top,o.style.top=`${n}px`,o.style.display="block"},a=n=>{if(o.style.display="none",e.node.classList.remove("jp-mod-dragging"),i&&t&&void 0!==n){let i=Array.from(e.widgets).indexOf(t),o=r(n),s=o>i?o-1:o;s!==i&&(e.insertWidget(s,t),p(e),u())}t=null,i=!1};e.node.addEventListener("pointerdown",i=>{let o=i.target,r=o.closest(".jp-AccordionPanel-title");if(!r||!o.closest(".jp-movable-section-dragHandle"))return;let s=Array.from(e.layout.titles).indexOf(r);s<0||(t=e.widgets[s],n=i.clientY,e.node.setPointerCapture(i.pointerId))}),e.node.addEventListener("pointermove",o=>{t&&(!i&&Math.abs(o.clientY-n)>5&&(i=!0,e.node.classList.add("jp-mod-dragging")),i&&s(r(o.clientY)))}),e.node.addEventListener("pointerup",e=>{a(e.clientY)}),e.node.addEventListener("pointercancel",()=>{a()})},A=(e,t,n,i,o,r,l=!1,d)=>{let c=e.isHidden;r.addSection(e),s.set(e,{sourceId:t,sectionId:n,sourceLabel:i,targetId:o});let h=r.accordionPanel;if(h){if("number"==typeof d){let t=Math.max(0,Math.min(d,h.widgets.length-1));h.widgets[t]!==e&&(h.insertWidget(t,e),p(h))}g(h),m(e,h);let t=Array.from(h.widgets).indexOf(e);if(t>=0){let n=h.titles[t];n.classList.add("jp-hosted-section"),a.set(n,e),(c||l)&&(e.hide(),n.classList.remove("lm-mod-expanded"),n.setAttribute("aria-expanded","false"))}}},C=(e,t,i,o=!1,r)=>{let s=n.getSources().get(e),a=n.getTargets().get(i);if(!s||!a)return!1;let l=s.sidebar.removeSectionById(t);return!!l&&(A(l,e,t,s.label,i,a.panel,o,r),u(),!0)},f=e=>{let t=s.get(e);if(!t)return;let i=n.getSources().get(t.sourceId),o=n.getTargets().get(t.targetId);if(!i||!o)return;let a=e.isHidden;o.panel.removeSectionWidget(e),i.sidebar.reinsertSection(e),s.delete(e);let l=i.sidebar.getSections().find(e=>e.id===t.sectionId);l&&(l.titleNode.classList.add("jp-movable-section"),r.set(l.titleNode,{sourceId:t.sourceId,sectionId:t.sectionId}),a&&(l.widget.hide(),l.titleNode.classList.remove("lm-mod-expanded"),l.titleNode.setAttribute("aria-expanded","false"))),u()},b=(e,t)=>{for(let n of t.getSections())n.titleNode.classList.add("jp-movable-section"),r.set(n.titleNode,{sourceId:e,sectionId:n.id});t.sectionAdded.connect((t,n)=>{n.titleNode.classList.add("jp-movable-section"),r.set(n.titleNode,{sourceId:e,sectionId:n.id});let i=d.get(e);if(null==i?void 0:i.has(n.id)){let{targetId:t,collapsed:o,index:r}=i.get(n.id);i.delete(n.id),0===i.size&&d.delete(e),C(e,n.id,t,o,r)}})},v=(t,n,i)=>{e.contextMenu.addItem({command:c.moveSectionTo,args:{targetId:t,targetLabel:n},selector:".jp-movable-section",rank:10}),i.accordionPanel&&i.sections.length>0&&g(i.accordionPanel)};for(let[t,{sidebar:i}]of(e.commands.addCommand(c.moveSectionTo,{label:e=>{var t;return o.__("Move to %1",null!=(t=e.targetLabel)?t:"")},describedBy:{args:{type:"object",properties:{targetId:{type:"string"},targetLabel:{type:"string"}}}},isVisible:e=>{if(!h)return!1;let t=h.closest(".jp-movable-section");if(!t||t.classList.contains("jp-hosted-section"))return!1;let i=r.get(t);if(!i)return!1;let o=e.targetId;if(!o)return!1;let s=n.getSources().get(i.sourceId),a=n.getTargets().get(o);return!!s&&!!a&&s.sidebar!==a.panel},execute:e=>{let t=e.targetId;if(!t||!h)return;let n=h.closest(".jp-movable-section");if(!n||n.classList.contains("jp-hosted-section"))return;let i=r.get(n);i&&C(i.sourceId,i.sectionId,t)}}),e.commands.addCommand(c.moveSectionBack,{label:()=>{if(!h)return o.__("Move back");let e=h.closest(".jp-hosted-section");if(!e)return o.__("Move back");let t=a.get(e);if(!t)return o.__("Move back");let n=s.get(t);return n?o.__("Move back to %1",n.sourceLabel):o.__("Move back")},describedBy:{args:{type:"object",properties:{}}},isVisible:()=>{if(!h)return!1;let e=h.closest(".jp-hosted-section");return!!e&&a.has(e)},execute:()=>{if(!h)return;let e=h.closest(".jp-hosted-section");if(!e)return;let t=a.get(e);t&&f(t)}}),e.contextMenu.addItem({command:c.moveSectionBack,selector:".jp-hosted-section",rank:10}),n.getSources()))b(t,i);for(let[e,{label:t,panel:i}]of n.getTargets())v(e,t,i);n.sourcePanelRegistered.connect((e,{id:t,sidebar:n})=>{b(t,n)}),n.targetPanelRegistered.connect((e,{id:t,label:n,panel:i})=>{v(t,n,i)}),i&&i.fetch(ef).then(e=>{if(e)for(let[t,n]of Object.entries(e))for(let{sourceId:e,sectionId:i,collapsed:o,index:r}of n)C(e,i,t,null!=o&&o,r)||(d.has(e)||d.set(e,new Map),d.get(e).set(i,{targetId:t,collapsed:null!=o&&o,index:r}))})}},ev=12e3,e_=/(\?reset|&reset)(=[^&#]*)?($|&|#)/;!function(e){e.loadState="apputils:load-statedb",e.print="apputils:print",e.reset="apputils:reset",e.resetOnLoad="apputils:reset-on-load",e.runFirstEnabled="apputils:run-first-enabled",e.runAllEnabled="apputils:run-all-enabled",e.toggleHeader="apputils:toggle-header",e.displayShortcuts="apputils:display-shortcuts"}(h||(h={}));let ey={id:"@jupyterlab/apputils-extension:palette",description:"Provides the command palette.",autoStart:!0,requires:[f.ITranslator],provides:p.ICommandPalette,optional:[A.ISettingRegistry],activate:(e,t,n)=>$.activate(e,t,n)},eE={id:"@jupyterlab/apputils-extension:palette-restorer",description:"Restores the command palette.",autoStart:!0,requires:[u.ILayoutRestorer],activate:(e,t)=>{$.restore(e,t)}},ew={id:"@jupyterlab/apputils-extension:resolver",description:"Provides the window name resolver.",autoStart:!0,provides:p.IWindowResolver,requires:[u.JupyterFrontEnd.IPaths,u.IRouter],activate:async(e,t,n)=>{let{hash:i,search:o}=n.current,r=m.URLExt.queryStringToObject(o||""),s=new p.WindowResolver,a=m.PageConfig.getOption("workspace"),l=m.PageConfig.getOption("treePath"),d="multiple-document"===m.PageConfig.getOption("mode")?"lab":"doc",c=a||m.PageConfig.defaultWorkspace,h=l?m.URLExt.join("tree",l):"";try{return await s.resolve(c),s}catch(e){return new Promise(()=>{let{base:e}=t.urls,o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",s=o[Math.floor(Math.random()*o.length)],a=m.URLExt.join(e,d,"workspaces",`auto-${s}`);a=h?m.URLExt.join(a,m.URLExt.encodeParts(h)):a,r.reset="1";let l=a+m.URLExt.objectToQueryString(r)+(i||"");n.navigate(l,{hard:!0})})}}},ej={id:"@jupyterlab/apputils-extension:splash",description:"Provides the splash screen.",autoStart:!0,requires:[f.ITranslator],provides:p.ISplashScreen,activate:(e,t)=>{let n,i=t.load("jupyterlab"),{commands:o,restored:r}=e,s=document.createElement("div"),a=document.createElement("div"),l=document.createElement("div");s.id="jupyterlab-splash",a.id="galaxy",l.id="main-logo",b.jupyterFaviconIcon.element({container:l,stylesheet:"splash"}),a.appendChild(l),["1","2","3"].forEach(e=>{let t=document.createElement("div"),n=document.createElement("div");t.id=`moon${e}`,t.className="moon orbit",n.id=`planet${e}`,n.className="planet",t.appendChild(n),a.appendChild(t)}),s.appendChild(a);let d=new y.Throttler(async()=>{if(!n){n=new p.Dialog({title:i.__("Loading…"),body:i.__(`The loading screen is taking a long time.
Would you like to clear the workspace or keep waiting?`),buttons:[p.Dialog.cancelButton({label:i.__("Keep Waiting")}),p.Dialog.warnButton({label:i.__("Clear Workspace")})]});try{let e=await n.launch();if(n.dispose(),n=null,e.button.accept&&o.hasCommand(h.reset))return o.execute(h.reset);requestAnimationFrame(()=>{d.invoke().catch(e=>void 0)})}catch(e){}}},{limit:ev,edge:"trailing"}),c=0;return{show:(e=!0)=>(s.classList.remove("splash-fade"),s.classList.toggle("light",e),s.classList.toggle("dark",!e),c++,document.body.appendChild(s),d.invoke().catch(e=>void 0),new _.DisposableDelegate(async()=>{await r,0==--c&&(d.stop(),n&&(n.dispose(),n=null),s.classList.add("splash-fade"),window.setTimeout(()=>{document.body.removeChild(s)},200))}))}}},ex={id:"@jupyterlab/apputils-extension:print",description:"Add the print capability",autoStart:!0,requires:[f.ITranslator],activate:(e,t)=>{var n;let i=t.load("jupyterlab");e.commands.addCommand(h.print,{label:i.__("Print…"),describedBy:{args:{type:"object",properties:{}}},isEnabled:()=>{let t=e.shell.currentWidget;return null!==p.Printing.getPrintFunction(t)},execute:async()=>{let t=e.shell.currentWidget,n=p.Printing.getPrintFunction(t);n&&await n()}}),null==(n=e.shell.currentChanged)||n.connect(()=>{e.commands.notifyCommandChanged(h.print)})}},eB={id:"@jupyterlab/apputils-extension:toggle-header",description:"Adds a command to display the main area widget content header.",autoStart:!0,requires:[f.ITranslator],optional:[p.ICommandPalette],activate:(e,t,n)=>{var i;let o=t.load("jupyterlab"),r=o.__("Main Area");e.commands.addCommand(h.toggleHeader,{label:o.__("Show Header Above Content"),describedBy:{args:{type:"object",properties:{}}},isEnabled:()=>e.shell.currentWidget instanceof p.MainAreaWidget&&!e.shell.currentWidget.contentHeader.isDisposed&&e.shell.currentWidget.contentHeader.widgets.length>0,isToggled:()=>{let t=e.shell.currentWidget;return t instanceof p.MainAreaWidget&&!t.contentHeader.isHidden},execute:async()=>{let t=e.shell.currentWidget;t instanceof p.MainAreaWidget&&t.contentHeader.setHidden(!t.contentHeader.isHidden)}}),null==(i=e.shell.currentChanged)||i.connect(()=>{e.commands.notifyCommandChanged(h.toggleHeader)}),n&&n.addItem({command:h.toggleHeader,category:r})}};async function eS(e){var t,n;let{workspace:i,db:o,name:r,currentWidget:s}=e,a=await o.toJSON(),l=null==(n=null==(t=a["layout-restorer:data"])?void 0:t.main)?void 0:n.current;if(void 0!==l&&(l.startsWith("notebook")||l.startsWith("editor"))){let e;e=(e=s instanceof g.DocumentWidget?m.PathExt.basename(s.context.path):m.PathExt.basename(decodeURIComponent(window.location.href))).length>15?e.slice(0,12).concat("…"):e;let t=i.length>15?i.slice(0,12).concat("…"):i,n=Object.keys(a).filter(e=>e.startsWith("notebook")||e.startsWith("editor")).length;document.title=`${e}${n>1?` (${n})`:""} - ${"default"===i?r:t}`}else document.title=`${m.PageConfig.getOption("appName")||"JupyterLab"}${"default"===i?"":` (${i})`}`}let eM={id:"@jupyterlab/apputils-extension:state",description:"Provides the application state. It is stored per workspaces.",autoStart:!0,provides:C.IStateDB,requires:[u.JupyterFrontEnd.IPaths,u.IRouter,f.ITranslator],optional:[p.IWindowResolver],activate:(e,t,n,i,o)=>{let r=i.load("jupyterlab");if(null===o)return new C.StateDB;let s=!1,{commands:a,name:l,serviceManager:d}=e,{workspaces:c}=d,u=o.name,p=new v.PromiseDelegate,g=new C.StateDB({transform:p.promise}),A=new y.Debouncer(async()=>{let e=u,t={id:e},n=await g.toJSON();await c.save(e,{data:n,metadata:t})});return g.changed.connect(()=>void A.invoke(),g),g.changed.connect(()=>{var t;return eS({workspace:u,db:g,name:l,currentWidget:null!=(t=e.shell.currentWidget)?t:void 0})}),a.addCommand(h.loadState,{label:r.__("Load state for the current workspace."),describedBy:{args:{type:"object",properties:{hash:{type:"string",description:r.__("The URL hash")},path:{type:"string",description:r.__("The URL path")},search:{type:"string",description:r.__("The URL search string containing query parameters")}}}},execute:async e=>{if(s)return;let{hash:t,path:i,search:o}=e,r=m.URLExt.queryStringToObject(o||""),a="string"==typeof r.clone?""===r.clone?m.PageConfig.defaultWorkspace:r.clone:null,l=a||u||null;if(null===l)return void console.error(`${h.loadState} cannot load null workspace.`);try{let e=await c.fetch(l);s||(s=!0,p.resolve({type:"overwrite",contents:e.data}))}catch({message:e}){console.warn(`Fetching workspace "${u}" failed.`,e),s||(s=!0,p.resolve({type:"cancel",contents:null}))}if(l===a){delete r.clone;let e=i+m.URLExt.objectToQueryString(r)+t,o=A.invoke().then(()=>n.stop);return o.then(()=>{n.navigate(e)}),o}await A.invoke()}}),a.addCommand(h.reset,{label:r.__("Reset Application State"),describedBy:{args:{type:"object",properties:{reload:{type:"boolean",description:r.__("Whether to reload the page after resetting")}}}},execute:async({reload:e})=>{await g.clear(),await A.invoke(),e&&n.reload()}}),a.addCommand(h.resetOnLoad,{label:r.__("Reset state when loading for the workspace."),describedBy:{args:{type:"object",properties:{hash:{type:"string",description:r.__("The URL hash")},path:{type:"string",description:r.__("The URL path")},search:{type:"string",description:r.__("The URL search string containing query parameters")}}}},execute:e=>{let{hash:t,path:i,search:o}=e,r=m.URLExt.queryStringToObject(o||""),a="reset"in r,l="clone"in r;if(!a)return;if(s)return n.reload();s=!0,p.resolve({type:"clear",contents:null}),delete r.reset;let d=i+m.URLExt.objectToQueryString(r)+t,c=g.clear().then(()=>A.invoke());return l?c.then(()=>{n.navigate(d,{hard:!0})}):c.then(()=>{n.navigate(d)}),c}}),n.register({command:h.loadState,pattern:/.?/,rank:30}),n.register({command:h.resetOnLoad,pattern:e_,rank:20}),g}},eI={id:"@jupyterlab/apputils-extension:sessionDialogs",description:"Provides the session context dialogs.",provides:p.ISessionContextDialogs,optional:[f.ITranslator,A.ISettingRegistry],autoStart:!0,activate:async(e,t,n)=>new p.SessionContextDialogs({translator:null!=t?t:f.nullTranslator,settingRegistry:null!=n?n:null})},ek={id:"@jupyterlab/apputils-extension:utilityCommands",description:"Adds meta commands to run set of other commands.",requires:[f.ITranslator],optional:[p.ICommandPalette],autoStart:!0,activate:(e,t,n)=>{let i=t.load("jupyterlab"),{commands:o}=e;if(o.addCommand(h.runFirstEnabled,{label:i.__("Run First Enabled Command"),describedBy:{args:{type:"object",properties:{commands:{type:"array",items:{type:"string"},description:i.__("Array of command IDs to attempt to run")},args:{description:i.__("Arguments to pass to the commands")}},required:["commands"]}},execute:t=>{let n=t.commands,i=t.args,o=Array.isArray(t);for(let t=0;t<n.length;t++){let r=n[t],s=o?i[t]:i;if(e.commands.isEnabled(r,s))return e.commands.execute(r,s)}}}),o.addCommand(h.runAllEnabled,{label:i.__("Run All Enabled Commands Passed as Args"),describedBy:{args:{type:"object",properties:{commands:{type:"array",items:{type:"string"},description:i.__("Array of command IDs to run")},args:{description:i.__("Arguments to pass to the commands")},errorIfNotEnabled:{type:"boolean",description:i.__("Whether to log an error if a command is not enabled")}}}},execute:async t=>{var n,i;let o=null!=(n=t.commands)?n:[],r=t.args,s=Array.isArray(t),a=null!=(i=t.errorIfNotEnabled)&&i;for(let t=0;t<o.length;t++){let n=o[t],i=s?r[t]:r;e.commands.isEnabled(n,i)?await e.commands.execute(n,i):a&&console.error(`${n} is not enabled.`)}},isEnabled:t=>{var n;let i=null!=(n=t.commands)?n:[],o=t.args,r=Array.isArray(t);return i.some((t,n)=>e.commands.isEnabled(t,r?o[n]:o))}}),o.addCommand(h.displayShortcuts,{label:i.__("Show Keyboard Shortcuts…"),caption:i.__("Show relevant keyboard shortcuts for the current active widget"),describedBy:{args:{type:"object",properties:{}}},execute:t=>{var n;let r=e.shell.currentWidget;if(!(null==r?void 0:r.node.contains(document.activeElement))&&r instanceof p.MainAreaWidget){let e=null!=(n=r.content.node)?n:null==r?void 0:r.node;null==e||e.focus()}return eC({commands:o,trans:i})}}),n){let e=i.__("Help");n.addItem({command:h.displayShortcuts,category:e})}}},eD={id:"@jupyterlab/apputils-extension:sanitizer",description:"Provides the HTML sanitizer.",autoStart:!0,provides:p.ISanitizer,requires:[A.ISettingRegistry],activate:(e,t)=>{let n=new p.Sanitizer,i=e=>{let t=e.get("allowedSchemes").composite,i=e.get("autolink").composite,o=e.get("allowNamedProperties").composite,r=e.get("allowCommandLinker").composite;t&&n.setAllowedSchemes(t),n.setAutolink(i),n.setAllowNamedProperties(o),n.setAllowCommandLinker(r)};return t.load("@jupyterlab/apputils-extension:sanitizer").then(e=>{i(e),e.changed.connect(i)}).catch(e=>{console.error("Failed to load sanitizer settings:",e)}),n}},eT={id:"@jupyterlab/apputils-extension:kernels-settings",description:"Reserves the name for kernel settings.",autoStart:!0,requires:[A.ISettingRegistry],optional:[E.IKernelManager],activate:async(e,t,n)=>{if(t.load(eT.id),null!==n&&"kernelInfoTimeout"in n){let e=await t.load(eT.id),i=()=>{n.kernelInfoTimeout=e.get("kernelInfoTimeout").composite};i(),e.changed.connect(i)}else console.warn("The kernel manager does not support the kernelInfoTimeout property.")}},eL=[eT,M,Q,k,D,Y,ey,eE,ex,ew,X,ee,eD,K,Z,eM,ej,eI,ei,eo,eB,{id:"@jupyterlab/apputils-extension:movable-section-registry",description:"Provides the movable section registry for panels that exchange moveable sections.",provides:p.IMovableSectionRegistry,activate:()=>new p.MovableSectionRegistry},er,ek,eh,eb]},15930(e,t,n){"use strict";n(82311),n(97777),n(82946),n(62971),n(45350),n(67474),n(67996);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(94559),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},45156(e,t,n){"use strict";n.r(t),n.d(t,{Clipboard:()=>a,Collapse:()=>f.Collapser,CommandLinker:()=>V,CommandToolbarButton:()=>f.CommandToolbarButton,CommandToolbarButtonComponent:()=>f.CommandToolbarButtonComponent,DOMUtils:()=>h,Dialog:()=>D,HoverBox:()=>f.HoverBox,ICommandPalette:()=>ej,IFrame:()=>f.IFrame,IKernelStatusModel:()=>ex,ILicensesClient:()=>eB,IMovableSectionRegistry:()=>eL,ISanitizer:()=>eI,ISessionContextDialogs:()=>eS,ISplashScreen:()=>ek,IThemeManager:()=>eM,IToolbarWidgetRegistry:()=>eT,IWindowResolver:()=>eD,InputDialog:()=>u,KernelStatus:()=>R,Licenses:()=>el,MainAreaWidget:()=>ec,MenuFactory:()=>m,ModalCommandPalette:()=>G,MovableSectionRegistry:()=>ew,Notification:()=>g,NotificationManager:()=>eh,Printing:()=>p,ReactWidget:()=>f.ReactWidget,RunningSessions:()=>em,Sanitizer:()=>ef,SemanticCommand:()=>eb,SessionContext:()=>T,SessionContextDialogs:()=>L,Spinner:()=>f.Spinner,Styling:()=>f.Styling,SystemClipboard:()=>l,ThemeManager:()=>eE,Toolbar:()=>eq,ToolbarButton:()=>f.ToolbarButton,ToolbarButtonComponent:()=>f.ToolbarButtonComponent,ToolbarWidgetRegistry:()=>eN,UseSignal:()=>f.UseSignal,VDomModel:()=>f.VDomModel,VDomRenderer:()=>f.VDomRenderer,WidgetTracker:()=>M,WindowResolver:()=>eV,addCommandToolbarButtonClass:()=>f.addCommandToolbarButtonClass,addToolbarButtonClass:()=>f.addToolbarButtonClass,createDefaultFactory:()=>eP,createToolbarFactory:()=>eU,setToolbar:()=>eY,showDialog:()=>I,showErrorMessage:()=>k,translateKernelStatuses:()=>P});var i,o,r,s,a,l,d,c,h,u,p,m,g,A,C,f=n(8989),b=n(2786),v=n(64001),_=n(60721),y=n.n(_),E=n(28951),w=n(65819),j=n(55187),x=n(20659),B=n(93771),S=n(99873);class M{constructor(e){this._currentChanged=new x.Signal(this),this._deferred=null,this._isDisposed=!1,this._widgetAdded=new x.Signal(this),this._widgetUpdated=new x.Signal(this);const t=this._focusTracker=new v.FocusTracker,n=this._pool=new S.RestorablePool(e);this.namespace=e.namespace,t.currentChanged.connect((e,t)=>{t.newValue!==this.currentWidget&&(n.current=t.newValue)},this),n.added.connect((e,t)=>{this._widgetAdded.emit(t)},this),n.currentChanged.connect((e,i)=>{if(null===i&&t.currentWidget){n.current=t.currentWidget;return}this.onCurrentChanged(i),this._currentChanged.emit(i)},this),n.updated.connect((e,t)=>{this._widgetUpdated.emit(t)},this)}get currentChanged(){return this._currentChanged}get currentWidget(){return this._pool.current||null}get restored(){return this._deferred?Promise.resolve():this._pool.restored}get size(){return this._pool.size}get widgetAdded(){return this._widgetAdded}get widgetUpdated(){return this._widgetUpdated}async add(e){this._focusTracker.add(e),await this._pool.add(e),this._focusTracker.activeWidget||(this._pool.current=e)}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this._pool.dispose(),this._focusTracker.dispose(),x.Signal.clearData(this))}find(e){return this._pool.find(e)}forEach(e){return this._pool.forEach(e)}filter(e){return this._pool.filter(e)}inject(e){return this._pool.inject(e)}has(e){return this._pool.has(e)}async restore(e){let t=this._deferred;return t?(this._deferred=null,this._pool.restore(t)):e?this._pool.restore(e):void console.warn("No options provided to restore the tracker.")}defer(e){this._deferred=e}async save(e){return this._pool.save(e)}onCurrentChanged(e){}}function I(e={}){return new D(e).launch()}function k(e,t,n){let o=D.translator.load("jupyterlab");n=null!=n?n:[D.cancelButton({label:o.__("Close")})],console.warn("Showing error:",t);let r="string"==typeof t?t:t.message,s=e+"----"+r,a=i.errorMessagePromiseCache.get(s);if(a)return a;{let t=I({title:e,body:r,buttons:n}).then(()=>{i.errorMessagePromiseCache.delete(s)},e=>{throw i.errorMessagePromiseCache.delete(s),e});return i.errorMessagePromiseCache.set(s,t),t}}class D extends v.Widget{constructor(e={}){const t=document.createElement("dialog");t.ariaModal="true",super({node:t}),this._hasValidationErrors=!1,this._ready=new j.PromiseDelegate,this._focusNodeSelector="",this.addClass("jp-Dialog"),this.addClass("jp-ThemedContainer");const n=i.handleOptions(e),o=n.renderer;if(this._host=n.host,this._defaultButton=n.defaultButton,this._buttons=n.buttons,this._hasClose=n.hasClose,this._buttonNodes=this._buttons.map(e=>o.createButtonNode(e)),this._checkboxNode=null,this._lastMouseDownInDialog=!1,n.checkbox){const{label:e="",caption:t="",checked:i=!1,className:r=""}=n.checkbox;this._checkboxNode=o.createCheckboxNode({label:e,caption:null!=t?t:e,checked:i,className:r})}const r=this.layout=new v.PanelLayout,s=new v.Panel;s.addClass("jp-Dialog-content"),"string"==typeof e.body&&(s.addClass("jp-Dialog-content-small"),t.ariaLabel=[n.title,e.body].join(" ")),r.addWidget(s),this._body=n.body;const a=o.createHeader(n.title,()=>this.reject(),e),l=o.createBody(n.body),d=o.createFooter(this._buttonNodes,this._checkboxNode);s.addWidget(a),s.addWidget(l),s.addWidget(d),this._bodyWidget=l,this._primary=this._buttonNodes[this._defaultButton],this._focusNodeSelector=e.focusNodeSelector,D.tracker.add(this)}get ready(){return this._ready.promise}dispose(){let e=this._promise;e&&(this._promise=null,e.reject(void 0),w.ArrayExt.removeFirstOf(i.launchQueue,e.promise)),super.dispose()}launch(){if(this._promise)return this._promise.promise;let e=this._promise=new j.PromiseDelegate,t=Promise.all(i.launchQueue);return i.launchQueue.push(this._promise.promise),t.then(()=>this._promise?(v.Widget.attach(this,this._host),e.promise):Promise.resolve({button:D.cancelButton(),isChecked:null,value:null}))}resolve(e){this._promise&&(void 0===e&&(e=this._defaultButton),this._resolve(this._buttons[e]))}reject(){this._promise&&this._resolve(D.cancelButton())}handleEvent(e){switch(e.type){case"keydown":this._evtKeydown(e);break;case"mousedown":this._evtMouseDown(e);break;case"click":this._evtClick(e);break;case"input":this._evtInput(e);break;case"focus":this._evtFocus(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onAfterAttach(e){let t=this.node;t.addEventListener("keydown",this,!0),t.addEventListener("contextmenu",this,!0),t.addEventListener("click",this,!0),document.addEventListener("mousedown",this,!0),document.addEventListener("focus",this,!0),document.addEventListener("input",this,!0),this._first=i.findFirstFocusable(this.node),this._original=document.activeElement;let n=()=>{var e;if(this._focusNodeSelector){let e=this.node.querySelector(".jp-Dialog-body"),t=null==e?void 0:e.querySelector(this._focusNodeSelector);t&&(this._primary=t)}null==(e=this._primary)||e.focus(),this._ready.resolve()};this._bodyWidget instanceof f.ReactWidget&&void 0!==this._bodyWidget.renderPromise?this._bodyWidget.renderPromise.then(()=>{n()}).catch(()=>{console.error("Error while loading Dialog's body")}):n()}onAfterDetach(e){let t=this.node;t.removeEventListener("keydown",this,!0),t.removeEventListener("contextmenu",this,!0),t.removeEventListener("click",this,!0),document.removeEventListener("focus",this,!0),document.removeEventListener("mousedown",this,!0),document.removeEventListener("input",this,!0),this._original.focus()}onCloseRequest(e){this._promise&&this.reject(),super.onCloseRequest(e)}_evtInput(e){this._checkValidation()}_checkValidation(){this._hasValidationErrors=!!this.node.querySelector(":invalid")||!!this.node.querySelector(".jp-mod-error");for(let e=0;e<this._buttons.length;e++)this._buttons[e].accept&&(this._buttonNodes[e].disabled=this._hasValidationErrors)}_evtClick(e){if(!this.node.getElementsByClassName("jp-Dialog-content")[0].contains(e.target)){e.stopPropagation(),e.preventDefault(),this._hasClose&&!this._lastMouseDownInDialog&&this.reject();return}for(let t of this._buttonNodes)if(t.contains(e.target)){let e=this._buttonNodes.indexOf(t);this.resolve(e)}}_evtKeydown(e){switch(e.key){case"Escape":e.stopPropagation(),e.preventDefault(),this._hasClose&&this.reject();break;case"ArrowLeft":{let t=document.activeElement;if(t instanceof HTMLButtonElement){let n=this._buttonNodes.indexOf(t)-1;n<0&&(n=this._buttonNodes.length-1);let i=this._buttonNodes[n];e.stopPropagation(),e.preventDefault(),i.focus()}break}case"ArrowRight":{let t=document.activeElement;if(t instanceof HTMLButtonElement){let n=this._buttonNodes.indexOf(t)+1;n==this._buttons.length&&(n=0);let i=this._buttonNodes[n];e.stopPropagation(),e.preventDefault(),i.focus()}break}case"Tab":{let t=this._buttonNodes[this._buttons.length-1];document.activeElement!==t||e.shiftKey||(e.stopPropagation(),e.preventDefault(),this._first.focus());break}case"Enter":{e.stopPropagation(),e.preventDefault();let t=document.activeElement;if(t instanceof HTMLButtonElement){let e=this._buttonNodes.indexOf(t);-1!==e&&this.resolve(e)}else if(!(t instanceof HTMLTextAreaElement)){let e=this._defaultButton;this.resolve(e)}}}}_evtFocus(e){var t,n;let i=e.target;this.node.contains(i)||(e.stopPropagation(),null==(n=null!=(t=this._primary)?t:this._buttonNodes[this._defaultButton])||n.focus())}_evtMouseDown(e){let t=this.node.getElementsByClassName("jp-Dialog-content")[0],n=e.target;this._lastMouseDownInDialog=t.contains(n)}_resolve(e){var t,n,o;if(this._hasValidationErrors&&e.accept)return;let r=this._promise;if(!r)return void this.dispose();this._promise=null,w.ArrayExt.removeFirstOf(i.launchQueue,r.promise);let s=this._body,a=null;if(e.accept&&s instanceof v.Widget&&"function"==typeof s.getValue)try{a=s.getValue()}catch(e){this.dispose(),r.reject(e);return}this.dispose(),r.resolve({button:e,isChecked:null!=(o=null==(n=null==(t=this._checkboxNode)?void 0:t.querySelector("input"))?void 0:n.checked)?o:null,value:a})}}!function(e){function t(t){t.accept=!1!==t.accept;let n=e.translator.load("jupyterlab"),i=t.accept?n.__("Ok"):n.__("Cancel");return{ariaLabel:t.ariaLabel||t.label||i,label:t.label||i,iconClass:t.iconClass||"",iconLabel:t.iconLabel||"",caption:t.caption||"",className:t.className||"",accept:t.accept,actions:t.actions||[],displayType:t.displayType||"default"}}function n(){e.tracker.forEach(e=>{e.dispose()})}e.translator=b.nullTranslator,e.createButton=t,e.cancelButton=function(e={}){return e.accept=!1,t(e)},e.okButton=function(e={}){return e.accept=!0,t(e)},e.warnButton=function(e={}){return e.displayType="warn",t(e)},e.flush=n;class i{createHeader(t,n=()=>{},i={}){let o,r=e=>{0===e.button&&(e.preventDefault(),n())},s=e=>{let{key:t}=e;("Enter"===t||" "===t)&&n()};if("string"==typeof t){let n=e.translator.load("jupyterlab");o=f.ReactWidget.create(_.createElement(_.Fragment,null,t,i.hasClose&&_.createElement(f.Button,{className:"jp-Dialog-close-button",onMouseDown:r,onKeyDown:s,title:n.__("Cancel"),minimal:!0},_.createElement(f.LabIcon.resolveReact,{icon:f.closeIcon,tag:"span"}))))}else o=f.ReactWidget.create(t);return o.addClass("jp-Dialog-header"),f.Styling.styleNode(o.node),o}createBody(e){let t,n=e=>{void 0!==e.renderPromise?e.renderPromise.then(()=>{f.Styling.styleNode(e.node)}).catch(()=>{console.error("Error while loading Dialog's body")}):f.Styling.styleNode(e.node)};return"string"==typeof e?(t=new v.Widget({node:document.createElement("span")})).node.textContent=e:e instanceof v.Widget?(t=e)instanceof f.ReactWidget?n(t):f.Styling.styleNode(t.node):(t=f.ReactWidget.create(e),B.MessageLoop.sendMessage(t,v.Widget.Msg.UpdateRequest),n(t)),t.addClass("jp-Dialog-body"),t}createFooter(e,t){let n=new v.Widget;n.addClass("jp-Dialog-footer"),t&&(n.node.appendChild(t),n.node.insertAdjacentHTML("beforeend",'<div class="jp-Dialog-spacer"></div>'));let i=document.createElement("div");for(let t of(i.classList.add("jp-Dialog-footerButtons"),e))i.appendChild(t);return n.node.appendChild(i),f.Styling.styleNode(n.node),n}createButtonNode(e){let t=document.createElement("button");return t.className=this.createItemClass(e),t.appendChild(this.renderIcon(e)),t.appendChild(this.renderLabel(e)),t}createCheckboxNode(e){let t=document.createElement("label");t.className="jp-Dialog-checkbox",e.className&&t.classList.add(e.className),t.title=e.caption,t.textContent=e.label;let n=document.createElement("input");return n.type="checkbox",n.checked=!!e.checked,t.insertAdjacentElement("afterbegin",n),t}createItemClass(e){let t="jp-Dialog-button";e.accept?t+=" jp-mod-accept":t+=" jp-mod-reject","warn"===e.displayType&&(t+=" jp-mod-warn");let n=e.className;return n&&(t+=` ${n}`),t}renderIcon(e){let t=document.createElement("div");return t.className=this.createIconClass(e),t.appendChild(document.createTextNode(e.iconLabel)),t}createIconClass(e){let t="jp-Dialog-buttonIcon",n=e.iconClass;return n?`${t} ${n}`:t}renderLabel(e){let t=document.createElement("div");return t.className="jp-Dialog-buttonLabel",t.title=e.caption,t.ariaLabel=e.ariaLabel,t.appendChild(document.createTextNode(e.label)),t}}e.Renderer=i,e.defaultRenderer=new i,e.tracker=new M({namespace:"@jupyterlab/apputils:Dialog"})}(D||(D={})),function(e){e.launchQueue=[],e.errorMessagePromiseCache=new Map,e.handleOptions=function(e={}){var t,n,i,o,r,s,a,l,d;let c=null!=(t=e.buttons)?t:[D.cancelButton(),D.okButton()];return{title:null!=(n=e.title)?n:"",body:null!=(i=e.body)?i:"",host:null!=(o=e.host)?o:document.body,checkbox:null!=(r=e.checkbox)?r:null,buttons:c,defaultButton:null!=(s=e.defaultButton)?s:c.length-1,renderer:null!=(a=e.renderer)?a:D.defaultRenderer,focusNodeSelector:null!=(l=e.focusNodeSelector)?l:"",hasClose:null==(d=e.hasClose)||d}},e.findFirstFocusable=function(e){let t="input,select,a[href],textarea,button,[tabindex]";return e.querySelectorAll(t)[0]}}(i||(i={}));class T{constructor(e){var t,n,i,o;this._path="",this._name="",this._type="",this._prevKernelName="",this._isDisposed=!1,this._disposed=new x.Signal(this),this._session=null,this._ready=new j.PromiseDelegate,this._initializing=!1,this._initStarted=new j.PromiseDelegate,this._initPromise=new j.PromiseDelegate,this._isReady=!1,this._isTerminating=!1,this._isRestarting=!1,this._kernelChanged=new x.Signal(this),this._preferenceChanged=new x.Signal(this),this._sessionChanged=new x.Signal(this),this._statusChanged=new x.Signal(this),this._connectionStatusChanged=new x.Signal(this),this._pendingInput=!1,this._iopubMessage=new x.Signal(this),this._unhandledMessage=new x.Signal(this),this._propertyChanged=new x.Signal(this),this._dialog=null,this._busyDisposable=null,this._pendingKernelName="",this._pendingSessionRequest="",this.kernelManager=e.kernelManager,this.sessionManager=e.sessionManager,this.specsManager=e.specsManager,this.translator=e.translator||b.nullTranslator,this._trans=this.translator.load("jupyterlab"),this._path=null!=(t=e.path)?t:j.UUID.uuid4(),this._type=null!=(n=e.type)?n:"",this._name=null!=(i=e.name)?i:"",this._setBusy=e.setBusy,this._kernelPreference=null!=(o=e.kernelPreference)?o:{}}get session(){var e;return null!=(e=this._session)?e:null}get path(){return this._path}get type(){return this._type}get name(){return this._name}get kernelChanged(){return this._kernelChanged}get sessionChanged(){return this._sessionChanged}get statusChanged(){return this._statusChanged}get pendingInput(){return this._pendingInput}get connectionStatusChanged(){return this._connectionStatusChanged}get iopubMessage(){return this._iopubMessage}get unhandledMessage(){return this._unhandledMessage}get propertyChanged(){return this._propertyChanged}get kernelPreference(){return this._kernelPreference}set kernelPreference(e){if(!j.JSONExt.deepEqual(e,this._kernelPreference)){let t=this._kernelPreference;this._kernelPreference=e,this._preferenceChanged.emit({name:"kernelPreference",oldValue:t,newValue:j.JSONExt.deepCopy(e)})}}get kernelPreferenceChanged(){return this._preferenceChanged}get isReady(){return this._isReady}get ready(){return this._ready.promise}get isTerminating(){return this._isTerminating}get isRestarting(){return this._isRestarting}get hasNoKernel(){return this.kernelDisplayName===this.noKernelName}get kernelDisplayName(){var e,t,n,i,o,r,s;let a=null==(e=this.session)?void 0:e.kernel;return this._pendingKernelName===this.noKernelName?this.noKernelName:this._pendingKernelName?null!=(i=null==(n=null==(t=this.specsManager.specs)?void 0:t.kernelspecs[this._pendingKernelName])?void 0:n.display_name)?i:this._pendingKernelName:a?null!=(s=null==(r=null==(o=this.specsManager.specs)?void 0:o.kernelspecs[a.name])?void 0:r.display_name)?s:a.name:this.noKernelName}get kernelDisplayStatus(){var e,t;let n=null==(e=this.session)?void 0:e.kernel;return this._isTerminating?"terminating":this._isRestarting?"restarting":this._pendingKernelName===this.noKernelName?"unknown":(n||!this._pendingKernelName)&&(n||this.isReady||!1===this.kernelPreference.canStart||!1===this.kernelPreference.shouldStart)?null!=(t=(null==n?void 0:n.connectionStatus)==="connected"?null==n?void 0:n.status:null==n?void 0:n.connectionStatus)?t:"unknown":"initializing"}get prevKernelName(){return this._prevKernelName}get isDisposed(){return this._isDisposed}get disposed(){return this._disposed}get noKernelName(){return this._trans.__("No Kernel")}dispose(){this._isDisposed||(this._isDisposed=!0,this._disposed.emit(),this._session&&(this.kernelPreference.shutdownOnDispose&&this.sessionManager.shutdown(this._session.id).catch(e=>{console.error(`Kernel not shut down ${e}`)}),this._session.dispose(),this._session=null),this._dialog&&this._dialog.dispose(),this._busyDisposable&&(this._busyDisposable.dispose(),this._busyDisposable=null),x.Signal.clearData(this))}async startKernel(){let e,t=this.kernelPreference;if(!t.autoStartDefault&&!1===t.shouldStart)return!0;if(t.id)e={id:t.id};else{let n=o.getDefaultKernel({specs:this.specsManager.specs,sessions:this.sessionManager.running(),preference:t});n&&(e={name:n})}if(e)try{return await this._changeKernel(e),!1}catch(e){}return!0}async restartKernel(){var e,t,n,i,o,r;let s=(null==(e=this.session)?void 0:e.kernel)||null;if(!this._isRestarting){this._isRestarting=!0,this._isReady=!1,this._statusChanged.emit("restarting");try{await (null==(n=null==(t=this.session)?void 0:t.kernel)?void 0:n.restart()),this._isReady=!0}catch(e){console.error(e)}this._isRestarting=!1,this._statusChanged.emit((null==(o=null==(i=this.session)?void 0:i.kernel)?void 0:o.status)||"unknown"),this._kernelChanged.emit({name:"kernel",oldValue:s,newValue:(null==(r=this.session)?void 0:r.kernel)||null})}}async changeKernel(e={}){if(this.isDisposed)throw Error("Disposed");return await this._initStarted.promise,this._changeKernel(e)}async shutdown(){if(!this.isDisposed&&this._initializing)return await this._initStarted.promise,this._pendingSessionRequest="",this._pendingKernelName=this.noKernelName,this._shutdownSession()}async initialize(){if(this._initializing)return this._initPromise.promise;this._initializing=!0;let e=await this._initialize();return e||(this._isReady=!0,this._ready.resolve(void 0)),this._pendingSessionRequest||this._initStarted.resolve(void 0),this._initPromise.resolve(e),e}async _initialize(){let e=this.sessionManager;if(await e.ready,await e.refreshRunning(),!1!==this.kernelPreference.shouldReuse){let t=(0,w.find)(e.running(),e=>e.path===this._path);if(t)try{let n=e.connectTo({model:t});this._handleNewSession(n)}catch(e){return this._handleSessionError(e),Promise.reject(e)}}return await this._startIfNecessary()}async _shutdownSession(){var e;let t=this._session,n=this._isTerminating,i=this._isReady;this._isTerminating=!0,this._isReady=!1,this._statusChanged.emit("terminating");try{await (null==t?void 0:t.shutdown()),this._isTerminating=!1,null==t||t.dispose(),this._session=null;let e=(null==t?void 0:t.kernel)||null;this._statusChanged.emit("unknown"),this._kernelChanged.emit({name:"kernel",oldValue:e,newValue:null}),this._sessionChanged.emit({name:"session",oldValue:t,newValue:null})}catch(r){this._isTerminating=n,this._isReady=i;let o=null==(e=null==t?void 0:t.kernel)?void 0:e.status;throw void 0===o?this._statusChanged.emit("unknown"):this._statusChanged.emit(o),r}}async _startIfNecessary(){var e;let t=this.kernelPreference;return!this.isDisposed&&(null==(e=this.session)||!e.kernel)&&!1!==t.shouldStart&&!1!==t.canStart&&this.startKernel()}async _changeKernel(e={}){if(e.name&&(this._pendingKernelName=e.name),this._session||this._kernelChanged.emit({name:"kernel",oldValue:null,newValue:null}),this._pendingSessionRequest||this._initStarted.resolve(void 0),this._session&&!this._isTerminating)try{return await this._session.changeKernel(e),this._session.kernel}catch(e){throw this._handleSessionError(e),e}let t=E.PathExt.dirname(this._path),n=this._pendingSessionRequest=E.PathExt.join(t,j.UUID.uuid4());try{this._statusChanged.emit("starting");let t=await this.sessionManager.startNew({path:n,type:this._type,name:this._name,kernel:e});if(this._pendingSessionRequest!==t.path)return await t.shutdown(),t.dispose(),null;return await t.setPath(this._path),await t.setName(this._name),this._session&&!this._isTerminating&&await this._shutdownSession(),this._handleNewSession(t)}catch(e){throw this._handleSessionError(e),e}}_handleNewSession(e){var t,n,i;if(this.isDisposed)throw Error("Disposed");return this._isReady||(this._isReady=!0,this._ready.resolve(void 0)),this._session&&this._session.dispose(),this._session=e,this._pendingKernelName="",e&&(this._prevKernelName=null!=(n=null==(t=e.kernel)?void 0:t.name)?n:"",e.disposed.connect(this._onSessionDisposed,this),e.propertyChanged.connect(this._onPropertyChanged,this),e.kernelChanged.connect(this._onKernelChanged,this),e.statusChanged.connect(this._onStatusChanged,this),e.connectionStatusChanged.connect(this._onConnectionStatusChanged,this),e.pendingInput.connect(this._onPendingInput,this),e.iopubMessage.connect(this._onIopubMessage,this),e.unhandledMessage.connect(this._onUnhandledMessage,this),e.path!==this._path&&this._onPropertyChanged(e,"path"),e.name!==this._name&&this._onPropertyChanged(e,"name"),e.type!==this._type&&this._onPropertyChanged(e,"type")),this._sessionChanged.emit({name:"session",oldValue:null,newValue:e}),this._kernelChanged.emit({oldValue:null,newValue:(null==e?void 0:e.kernel)||null,name:"kernel"}),this._statusChanged.emit((null==(i=null==e?void 0:e.kernel)?void 0:i.status)||"unknown"),(null==e?void 0:e.kernel)||null}async _handleSessionError(e){this._handleNewSession(null);let t="",n="";try{t=e.traceback,n=e.message}catch(e){}await this._displayKernelError(n,t)}async _displayKernelError(e,t){let n=_.createElement("div",null,e&&_.createElement("pre",null,e),t&&_.createElement("details",{className:"jp-mod-wide"},_.createElement("pre",null,t))),i=this._dialog=new D({title:this._trans.__("Error Starting Kernel"),body:n,buttons:[D.okButton()]});await i.launch(),this._dialog=null}_onSessionDisposed(){if(this._session){let e=this._session;this._session=null;let t=this._session;this._sessionChanged.emit({name:"session",oldValue:e,newValue:t})}}_onPropertyChanged(e,t){switch(t){case"path":this._path=e.path;break;case"name":this._name=e.name;break;case"type":this._type=e.type;break;default:throw Error(`unrecognized property ${t}`)}this._propertyChanged.emit(t)}_onKernelChanged(e,t){this._kernelChanged.emit(t)}_onStatusChanged(e,t){var n;if("dead"===t){let t=null==(n=e.kernel)?void 0:n.model;if(null==t?void 0:t.reason){let e=t.traceback||"";this._displayKernelError(t.reason,e)}}this._setBusy&&("busy"===t?this._busyDisposable||(this._busyDisposable=this._setBusy()):this._busyDisposable&&(this._busyDisposable.dispose(),this._busyDisposable=null)),this._statusChanged.emit(t)}_onConnectionStatusChanged(e,t){this._connectionStatusChanged.emit(t)}_onPendingInput(e,t){this._pendingInput=t}_onIopubMessage(e,t){"shutdown_reply"===t.header.msg_type&&this.session.kernel.removeInputGuard(),this._iopubMessage.emit(t)}_onUnhandledMessage(e,t){this._unhandledMessage.emit(t)}}!function(e){e.getDefaultKernel=function(e){let{preference:t}=e,{shouldStart:n}=t;return!1===n?null:o.getDefaultKernel(e)}}(T||(T={}));class L{constructor(e={}){var t;this._translator=null!=(t=e.translator)?t:b.nullTranslator,this._settingRegistry=e.settingRegistry||null}async selectKernel(e){if(e.isDisposed)return Promise.resolve();let t=this._translator,n=t.load("jupyterlab"),i=n.__("Cancel");e.hasNoKernel&&(i=e.kernelDisplayName);let r=[D.cancelButton({label:i}),D.okButton({label:n.__("Select"),ariaLabel:n.__("Select Kernel")})],s=e.kernelPreference.autoStartDefault,a="boolean"==typeof s,l=new D({title:n.__("Select Kernel"),body:o.createKernelSelector(e,t),buttons:r,checkbox:a?{label:n.__("Always start the preferred kernel"),caption:n.__("Remember my choice and always start the preferred kernel"),checked:s}:null}),d=await l.launch();if(e.isDisposed||!d.button.accept)return;a&&null!==d.isChecked&&(e.kernelPreference={...e.kernelPreference,autoStartDefault:d.isChecked});let c=d.value;if(null===c&&!e.hasNoKernel)return e.shutdown();c&&await e.changeKernel(c)}async restart(e,t){var n,i,o,r,s;let a=this._translator.load("jupyterlab");if(await e.initialize(),e.isDisposed)throw Error("session already disposed");let l=null==(n=e.session)?void 0:n.kernel;if(!l&&e.prevKernelName)return await e.changeKernel({name:e.prevKernelName}),!0;if(!l)throw Error("No kernel to restart");let d="@jupyterlab/apputils-extension:sessionDialogs",c=null!=(o=null==(i=e.kernelPreference)?void 0:i.skipKernelRestartDialog)&&o;if((null==(s=await (null==(r=this._settingRegistry)?void 0:r.get(d,"skipKernelRestartDialog")))?void 0:s.composite)||c)return await e.restartKernel(),!0;let h=D.warnButton({label:a.__("Restart"),ariaLabel:a.__("Confirm Kernel Restart")}),u=await I({title:a.__("Restart Kernel?"),body:a.__("Do you want to restart the kernel of %1? All variables will be lost.",e.name),buttons:[D.cancelButton({ariaLabel:a.__("Cancel Kernel Restart")}),h],checkbox:{label:a.__("Do not ask me again."),caption:a.__("If checked, the kernel will restart without confirmation prompt in the future; you can change this back in the settings.")}});return!l.isDisposed&&!!u.button.accept&&("boolean"==typeof u.isChecked&&!0==u.isChecked&&(e.kernelPreference={...e.kernelPreference,skipKernelRestartDialog:!0}),await (null==t?void 0:t.onBeforeRestart()),await e.restartKernel(),!0)}}!function(e){e.kernelOptions=function(e,t=null){var n,i,o,r,s,a,l;let d={disabled:!1,groups:[]},c=Array.from(null!=(i=null==(n=e.kernelManager)?void 0:n.running())?i:Array.from(e.sessionManager.running()).filter(e=>!!e.kernel).map(e=>e.kernel)),h=Array.from(null!=(o=e.sessionManager.running())?o:[]).reduce((e,t)=>{var n;return(null==(n=t.kernel)?void 0:n.id)&&(e[t.kernel.id]=t),e},{}),u={...e.kernelPreference,id:null==(s=null==(r=e.session)?void 0:r.kernel)?void 0:s.id},p=e.hasNoKernel?null:e.kernelDisplayName,m={default:"",kernelspecs:Object.create(null),...e.specsManager.specs},g=[],A=Object.create(null);for(let e in m.kernelspecs)g.push(m.kernelspecs[e]),A[e]=m.kernelspecs[e].language;g.sort((e,t)=>e.display_name.localeCompare(t.display_name));let C=(t=t||b.nullTranslator).load("jupyterlab"),f=u.language||A[u.name]||(u.id?A[null==(a=h[u.id])?void 0:a.name]:""),v={connectKernel:C.__("Connect to Existing Kernel"),startPreferred:C.__("Start %1 Kernel",f),startOther:C.__("Start Kernel"),connectToPreferred:C.__("Connect to Existing %1 Kernel",f),connectToOther:C.__("Connect to Other Kernel"),noKernel:C.__("No Kernel"),startKernel:C.__("Start Kernel"),useNoKernel:C.__("Use No Kernel")},_={label:v.useNoKernel,options:[{text:v.noKernel,title:v.noKernel,value:JSON.stringify(null)}]},y=(e,t,n)=>{let i=n?n.name||E.PathExt.basename(n.path):e.name||C.__("Unknown Kernel");return{text:`${i} (${e.id.split("-")[0]})`,title:(n?`${C.__("Path: %1",n.path)}
`:"")+`${C.__("Name: %1",i)}
`+`${C.__("Kernel Name: %1",null!=t?t:e.name)}
`+`${C.__("Kernel Id: %1",e.id)}`,value:JSON.stringify({id:e.id})}},w=e=>({text:e.display_name,value:JSON.stringify({name:e.name})});if(!1===u.canStart)return d.disabled=!0,d.groups.push(_),d;if(f){let e={label:v.startPreferred,options:[]},t={label:v.startOther,options:[]},n={label:v.connectToPreferred,options:[]},i={label:v.connectToOther,options:[]};for(let n of g)(n.language===f?e:t).options.push(w(n));d.groups.push(e),d.groups.push(_),d.groups.push(t),c.map(e=>{var t,n;return{option:y(e,null!=(n=null==(t=m.kernelspecs[e.name])?void 0:t.display_name)?n:"",h[e.id]),language:A[e.name]}}).sort((e,t)=>e.option.text.localeCompare(t.option.text)).forEach(e=>(f===e.language?n:i).options.push(e.option)),n.options.length&&d.groups.push(n),i.options.length&&d.groups.push(i)}else d.groups.push({label:v.startKernel,options:g.map(e=>w(e))}),d.groups.push(_),d.groups.push({label:v.connectKernel,options:c.map(e=>{var t,n;return y(e,null!=(n=null==(t=m.kernelspecs[e.name])?void 0:t.display_name)?n:"",h[e.id])}).sort((e,t)=>e.text.localeCompare(t.text))});if(u.id||p||u.name)for(let e of d.groups)for(let t of e.options){let e=JSON.parse(t.value);if(e){if(u.id){if(u.id===e.id)return t.selected=!0,d;continue}if(p){if(p===(null==(l=m.kernelspecs[e.name])?void 0:l.display_name))return t.selected=!0,d;continue}if(u.name){if(u.name===e.name)return t.selected=!0,d;continue}}}return d}}(L||(L={})),function(e){e.createKernelSelector=(e,i)=>new t({node:n(e,i)});class t extends v.Widget{getValue(){return JSON.parse(this.node.querySelector("select").value)}}function n(e,t){let n=(t=t||b.nullTranslator).load("jupyterlab"),i=document.createElement("div"),o=document.createElement("label");o.textContent=`${n.__("Select kernel for:")} "${e.name}"`,i.appendChild(o);let r=document.createElement("select"),s=L.kernelOptions(e,t);for(let e of(s.disabled&&(r.disabled=!0),s.groups)){let{label:t,options:n}=e,i=document.createElement("optgroup");for(let{selected:e,text:o,title:r,value:s}of(i.label=t,n)){let t=document.createElement("option");e&&(t.selected=!0),r&&(t.title=r),t.text=o,t.value=s,i.appendChild(t)}r.appendChild(i)}return i.appendChild(r),i}e.getDefaultKernel=function(e){var t;let{specs:n,preference:i}=e,{name:o,language:r,canStart:s,autoStartDefault:a}=i;if(!n||!1===s)return null;let l=a?n.default:null;if(!o&&!r)return l;for(let e in n.kernelspecs)if(e===o)return o;if(!r)return l;let d=[];for(let e in n.kernelspecs)r===(null==(t=n.kernelspecs[e])?void 0:t.language)&&d.push(e);if(1===d.length){let e=d[0];return console.warn("No exact match found for "+e+", using kernel "+e+" that matches language="+r),e}return l}}(o||(o={}));var N=n(59057);function P(e){let t=(e=e||b.nullTranslator).load("jupyterlab");return{unknown:t.__("Unknown"),starting:t.__("Starting"),idle:t.__("Idle"),busy:t.__("Busy"),terminating:t.__("Terminating"),restarting:t.__("Restarting"),autorestarting:t.__("Autorestarting"),dead:t.__("Dead"),connected:t.__("Connected"),connecting:t.__("Connecting"),disconnected:t.__("Disconnected"),initializing:t.__("Initializing"),"":""}}function z(e){let t=(e.translator||b.nullTranslator).load("jupyterlab"),n="";return e.status&&(n=` | ${e.status}`),y().createElement(N.TextItem,{role:"button","aria-haspopup":!0,onClick:e.handleClick,onKeyDown:e.handleKeyDown,source:`${e.kernelName}${n}`,title:t.__("Change kernel for %1",e.activityName),tabIndex:0})}class R extends f.VDomRenderer{constructor(e,t){super(new R.Model(t)),this.translator=t||b.nullTranslator,this._handleClick=e.onClick,this._handleKeyDown=e.onKeyDown,this.addClass("jp-mod-highlighted")}render(){return null===this.model?null:y().createElement(z,{status:this.model.status,kernelName:this.model.kernelName,activityName:this.model.activityName,handleClick:this._handleClick,handleKeyDown:this._handleKeyDown,translator:this.translator})}}!function(e){class t extends f.VDomModel{constructor(e){super(),this._activityName="",this._kernelName="",this._kernelStatus="",this._sessionContext=null,e=null!=e?e:b.nullTranslator,this._trans=e.load("jupyterlab"),this._statusNames=P(e)}get kernelName(){return this._kernelName}get status(){return this._kernelStatus?this._statusNames[this._kernelStatus]:void 0}get activityName(){return this._activityName}set activityName(e){this._activityName!==e&&(this._activityName=e,this.stateChanged.emit())}get sessionContext(){return this._sessionContext}set sessionContext(e){var t,n,i,o;null==(t=this._sessionContext)||t.statusChanged.disconnect(this._onKernelStatusChanged,this),null==(n=this._sessionContext)||n.connectionStatusChanged.disconnect(this._onKernelStatusChanged,this),null==(i=this._sessionContext)||i.kernelChanged.disconnect(this._onKernelChanged,this);let r=this._getAllState();this._sessionContext=e,this._kernelStatus=null==e?void 0:e.kernelDisplayStatus,this._kernelName=null!=(o=null==e?void 0:e.kernelDisplayName)?o:this._trans.__("No Kernel"),null==e||e.statusChanged.connect(this._onKernelStatusChanged,this),null==e||e.connectionStatusChanged.connect(this._onKernelStatusChanged,this),null==e||e.kernelChanged.connect(this._onKernelChanged,this),this._triggerChange(r,this._getAllState())}_onKernelStatusChanged(){var e;this._kernelStatus=null==(e=this._sessionContext)?void 0:e.kernelDisplayStatus,this.stateChanged.emit(void 0)}_onKernelChanged(e,t){var n;let i=this._getAllState();this._kernelStatus=null==(n=this._sessionContext)?void 0:n.kernelDisplayStatus,this._kernelName=e.kernelDisplayName,this._triggerChange(i,this._getAllState())}_getAllState(){return[this._kernelName,this._kernelStatus,this._activityName]}_triggerChange(e,t){j.JSONExt.deepEqual(e,t)&&this.stateChanged.emit(void 0)}}e.Model=t}(R||(R={}));let O="jp-Toolbar-kernelName",F="jp-Toolbar-kernelStatus";function W(e){let t=D.translator.load("jupyterlab");return I({title:e.title,body:_.createElement("div",null,_.createElement("p",null,t.__("This document is not trusted. Running a command may execute arbitrary code.")),_.createElement("p",null,e.hasTrustCommand?t.__('Select "Trust" to trust this document, or "Run Once" to allow this command without trusting it.'):t.__("Only proceed if you trust the author of this content.")),_.createElement("p",null,_.createElement("strong",null,t.__("Command Label:"))," ",e.commandLabel),_.createElement("p",null,_.createElement("strong",null,t.__("Command ID:"))," ",e.command),_.createElement("div",null,_.createElement("strong",null,t.__("Arguments:")),_.createElement("pre",null,e.args))),buttons:e.buttons,defaultButton:e.defaultButton})}!function(e){e.createInterruptButton=function(e,t){let n=(t=t||b.nullTranslator).load("jupyterlab");return new f.ToolbarButton({icon:f.stopIcon,onClick:()=>{var t,n;null==(n=null==(t=e.session)?void 0:t.kernel)||n.interrupt()},tooltip:n.__("Interrupt the kernel")})},e.createRestartButton=function(e,t,n){let i=(n=null!=n?n:b.nullTranslator).load("jupyterlab");return new f.ToolbarButton({icon:f.refreshIcon,onClick:()=>{(null!=t?t:new L({translator:n})).restart(e)},tooltip:i.__("Restart the kernel")})},e.createKernelNameItem=function(e,t,n){let i=f.ReactWidget.create(_.createElement(s.KernelNameComponent,{sessionContext:e,dialogs:null!=t?t:new L({translator:n}),translator:n}));return i.addClass("jp-KernelName"),i},e.createKernelStatusItem=function(e,t){return new s.KernelStatus(e,t)}}(r||(r={})),function(e){e.KernelNameComponent=function(e){let t=(e.translator||b.nullTranslator).load("jupyterlab"),n=()=>{e.dialogs.selectKernel(e.sessionContext)};return _.createElement(f.UseSignal,{signal:e.sessionContext.kernelChanged,initialSender:e.sessionContext},e=>_.createElement(f.ToolbarButtonComponent,{className:O,onClick:n,tooltip:t.__("Switch kernel"),label:null==e?void 0:e.kernelDisplayName}))};class t extends v.Widget{constructor(e,t){super(),this.translator=t||b.nullTranslator,this._trans=this.translator.load("jupyterlab"),this.addClass(F),this._statusNames=P(this.translator),this._onStatusChanged(e),e.statusChanged.connect(this._onStatusChanged,this),e.connectionStatusChanged.connect(this._onStatusChanged,this)}_onStatusChanged(e){if(this.isDisposed)return;let t=e.kernelDisplayStatus,n={container:this.node,title:this._trans.__("Kernel %1",this._statusNames[t]||t),stylesheet:"toolbarButton",alignSelf:"normal",height:"24px"};f.LabIcon.remove(this.node),"busy"===t||"starting"===t||"terminating"===t||"restarting"===t||"initializing"===t?f.circleIcon.element(n):"connecting"===t||"disconnected"===t||"unknown"===t?f.offlineBoltIcon.element(n):f.circleEmptyIcon.element(n)}}e.KernelStatus=t}(s||(s={})),function(e){function t(e,n="copy"){let i=window.getSelection(),o=[];for(let e=0,t=(null==i?void 0:i.rangeCount)||0;e<t;++e)o[e]=i.getRangeAt(e).cloneRange();let r=document.createRange();if(r.selectNodeContents(e),i&&(i.removeAllRanges(),i.addRange(r)),document.execCommand(n),i=window.getSelection()){i.removeAllRanges();for(let e=0,t=o.length;e<t;++e)i.addRange(o[e])}}e.getInstance=function(){return d.instance},e.setInstance=function(e){d.instance=e},e.copyToSystem=function(e){let n=document.body,i=t=>{let o=t.clipboardData||window.clipboardData;"string"==typeof e?o.setData("text",e):e.types().map(t=>{o.setData(t,e.getData(t))}),t.preventDefault(),n.removeEventListener("copy",i)};n.addEventListener("copy",i),t(n)},e.generateEvent=t,e.showPasteUnavailableDialog=function(e){I({title:e.__("Paste Unavailable"),body:e.__("Due to browser security restrictions, pasting from the context menu may not be supported.\n\nPlease use Ctrl + V (or ⌘ + V on macOS) instead."),buttons:[D.okButton({label:e.__("OK")})]})}}(a||(a={})),function(e){e.getInstance=function(){return d.systemInstance}}(l||(l={})),function(e){let t="application/vnd.jupyter.cells";class n{constructor(e){this.fallback=e||new j.MimeData;const{systemClipboard:t}=this;t||console.warn("Clipboard API not available")}clear(){this.fallback.clear()}async hasData(e){let t,{systemClipboard:n}=this;if(!n)return this.fallback.hasData(e);try{t=await n.readText()}catch(t){if(console.warn("Failed to read data from clipboard:",t),"NotAllowedError"===t.name)return this.fallback.hasData(e);return!1}try{return this.convertStringToData(e,t),!0}catch(e){return!1}}async getData(e){let{systemClipboard:t}=this;if(!t)return this.fallback.getData(e);try{let n=await t.readText();return this.convertStringToData(e,n)}catch(t){if(console.warn("Failed to read data from clipboard:",t),"NotAllowedError"===t.name)return this.fallback.getData(e);return null}}async setData(e,t){let{systemClipboard:n}=this;if(!n){this.fallback.clear(),this.fallback.setData(e,t);return}try{await n.writeText(this.convertDataToString(e,t))}catch(n){console.warn("Failed to write data to clipboard:",n),this.fallback.clear(),this.fallback.setData(e,t)}}convertDataToString(e,n){return e===t?JSON.stringify(n):(n||"").toString()}convertStringToData(e,n){return e===t?JSON.parse(n):n}get systemClipboard(){return navigator.clipboard}}e.instance=new j.MimeData,e.systemInstance=new n}(d||(d={}));let H="commandlinker-command",U="commandlinker-args",Y="trust-command";class V{constructor(e){this._isDisposed=!1,this._trustedBoundaries=new WeakMap,this._commands=e.commands,document.body.addEventListener("click",this)}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,document.body.removeEventListener("click",this))}connectNode(e,t,n){return e.setAttribute(`data-${H}`,t),void 0!==n&&e.setAttribute(`data-${U}`,JSON.stringify(n)),e}markTrusted(e){return this._trustedBoundaries.set(e,!0),e}unmarkTrusted(e){return this._trustedBoundaries.delete(e),e}disconnectNode(e){return e.removeAttribute(`data-${H}`),e.removeAttribute(`data-${U}`),e}handleEvent(e){"click"!==e.type||this._evtClick(e).catch(console.warn)}populateVNodeDataset(e,t){return void 0!==t?{[U]:JSON.stringify(t),[H]:e}:{[H]:e}}async _evtClick(e){let t=e.target;for(;t&&t.parentElement;){if(t.hasAttribute(`data-${H}`)){e.preventDefault();let n=t.getAttribute(`data-${H}`);if(!n)return;let i=t.getAttribute(`data-${U}`),o=j.JSONExt.emptyObject;if(i&&(o=JSON.parse(i)),!this._isTrusted(t)){let e=this._commands.label(n,o)||n,i=this._findTrustCommand(t),r=await this._requestTrust({args:o,command:n,label:e,trustCommand:i});if("cancel"===r)return;if("trust"===r&&i)try{let e=await this._commands.execute(i);if(!c.isTrustCommandResult(e)||!e.trusted)return}catch(e){console.error("Failed to execute trust command",e);return}}this._commands.execute(n,o);return}t=t.parentElement}}_isTrusted(e){let t=e;for(;t;){if(this._trustedBoundaries.has(t))return!0;t=t.parentElement}return!1}_findTrustCommand(e){var t,n;let i=null==(t=e.parentElement)?void 0:t.closest(`[data-${Y}]`);return null!=(n=null==i?void 0:i.getAttribute(`data-${Y}`))?n:null}async _requestTrust(e){let t=D.translator.load("jupyterlab"),n=JSON.stringify(e.args,null,2),i=[D.cancelButton({label:t.__("Cancel")}),D.okButton({label:e.trustCommand?t.__("Run Once"):t.__("Run"),actions:["run"]})];e.trustCommand&&i.push(D.warnButton({label:t.__("Trust"),accept:!1,actions:["trust"]}));let o=await W({args:n,buttons:i,command:e.command,commandLabel:e.label,hasTrustCommand:!!e.trustCommand,defaultButton:0,title:t.__("Run Command?")});return o.button.actions.includes("trust")?"trust":o.button.actions.includes("run")||o.button.accept?"run":"cancel"}}!function(e){e.isTrustCommandResult=function(e){return"object"==typeof e&&null!==e&&"trusted"in e&&"boolean"==typeof e.trusted}}(c||(c={}));let q="jp-SearchIconGroup";class G extends v.Panel{constructor(e){super(),this._options=e,this.addClass("jp-ModalCommandPalette"),this.addClass("jp-ThemedContainer"),this.id="modal-command-palette",this.palette=e.commandPalette,this._commandPalette.commands.commandExecuted.connect(()=>{this.isAttached&&this.isVisible&&this.hideAndReset()}),this.node.tabIndex=0}get palette(){return this._commandPalette}set palette(e){this._commandPalette=e,this.searchIconGroup||this._commandPalette.inputNode.insertAdjacentElement("afterend",this.createSearchIconGroup()),this.addWidget(e),this.hideAndReset()}attach(){v.Widget.attach(this,document.body)}detach(){v.Widget.detach(this)}hideAndReset(){var e,t;this.hide(),this._commandPalette.inputNode.value="",this._commandPalette.refresh(),null==(t=(e=this._options).restore)||t.call(e)}handleEvent(e){switch(e.type){case"keydown":this._evtKeydown(e);break;case"blur":this.node.contains(e.target)&&!this.node.contains(e.relatedTarget)&&(e.stopPropagation(),this.hideAndReset());break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}get searchIconGroup(){return this._commandPalette.node.getElementsByClassName(q)[0]}createSearchIconGroup(){let e=document.createElement("div");return e.classList.add(q),f.searchIcon.render(e),e}onAfterAttach(e){this.node.addEventListener("keydown",this,!0),this.node.addEventListener("contextmenu",this,!0)}onAfterDetach(e){this.node.removeEventListener("keydown",this,!0),this.node.removeEventListener("contextmenu",this,!0)}onBeforeHide(e){document.removeEventListener("blur",this,!0)}onAfterShow(e){document.addEventListener("blur",this,!0)}onActivateRequest(e){this.isAttached&&(this.show(),this._commandPalette.activate())}_evtKeydown(e){"Escape"===e.key&&(e.stopPropagation(),e.preventDefault(),this.hideAndReset())}}var $=n(53193);!function(e){function t(e,n=document){let i=n.activeElement;return!!(i&&e.contains(i)&&(i.matches(":read-write")||i.shadowRoot&&t(i.shadowRoot,i.shadowRoot)))}e.hitTestNodes=function(e,t,n){return w.ArrayExt.findFirstIndex(e,e=>$.ElementExt.hitTest(e,t,n))},e.findElement=function(e,t){return e.querySelector(`.${t}`)},e.findElements=function(e,t){return e.getElementsByClassName(t)},e.createDomID=function(){return`id-${j.UUID.uuid4()}`},e.hasActiveEditableElement=t}(h||(h={}));let J="jp-Input-Dialog",K="jp-Input-Boolean-Dialog";!function(e){e.getBoolean=function(e){return I({...e,body:new Q(e),buttons:[D.cancelButton({label:e.cancelLabel}),D.okButton({label:e.okLabel})],focusNodeSelector:"input"})},e.getNumber=function(e){return I({...e,body:new X(e),buttons:[D.cancelButton({label:e.cancelLabel}),D.okButton({label:e.okLabel})],focusNodeSelector:"input"})},e.getItem=function(e){return I({...e,body:new ei(e),buttons:[D.cancelButton({label:e.cancelLabel}),D.okButton({label:e.okLabel})],focusNodeSelector:e.editable?"input":"select"})},e.getMultipleItems=function(e){return I({...e,body:new eo(e),buttons:[D.cancelButton({label:e.cancelLabel}),D.okButton({label:e.okLabel})]})},e.getText=function(e){return I({...e,body:new et(e),buttons:[D.cancelButton({label:e.cancelLabel}),D.okButton({label:e.okLabel})],focusNodeSelector:"input"})},e.getPassword=function(e){return I({...e,body:new en(e),buttons:[D.cancelButton({label:e.cancelLabel}),D.okButton({label:e.okLabel})],focusNodeSelector:"input"})}}(u||(u={}));class Z extends v.Widget{constructor(e){if(super(),this.addClass(J),this._input=document.createElement("input"),this._input.classList.add("jp-mod-styled"),this._input.id="jp-dialog-input-id",void 0!==e.label){const t=document.createElement("label");t.textContent=e.label,t.htmlFor=this._input.id,this.node.appendChild(t)}const t=document.createElement("div");if(t.className="jp-InputDialog-inputWrapper",e.prefix){const n=document.createElement("span");n.className="jp-InputDialog-inputPrefix",n.textContent=e.prefix,n.ariaHidden="true",t.appendChild(n)}if(t.appendChild(this._input),e.suffix){const n=document.createElement("span");n.className="jp-InputDialog-inputSuffix",n.textContent=e.suffix,n.ariaHidden="true",t.appendChild(n)}this.node.appendChild(t)}}class Q extends Z{constructor(e){super(e),this.addClass(K),this._input.type="checkbox",this._input.checked=!!e.value}getValue(){return this._input.checked}}class X extends Z{constructor(e){super(e),this._input.type="number",this._input.value=e.value?e.value.toString():"0"}getValue(){return this._input.value?Number(this._input.value):NaN}}class ee extends Z{constructor(e){super(e),this._input.value=e.text?e.text:"",e.placeholder&&(this._input.placeholder=e.placeholder),e.pattern&&(this._input.pattern=e.pattern),e.required&&(this._input.required=e.required)}getValue(){return this._input.value}}class et extends ee{constructor(e){var t;super(e),this._input.type="text",this._initialSelectionRange=Math.min(this._input.value.length,Math.max(0,null!=(t=e.selectionRange)?t:this._input.value.length))}onAfterAttach(e){super.onAfterAttach(e),this._initialSelectionRange>0&&this._input.value&&this._input.setSelectionRange(0,this._initialSelectionRange)}}class en extends ee{constructor(e){super(e),this._input.type="password"}onAfterAttach(e){super.onAfterAttach(e),this._input.value&&this._input.select()}}class ei extends Z{constructor(e){let t;super(e),this._editable=e.editable||!1;let n=e.current||0;if("number"==typeof n&&(t=Math.max(0,Math.min(n,e.items.length-1)),n=""),this._list=document.createElement("select"),e.items.forEach((e,i)=>{let o=document.createElement("option");i===t&&(o.selected=!0,n=e),o.value=e,o.textContent=e,this._list.appendChild(o)}),e.editable){const t=document.createElement("datalist");t.id="input-dialog-items",t.appendChild(this._list),this._input.type="list",this._input.value=n,this._input.setAttribute("list",t.id),e.placeholder&&(this._input.placeholder=e.placeholder),this.node.appendChild(t)}else this._input.parentElement.replaceChild(this._list,this._input)}getValue(){return this._editable?this._input.value:this._list.value}}class eo extends Z{constructor(e){super(e);let t=e.defaults||[];this._list=document.createElement("select"),this._list.setAttribute("multiple",""),e.items.forEach(e=>{let t=document.createElement("option");t.value=e,t.textContent=e,this._list.appendChild(t)}),this._input.remove(),this.node.appendChild(this._list);const n=this._list.options;for(let e=0;e<n.length;e++){const i=n[e];t.includes(i.value)?i.selected=!0:i.selected=!1}}getValue(){let e=[];for(let t of this._list.options)t.selected&&!t.classList.contains("hidden")&&e.push(t.value||t.text);return e}}var er=n(53040),es=n(19953);let ea="jp-Licenses-Filters-title";class el extends v.SplitPanel{constructor(e){super(),this.addClass("jp-Licenses"),this.model=e.model,this.initLeftPanel(),this.initFilters(),this.initBundles(),this.initGrid(),this.initLicenseText(),this.setRelativeSizes([1,2,3]),this.model.initLicenses().then(()=>this._updateBundles()),this.model.trackerDataChanged.connect(()=>{this.title.label=this.model.title})}dispose(){this.isDisposed||(this._bundles.currentChanged.disconnect(this.onBundleSelected,this),this.model.dispose(),super.dispose())}initLeftPanel(){this._leftPanel=new v.Panel,this._leftPanel.addClass("jp-Licenses-FormArea"),this.addWidget(this._leftPanel),v.SplitPanel.setStretch(this._leftPanel,1)}initFilters(){this._filters=new el.Filters(this.model),v.SplitPanel.setStretch(this._filters,1),this._leftPanel.addWidget(this._filters)}initBundles(){this._bundles=new v.TabBar({orientation:"vertical",renderer:new el.BundleTabRenderer(this.model)}),this._bundles.addClass("jp-Licenses-Bundles"),v.SplitPanel.setStretch(this._bundles,1),this._leftPanel.addWidget(this._bundles),this._bundles.currentChanged.connect(this.onBundleSelected,this),this.model.stateChanged.connect(()=>this._bundles.update())}initGrid(){this._grid=new el.Grid(this.model),v.SplitPanel.setStretch(this._grid,1),this.addWidget(this._grid)}initLicenseText(){this._licenseText=new el.FullText(this.model),v.SplitPanel.setStretch(this._grid,1),this.addWidget(this._licenseText)}onBundleSelected(){var e;(null==(e=this._bundles.currentTitle)?void 0:e.label)&&(this.model.currentBundleName=this._bundles.currentTitle.label)}_updateBundles(){this._bundles.clearTabs();let e=0,{currentBundleName:t}=this.model,n=0;for(let i of this.model.bundleNames){let o=new v.Widget;o.title.label=i,i===t&&(n=e),this._bundles.insertTab(++e,o.title)}this._bundles.currentIndex=n}}!function(e){e.REPORT_FORMATS={markdown:{id:"markdown",title:"Markdown",icon:f.markdownIcon},csv:{id:"csv",title:"CSV",icon:f.spreadsheetIcon},json:{id:"json",title:"JSON",icon:f.jsonIcon}},e.DEFAULT_FORMAT="markdown";class t{constructor(e={}){var t;this._preferredLicensesUrl=e.licensesUrl,this._serverSettings=null!=(t=e.serverSettings)?t:er.ServerConnection.makeSettings()}async download(e){let t=`${this._licensesUrl}?format=${e.format}&download=1`,n=document.createElement("a");n.href=t,n.download="",document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(t)}async getBundles(){return(await er.ServerConnection.makeRequest(this._licensesUrl,{},this._serverSettings)).json()}get _licensesUrl(){var e;return null!=(e=this._preferredLicensesUrl)?e:E.URLExt.join(this._serverSettings.baseUrl,E.PageConfig.getOption("licensesUrl"))+"/"}}e.LicensesClient=t;class n extends f.VDomModel{constructor(e){super(),this._selectedPackageChanged=new x.Signal(this),this._trackerDataChanged=new x.Signal(this),this._currentPackageIndex=0,this._licensesReady=new j.PromiseDelegate,this._packageFilter={},this._trans=e.trans,this._client=e.client,e.currentBundleName&&(this._currentBundleName=e.currentBundleName),e.packageFilter&&(this._packageFilter=e.packageFilter),e.currentPackageIndex&&(this._currentPackageIndex=e.currentPackageIndex)}async initLicenses(){try{this._serverResponse=await this._client.getBundles(),this._licensesReady.resolve(),this.stateChanged.emit(void 0)}catch(e){this._licensesReady.reject(e)}}async download(e){return this._client.download(e)}get selectedPackageChanged(){return this._selectedPackageChanged}get trackerDataChanged(){return this._trackerDataChanged}get bundleNames(){var e;return Object.keys((null==(e=this._serverResponse)?void 0:e.bundles)||{})}get currentBundleName(){return this._currentBundleName?this._currentBundleName:this.bundleNames.length?this.bundleNames[0]:null}set currentBundleName(e){this._currentBundleName!==e&&(this._currentBundleName=e,this.stateChanged.emit(void 0),this._trackerDataChanged.emit(void 0))}get licensesReady(){return this._licensesReady.promise}get bundles(){var e;return(null==(e=this._serverResponse)?void 0:e.bundles)||{}}get currentPackageIndex(){return this._currentPackageIndex}set currentPackageIndex(e){this._currentPackageIndex!==e&&(this._currentPackageIndex=e,this._selectedPackageChanged.emit(void 0),this.stateChanged.emit(void 0),this._trackerDataChanged.emit(void 0))}get currentPackage(){var e;return this.currentBundleName&&this.bundles&&null!=this._currentPackageIndex?this.getFilteredPackages((null==(e=this.bundles[this.currentBundleName])?void 0:e.packages)||[])[this._currentPackageIndex]:null}get trans(){return this._trans}get title(){return`${this._currentBundleName||""} ${this._trans.__("Licenses")}`.trim()}get packageFilter(){return this._packageFilter}set packageFilter(e){this._packageFilter=e,this.stateChanged.emit(void 0),this._trackerDataChanged.emit(void 0)}getFilteredPackages(e){let t=[],n=Object.entries(this._packageFilter).filter(([e,t])=>t&&`${t}`.trim().length).map(([e,t])=>[e,`${t}`.toLowerCase().trim().split(" ")]);for(let i of e){let e=0;for(let[t,o]of n){let n=0,r=`${i[t]}`.toLowerCase();for(let e of o)r.includes(e)&&(n+=1);n&&(e+=1)}e===n.length&&t.push(i)}return Object.values(t)}}e.Model=n;class i extends f.VDomRenderer{constructor(e){super(e),this.renderFilter=e=>{let t=this.model.packageFilter[e]||"";return _.createElement("input",{type:"text",name:e,defaultValue:t,className:"jp-mod-styled",onInput:this.onFilterInput})},this.onFilterInput=e=>{let{name:t,value:n}=e.currentTarget;this.model.packageFilter={...this.model.packageFilter,[t]:n}},this.addClass("jp-Licenses-Filters"),this.addClass("jp-RenderedHTMLCommon")}render(){let{trans:e}=this.model;return _.createElement("div",null,_.createElement("label",null,_.createElement("strong",{className:ea},e.__("Filter Licenses By"))),_.createElement("ul",null,_.createElement("li",null,_.createElement("label",null,e.__("Package")),this.renderFilter("name")),_.createElement("li",null,_.createElement("label",null,e.__("Version")),this.renderFilter("versionInfo")),_.createElement("li",null,_.createElement("label",null,e.__("License")),this.renderFilter("licenseId"))),_.createElement("label",null,_.createElement("strong",{className:ea},e.__("Distributions"))))}}e.Filters=i;class o extends v.TabBar.Renderer{constructor(e){super(),this.closeIconSelector=".lm-TabBar-tabCloseIcon",this.model=e}renderTab(e){let t=e.title.caption,n=this.createTabKey(e),i=this.createTabStyle(e),o=this.createTabClass(e),r=this.createTabDataset(e);return es.h.li({key:n,className:o,title:t,style:i,dataset:r},this.renderIcon(e),this.renderLabel(e),this.renderCountBadge(e))}renderCountBadge(e){let t=e.title.label,{bundles:n}=this.model,i=this.model.getFilteredPackages((n&&t?n[t].packages:[])||[]);return es.h.label({},`${i.length}`)}}e.BundleTabRenderer=o;class r extends f.VDomRenderer{constructor(e){super(e),this.renderRow=(e,t)=>{let n=t===this.model.currentPackageIndex,i=()=>this.model.currentPackageIndex=t;return _.createElement("tr",{key:e.name,className:n?"jp-mod-selected":"",onClick:i},_.createElement("td",null,_.createElement("input",{type:"radio",name:"show-package-license",value:t,onChange:i,checked:n})),_.createElement("th",null,e.name),_.createElement("td",null,_.createElement("code",null,e.versionInfo)),_.createElement("td",null,_.createElement("code",null,e.licenseId)))},this.addClass("jp-Licenses-Grid"),this.addClass("jp-RenderedHTMLCommon")}render(){var e;let{bundles:t,currentBundleName:n,trans:i}=this.model,o=this.model.getFilteredPackages(t&&n&&(null==(e=t[n])?void 0:e.packages)||[]);return o.length?_.createElement("form",null,_.createElement("table",null,_.createElement("thead",null,_.createElement("tr",null,_.createElement("td",null),_.createElement("th",null,i.__("Package")),_.createElement("th",null,i.__("Version")),_.createElement("th",null,i.__("License")))),_.createElement("tbody",null,o.map(this.renderRow)))):_.createElement("blockquote",null,_.createElement("em",null,i.__("No Packages found")))}}e.Grid=r;class s extends f.VDomRenderer{constructor(e){super(e),this.addClass("jp-Licenses-Text"),this.addClass("jp-RenderedHTMLCommon"),this.addClass("jp-RenderedMarkdown")}render(){let{currentPackage:e,trans:t}=this.model,n="",i=t.__("No Package selected"),o="";if(e){let{name:r,versionInfo:s,licenseId:a,extractedText:l}=e;n=`${r} v${s}`,i=`${t.__("License")}: ${a||t.__("No License ID found")}`,o=l||t.__("No License Text found")}return[_.createElement("h1",{key:"h1"},n),_.createElement("blockquote",{key:"quote"},_.createElement("em",null,i)),_.createElement("code",{key:"code"},o)]}}e.FullText=s}(el||(el={})),function(e){function t(t){return"object"==typeof t&&!!t&&e.symbol in t}function n(n){return t(n)?n[e.symbol]():null}async function i(e){let t="string"==typeof e,n=o(),i=window.document.body;i.appendChild(n),t?(n.srcdoc=e,await s(n)):(n.src="about:blank",await s(n),r(n,e));let d=a();l(n.contentWindow),await d,i.removeChild(n)}function o(){let e=window.document.createElement("iframe");e.setAttribute("sandbox","allow-modals allow-same-origin");let t="visibility:hidden;width:0;height:0;position:absolute;z-index:-9999;bottom:0;";return e.setAttribute("style",t),e.setAttribute("width","0"),e.setAttribute("height","0"),e}function r(e,t){e.contentDocument.body.appendChild(t.cloneNode(!0)),e.contentDocument.close()}function s(e){return new Promise(t=>{e.onload=()=>t()})}function a(){return new Promise(e=>{let t=()=>{document.removeEventListener("mousemove",t,!0),document.removeEventListener("mousedown",t,!0),document.removeEventListener("keydown",t,!0),e()};document.addEventListener("mousemove",t,!0),document.addEventListener("mousedown",t,!0),document.addEventListener("keydown",t,!0)})}function l(e){e.document.execCommand("print",!1)||e.print()}e.symbol=Symbol("printable"),e.isPrintable=t,e.getPrintFunction=n,e.printWidget=function(e){return i(e.node)},e.printURL=async function(e,t){let n=null!=t?t:er.ServerConnection.makeSettings();return i(await (await er.ServerConnection.makeRequest(e,{},n)).text())}}(p||(p={}));let ed=!0;class ec extends v.Widget{constructor(e){super(e),this._changeGuard=!1,this._spinner=new f.Spinner,this._isRevealed=!1,this._evtMouseDown=()=>{this.node.contains(document.activeElement)||this._focusContent()},this.addClass("jp-MainAreaWidget"),this.addClass("jp-MainAreaWidget-ContainStrict"),this.id=h.createDomID();const t=(e.translator||b.nullTranslator).load("jupyterlab"),n=this._content=e.content;n.node.setAttribute("role","region"),n.node.setAttribute("aria-label",t.__("main area content"));const i=this._toolbar=e.toolbar||new f.ReactiveToolbar({noFocusOnClick:!0});i.node.setAttribute("role","toolbar"),i.node.setAttribute("aria-label",t.__("main area toolbar"));const o=this._contentHeader=e.contentHeader||new v.BoxPanel({direction:"top-to-bottom",spacing:0}),r=this.layout=new v.BoxLayout({spacing:0});r.direction="top-to-bottom",v.BoxLayout.setStretch(i,0),v.BoxLayout.setStretch(o,0),v.BoxLayout.setStretch(n,1),r.addWidget(i),r.addWidget(o),r.addWidget(n),n.id||(n.id=h.createDomID()),n.node.tabIndex=-1,this._updateTitle(),n.title.changed.connect(this._updateTitle,this),this.title.closable=!0,this.title.changed.connect(this._updateContentTitle,this),e.reveal?(this.node.appendChild(this._spinner.node),this._revealed=e.reveal.then(()=>{if(n.isDisposed)return void this.dispose();n.disposed.connect(()=>this.dispose());let e=document.activeElement===this._spinner.node;this._disposeSpinner(),this._isRevealed=!0,e&&this._focusContent()}).catch(e=>{let t=new v.Widget;t.addClass("jp-MainAreaWidget-error");let o=document.createElement("pre");throw o.textContent=String(e),t.node.appendChild(o),v.BoxLayout.setStretch(t,1),this._disposeSpinner(),n.dispose(),this._content=null,i.dispose(),this._toolbar=null,r.addWidget(t),this._isRevealed=!0,t})):(this._spinner.dispose(),this.removeClass("jp-MainAreaWidget-ContainStrict"),n.disposed.connect(()=>this.dispose()),this._isRevealed=!0,this._revealed=Promise.resolve(void 0))}[p.symbol](){return this._content?p.getPrintFunction(this._content):null}get content(){return this._content}get toolbar(){return this._toolbar}get contentHeader(){return this._contentHeader}get isRevealed(){return this._isRevealed}get revealed(){return this._revealed}onActivateRequest(e){this._isRevealed?this._focusContent():this._spinner.node.focus()}onAfterAttach(e){super.onAfterAttach(e),this.node.addEventListener("mousedown",this._evtMouseDown,ed)}onBeforeDetach(e){this.node.removeEventListener("mousedown",this._evtMouseDown,ed),super.onBeforeDetach(e)}onCloseRequest(e){this.dispose()}onUpdateRequest(e){this._content&&B.MessageLoop.sendMessage(this._content,e)}_disposeSpinner(){this.node.removeChild(this._spinner.node),this._spinner.dispose(),this.removeClass("jp-MainAreaWidget-ContainStrict")}_updateTitle(){if(this._changeGuard||!this.content)return;this._changeGuard=!0;let e=this.content;this.title.label=e.title.label,this.title.mnemonic=e.title.mnemonic,this.title.icon=e.title.icon,this.title.iconClass=e.title.iconClass,this.title.iconLabel=e.title.iconLabel,this.title.caption=e.title.caption,this.title.className=e.title.className,this.title.dataset=e.title.dataset,this._changeGuard=!1}_updateContentTitle(){if(this._changeGuard||!this.content)return;this._changeGuard=!0;let e=this.content;e.title.label=this.title.label,e.title.mnemonic=this.title.mnemonic,e.title.icon=this.title.icon,e.title.iconClass=this.title.iconClass,e.title.iconLabel=this.title.iconLabel,e.title.caption=this.title.caption,e.title.className=this.title.className,e.title.dataset=this.title.dataset,this._changeGuard=!1}_focusContent(){this.content&&(this.content.node.contains(document.activeElement)||this.content.node.focus(),this.content.activate())}}!function(e){function t(e,t){var i,o;let r=t(e);return r.id=e.id,r.title.label||(r.title.label=null!=(i=e.label)?i:E.Text.titleCase(r.id.trim())),e.icon&&(r.title.icon=f.LabIcon.resolve({icon:e.icon})),void 0!==e.mnemonic&&(r.title.mnemonic=e.mnemonic),null==(o=e.items)||o.filter(e=>!e.disabled).sort((e,t)=>{var n,i;return(null!=(n=e.rank)?n:1/0)-(null!=(i=t.rank)?i:1/0)}).map(e=>{n(e,r,t)}),r}function n(e,n,i){let{submenu:o,...r}=e;n.addItem({...r,submenu:o?t(o,i):null})}function i(e,t,o){var r;e.disabled?t.dispose():null==(r=e.items)||r.forEach(e=>{var r,s;let a=null==t?void 0:t.items.find((t,n)=>{var i,o,r;return t.type===e.type&&t.command===(null!=(i=e.command)?i:"")&&(null==(o=t.submenu)?void 0:o.id)===(null==(r=e.submenu)?void 0:r.id)});if(a&&"separator"!==e.type)if(e.disabled)t.removeItem(a);else switch(null!=(r=e.type)?r:"command"){case"command":e.command&&!j.JSONExt.deepEqual(a.args,null!=(s=e.args)?s:{})&&n(e,t,o);break;case"submenu":e.submenu&&i(e.submenu,a.submenu,o)}else n(e,t,o)})}e.createMenus=function(e,n){return e.filter(e=>!e.disabled).sort((e,t)=>{var n,i;return(null!=(n=e.rank)?n:1/0)-(null!=(i=t.rank)?i:1/0)}).map(e=>t(e,n))},e.addContextItem=function(e,n,i){let{submenu:o,...r}=e;n.addItem({...r,submenu:o?t(o,i):null})},e.updateMenus=function(e,n,o){let r=[];return n.forEach(n=>{let s=e.find(e=>e.id===n.id);s?i(n,s,o):n.disabled||r.push(t(n,o))}),e.push(...r),r}}(m||(m={}));class eh{constructor(){this._isDisposed=!1,this._queue=[],this._changed=new x.Signal(this)}get changed(){return this._changed}get count(){return this._queue.length}get isDisposed(){return this._isDisposed}get notifications(){return this._queue.slice()}dismiss(e){if(void 0===e){let e=this._queue.slice();for(let t of(this._queue.length=0,e))this._changed.emit({type:"removed",notification:t})}else{let t=this._queue.findIndex(t=>t.id===e);if(t>-1){let e=this._queue.splice(t,1)[0];this._changed.emit({type:"removed",notification:e})}}}dispose(){this._isDisposed||(this._isDisposed=!0,x.Signal.clearData(this))}has(e){return this._queue.findIndex(t=>t.id===e)>-1}notify(e,t,n){let i=Date.now(),{progress:o,...r}=n,s=Object.freeze({id:j.UUID.uuid4(),createdAt:i,modifiedAt:i,message:e,type:t,options:{autoClose:0,progress:"number"==typeof o?Math.min(Math.max(0,o),1):o,...r}});return this._queue.unshift(s),this._changed.emit({type:"added",notification:s}),s.id}update(e){let{id:t,message:n,actions:i,autoClose:o,data:r,progress:s,type:a}=e,l="number"==typeof s?Math.min(Math.max(0,s),1):s,d=this._queue.findIndex(e=>e.id===t);if(d>-1){let e=this._queue[d],t=Object.freeze({...e,message:null!=n?n:e.message,type:null!=a?a:e.type,options:{actions:null!=i?i:e.options.actions,autoClose:null!=o?o:e.options.autoClose,data:null!=r?r:e.options.data,progress:null!=l?l:e.options.progress},modifiedAt:Date.now()});return this._queue.splice(d,1),this._queue.unshift(t),this._changed.emit({type:"updated",notification:t}),!0}return!1}}!function(e){function t(t){e.manager.dismiss(t)}function n(t,i="default",o={}){return e.manager.notify(t,i,o)}function i(t,n={}){return e.manager.notify(t,"error",n)}function o(t,n={}){return e.manager.notify(t,"info",n)}function r(t,n){var i;let{pending:o,error:r,success:s}=n,a=e.manager.notify(o.message,"in-progress",null!=(i=o.options)?i:{});return t.then(t=>{var n,i,o;e.manager.update({id:a,message:s.message(t,null==(n=s.options)?void 0:n.data),type:"success",...s.options,data:null!=(o=null==(i=s.options)?void 0:i.data)?o:t})}).catch(t=>{var n,i,o;e.manager.update({id:a,message:r.message(t,null==(n=r.options)?void 0:n.data),type:"error",...r.options,data:null!=(o=null==(i=r.options)?void 0:i.data)?o:t})}),a}function s(t,n={}){return e.manager.notify(t,"success",n)}function a(t){return e.manager.update(t)}function l(t,n={}){return e.manager.notify(t,"warning",n)}e.manager=new eh,e.dismiss=t,e.emit=n,e.error=i,e.info=o,e.promise=r,e.success=s,e.update=a,e.warning=l}(g||(g={}));let eu=4;function ep(e){var t,n;let i=null==(t=e.showKernels)||t,o=null!=(n=e.showTerminals)?n:e.terminals>0;return y().createElement(N.GroupItem,{role:"button",tabIndex:0,spacing:eu,onClick:e.handleClick,onKeyDown:e.handleKeyDown,style:{cursor:"pointer"}},o?y().createElement(N.GroupItem,{spacing:eu},y().createElement(N.TextItem,{source:e.terminals}),y().createElement(f.terminalIcon.react,{verticalAlign:"middle",stylesheet:"statusBar"})):null,i?y().createElement(N.GroupItem,{spacing:eu},y().createElement(N.TextItem,{source:e.sessions}),y().createElement(f.kernelIcon.react,{verticalAlign:"middle",stylesheet:"statusBar"})):null)}class em extends f.VDomRenderer{constructor(e){super(new em.Model),this._serviceManager=e.serviceManager,this._handleClick=e.onClick,this._handleKeyDown=e.onKeyDown,this.translator=e.translator||b.nullTranslator,this._showKernels=e.showKernels,this._showTerminals=e.showTerminals,this._trans=this.translator.load("jupyterlab"),this._serviceManager.sessions.runningChanged.connect(this._onSessionsRunningChanged,this),this._serviceManager.terminals.runningChanged.connect(this._onTerminalsRunningChanged,this),this.addClass("jp-mod-highlighted")}render(){if(!this.model)return null;let e=this._trans.__("%1 Terminals, %2 Kernel sessions",this.model.terminals,this.model.sessions);return this.node.title=e,y().createElement(ep,{sessions:this.model.sessions,terminals:this.model.terminals,handleClick:this._handleClick,handleKeyDown:this._handleKeyDown,showKernels:this._showKernels,showTerminals:this._showTerminals})}dispose(){super.dispose(),this._serviceManager.sessions.runningChanged.disconnect(this._onSessionsRunningChanged,this),this._serviceManager.terminals.runningChanged.disconnect(this._onTerminalsRunningChanged,this)}_onSessionsRunningChanged(e,t){this.model.sessions=t.length}_onTerminalsRunningChanged(e,t){this.model.terminals=t.length}}!function(e){class t extends f.VDomModel{constructor(){super(...arguments),this._terminals=0,this._sessions=0}get sessions(){return this._sessions}set sessions(e){let t=this._sessions;this._sessions=e,t!==this._sessions&&this.stateChanged.emit(void 0)}get terminals(){return this._terminals}set terminals(e){let t=this._terminals;this._terminals=e,t!==this._terminals&&this.stateChanged.emit(void 0)}}e.Model=t}(em||(em={}));var eg=n(74728),eA=n.n(eg);class eC{static reg(e){return RegExp("^"+e+"$","i")}}eC.N={integer:"[+-]?[0-9]+",integer_pos:"[+]?[0-9]+",integer_zero_ff:"([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",integer_non_zero:"[+-]?([1-9][0-9]*)",integer_pos_non_zero:"[+]?([1-9][0-9]*)",number:"[+-]?([0-9]*[.])?[0-9]+(e-?[0-9]*)?",number_pos:"[+]?([0-9]*[.])?[0-9]+(e-?[0-9]*)?",number_zero_hundred:"[+]?(([0-9]|[1-9][0-9])([.][0-9]+)?|100)",number_zero_one:"[+]?(1([.][0]+)?|0?([.][0-9]+)?)"},eC._B={angle:`(${eC.N.number}(deg|rad|grad|turn)|0)`,frequency:`${eC.N.number}(Hz|kHz)`,ident:String.raw`-?([_a-z]|[\xA0-\xFF]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])([_a-z0-9-]|[\xA0-\xFF]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*`,len_or_perc:`(0|${eC.N.number}(px|em|rem|ex|in|cm|mm|pt|pc|%))`,length:`(${eC.N.number}(px|em|rem|ex|in|cm|mm|pt|pc)|0)`,length_pos:`(${eC.N.number_pos}(px|em|rem|ex|in|cm|mm|pt|pc)|0)`,percentage:`${eC.N.number}%`,percentage_pos:`${eC.N.number_pos}%`,percentage_zero_hundred:`${eC.N.number_zero_hundred}%`,string:String.raw`(\"([^\n\r\f\\"]|\\\n|\r\n|\r|\f|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*\")|(\'([^\n\r\f\\']|\\\n|\r\n|\r|\f|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*\')`,time:`${eC.N.number}(s|ms)`,url:"url\\(.*?\\)",z_index:"[+-]?[0-9]{1,7}"},eC._B1={flex:`(${eC.N.number}|${eC._B.len_or_perc}|none|auto)\\s*((${eC.N.number}|${eC._B.len_or_perc}|auto)\\s*){0,2}`,fixed_breadth:`${eC._B.len_or_perc}`,grid_line:`auto|${eC._B.ident}|(${eC.N.integer_non_zero}(\\s+${eC._B.ident})?)|(span\\s+(${eC.N.integer_pos_non_zero}|${eC._B.ident}))`,line_names:String.raw`\[\s*${eC._B.ident}(\s+${eC._B.ident})*\s*\]`},eC._B2={inflexible_breadth:`${eC._B.len_or_perc}|auto|min-content|max-content`,track_breadth:`${eC._B.len_or_perc}|${eC._B1.flex}|auto|min-content|max-content`},eC._B3={fixed_size:`${eC._B1.fixed_breadth}|minmax\\(\\s*${eC._B2.inflexible_breadth}\\s*,\\s*${eC._B1.fixed_breadth}\\s*\\)|minmax\\(\\s*${eC._B1.fixed_breadth}\\s*,\\s*${eC._B2.track_breadth}\\s*\\)`,track_size:`${eC._B2.track_breadth}|minmax\\(\\s*${eC._B2.inflexible_breadth}\\s*,\\s*${eC._B2.track_breadth}\\s*\\)|fit-content\\(\\s*(${eC._B.len_or_perc}\\s*)*\\)`},eC._B4={name_repeat:`repeat\\(\\s*(${eC.N.integer_pos_non_zero}|auto-fill)\\s*,\\s*(${eC._B1.line_names})+\\s*\\)`,auto_repeat:`repeat\\(\\s*(auto-fill|auto-fit)\\s*,\\s*((${eC._B1.line_names}\\s+)?${eC._B3.fixed_size}\\s*)+(${eC._B1.line_names})?\\s*\\)`,fixed_repeat:`repeat\\(\\s*(${eC.N.integer_pos_non_zero})\\s*,\\s*((${eC._B1.line_names}\\s+)?${eC._B3.fixed_size}\\s*)+(${eC._B1.line_names})?\\s*\\)`},eC._B5={auto_track_list:`(${eC._B1.line_names}\\s*)?(${eC._B3.fixed_size}|${eC._B4.fixed_repeat})*(${eC._B1.line_names}\\s*)?${eC._B4.auto_repeat}(${eC._B1.line_names}\\s*)?(${eC._B3.fixed_size}|${eC._B4.fixed_repeat})*(${eC._B1.line_names}\\s*)?`,explicit_track_list:`(${eC._B1.line_names}\\s*)?(${eC._B3.track_size})+(${eC._B1.line_names}\\s*)?`,track_list:`(${eC._B1.line_names}\\s*)?(${eC._B3.track_size}|${eC._B4.name_repeat})+(${eC._B1.line_names}\\s*)?`},eC._B6={grid_template_rows:`none|${eC._B5.track_list}|${eC._B5.auto_track_list}|subgrid\\s*(${eC._B1.line_names})?`,grid_template_columns:`none|${eC._B5.track_list}|${eC._B5.auto_track_list}|subgrid\\s*(${eC._B1.line_names})?`},eC.B={...eC._B,...eC._B1,...eC._B2,...eC._B3,...eC._B4,...eC._B5,...eC._B6},eC.A={absolute_size:"xx-small|x-small|small|medium|large|x-large|xx-large",attachment:"scroll|fixed|local",bg_origin:"border-box|padding-box|content-box",border_style:"none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset",box:"border-box|padding-box|content-box",display_inside:"auto|block|table|flex|grid",display_outside:"block-level|inline-level|none|table-row-group|table-header-group|table-footer-group|table-row|table-cell|table-column-group|table-column|table-caption",ending_shape:"circle|ellipse",generic_family:"serif|sans-serif|cursive|fantasy|monospace",generic_voice:"male|female|child",relative_size:"smaller|larger",repeat_style:"repeat-x|repeat-y|((?:repeat|space|round|no-repeat)(?:\\s*(?:repeat|space|round|no-repeat))?)",side_or_corner:"(left|right)?\\s*(top|bottom)?",single_animation_direction:"normal|reverse|alternate|alternate-reverse",single_animation_fill_mode:"none|forwards|backwards|both",single_animation_play_state:"running|paused"},eC._COLOR={hex:"\\#(0x)?[0-9a-f]+",name:"aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|transparent|violet|wheat|white|whitesmoke|yellow|yellowgreen",rgb:String.raw`rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)`,rgba:String.raw`rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(${eC.N.integer_zero_ff}|${eC.N.number_zero_one}|${eC.B.percentage_zero_hundred})\s*\)`},eC._C={alpha:`${eC.N.integer_zero_ff}|${eC.N.number_zero_one}|${eC.B.percentage_zero_hundred}`,alphavalue:eC.N.number_zero_one,bg_position:`((${eC.B.len_or_perc}|left|center|right|top|bottom)\\s*){1,4}`,bg_size:`(${eC.B.length_pos}|${eC.B.percentage}|auto){1,2}|cover|contain`,border_width:`thin|medium|thick|${eC.B.length}`,bottom:`${eC.B.length}|auto`,color:`${eC._COLOR.hex}|${eC._COLOR.rgb}|${eC._COLOR.rgba}|${eC._COLOR.name}`,color_stop_length:`(${eC.B.len_or_perc}\\s*){1,2}`,linear_color_hint:`${eC.B.len_or_perc}`,family_name:`${eC.B.string}|(${eC.B.ident}\\s*)+`,image_decl:eC.B.url,left:`${eC.B.length}|auto`,loose_quotable_words:`(${eC.B.ident})+`,margin_width:`${eC.B.len_or_perc}|auto`,padding_width:`${eC.B.length_pos}|${eC.B.percentage_pos}`,page_url:eC.B.url,position:`((${eC.B.len_or_perc}|left|center|right|top|bottom)\\s*){1,4}`,right:`${eC.B.length}|auto`,shadow:"",size:`closest-side|farthest-side|closest-corner|farthest-corner|${eC.B.length}|(${eC.B.len_or_perc})\\s+(${eC.B.len_or_perc})`,top:`${eC.B.length}|auto`},eC._C1={image_list:`image\\(\\s*(${eC.B.url})*\\s*(${eC.B.url}|${eC._C.color})\\s*\\)`,linear_color_stop:`(${eC._C.color})(\\s*${eC._C.color_stop_length})?`,shadow:`((${eC._C.color})\\s+((${eC.B.length})\\s*){2,4}(s+inset)?)|((inset\\s+)?((${eC.B.length})\\s*){2,4}\\s*(${eC._C.color})?)`},eC._C2={color_stop_list:`((${eC._C1.linear_color_stop})(\\s*(${eC._C.linear_color_hint}))?\\s*,\\s*)+(${eC._C1.linear_color_stop})`,shape:`rect\\(\\s*(${eC._C.top})\\s*,\\s*(${eC._C.right})\\s*,\\s*(${eC._C.bottom})\\s*,\\s*(${eC._C.left})\\s*\\)`},eC._C3={linear_gradient:`linear-gradient\\((((${eC.B.angle})|to\\s+(${eC.A.side_or_corner}))\\s*,\\s*)?\\s*(${eC._C2.color_stop_list})\\s*\\)`,radial_gradient:`radial-gradient\\(((((${eC.A.ending_shape})|(${eC._C.size}))\\s*)*\\s*(at\\s+${eC._C.position})?\\s*,\\s*)?\\s*(${eC._C2.color_stop_list})\\s*\\)`},eC._C4={image:`${eC.B.url}|${eC._C3.linear_gradient}|${eC._C3.radial_gradient}|${eC._C1.image_list}`,bg_image:`(${eC.B.url}|${eC._C3.linear_gradient}|${eC._C3.radial_gradient}|${eC._C1.image_list})|none`},eC.C={...eC._C,...eC._C1,...eC._C2,...eC._C3,...eC._C4},eC.AP={baseline_position:"baseline|first baseline|last baseline",border_collapse:"collapse|separate",box:"normal|none|contents",box_sizing:"content-box|padding-box|border-box",caption_side:"top|bottom",clear:"none|left|right|both",content_position:"start|end|center|flex-start|flex-end",content_distribution:"stretch|space-between|space-around|space-evenly",direction:"ltr|rtl",empty_cells:"show|hide",flex_direction:"row|row-reverse|column|column-reverse",flex_wrap:"nowrap|wrap|wrap-reverse",float:"left|right|none",font_stretch:"normal|wider|narrower|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded",font_style:"normal|italic|oblique",font_variant:"normal|small-caps",font_weight:"normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900",list_style_position:"inside|outside",gap:"normal",grid_auto_flow:"row|column|dense|row dense|column dense",justify_content:"start|end|center|stretch|space-between|space-around|space-evenly",justify_items:"start|end|center|stretch",justify_self:"auto|start|end|center|stretch",list_style_type:"disc|circle|square|decimal|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-latin|upper-latin|armenian|georgian|lower-alpha|upper-alpha|none",overflow:"visible|hidden|scroll|auto",overflow_position:"unsafe|safe",overflow_wrap:"normal|break-word",overflow_x:"visible|hidden|scroll|auto|no-display|no-content",page_break_after:"auto|always|avoid|left|right",page_break_before:"auto|always|avoid|left|right",page_break_inside:"avoid|auto",place_content:"(center|start|end|space-between|space-around|space-evenly|stretch){1,2}",place_items:"(center|start|end|baseline|stretch){1,2}",place_self:"(center|start|end|baseline|stretch){1,2}",position:"static|relative|absolute",resize:"none|both|horizontal|vertical",speak:"normal|none|spell-out",self_position:"center|start|end|self-start|self-end|flex-start|flex-end",speak_header:"once|always",speak_numeral:"digits|continuous",speak_punctuation:"code|none",table_layout:"auto|fixed",text_align:"left|right|center|justify",text_decoration:"none|((underline|overline|line-through|blink)\\s*)+",text_transform:"capitalize|uppercase|lowercase|none",text_wrap:"normal|unrestricted|none|suppress",unicode_bidi:"normal|embed|bidi-override",visibility:"visible|hidden|collapse",white_space:"normal|pre|nowrap|pre-wrap|pre-line",word_break:"normal|keep-all|break-all"},eC._CP={align_content:`normal|${eC.AP.baseline_position}|${eC.AP.content_distribution}|${eC.AP.overflow_position}|${eC.AP.content_position}`,align_items:`normal|stretch|${eC.AP.baseline_position}|(${eC.AP.overflow_position})?\\s*${eC.AP.self_position}|anchor-center`,align_self:`auto|normal|stretch|${eC.AP.baseline_position}|(${eC.AP.overflow_position})?\\s*${eC.AP.self_position}|anchor-center`,background_attachment:`${eC.A.attachment}(,\\s*${eC.A.attachment})*`,background_color:eC.C.color,background_origin:`${eC.A.box}(,\\s*${eC.A.box})*`,background_repeat:`${eC.A.repeat_style}(,\\s*${eC.A.repeat_style})*`,border:`((${eC.C.border_width}|${eC.A.border_style}|${eC.C.color})\\s*){1,3}`,border_radius:`((${eC.B.len_or_perc})\\s*){1,4}(\\/\\s*((${eC.B.len_or_perc})\\s*){1,4})?`,border_spacing:`${eC.B.length}\\s*(${eC.B.length})?`,border_top_color:eC.C.color,border_top_style:eC.A.border_style,border_width:`((${eC.C.border_width})\\s*){1,4}`,color:eC.C.color,cursor:`(${eC.B.url}(\\s*,\\s*)?)*(auto|crosshair|default|pointer|move|e-resize|ne-resize|nw-resize|n-resize|se-resize|sw-resize|s-resize|w-resize|text|wait|help|progress|all-scroll|col-resize|hand|no-drop|not-allowed|row-resize|vertical-text)`,display:`inline|block|list-item|run-in|inline-list-item|inline-block|table|inline-table|table-cell|table-caption|flex|inline-flex|grid|inline-grid|${eC.A.display_inside}|${eC.A.display_outside}|inherit|inline-box|inline-stack`,display_outside:eC.A.display_outside,elevation:`${eC.B.angle}|below|level|above|higher|lower`,font_family:`(${eC.C.family_name}|${eC.A.generic_family})(,\\s*(${eC.C.family_name}|${eC.A.generic_family}))*`,height:`${eC.B.length}|${eC.B.percentage}|auto`,letter_spacing:`normal|${eC.B.length}`,list_style_image:`${eC.C.image}|none`,margin_right:eC.C.margin_width,max_height:`${eC.B.length_pos}|${eC.B.percentage_pos}|none|auto`,min_height:`${eC.B.length_pos}|${eC.B.percentage_pos}|auto`,opacity:eC.C.alphavalue,outline_color:`${eC.C.color}|invert`,outline_width:eC.C.border_width,padding:`((${eC.C.padding_width})\\s*){1,4}`,padding_top:eC.C.padding_width,pitch_range:eC.N.number,right:`${eC.B.length}|${eC.B.percentage}|auto`,stress:eC.N.number,text_indent:`${eC.B.length}|${eC.B.percentage}`,text_shadow:`none|${eC.C.shadow}(,\\s*(${eC.C.shadow}))*`,volume:`${eC.N.number_pos}|${eC.B.percentage_pos}|silent|x-soft|soft|medium|loud|x-loud`,word_wrap:eC.AP.overflow_wrap,zoom:`normal|${eC.N.number_pos}|${eC.B.percentage_pos}`,backface_visibility:eC.AP.visibility,background_clip:`${eC.A.box}(,\\s*(${eC.A.box}))*`,background_position:`${eC.C.bg_position}(,\\s*(${eC.C.bg_position}))*`,border_bottom_color:eC.C.color,border_bottom_style:eC.A.border_style,border_color:`((${eC.C.color})\\s*){1,4}`,border_left_color:eC.C.color,border_right_color:eC.C.color,border_style:`((${eC.A.border_style})\\s*){1,4}`,border_top_left_radius:`(${eC.B.length}|${eC.B.percentage})(\\s*(${eC.B.length}|${eC.B.percentage}))?`,border_top_width:eC.C.border_width,box_shadow:`none|${eC.C.shadow}(,\\s*(${eC.C.shadow}))*`,clip:`${eC.C.shape}|auto`,display_inside:eC.A.display_inside,font_size:`${eC.A.absolute_size}|${eC.A.relative_size}|${eC.B.length_pos}|${eC.B.percentage_pos}`,line_height:`normal|${eC.N.number_pos}|${eC.B.length_pos}|${eC.B.percentage_pos}`,margin_left:eC.C.margin_width,max_width:`${eC.B.length_pos}|${eC.B.percentage_pos}|none|auto`,outline_style:eC.A.border_style,padding_bottom:eC.C.padding_width,padding_right:eC.C.padding_width,perspective:`none|${eC.B.length}`,richness:eC.N.number,text_overflow:`((clip|ellipsis|${eC.B.string})\\s*){1,2}`,top:`${eC.B.length}|${eC.B.percentage}|auto`,width:`${eC.B.length_pos}|${eC.B.percentage_pos}|auto`,z_index:`auto|${eC.B.z_index}`,background:`(((${eC.C.bg_position}\\s*(\\/\\s*${eC.C.bg_size})?)|(${eC.A.repeat_style})|(${eC.A.attachment})|(${eC.A.bg_origin})|(${eC.C.bg_image})|(${eC.C.color}))\\s*)+`,background_size:`${eC.C.bg_size}(,\\s*${eC.C.bg_size})*`,border_bottom_left_radius:`(${eC.B.length}|${eC.B.percentage})(\\s*(${eC.B.length}|${eC.B.percentage}))?`,border_bottom_width:eC.C.border_width,border_left_style:eC.A.border_style,border_right_style:eC.A.border_style,border_top:`((${eC.C.border_width}|${eC.A.border_style}|${eC.C.color})\\s*){1,3}`,bottom:`${eC.B.len_or_perc}|auto`,list_style:`((${eC.AP.list_style_type}|${eC.AP.list_style_position}|${eC.C.image}|none})\\s*){1,3}`,margin_top:eC.C.margin_width,outline:`((${eC.C.color}|invert|${eC.A.border_style}|${eC.C.border_width})\\s*){1,3}`,overflow_y:eC.AP.overflow_x,pitch:`${eC.B.frequency}|x-low|low|medium|high|x-high`,vertical_align:`baseline|sub|super|top|text-top|middle|bottom|text-bottom|${eC.B.len_or_perc}`,word_spacing:`normal|${eC.B.length}`,background_image:`${eC.C.bg_image}(,\\s*${eC.C.bg_image})*`,border_bottom_right_radius:`(${eC.B.length}|${eC.B.percentage})(\\s*(${eC.B.length}|${eC.B.percentage}))?`,border_left_width:eC.C.border_width,border_right_width:eC.C.border_width,left:`${eC.B.len_or_perc}|auto`,margin_bottom:eC.C.margin_width,pause_after:`${eC.B.time}|${eC.B.percentage}`,speech_rate:`${eC.N.number}|x-slow|slow|medium|fast|x-fast|faster|slower`,transition_duration:`${eC.B.time}(,\\s*${eC.B.time})*`,border_bottom:`((${eC.C.border_width}|${eC.A.border_style}|${eC.C.color})\\s*){1,3}`,border_right:`((${eC.C.border_width}|${eC.A.border_style}|${eC.C.color})\\s*){1,3}`,margin:`((${eC.C.margin_width})\\s*){1,4}`,padding_left:eC.C.padding_width,border_left:`((${eC.C.border_width}|${eC.A.border_style}|${eC.C.color})\\s*){1,3}`,quotes:`(${eC.B.string}\\s*${eC.B.string})+|none`,border_top_right_radius:`(${eC.B.length}|${eC.B.percentage})(\\s*(${eC.B.length}|${eC.B.percentage}))?`,min_width:`${eC.B.length_pos}|${eC.B.percentage_pos}|auto`,flex_basis:`${eC.B.len_or_perc}|auto|content|max-content|min-content|fit-content\\(\\s*(${eC.B.len_or_perc}\\s*)*\\)`,flex_grow:eC.N.number_pos,flex_shrink:eC.N.number_pos,grid:`(${eC.B.string}|none|subgrid)\\s*(\\/\\s*(${eC.B.string}|none|subgrid))?`,grid_area:`${eC.B.ident}|auto|(${eC.N.integer}\\s*\\/\\s*${eC.N.integer}\\s*\\/\\s*${eC.N.integer}\\s*\\/\\s*${eC.N.integer})`,grid_auto_columns:`(${eC.B.track_size})+`,grid_auto_rows:`(${eC.B.track_size})+`,grid_column:`${eC.B.grid_line}(\\s*\\/\\s*${eC.B.grid_line})?`,grid_column_start:`${eC.B.grid_line}`,grid_column_end:`${eC.B.grid_line}`,grid_column_gap:`${eC.B.len_or_perc}|normal`,grid_gap:`(${eC.B.len_or_perc}|normal)(\\s*(${eC.B.len_or_perc}|normal))?`,grid_row:`${eC.B.grid_line}(\\s*\\/\\s*${eC.B.grid_line})?`,grid_row_start:`${eC.B.grid_line}`,grid_row_end:`${eC.B.grid_line}`,grid_row_gap:`${eC.B.len_or_perc}|normal`,grid_template:`none|(${eC.B.grid_template_rows}\\s*\\/\\s*${eC.B.grid_template_columns})|(${eC.B.line_names}\\s*)?(${eC.B.string}\\s*${eC.B.track_size}\\s*(${eC.B.line_names}\\s*)?)+\\s*(\\/\\s*${eC.B.explicit_track_list})?`,grid_template_areas:`none|(${eC.B.string})+`,grid_template_columns:`${eC.B.grid_template_columns}`,grid_template_rows:`${eC.B.grid_template_rows}`,row_gap:`${eC.B.len_or_perc}|normal`,column_gap:`${eC.B.len_or_perc}|normal`,gap:`(${eC.B.len_or_perc}|normal)(\\s*(${eC.B.len_or_perc}|normal))?`,order:eC.N.integer},eC._CP1={font:`(((((${eC.AP.font_style}|${eC.AP.font_variant}|${eC.AP.font_weight})\\s*){1,3})?\\s*(${eC._CP.font_size})\\s*(\\/\\s*(${eC._CP.line_height}))?\\s+(${eC._CP.font_family}))|caption|icon|menu|message-box|small-caption|status-bar)`},eC.CP={...eC._CP,...eC._CP1},eC.BORDER_COLLAPSE=eC.reg(eC.AP.border_collapse),eC.BOX=eC.reg(eC.AP.box),eC.BOX_SIZING=eC.reg(eC.AP.box_sizing),eC.CAPTION_SIDE=eC.reg(eC.AP.caption_side),eC.CLEAR=eC.reg(eC.AP.clear),eC.DIRECTION=eC.reg(eC.AP.direction),eC.EMPTY_CELLS=eC.reg(eC.AP.empty_cells),eC.FLOAT=eC.reg(eC.AP.float),eC.FONT_STRETCH=eC.reg(eC.AP.font_stretch),eC.FONT_STYLE=eC.reg(eC.AP.font_style),eC.FONT_VARIANT=eC.reg(eC.AP.font_variant),eC.FONT_WEIGHT=eC.reg(eC.AP.font_weight),eC.LIST_STYLE_POSITION=eC.reg(eC.AP.list_style_position),eC.LIST_STYLE_TYPE=eC.reg(eC.AP.list_style_type),eC.OVERFLOW=eC.reg(eC.AP.overflow),eC.OVERFLOW_WRAP=eC.reg(eC.AP.overflow_wrap),eC.OVERFLOW_X=eC.reg(eC.AP.overflow_x),eC.PAGE_BREAK_AFTER=eC.reg(eC.AP.page_break_after),eC.PAGE_BREAK_BEFORE=eC.reg(eC.AP.page_break_before),eC.PAGE_BREAK_INSIDE=eC.reg(eC.AP.page_break_inside),eC.POSITION=eC.reg(eC.AP.position),eC.RESIZE=eC.reg(eC.AP.resize),eC.SPEAK=eC.reg(eC.AP.speak),eC.SPEAK_HEADER=eC.reg(eC.AP.speak_header),eC.SPEAK_NUMERAL=eC.reg(eC.AP.speak_numeral),eC.SPEAK_PUNCTUATION=eC.reg(eC.AP.speak_punctuation),eC.TABLE_LAYOUT=eC.reg(eC.AP.table_layout),eC.TEXT_ALIGN=eC.reg(eC.AP.text_align),eC.TEXT_DECORATION=eC.reg(eC.AP.text_decoration),eC.TEXT_TRANSFORM=eC.reg(eC.AP.text_transform),eC.TEXT_WRAP=eC.reg(eC.AP.text_wrap),eC.UNICODE_BIDI=eC.reg(eC.AP.unicode_bidi),eC.VISIBILITY=eC.reg(eC.AP.visibility),eC.WHITE_SPACE=eC.reg(eC.AP.white_space),eC.WORD_BREAK=eC.reg(eC.AP.word_break),eC.BACKGROUND_ATTACHMENT=eC.reg(eC.CP.background_attachment),eC.BACKGROUND_COLOR=eC.reg(eC.CP.background_color),eC.BACKGROUND_ORIGIN=eC.reg(eC.CP.background_origin),eC.BACKGROUND_REPEAT=eC.reg(eC.CP.background_repeat),eC.BORDER=eC.reg(eC.CP.border),eC.BORDER_RADIUS=eC.reg(eC.CP.border_radius),eC.BORDER_SPACING=eC.reg(eC.CP.border_spacing),eC.BORDER_TOP_COLOR=eC.reg(eC.CP.border_top_color),eC.BORDER_TOP_STYLE=eC.reg(eC.CP.border_top_style),eC.BORDER_WIDTH=eC.reg(eC.CP.border_width),eC.COLOR=eC.reg(eC.CP.color),eC.CURSOR=eC.reg(eC.CP.cursor),eC.DISPLAY=eC.reg(eC.CP.display),eC.DISPLAY_OUTSIDE=eC.reg(eC.CP.display_outside),eC.ELEVATION=eC.reg(eC.CP.elevation),eC.FONT_FAMILY=eC.reg(eC.CP.font_family),eC.HEIGHT=eC.reg(eC.CP.height),eC.LETTER_SPACING=eC.reg(eC.CP.letter_spacing),eC.LIST_STYLE_IMAGE=eC.reg(eC.CP.list_style_image),eC.MARGIN_RIGHT=eC.reg(eC.CP.margin_right),eC.MAX_HEIGHT=eC.reg(eC.CP.max_height),eC.MIN_HEIGHT=eC.reg(eC.CP.min_height),eC.OPACITY=eC.reg(eC.CP.opacity),eC.OUTLINE_COLOR=eC.reg(eC.CP.outline_color),eC.OUTLINE_WIDTH=eC.reg(eC.CP.outline_width),eC.PADDING=eC.reg(eC.CP.padding),eC.PADDING_TOP=eC.reg(eC.CP.padding_top),eC.PITCH_RANGE=eC.reg(eC.CP.pitch_range),eC.RIGHT=eC.reg(eC.CP.right),eC.STRESS=eC.reg(eC.CP.stress),eC.TEXT_INDENT=eC.reg(eC.CP.text_indent),eC.TEXT_SHADOW=eC.reg(eC.CP.text_shadow),eC.VOLUME=eC.reg(eC.CP.volume),eC.WORD_WRAP=eC.reg(eC.CP.word_wrap),eC.ZOOM=eC.reg(eC.CP.zoom),eC.BACKFACE_VISIBILITY=eC.reg(eC.CP.backface_visibility),eC.BACKGROUND_CLIP=eC.reg(eC.CP.background_clip),eC.BACKGROUND_POSITION=eC.reg(eC.CP.background_position),eC.BORDER_BOTTOM_COLOR=eC.reg(eC.CP.border_bottom_color),eC.BORDER_BOTTOM_STYLE=eC.reg(eC.CP.border_bottom_style),eC.BORDER_COLOR=eC.reg(eC.CP.border_color),eC.BORDER_LEFT_COLOR=eC.reg(eC.CP.border_left_color),eC.BORDER_RIGHT_COLOR=eC.reg(eC.CP.border_right_color),eC.BORDER_STYLE=eC.reg(eC.CP.border_style),eC.BORDER_TOP_LEFT_RADIUS=eC.reg(eC.CP.border_top_left_radius),eC.BORDER_TOP_WIDTH=eC.reg(eC.CP.border_top_width),eC.BOX_SHADOW=eC.reg(eC.CP.box_shadow),eC.CLIP=eC.reg(eC.CP.clip),eC.DISPLAY_INSIDE=eC.reg(eC.CP.display_inside),eC.FONT_SIZE=eC.reg(eC.CP.font_size),eC.LINE_HEIGHT=eC.reg(eC.CP.line_height),eC.MARGIN_LEFT=eC.reg(eC.CP.margin_left),eC.MAX_WIDTH=eC.reg(eC.CP.max_width),eC.OUTLINE_STYLE=eC.reg(eC.CP.outline_style),eC.PADDING_BOTTOM=eC.reg(eC.CP.padding_bottom),eC.PADDING_RIGHT=eC.reg(eC.CP.padding_right),eC.PERSPECTIVE=eC.reg(eC.CP.perspective),eC.RICHNESS=eC.reg(eC.CP.richness),eC.TEXT_OVERFLOW=eC.reg(eC.CP.text_overflow),eC.TOP=eC.reg(eC.CP.top),eC.WIDTH=eC.reg(eC.CP.width),eC.Z_INDEX=eC.reg(eC.CP.z_index),eC.BACKGROUND=eC.reg(eC.CP.background),eC.BACKGROUND_SIZE=eC.reg(eC.CP.background_size),eC.BORDER_BOTTOM_LEFT_RADIUS=eC.reg(eC.CP.border_bottom_left_radius),eC.BORDER_BOTTOM_WIDTH=eC.reg(eC.CP.border_bottom_width),eC.BORDER_LEFT_STYLE=eC.reg(eC.CP.border_left_style),eC.BORDER_RIGHT_STYLE=eC.reg(eC.CP.border_right_style),eC.BORDER_TOP=eC.reg(eC.CP.border_top),eC.BOTTOM=eC.reg(eC.CP.bottom),eC.LIST_STYLE=eC.reg(eC.CP.list_style),eC.MARGIN_TOP=eC.reg(eC.CP.margin_top),eC.OUTLINE=eC.reg(eC.CP.outline),eC.OVERFLOW_Y=eC.reg(eC.CP.overflow_y),eC.PITCH=eC.reg(eC.CP.pitch),eC.VERTICAL_ALIGN=eC.reg(eC.CP.vertical_align),eC.WORD_SPACING=eC.reg(eC.CP.word_spacing),eC.BACKGROUND_IMAGE=eC.reg(eC.CP.background_image),eC.BORDER_BOTTOM_RIGHT_RADIUS=eC.reg(eC.CP.border_bottom_right_radius),eC.BORDER_LEFT_WIDTH=eC.reg(eC.CP.border_left_width),eC.BORDER_RIGHT_WIDTH=eC.reg(eC.CP.border_right_width),eC.LEFT=eC.reg(eC.CP.left),eC.MARGIN_BOTTOM=eC.reg(eC.CP.margin_bottom),eC.PAUSE_AFTER=eC.reg(eC.CP.pause_after),eC.SPEECH_RATE=eC.reg(eC.CP.speech_rate),eC.TRANSITION_DURATION=eC.reg(eC.CP.transition_duration),eC.BORDER_BOTTOM=eC.reg(eC.CP.border_bottom),eC.BORDER_RIGHT=eC.reg(eC.CP.border_right),eC.MARGIN=eC.reg(eC.CP.margin),eC.PADDING_LEFT=eC.reg(eC.CP.padding_left),eC.BORDER_LEFT=eC.reg(eC.CP.border_left),eC.FONT=eC.reg(eC.CP.font),eC.QUOTES=eC.reg(eC.CP.quotes),eC.BORDER_TOP_RIGHT_RADIUS=eC.reg(eC.CP.border_top_right_radius),eC.MIN_WIDTH=eC.reg(eC.CP.min_width),eC.ALIGN_CONTENT=eC.reg(eC.CP.align_content),eC.ALIGN_ITEMS=eC.reg(eC.CP.align_items),eC.ALIGN_SELF=eC.reg(eC.CP.align_self),eC.FLEX=eC.reg(eC.B.flex),eC.FLEX_BASIS=eC.reg(eC.CP.flex_basis),eC.FLEX_DIRECTION=eC.reg(eC.AP.flex_direction),eC.FLEX_GROW=eC.reg(eC.CP.flex_grow),eC.FLEX_SHRINK=eC.reg(eC.CP.flex_shrink),eC.FLEX_WRAP=eC.reg(eC.AP.flex_wrap),eC.JUSTIFY_CONTENT=eC.reg(eC.AP.justify_content),eC.JUSTIFY_ITEMS=eC.reg(eC.AP.justify_items),eC.JUSTIFY_SELF=eC.reg(eC.AP.justify_self),eC.ORDER=eC.reg(eC.CP.order),eC.GRID=eC.reg(eC.CP.grid),eC.GRID_AREA=eC.reg(eC.CP.grid_area),eC.GRID_AUTO_COLUMNS=eC.reg(eC.CP.grid_auto_columns),eC.GRID_AUTO_FLOW=eC.reg(eC.AP.grid_auto_flow),eC.GRID_AUTO_ROWS=eC.reg(eC.CP.grid_auto_rows),eC.GRID_COLUMN=eC.reg(eC.CP.grid_column),eC.GRID_COLUMN_END=eC.reg(eC.CP.grid_column_end),eC.GRID_COLUMN_GAP=eC.reg(eC.CP.grid_column_gap),eC.GRID_COLUMN_START=eC.reg(eC.CP.grid_column_start),eC.GRID_GAP=eC.reg(eC.CP.grid_gap),eC.GRID_ROW=eC.reg(eC.CP.grid_row),eC.GRID_ROW_END=eC.reg(eC.CP.grid_row_end),eC.GRID_ROW_GAP=eC.reg(eC.CP.grid_row_gap),eC.GRID_ROW_START=eC.reg(eC.CP.grid_row_start),eC.GRID_TEMPLATE=eC.reg(eC.CP.grid_template),eC.GRID_TEMPLATE_AREAS=eC.reg(eC.CP.grid_template_areas),eC.GRID_TEMPLATE_COLUMNS=eC.reg(eC.CP.grid_template_columns),eC.GRID_TEMPLATE_ROWS=eC.reg(eC.CP.grid_template_rows),eC.GAP=eC.reg(eC.CP.gap),eC.ROW_GAP=eC.reg(eC.CP.row_gap),eC.COLUMN_GAP=eC.reg(eC.CP.column_gap),eC.PLACE_CONTENT=eC.reg(eC.AP.place_content),eC.PLACE_ITEMS=eC.reg(eC.AP.place_items),eC.PLACE_SELF=eC.reg(eC.AP.place_self);class ef{constructor(){this._autolink=!0,this._allowNamedProperties=!1,this._allowCommandLinker=!0,this._generateOptions=()=>{let e=Array.isArray(this._customAllowedSchemes)?this._customAllowedSchemes:[...eA().defaults.allowedSchemes];return{allowedTags:["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blockquote","br","button","canvas","caption","center","cite","code","col","colgroup","colspan","command","data","datalist","dd","del","details","dfn","dir","div","dl","dt","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","img","input","ins","kbd","label","legend","li","map","mark","menu","meter","nav","nobr","ol","optgroup","option","output","p","pre","progress","q","rowspan","s","samp","section","select","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"],allowedAttributes:{"*":["class","data-jupyter-id","dir","draggable","hidden","id","inert","itemprop","itemref","itemscope","lang","spellcheck","style","title","translate"],a:["accesskey","coords","href","hreflang",...this._allowNamedProperties?["name"]:[],"rel","shape","tabindex","target","type"],area:["accesskey","alt","coords","href","nohref","shape","tabindex"],audio:["autoplay","controls","loop","mediagroup","muted","preload","src"],bdo:["dir"],blockquote:["cite"],br:["clear"],button:["accesskey",...this._allowCommandLinker?["data-commandlinker-args","data-commandlinker-command"]:[],"disabled",...this._allowNamedProperties?["name"]:[],"tabindex","type","value"],canvas:["height","width"],caption:["align"],col:["align","char","charoff","span","valign","width"],colgroup:["align","char","charoff","span","valign","width"],command:["checked","command","disabled","icon","label","radiogroup","type"],data:["value"],del:["cite","datetime"],details:["open"],dir:["compact"],div:["align"],dl:["compact"],fieldset:["disabled"],font:["color","face","size"],form:["accept","autocomplete","enctype","method",...this._allowNamedProperties?["name"]:[],"novalidate"],h1:["align"],h2:["align"],h3:["align"],h4:["align"],h5:["align"],h6:["align"],hr:["align","noshade","size","width"],iframe:["align","frameborder","height","marginheight","marginwidth","width"],img:["align","alt","border","height","hspace","ismap",...this._allowNamedProperties?["name"]:[],"src","usemap","vspace","width"],input:["accept","accesskey","align","alt","autocomplete","checked","disabled","inputmode","ismap","list","max","maxlength","min","multiple",...this._allowNamedProperties?["name"]:[],"placeholder","readonly","required","size","src","step","tabindex","type","usemap","value"],ins:["cite","datetime"],label:["accesskey","for"],legend:["accesskey","align"],li:["type","value"],map:this._allowNamedProperties?["name"]:[],menu:["compact","label","type"],meter:["high","low","max","min","value"],ol:["compact","reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for",...this._allowNamedProperties?["name"]:[]],p:["align"],pre:["width"],progress:["max","min","value"],q:["cite"],select:["autocomplete","disabled","multiple",...this._allowNamedProperties?["name"]:[],"required","size","tabindex"],source:["type"],table:["align","bgcolor","border","cellpadding","cellspacing","frame","rules","summary","width"],tbody:["align","char","charoff","valign"],td:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],textarea:["accesskey","autocomplete","cols","disabled","inputmode",...this._allowNamedProperties?["name"]:[],"placeholder","readonly","required","rows","tabindex","wrap"],tfoot:["align","char","charoff","valign"],th:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],thead:["align","char","charoff","valign"],tr:["align","bgcolor","char","charoff","valign"],track:["default","kind","label","srclang"],ul:["compact","type"],video:["autoplay","controls","height","loop","mediagroup","muted","poster","preload","src","width"]},allowedStyles:{"*":{"backface-visibility":[eC.BACKFACE_VISIBILITY],background:[eC.BACKGROUND],"background-attachment":[eC.BACKGROUND_ATTACHMENT],"background-clip":[eC.BACKGROUND_CLIP],"background-color":[eC.BACKGROUND_COLOR],"background-image":[eC.BACKGROUND_IMAGE],"background-origin":[eC.BACKGROUND_ORIGIN],"background-position":[eC.BACKGROUND_POSITION],"background-repeat":[eC.BACKGROUND_REPEAT],"background-size":[eC.BACKGROUND_SIZE],border:[eC.BORDER],"border-bottom":[eC.BORDER_BOTTOM],"border-bottom-color":[eC.BORDER_BOTTOM_COLOR],"border-bottom-left-radius":[eC.BORDER_BOTTOM_LEFT_RADIUS],"border-bottom-right-radius":[eC.BORDER_BOTTOM_RIGHT_RADIUS],"border-bottom-style":[eC.BORDER_BOTTOM_STYLE],"border-bottom-width":[eC.BORDER_BOTTOM_WIDTH],"border-collapse":[eC.BORDER_COLLAPSE],"border-color":[eC.BORDER_COLOR],"border-left":[eC.BORDER_LEFT],"border-left-color":[eC.BORDER_LEFT_COLOR],"border-left-style":[eC.BORDER_LEFT_STYLE],"border-left-width":[eC.BORDER_LEFT_WIDTH],"border-radius":[eC.BORDER_RADIUS],"border-right":[eC.BORDER_RIGHT],"border-right-color":[eC.BORDER_RIGHT_COLOR],"border-right-style":[eC.BORDER_RIGHT_STYLE],"border-right-width":[eC.BORDER_RIGHT_WIDTH],"border-spacing":[eC.BORDER_SPACING],"border-style":[eC.BORDER_STYLE],"border-top":[eC.BORDER_TOP],"border-top-color":[eC.BORDER_TOP_COLOR],"border-top-left-radius":[eC.BORDER_TOP_LEFT_RADIUS],"border-top-right-radius":[eC.BORDER_TOP_RIGHT_RADIUS],"border-top-style":[eC.BORDER_TOP_STYLE],"border-top-width":[eC.BORDER_TOP_WIDTH],"border-width":[eC.BORDER_WIDTH],bottom:[eC.BOTTOM],box:[eC.BOX],"box-shadow":[eC.BOX_SHADOW],"box-sizing":[eC.BOX_SIZING],"caption-side":[eC.CAPTION_SIDE],clear:[eC.CLEAR],clip:[eC.CLIP],color:[eC.COLOR],cursor:[eC.CURSOR],direction:[eC.DIRECTION],display:[eC.DISPLAY],"display-inside":[eC.DISPLAY_INSIDE],"display-outside":[eC.DISPLAY_OUTSIDE],elevation:[eC.ELEVATION],"empty-cells":[eC.EMPTY_CELLS],float:[eC.FLOAT],font:[eC.FONT],"font-family":[eC.FONT_FAMILY],"font-size":[eC.FONT_SIZE],"font-stretch":[eC.FONT_STRETCH],"font-style":[eC.FONT_STYLE],"font-variant":[eC.FONT_VARIANT],"font-weight":[eC.FONT_WEIGHT],height:[eC.HEIGHT],left:[eC.LEFT],"letter-spacing":[eC.LETTER_SPACING],"line-height":[eC.LINE_HEIGHT],"list-style":[eC.LIST_STYLE],"list-style-image":[eC.LIST_STYLE_IMAGE],"list-style-position":[eC.LIST_STYLE_POSITION],"list-style-type":[eC.LIST_STYLE_TYPE],margin:[eC.MARGIN],"margin-bottom":[eC.MARGIN_BOTTOM],"margin-left":[eC.MARGIN_LEFT],"margin-right":[eC.MARGIN_RIGHT],"margin-top":[eC.MARGIN_TOP],"max-height":[eC.MAX_HEIGHT],"max-width":[eC.MAX_WIDTH],"min-height":[eC.MIN_HEIGHT],"min-width":[eC.MIN_WIDTH],opacity:[eC.OPACITY],outline:[eC.OUTLINE],"outline-color":[eC.OUTLINE_COLOR],"outline-style":[eC.OUTLINE_STYLE],"outline-width":[eC.OUTLINE_WIDTH],overflow:[eC.OVERFLOW],"overflow-wrap":[eC.OVERFLOW_WRAP],"overflow-x":[eC.OVERFLOW_X],"overflow-y":[eC.OVERFLOW_Y],padding:[eC.PADDING],"padding-bottom":[eC.PADDING_BOTTOM],"padding-left":[eC.PADDING_LEFT],"padding-right":[eC.PADDING_RIGHT],"padding-top":[eC.PADDING_TOP],"page-break-after":[eC.PAGE_BREAK_AFTER],"page-break-before":[eC.PAGE_BREAK_BEFORE],"page-break-inside":[eC.PAGE_BREAK_INSIDE],"pause-after":[eC.PAUSE_AFTER],perspective:[eC.PERSPECTIVE],pitch:[eC.PITCH],"pitch-range":[eC.PITCH_RANGE],position:[eC.POSITION],quotes:[eC.QUOTES],resize:[eC.RESIZE],richness:[eC.RICHNESS],right:[eC.RIGHT],speak:[eC.SPEAK],"speak-header":[eC.SPEAK_HEADER],"speak-numeral":[eC.SPEAK_NUMERAL],"speak-punctuation":[eC.SPEAK_PUNCTUATION],"speech-rate":[eC.SPEECH_RATE],stress:[eC.STRESS],"table-layout":[eC.TABLE_LAYOUT],"text-align":[eC.TEXT_ALIGN],"text-decoration":[eC.TEXT_DECORATION],"text-indent":[eC.TEXT_INDENT],"text-overflow":[eC.TEXT_OVERFLOW],"text-shadow":[eC.TEXT_SHADOW],"text-transform":[eC.TEXT_TRANSFORM],"text-wrap":[eC.TEXT_WRAP],top:[eC.TOP],"unicode-bidi":[eC.UNICODE_BIDI],"vertical-align":[eC.VERTICAL_ALIGN],visibility:[eC.VISIBILITY],volume:[eC.VOLUME],"white-space":[eC.WHITE_SPACE],width:[eC.WIDTH],"word-break":[eC.WORD_BREAK],"word-spacing":[eC.WORD_SPACING],"word-wrap":[eC.WORD_WRAP],"z-index":[eC.Z_INDEX],zoom:[eC.ZOOM],"align-content":[eC.ALIGN_CONTENT],"align-items":[eC.ALIGN_ITEMS],"align-self":[eC.ALIGN_SELF],flex:[eC.FLEX],"flex-basis":[eC.FLEX_BASIS],"flex-direction":[eC.FLEX_DIRECTION],"flex-grow":[eC.FLEX_GROW],"flex-shrink":[eC.FLEX_SHRINK],"flex-wrap":[eC.FLEX_WRAP],grid:[eC.GRID],"grid-area":[eC.GRID_AREA],"grid-auto-columns":[eC.GRID_AUTO_COLUMNS],"grid-auto-flow":[eC.GRID_AUTO_FLOW],"grid-auto-rows":[eC.GRID_AUTO_ROWS],"grid-column":[eC.GRID_COLUMN],"grid-column-end":[eC.GRID_COLUMN_END],"grid-column-gap":[eC.GRID_COLUMN_GAP],"grid-column-start":[eC.GRID_COLUMN_START],"grid-gap":[eC.GRID_GAP],"grid-row":[eC.GRID_ROW],"grid-row-end":[eC.GRID_ROW_END],"grid-row-gap":[eC.GRID_ROW_GAP],"grid-row-start":[eC.GRID_ROW_START],"grid-template":[eC.GRID_TEMPLATE],"grid-template-areas":[eC.GRID_TEMPLATE_AREAS],"grid-template-columns":[eC.GRID_TEMPLATE_COLUMNS],"grid-template-rows":[eC.GRID_TEMPLATE_ROWS],gap:[eC.GAP],"row-gap":[eC.ROW_GAP],"column-gap":[eC.COLUMN_GAP],"justify-content":[eC.JUSTIFY_CONTENT],"justify-items":[eC.JUSTIFY_ITEMS],"justify-self":[eC.JUSTIFY_SELF],order:[eC.ORDER],"place-content":[eC.PLACE_CONTENT],"place-items":[eC.PLACE_ITEMS],"place-self":[eC.PLACE_SELF]}},transformTags:{a:eA().simpleTransform("a",{rel:"nofollow"}),input:eA().simpleTransform("input",{disabled:"disabled"}),...this._allowNamedProperties?{}:{"*":function(e,t){return void 0!==t.id&&(t["data-jupyter-id"]=t.id,delete t.id),{tagName:e,attribs:{...t}}}}},allowedSchemes:e,allowedSchemesByTag:{img:[...e,"attachment"]},allowedSchemesAppliedToAttributes:["href","cite"]}},this._options=this._generateOptions()}sanitize(e,t){return eA()(e,{...this._options,...t||{}})}getAutolink(){return this._autolink}get allowNamedProperties(){return this._allowNamedProperties}get allowCommandLinker(){return this._allowCommandLinker}setAllowedSchemes(e){this._customAllowedSchemes=[...e],this._options=this._generateOptions()}setAutolink(e){this._autolink=e}setAllowNamedProperties(e){this._allowNamedProperties=e,this._options=this._generateOptions()}setAllowCommandLinker(e){this._allowCommandLinker=e,this._options=this._generateOptions()}}class eb{constructor(){this._commands=[]}get ids(){return this._commands.map(e=>e.id)}add(e){if(this._commands.map(e=>e.id).includes(e.id))throw Error(`Command ${e.id} is already defined.`);this._commands.push({isEnabled:()=>!0,rank:eb.DEFAULT_RANK,...e})}getActiveCommandId(e){var t;return(null!=(t=this._commands.filter(t=>t.isEnabled(e)).sort((e,t)=>e.rank-t.rank||(e.id<t.id?-1:1))[0])?t:{id:null}).id}remove(e){let t=this._commands.findIndex(t=>t.id===e);t>=0&&this._commands.splice(t,1)}}eb.DEFAULT_RANK=500,eb.WIDGET="semanticWidget";var ev=n(63995);let e_=75,ey=20;class eE{constructor(e){this._current=null,this._links=[],this._overrides={},this._overrideProps={},this._outstanding=null,this._pending=0,this._requests={},this._themes={},this._themeChanged=new x.Signal(this);const{host:t,key:n,splash:i,url:o}=e;this.translator=e.translator||b.nullTranslator,this._trans=this.translator.load("jupyterlab");const r=e.settings;this._base=o,this._host=t,this._splash=i||null,r.load(n).then(e=>{this._settings=e,this._initOverrideProps(),this._settings.changed.connect(this._loadSettings,this),this._loadSettings()})}get theme(){return this._current}get preferredLightTheme(){return this._settings.composite["preferred-light-theme"]}get preferredDarkTheme(){return this._settings.composite["preferred-dark-theme"]}get preferredTheme(){return this.isToggledAdaptiveTheme()?this.isSystemColorSchemeDark()?this.preferredDarkTheme:this.preferredLightTheme:this.theme}get themes(){return Object.keys(this._themes)}get lightThemes(){return Object.entries(this._themes).filter(([e,t])=>t.isLight).map(([e,t])=>e)}get darkThemes(){return Object.entries(this._themes).filter(([e,t])=>!t.isLight).map(([e,t])=>e)}get themeChanged(){return this._themeChanged}isSystemColorSchemeDark(){return window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches}getCSS(e){let t=this._overrides[e];return t&&"string"!=typeof t&&(t=!this._current||this.isLight(this._current)?t.light:t.dark),null!=t?t:getComputedStyle(document.documentElement).getPropertyValue(`--jp-${e}`)}loadCSS(e){let t=this._base,n=E.URLExt.isLocal(e)?E.URLExt.join(t,e):e,i=this._links;return new Promise((e,t)=>{let o=document.createElement("link");o.setAttribute("rel","stylesheet"),o.setAttribute("type","text/css"),o.setAttribute("href",n),o.addEventListener("load",()=>{e(void 0)}),o.addEventListener("error",()=>{t(`Stylesheet failed to load: ${n}`)}),document.body.appendChild(o),i.push(o)})}loadCSSOverrides(){var e;let t=null!=(e=this._settings.user.overrides)?e:{};Object.keys({...this._overrides,...t}).forEach(e=>{let n=t[e];n&&"string"!=typeof n&&(n=!this._current||this.isLight(this._current)?n.light:n.dark),n&&this.validateCSS(e,n)?document.documentElement.style.setProperty(`--jp-${e}`,n):(delete t[e],document.documentElement.style.removeProperty(`--jp-${e}`))}),this._overrides=t}validateCSS(e,t){let n=this._overrideProps[e];return n?!!CSS.supports(n,t)||(console.warn(`CSS validation failed: invalid value.
key: '${e}', val: '${t}', prop: '${n}'`),!1):(console.warn(`CSS validation failed: could not find property corresponding to key.
key: '${e}', val: '${t}'`),!1)}register(e){let{name:t}=e,n=this._themes;if(n[t])throw Error(`Theme already registered for ${t}`);return n[t]=e,new ev.DisposableDelegate(()=>{delete n[t]})}setCSSOverride(e,t){return this._settings.set("overrides",{...this._overrides,[e]:t})}setTheme(e){return this._settings.set("theme",e)}setPreferredLightTheme(e){return this._settings.set("preferred-light-theme",e)}setPreferredDarkTheme(e){return this._settings.set("preferred-dark-theme",e)}isLight(e){return this._themes[e].isLight}incrFontSize(e){return this._incrFontSize(e,!0)}decrFontSize(e){return this._incrFontSize(e,!1)}themeScrollbars(e){return!!this._settings.composite["theme-scrollbars"]&&!!this._themes[e].themeScrollbars}isToggledThemeScrollbars(){return!!this._settings.composite["theme-scrollbars"]}toggleThemeScrollbars(){return this._settings.set("theme-scrollbars",!this._settings.composite["theme-scrollbars"])}isToggledAdaptiveTheme(){return!!this._settings.composite["adaptive-theme"]}toggleAdaptiveTheme(){return this._settings.set("adaptive-theme",!this._settings.composite["adaptive-theme"])}getDisplayName(e){var t,n;return null!=(n=null==(t=this._themes[e])?void 0:t.displayName)?n:e}_incrFontSize(e,t=!0){var n;let i=(null!=(n=this.getCSS(e))?n:"13px").split(/([a-z]+)/i),o=(t?1:-1)*("em"===i[1]?.1:1);return this.setCSSOverride(e,`${Number(i[0])+o}${i[1]}`)}_initOverrideProps(){Object.keys(this._settings.schema.definitions.cssOverrides.properties).forEach(e=>{let t;switch(e){case"code-font-family":case"content-font-family":case"ui-font-family":t="font-family";break;case"code-font-size":case"content-font-size1":case"ui-font-size1":t="font-size";break;case"rendermime-error-background":t="background";break;default:console.warn(`No CSS property mapping for override key '${e}'. CSS validation will be skipped for this key.`)}t&&(this._overrideProps[e]=t)})}_loadSettings(){let e=this._outstanding,t=this._pending,n=this._requests;t&&(window.clearTimeout(t),this._pending=0);let i=this._settings,o=this._themes,r=i.composite.theme;if(this.isToggledAdaptiveTheme()&&(r=this.isSystemColorSchemeDark()?this.preferredDarkTheme:this.preferredLightTheme),e){e.then(()=>{this._loadSettings()}).catch(()=>{this._loadSettings()}),this._outstanding=null;return}if(n[r]=n[r]?n[r]+1:1,o[r]){this._outstanding=this._loadTheme(r),delete n[r];return}if(n[r]>ey){let e=i.default("theme");return(delete n[r],o[e])?(console.warn(`Could not load theme ${r}, using default ${e}.`),void(this._outstanding=this._loadTheme(e))):void this._onError(this._trans.__("Neither theme %1 nor default %2 loaded.",r,e))}this._pending=window.setTimeout(()=>{this._loadSettings()},e_)}_loadTheme(e){var t;let n=this._current,i=this._links,o=this._themes,r=this._splash?this._splash.show(o[e].isLight):new ev.DisposableDelegate(()=>void 0);i.forEach(e=>{e.parentElement&&e.parentElement.removeChild(e)}),i.length=0;let s=null==(t=this._settings.schema.properties)?void 0:t.theme;return s&&(delete s.enum,s.oneOf=Object.keys(o).map(e=>{var t;return{const:e,title:null!=(t=o[e].displayName)?t:e}})),Promise.all([n?o[n].unload():Promise.resolve(),o[e].load()]).then(()=>{this._current=e,this.loadCSSOverrides(),this._themeChanged.emit({name:"theme",oldValue:n,newValue:e}),this._host.hide(),requestAnimationFrame(()=>{this._host.show(),A.fitAll(this._host),r.dispose()})}).catch(e=>{this._onError(e),r.dispose()})}_onError(e){I({title:this._trans.__("Error Loading Theme"),body:String(e),buttons:[D.okButton({label:this._trans.__("OK")})]})}}!function(e){function t(e){for(let n of e.children())t(n);e.fit()}e.fitAll=t}(A||(A={}));class ew{constructor(){this._sources=new Map,this._targets=new Map,this._sourcePanelRegistered=new x.Signal(this),this._targetPanelRegistered=new x.Signal(this)}get sourcePanelRegistered(){return this._sourcePanelRegistered}get targetPanelRegistered(){return this._targetPanelRegistered}registerSource(e,t,n){this._sources.set(e,{label:t,sidebar:n}),this._sourcePanelRegistered.emit({id:e,label:t,sidebar:n})}registerTarget(e,t,n){this._targets.set(e,{label:t,panel:n}),this._targetPanelRegistered.emit({id:e,label:t,panel:n})}getSources(){return this._sources}getTargets(){return this._targets}}let ej=new j.Token("@jupyterlab/apputils:ICommandPalette",`A service for the application command palette
  in the left panel. Use this to add commands to the palette.`),ex=new j.Token("@jupyterlab/apputils:IKernelStatusModel","A service to register kernel session provider to the kernel status indicator."),eB=new j.Token("@jupyterlab/apputils:ILicensesClient","A service for fetching licenses."),eS=new j.Token("@jupyterlab/apputils:ISessionContextDialogs","A service for handling the session dialogs."),eM=new j.Token("@jupyterlab/apputils:IThemeManager","A service for the theme manager for the application. This is used primarily in theme extensions to register new themes."),eI=new j.Token("@jupyterlab/apputils:ISanitizer","A service for sanitizing HTML strings."),ek=new j.Token("@jupyterlab/apputils:ISplashScreen",`A service for the splash screen for the application.
  Use this if you want to show the splash screen for your own purposes.`),eD=new j.Token("@jupyterlab/apputils:IWindowResolver",`A service for a window resolver for the
  application. JupyterLab workspaces are given a name, which are determined using
  the window resolver. Require this if you want to use the name of the current workspace.`),eT=new j.Token("@jupyterlab/apputils:IToolbarWidgetRegistry",`A registry for toolbar widgets. Require this
  if you want to build the toolbar dynamically from a data definition (stored in settings for example).`),eL=new j.Token("@jupyterlab/apputils:IMovableSectionRegistry","A registry for panels that can exchange moveable sections.");class eN{constructor(e){this._widgets=new Map,this._factoryAdded=new x.Signal(this),this._defaultFactory=e.defaultFactory}get defaultFactory(){return this._defaultFactory}set defaultFactory(e){this._defaultFactory=e}get factoryAdded(){return this._factoryAdded}createWidget(e,t,n){var i;let o=null==(i=this._widgets.get(e))?void 0:i.get(n.name);return o?o(t):this._defaultFactory(e,t,n)}addFactory(e,t,n){let i=this._widgets.get(e),o=null==i?void 0:i.get(t);return i||(i=new Map,this._widgets.set(e,i)),i.set(t,n),this._factoryAdded.emit(t),o}registerFactory(e,t,n){return this.addFactory(e,t,n)}}function eP(e){return(t,n,i)=>{var o,r;switch(null!=(o=i.type)?o:"command"){case"command":{let{command:t,args:o,label:s,caption:a,icon:l}=i,d=null!=t?t:"",c={toolbar:!0,...o},h=l?f.LabIcon.resolve({icon:l}):void 0,u=n.toolbar,p=(null!=h?h:e.icon(d,c))?null!=s?s:"":s;return new f.CommandToolbarButton({commands:e,id:d,args:c,icon:h,label:p,caption:a,noFocusOnClick:null!=(r=null==u?void 0:u.noFocusOnClick)&&r})}case"spacer":return f.Toolbar.createSpacerItem();default:return new v.Widget}}}var ez=n(52782),eR=n(46109);let eO=50,eF="jupyter.lab.toolbars";async function eW(e){(await I({title:e.__("Information"),body:e.__("Toolbar customization has changed. You will need to reload JupyterLab to see the changes."),buttons:[D.cancelButton(),D.okButton({label:e.__("Reload")})]})).button.accept&&location.reload()}async function eH(e,t,n,i,o,r="toolbar"){var s;let a=o.load("jupyterlab"),l=null,d={},c=!0;try{function h(e){var o,s;d={};let a=Object.keys(t.plugins).filter(e=>e!==i).map(e=>{var i,o;let r=null!=(o=(null!=(i=t.plugins[e].schema[eF])?i:{})[n])?o:[];return d[e]=r,r}).concat([null!=(s=(null!=(o=e[eF])?o:{})[n])?s:[]]).reduceRight((e,t)=>eR.SettingRegistry.reconcileToolbarItems(e,t,!0),[]);e.properties[r].default=eR.SettingRegistry.reconcileToolbarItems(a,e.properties[r].default,!0).sort((e,t)=>{var n,i;return(null!=(n=e.rank)?n:eO)-(null!=(i=t.rank)?i:eO)})}t.transform(i,{compose:e=>{var t,n,i,o,s;l||(l=j.JSONExt.deepCopy(e.schema),h(l));let a=null!=(i=(null!=(n=(null!=(t=l.properties)?t:{})[r])?n:{}).default)?i:[],d=e.data.user,c=e.data.composite;return d[r]=null!=(o=e.data.user[r])?o:[],c[r]=(null!=(s=eR.SettingRegistry.reconcileToolbarItems(a,d[r],!1))?s:[]).sort((e,t)=>{var n,i;return(null!=(n=e.rank)?n:eO)-(null!=(i=t.rank)?i:eO)}),e.data={composite:c,user:d},e},fetch:e=>(l||(l=j.JSONExt.deepCopy(e.schema),h(l)),{data:e.data,id:e.id,raw:e.raw,schema:l,version:e.version})})}catch(e){if("TransformError"===e.name)c=!1;else throw e}let u=await t.load(i);u.changed.connect(()=>{var e;p(null!=(e=u.composite[r])?e:[])});let p=t=>{e.clear(),e.pushAll(t.filter(e=>!e.disabled))};p(null!=(s=u.composite[r])?s:[]),c&&t.pluginChanged.connect(async(e,o)=>{var r,s,c;if(o===i)return;let h=null!=(r=d[o])?r:[],u=null!=(c=(null!=(s=t.plugins[o].schema[eF])?s:{})[n])?c:[];!j.JSONExt.deepEqual(h,u)&&(d[o]?await eW(a):u.length>0&&(l=null,t.plugins[i].schema.properties.toolbar.default=[],await t.load(i,!0)))})}function eU(e,t,n,i,o,r="toolbar"){let s=new ez.ObservableList({itemCmp:(e,t)=>j.JSONExt.deepEqual(e,t)});return eH(s,t,n,i,o,r).catch(e=>{console.error(`Failed to load toolbar items for factory ${n} from ${i}`,e)}),t=>{let i=(i,o)=>{switch(o.type){case"move":r.move(o.oldIndex,o.newIndex);break;case"add":o.newValues.forEach(i=>r.push({name:i.name,widget:e.createWidget(n,t,i)}));break;case"remove":case"clear":o.oldValues.forEach(()=>r.remove(o.oldIndex));break;case"set":o.newValues.forEach(i=>r.set(o.newIndex,{name:i.name,widget:e.createWidget(n,t,i)}))}},o=(i,o)=>{let a=Array.from(s).findIndex(e=>e.name===o);a>=0&&r.set(a,{name:o,widget:e.createWidget(n,t,s.get(a))})},r=new ez.ObservableList({values:Array.from(s).map(i=>({name:i.name,widget:e.createWidget(n,t,i)}))});return e.factoryAdded.connect(o),s.changed.connect(i),t.disposed.connect(()=>{s.changed.disconnect(i),e.factoryAdded.disconnect(o)}),r}}function eY(e,t,n){var i;if(!e.toolbar&&!n)return void console.log(`Widget ${e.id} has no 'toolbar' and no explicit toolbar was provided.`);let o=null!=(i=e.toolbar)?i:n,r=t(e);if(Array.isArray(r))r.forEach(({name:e,widget:t})=>{o.addItem(e,t)});else{let t=(e,t)=>{switch(t.type){case"add":t.newValues.forEach((e,n)=>{o.insertItem(t.newIndex+n,e.name,e.widget)});break;case"move":t.oldValues.forEach(e=>{e.widget.parent=null}),t.newValues.forEach((e,n)=>{o.insertItem(t.newIndex+n,e.name,e.widget)});break;case"remove":t.oldValues.forEach(e=>{e.widget.parent=null});break;case"set":t.oldValues.forEach(e=>{e.widget.parent=null}),t.newValues.forEach((e,n)=>{let i=(0,w.findIndex)(o.names(),t=>e.name===t);i>=0&&(Array.from(o.children())[i].parent=null),o.insertItem(t.newIndex+n,e.name,e.widget)});break;case"clear":Array.from(o.children()).forEach(e=>{e.parent=null})}};t(r,{newIndex:0,newValues:Array.from(r),oldIndex:0,oldValues:[],type:"add"}),r.changed.connect(t),e.disposed.connect(()=>{r.changed.disconnect(t)})}}class eV{get name(){return this._name}resolve(e){return C.resolve(e).then(e=>{this._name=e})}}!function(e){let t="@jupyterlab/statedb:StateDB",n=`${t}:beacon`,i=Math.floor(200+300*Math.random()),o=`${t}:window`,r=null,s=null,a=new j.PromiseDelegate,l={},d=null,c=!1;function h(){window.addEventListener("storage",e=>{let{key:t,newValue:i}=e;null===i||(t===n&&i!==r&&null!==s?u(c?d:s):c||t!==o||(l[i.replace(/-\d+$/,"")]=null,(!s||s in l)&&p()))})}function u(e){if(null===e)return;let{localStorage:t}=window;t.setItem(o,`${e}-${new Date().getTime()}`)}function p(){c=!0,r=null,a.reject(`Window name candidate "${s}" already exists`)}e.resolve=function(e){if(c)return a.promise;if((s=e)in l)return p(),a.promise;let{localStorage:t,setTimeout:o}=window;return o(()=>{if(!c){if(!s||s in l)return p();c=!0,r=null,a.resolve(d=s),u(d)}},i),r=`${Math.random()}-${new Date().getTime()}`,t.setItem(n,r),a.promise},(()=>{h()})()}(C||(C={}));class eq extends f.Toolbar{}!function(e){e.createInterruptButton=r.createInterruptButton,e.createKernelNameItem=r.createKernelNameItem,e.createKernelStatusItem=r.createKernelStatusItem,e.createRestartButton=r.createRestartButton,e.createSpacerItem=f.Toolbar.createSpacerItem}(eq||(eq={}))},62971(e,t,n){"use strict";n(82311),n(97777),n(82946);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(93079),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},83014(e,t,n){"use strict";n.r(t),n.d(t,{AttachmentsModel:()=>s,AttachmentsResolver:()=>a});var i=n(52782),o=n(31031),r=n(20659);class s{constructor(e){var t;if(this._map=new i.ObservableMap,this._isDisposed=!1,this._stateChanged=new r.Signal(this),this._changed=new r.Signal(this),this._serialized=null,this._changeGuard=!1,this.contentFactory=null!=(t=e.contentFactory)?t:s.defaultContentFactory,e.values)for(const t of Object.keys(e.values))void 0!==e.values[t]&&this.set(t,e.values[t]);this._map.changed.connect(this._onMapChanged,this)}get stateChanged(){return this._stateChanged}get changed(){return this._changed}get keys(){return this._map.keys()}get length(){return this._map.keys().length}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this._map.dispose(),r.Signal.clearData(this))}has(e){return this._map.has(e)}get(e){return this._map.get(e)}set(e,t){let n=this._createItem({value:t});this._map.set(e,n)}remove(e){this._map.delete(e)}clear(){this._map.values().forEach(e=>{e.dispose()}),this._map.clear()}fromJSON(e){this.clear(),Object.keys(e).forEach(t=>{void 0!==e[t]&&this.set(t,e[t])})}toJSON(){let e={};for(let t of this._map.keys())e[t]=this._map.get(t).toJSON();return e}_createItem(e){let t=this.contentFactory.createAttachmentModel(e);return t.changed.connect(this._onGenericChange,this),t}_onMapChanged(e,t){this._serialized&&!this._changeGuard&&(this._changeGuard=!0,this._serialized.set(this.toJSON()),this._changeGuard=!1),this._changed.emit(t),this._stateChanged.emit(void 0)}_onGenericChange(){this._stateChanged.emit(void 0)}}!function(e){class t{createAttachmentModel(e){return new o.AttachmentModel(e)}}e.ContentFactory=t,e.defaultContentFactory=new t}(s||(s={}));class a{constructor(e){this._parent=e.parent||null,this._model=e.model}async resolveUrl(e,t){return this._parent&&!e.startsWith("attachment:")?this._parent.resolveUrl(e,t):e}async getDownloadUrl(e){if(this._parent&&!e.startsWith("attachment:"))return this._parent.getDownloadUrl(e);let t=e.slice(11),n=this._model.get(t);if(void 0===n)return e;let{data:i}=n,r=Object.keys(i)[0];if(void 0===r||-1===o.imageRendererFactory.mimeTypes.indexOf(r))throw Error(`Cannot render unknown image mime type "${r}".`);return`data:${r};base64,${i[r]}`}isLocal(e){var t,n,i;return!this._parent||!!e.startsWith("attachment:")||null==(i=null==(n=(t=this._parent).isLocal)?void 0:n.call(t,e))||i}}},59894(e,t,n){"use strict";n.r(t),n.d(t,{AudioDocumentWidget:()=>m,AudioViewer:()=>p,AudioViewerFactory:()=>g,default:()=>C});var i=n(57941),o=n(97518),r=n(31997),s=n(53040),a=n(2786),l=n(64001);let d="jp-AudioViewer",c="AudioViewer",h="audio-provider";function u(e){let t=[];for(let n of e.fileTypes())n.mimeTypes.some(e=>e.startsWith("audio/"))&&t.push(n.name);return t}class p extends l.Widget{constructor(e){super(),this.addClass(d),this._context=e.context,this._contentsManager=e.contentsManager,this._audio=document.createElement("audio"),this._audio.controls=!0,this.node.appendChild(this._audio),this._context.ready.then(()=>{this._updateAudio()}),this._context.model.contentChanged.connect(this._updateAudio,this)}dispose(){this.isDisposed||super.dispose()}onResize(e){super.onResize(e),this._audio&&(this._audio.style.width="100%")}async _updateAudio(){let e=await this._contentsManager.getDownloadUrl(this._context.path);this._audio.src=e}}class m extends r.DocumentWidget{constructor(e){super(e)}}class g extends r.ABCWidgetFactory{constructor(e){super(e),this._contentsManager=e.contentsManager}createNewWidget(e){return new m({content:new p({context:e,contentsManager:this._contentsManager}),context:e})}}class A{constructor(e){this._drive=e.drive}async get(e,t){return this._drive.get(e,{...t,contentProviderId:void 0,content:!1})}async save(e,t={}){return this._drive.save(e,{...t,contentProviderId:void 0})}}let C={id:"@jupyterlab/audio-extension:plugin",description:"Adds a viewer for audio files",autoStart:!0,requires:[a.ITranslator,s.IDefaultDrive],optional:[i.ILayoutRestorer],activate:(e,t,n,i)=>{let r=t.load("jupyterlab"),{contents:s}=e.serviceManager,a=u(e.docRegistry),l=n.contentProviderRegistry;if(l){let e=new A({drive:n});l.register(h,e)}let d=new o.WidgetTracker({namespace:"audioviewer"}),p=new g({name:c,label:r.__("Audio Viewer"),fileTypes:a,defaultFor:a,readOnly:!0,translator:t,modelName:"base64",contentProviderId:h,contentsManager:s});e.docRegistry.addWidgetFactory(p),p.widgetCreated.connect(async(t,n)=>{d.add(n),n.context.pathChanged.connect(()=>{d.save(n)});let i=e.docRegistry.getFileTypesForPath(n.context.path).find(e=>e.mimeTypes.some(e=>e.startsWith("audio/")));i&&(n.title.icon=i.icon,n.title.iconClass=i.iconClass||"",n.title.iconLabel=i.iconLabel||"")}),i&&i.restore(d,{command:"docmanager:open",args:e=>({path:e.context.path,factory:c}),name:e=>e.context.path})}}},65343(e,t,n){"use strict";n(82311),n(62971),n(45350),n(67474);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(9317),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},39470(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>d});var i=n(46109),o=n(27711),r=n(97518),s=n(2786);let a="@jupyterlab/cell-toolbar-extension:plugin",l={id:a,description:"Add the cells toolbar.",autoStart:!0,activate:async(e,t,n,i)=>{let d=(null!=i?i:s.nullTranslator).load("jupyterlab");function c(e){u.enabled=null===e||e.get("showToolbar").composite}e.commands.addCommand("cell-toolbar:delete",{label:d.__("Delete Cell"),caption:d.__("Delete the cell"),describedBy:{args:{type:"object",properties:{}}},execute:async n=>{let i,o=!0;if(t&&(o=(i=await t.load(a)).get("askCellDeleteConfirmation").composite),!o)return e.commands.execute("notebook:delete-cell",n);let s=await (0,r.showDialog)({title:d.__("Delete Cell"),body:d.__("Are you sure you want to delete this cell?"),buttons:[r.Dialog.cancelButton(),r.Dialog.warnButton({label:d.__("Delete")})],checkbox:t?{label:d.__("Do not ask me again"),caption:d.__("Ignore this warning for future deletions.")}:null});if(s.button.accept)return s.isChecked&&i&&await i.set("askCellDeleteConfirmation",!1),e.commands.execute("notebook:delete-cell",n)},isEnabled:t=>e.commands.isEnabled("notebook:delete-cell")});let h=t&&n?(0,r.createToolbarFactory)(n,t,o.CellBarExtension.FACTORY_NAME,l.id,null!=i?i:s.nullTranslator):void 0,u=new o.CellBarExtension(e.commands,h);null!==t&&Promise.all([e.restored,t.load(a)]).then(([,e])=>{c(e),e.changed.connect(c)}),e.docRegistry.addWidgetExtension("Notebook",u)},optional:[i.ISettingRegistry,r.IToolbarWidgetRegistry,s.ITranslator]},d=l},88282(e,t,n){"use strict";n(62971),n(67474),n(82311),n(97777),n(45350),n(58613),n(16382);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(13153),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},17372(e,t,n){"use strict";n.r(t),n.d(t,{CellBarExtension:()=>g,CellToolbarTracker:()=>p});var i=n(97518),o=n(52782),r=n(8989),s=n(65819),a=n(20659),l=n(2786);let d=["text/plain","application/vnd.jupyter.stdout","application/vnd.jupyter.stderr"],c="jp-cell-toolbar",h="jp-cell-menu",u="jp-toolbar-overlap";class p{constructor(e,t,n,i){if(this._isDisposed=!1,this._toolbar=null,this._toolbarItems=null,this._toolbarFactory=null,this._panel=e,this._previousActiveCell=this._panel.content.activeCell,this._toolbarItems=null!=t?t:null,this._toolbarFactory=null!=n?n:null,this._enabled=!0,this._trans=(null!=i?i:l.nullTranslator).load("jupyterlab"),null===this._toolbarItems&&null===this._toolbarFactory)throw Error("You must provide the toolbarFactory or the toolbar items.");!this._toolbarFactory&&this._toolbarItems&&(this._onToolbarChanged(),this._toolbarItems.changed.connect(this._onToolbarChanged,this)),e.revealed.then(()=>{requestAnimationFrame(()=>{let t=e.content;this._onActiveCellChanged(t),t.activeCellChanged.connect(this._onActiveCellChanged,this),t.renderingLayoutChanged.connect(this._onActiveCellChanged,this),t.disposed.connect(()=>{t.activeCellChanged.disconnect(this._onActiveCellChanged)})})})}_onMetadataChanged(e,t){"jupyter"===t.key&&("object"==typeof t.newValue&&!0===t.newValue.source_hidden&&("add"===t.type||"change"===t.type)?this._removeToolbar(e):"object"==typeof t.oldValue&&!0===t.oldValue.source_hidden&&this._addToolbar(e))}_onActiveCellChanged(e){this._previousActiveCell&&!this._previousActiveCell.isDisposed&&(this._removeToolbar(this._previousActiveCell.model),this._previousActiveCell.model.metadataChanged.disconnect(this._onMetadataChanged));let t=e.activeCell;this._previousActiveCell=t,null===t||t.inputHidden||(t.model.metadataChanged.connect(this._onMetadataChanged,this),this._addToolbar(t.model))}get isDisposed(){return this._isDisposed}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this._onToolbarChanged()}dispose(){var e,t;this.isDisposed||(this._isDisposed=!0,null==(e=this._toolbarItems)||e.changed.disconnect(this._onToolbarChanged,this),null==(t=this._toolbar)||t.dispose(),this._panel=null,a.Signal.clearData(this))}_addToolbar(e){if(!this.enabled)return;let t=this._getCell(e);if(t&&!t.isDisposed){let e=this._toolbar=new r.Toolbar;e.addClass(h),e.addClass(c),e.node.setAttribute("aria-label",this._trans.__("Cell toolbar"));let n=[t.ready];if(this._toolbarFactory)for(let{name:i,widget:o}of this._toolbarFactory(t))e.addItem(i,o),o instanceof r.ReactWidget&&void 0!==o.renderPromise&&(o.update(),n.push(o.renderPromise));else for(let{name:t,widget:i}of this._toolbarItems)e.addItem(t,i),i instanceof r.ReactWidget&&void 0!==i.renderPromise&&(i.update(),n.push(i.renderPromise));n.push(t.ready),Promise.all(n).then(()=>{var n;t.isDisposed||(null==(n=this._panel)?void 0:n.content.activeCell)!==t?e.dispose():(t.node.classList.add(u),t.inputArea.layout.insertWidget(0,e),t.displayChanged.connect(this._resizeEventCallback,this),t.model.contentChanged.connect(this._changedEventCallback,this),this._updateCellForToolbarOverlap(t))}).catch(e=>{console.error("Error rendering buttons of the cell toolbar: ",e)})}}_getCell(e){var t;return null==(t=this._panel)?void 0:t.content.widgets.find(t=>t.model===e)}_removeToolbar(e){var t,n;let i=this._getCell(e);i&&!i.isDisposed&&i.displayChanged.disconnect(this._resizeEventCallback,this),e.contentChanged.disconnect(this._changedEventCallback,this),(null==(t=this._toolbar)?void 0:t.parent)===(null==i?void 0:i.inputArea)&&(null==(n=this._toolbar)?void 0:n.isDisposed)===!1&&this._toolbar.dispose()}_onToolbarChanged(){var e;let t=null==(e=this._panel)?void 0:e.content.activeCell;t&&(this._removeToolbar(t.model),this._addToolbar(t.model))}_changedEventCallback(){var e;let t=null==(e=this._panel)?void 0:e.content.activeCell;null!=t&&this._updateCellForToolbarOverlap(t)}_resizeEventCallback(){var e;let t=null==(e=this._panel)?void 0:e.content.activeCell;null!=t&&this._updateCellForToolbarOverlap(t)}_updateCellForToolbarOverlap(e){requestIdleCallback(()=>{let t=e.node;t.classList.remove(u),this._cellToolbarOverlapsContents(e)&&t.classList.add(u)})}_cellToolbarOverlapsContents(e){var t,n,i,o;if(!e.model)return!1;let r=e.model.type,s=null==(t=e.editorWidget)?void 0:t.node.getBoundingClientRect(),a=null!=(n=null==s?void 0:s.left)?n:0,l=null!=(i=null==s?void 0:s.right)?i:0,d=this._cellToolbarLeft(e);return null!==d&&((a+l)/2>d||("markdown"===r&&e.rendered?this._markdownOverlapsToolbar(e):(null==(o=this._panel)?void 0:o.content.renderingLayout)==="default"?this._codeOverlapsToolbar(e):this._outputOverlapsToolbar(e)))}_markdownOverlapsToolbar(e){let t=e.inputArea;if(!t)return!1;let n=t.renderedInput.node.firstElementChild;if(null===n)return!1;let i=n.style.maxWidth;n.style.maxWidth="max-content";let o=n.getBoundingClientRect().right;n.style.maxWidth=i;let r=this._cellToolbarLeft(e);return null!==r&&o>r}_outputOverlapsToolbar(e){let t=e.outputArea.node;if(t){let n=t.querySelectorAll("[data-mime-type]"),i=this._cellToolbarRect(e);if(i){let{left:e,bottom:t}=i;return(0,s.some)(n,n=>{let i=n.firstElementChild;if(i){let o=new Range;d.includes(n.getAttribute("data-mime-type")||"")?o.selectNodeContents(i):o.selectNode(i);let{right:r,top:s}=o.getBoundingClientRect();return r>e&&s<t}return!1})}}return!1}_codeOverlapsToolbar(e){let t=e.editorWidget,n=e.editor;if(!t||!n||n.lineCount<1)return!1;let i=t.node.getElementsByClassName("cm-line");if(i.length<1)return!1;let o=i[0].getBoundingClientRect().left,r=document.createRange();r.selectNodeContents(i[0]),o+=r.getBoundingClientRect().width;let s=this._cellToolbarLeft(e);return null!==s&&o>s}_cellToolbarRect(e){var t;return(null==(t=this._toolbar)?void 0:t.parent)!==e.inputArea?null:this._toolbar.node.getBoundingClientRect()}_cellToolbarLeft(e){var t;return(null==(t=this._cellToolbarRect(e))?void 0:t.left)||null}}let m=[{command:"notebook:duplicate-below",name:"duplicate-cell"},{command:"notebook:move-cell-up",name:"move-cell-up"},{command:"notebook:move-cell-down",name:"move-cell-down"},{command:"notebook:insert-cell-above",name:"insert-cell-above"},{command:"notebook:insert-cell-below",name:"insert-cell-below"},{command:"notebook:delete-cell",name:"delete-cell"}];class g{constructor(e,t){this._commands=e,this._toolbarFactory=null!=t?t:this.defaultToolbarFactory}createItemFactory(e){return(0,i.createDefaultFactory)(e)}get defaultToolbarFactory(){let e=this.createItemFactory(this._commands);return(t,n)=>new o.ObservableList({values:m.map(i=>{let o=n?{...i,args:{...i.args,...n}}:i;return{name:i.name,widget:e(g.FACTORY_NAME,t,o)}})})}createNew(e){let t=t=>this._toolbarFactory(t,{[g.WIDGET_ID_ARG]:e.id});return this._tracker=new p(e,void 0,t)}get enabled(){return this._tracker.enabled}set enabled(e){this._tracker&&(this._tracker.enabled=e)}}g.FACTORY_NAME="Cell",g.WIDGET_ID_ARG="widgetId"},74098(e,t,n){"use strict";n.r(t),n.d(t,{AttachmentsCell:()=>eV,AttachmentsCellModel:()=>H,Cell:()=>eH,CellDragUtils:()=>i,CellFooter:()=>j,CellHeader:()=>w,CellModel:()=>W,CellSearchProvider:()=>es,CodeCell:()=>eY,CodeCellLayout:()=>eU,CodeCellModel:()=>V,Collapser:()=>f,InputArea:()=>k,InputCollapser:()=>b,InputPlaceholder:()=>ee,InputPrompt:()=>D,MarkdownCell:()=>eq,MarkdownCellModel:()=>Y,OutputCollapser:()=>v,OutputPlaceholder:()=>et,Placeholder:()=>X,RawCell:()=>eG,RawCellModel:()=>U,SELECTED_HIGHLIGHT_CLASS:()=>er,createCellSearchProvider:()=>ed,isCodeCellModel:()=>R,isMarkdownCellModel:()=>O,isRawCellModel:()=>F});var i,o=n(19953);let r=5,s="jp-dragImage",a="jp-dragImage-singlePrompt",l="jp-dragImage-content",d="jp-dragImage-prompt",c="jp-dragImage-multipleBack";!function(e){e.findCell=function(e,t,n){let i=-1;for(;e&&e.parentElement;){if(n(e)){let n=-1;for(let o of t)if(o.node===e){i=++n;break}break}e=e.parentElement}return i},e.detectTargetArea=function(e,t){var n,i;return e?(null==(n=e.editorWidget)?void 0:n.node.contains(t))?"input":(null==(i=e.promptNode)?void 0:i.contains(t))?"prompt":"cell":"unknown"},e.shouldStartDrag=function(e,t,n,i){let o=Math.abs(i-t);return Math.abs(n-e)>=r||o>=r},e.createCellDragImage=function(e,t){let n,i=t.length;if("code"===e.model.type){let t=e.model.executionCount;n=" ",t&&(n=t.toString())}else n="";let r=e.model.sharedModel.getSource().split("\n")[0].slice(0,26);if(i>1)if(""!==n)return o.VirtualDOM.realize(o.h.div(o.h.div({className:s},o.h.span({className:d},"["+n+"]:"),o.h.span({className:l},r)),o.h.div({className:c},"")));else return o.VirtualDOM.realize(o.h.div(o.h.div({className:s},o.h.span({className:d}),o.h.span({className:l},r)),o.h.div({className:c},"")));return""!==n?o.VirtualDOM.realize(o.h.div(o.h.div({className:`${s} ${a}`},o.h.span({className:d},"["+n+"]:"),o.h.span({className:l},r)))):o.VirtualDOM.realize(o.h.div(o.h.div({className:`${s} ${a}`},o.h.span({className:d}),o.h.span({className:l},r))))}}(i||(i={}));var h=n(8989),u=n(53193),p=n(60721);let m="jp-Collapser",g="jp-Collapser-child",A="jp-InputCollapser",C="jp-OutputCollapser";class f extends h.ReactWidget{constructor(){super(),this.addClass(m)}get collapsed(){return!1}render(){let e=g;return p.createElement("div",{className:e,onClick:e=>this.handleClick(e)})}}class b extends f{constructor(){super(),this.addClass(A)}get collapsed(){var e;let t=null==(e=this.parent)?void 0:e.parent;return!!t&&t.inputHidden}handleClick(e){var t;let n=null==(t=this.parent)?void 0:t.parent;n&&(n.inputHidden=!n.inputHidden),this.update()}}class v extends f{constructor(){super(),this.addClass(C)}get collapsed(){var e;let t=null==(e=this.parent)?void 0:e.parent;return!!t&&t.outputHidden}handleClick(e){var t,n;let i=null==(t=this.parent)?void 0:t.parent;if(i&&(i.outputHidden=!i.outputHidden,i.outputHidden)){let e=null==(n=i.parent)?void 0:n.node;e&&u.ElementExt.scrollIntoViewIfNeeded(e,i.node)}this.update()}}var _=n(64001);let y="jp-CellHeader",E="jp-CellFooter";class w extends _.Widget{constructor(){super(),this.addClass(y)}}class j extends _.Widget{constructor(){super(),this.addClass(E)}}var x=n(78071);let B="jp-InputArea",S="jp-InputArea-prompt",M="jp-InputPrompt",I="jp-InputArea-editor";class k extends _.Widget{constructor(e){super(),this.addClass(B);const{contentFactory:t,editorOptions:n,model:i}=e;this.model=i,this.contentFactory=t;const o=this._prompt=t.createInputPrompt();o.addClass(S);const r=this._editor=new x.CodeEditorWrapper({factory:t.editorFactory,model:i,editorOptions:n});r.addClass(I);const s=this.layout=new _.PanelLayout;s.addWidget(o),s.addWidget(r)}get editorWidget(){return this._editor}get editor(){return this._editor.editor}get promptNode(){return this._prompt.node}get renderedInput(){return this._rendered}renderInput(e){let t=this.layout;this._rendered&&(this._rendered.parent=null),this._editor.hide(),this._rendered=e,t.addWidget(e)}showEditor(){this._rendered&&(this._rendered.parent=null),this._editor.show()}setPrompt(e){this._prompt.executionCount=e}dispose(){this.isDisposed||(this._prompt=null,this._editor=null,this._rendered=null,super.dispose())}}!function(e){class t{constructor(e){this._editor=e.editorFactory}get editorFactory(){return this._editor}createInputPrompt(){return new D}}e.ContentFactory=t}(k||(k={}));class D extends _.Widget{constructor(){super(),this._executionCount=null,this.addClass(M)}get executionCount(){return this._executionCount}set executionCount(e){this._executionCount=e,null===e?this.node.textContent=" ":this.node.textContent=`[${e||" "}]:`}}var T=n(20659),L=n(54213),N=n(25307),P=n(58196);let z=(0,P.createMutex)();function R(e){return"code"===e.type}function O(e){return"markdown"===e.type}function F(e){return"raw"===e.type}class W extends x.CodeEditor.Model{constructor(e={}){const{cell_type:t,sharedModel:n,...i}=e;super({sharedModel:null!=n?n:(0,P.createStandaloneCell)({cell_type:null!=t?t:"raw",id:e.id}),...i}),this.contentChanged=new T.Signal(this),this.stateChanged=new T.Signal(this),this._metadataChanged=new T.Signal(this),this._trusted=!1,this.standaloneModel=void 0===e.sharedModel,this.trusted=!!this.getMetadata("trusted")||!!e.trusted,this.sharedModel.changed.connect(this.onGenericChange,this),this.sharedModel.metadataChanged.connect(this._onMetadataChanged,this)}get metadataChanged(){return this._metadataChanged}get id(){return this.sharedModel.getId()}get metadata(){return this.sharedModel.metadata}get trusted(){return this._trusted}set trusted(e){let t=this.trusted;t!==e&&(this._trusted=e,this.onTrustedChanged(this,{newValue:e,oldValue:t}))}dispose(){this.isDisposed||(this.sharedModel.changed.disconnect(this.onGenericChange,this),this.sharedModel.metadataChanged.disconnect(this._onMetadataChanged,this),super.dispose())}onTrustedChanged(e,t){}deleteMetadata(e){return this.sharedModel.deleteMetadata(e)}getMetadata(e){return this.sharedModel.getMetadata(e)}setMetadata(e,t){void 0===t?this.sharedModel.deleteMetadata(e):this.sharedModel.setMetadata(e,t)}toJSON(){return this.sharedModel.toJSON()}onGenericChange(){this.contentChanged.emit(void 0)}_onMetadataChanged(e,t){this._metadataChanged.emit(t)}}class H extends W{constructor(e){var t;super(e);const n=null!=(t=e.contentFactory)?t:H.defaultContentFactory,i=this.sharedModel.getAttachments();this._attachments=n.createAttachmentsModel({values:i}),this._attachments.stateChanged.connect(this.onGenericChange,this),this._attachments.changed.connect(this._onAttachmentsChange,this),this.sharedModel.changed.connect(this._onSharedModelChanged,this)}get attachments(){return this._attachments}dispose(){this.isDisposed||(this._attachments.stateChanged.disconnect(this.onGenericChange,this),this._attachments.changed.disconnect(this._onAttachmentsChange,this),this._attachments.dispose(),this.sharedModel.changed.disconnect(this._onSharedModelChanged,this),super.dispose())}toJSON(){return super.toJSON()}_onAttachmentsChange(e,t){let n=this.sharedModel;z(()=>n.setAttachments(e.toJSON()))}_onSharedModelChanged(e,t){if(t.attachmentsChange){let e=this.sharedModel;z(()=>{var t;return this._attachments.fromJSON(null!=(t=e.getAttachments())?t:{})})}}}!function(e){class t{createAttachmentsModel(e){return new L.AttachmentsModel(e)}}e.ContentFactory=t,e.defaultContentFactory=new t}(H||(H={}));class U extends H{constructor(e={}){super({cell_type:"raw",...e})}get type(){return"raw"}toJSON(){return super.toJSON()}}class Y extends H{constructor(e={}){super({cell_type:"markdown",...e}),this.mimeType="text/x-ipythongfm"}get type(){return"markdown"}toJSON(){return super.toJSON()}}class V extends W{constructor(e={}){var t;super({cell_type:"code",...e}),this._executedCode="",this._isDirty=!1;const n=null!=(t=null==e?void 0:e.contentFactory)?t:V.defaultContentFactory,i=this.trusted,o=this.sharedModel.getOutputs();this._outputs=n.createOutputArea({trusted:i,values:o}),this.sharedModel.changed.connect(this._onSharedModelChanged,this),this._outputs.changed.connect(this.onGenericChange,this),this._outputs.changed.connect(this.onOutputsChange,this);for(let e=0;e<this._outputs.length;e++){const t=this._outputs.get(e);"stream"===t.type&&this._connectStreamListener(t,e)}}get type(){return"code"}get executionCount(){return this.sharedModel.execution_count||null}set executionCount(e){this.sharedModel.execution_count=e||null}get executionState(){return this.sharedModel.executionState}set executionState(e){this.sharedModel.executionState=e}get isDirty(){return this._isDirty}set isDirty(e){this._setDirty(e)}get outputs(){return this._outputs}clearExecution(){this.outputs.clear(),this.executionCount=null,this.executionState="idle",this._setDirty(!1),this.sharedModel.deleteMetadata("execution"),this.trusted=!0}dispose(){this.isDisposed||(this.sharedModel.changed.disconnect(this._onSharedModelChanged,this),this._outputs.changed.disconnect(this.onGenericChange,this),this._outputs.changed.disconnect(this.onOutputsChange,this),this._outputs.dispose(),this._outputs=null,super.dispose())}onTrustedChanged(e,t){let n=t.newValue;if(this._outputs&&(this._outputs.trusted=n),n){let e=this.sharedModel,t=e.getMetadata();t.trusted=!0,e.setMetadata(t)}this.stateChanged.emit({name:"trusted",oldValue:t.oldValue,newValue:n})}toJSON(){return super.toJSON()}_connectStreamListener(e,t){e.streamText.changed.connect((e,n)=>{if(void 0!==n.options&&n.options.silent)return;let i=this.sharedModel;"remove"===n.type?i.removeStreamOutput(t,n.start,"silent-change"):i.appendStreamOutput(t,n.value,"silent-change")},this)}onOutputsChange(e,t){let n=this.sharedModel;if("add"===t.type||"set"===t.type&&t.oldValues[0]!==t.newValues[0])for(let e of t.newValues)"stream"===e.type&&this._connectStreamListener(e,t.newIndex);z(()=>{switch(t.type){case"add":{let e=t.newValues.map(e=>e.toJSON());n.updateOutputs(t.newIndex,t.newIndex,e,"silent-change");break}case"set":{let e=t.newValues.map(e=>e.toJSON());n.updateOutputs(t.oldIndex,t.oldIndex+e.length,e,"silent-change");break}case"remove":n.updateOutputs(t.oldIndex,t.oldValues.length,[],"silent-change");break;case"clear":n.clearOutputs();break;default:throw Error(`Invalid event type: ${t.type}`)}})}_onSharedModelChanged(e,t){t.streamOutputChange&&z(()=>{for(let e of t.streamOutputChange)"delete"in e&&this._outputs.removeStreamOutput(e.delete),"insert"in e&&this._outputs.appendStreamOutput(e.insert.toString())}),t.outputsChange&&z(()=>{let e=0;for(let n of t.outputsChange){if("retain"in n&&(e+=n.retain),"delete"in n)for(let t=0;t<n.delete;t++)this._outputs.remove(e);if("insert"in n)for(let e of n.insert)this._outputs.add("toJSON"in e?e.toJSON():e)}}),t.executionCountChange&&this.stateChanged.emit({name:"executionCount",oldValue:t.executionCountChange.oldValue,newValue:t.executionCountChange.newValue}),t.executionStateChange&&("running"===t.executionStateChange.newValue&&this._setDirty(!1),this.stateChanged.emit({name:"executionState",oldValue:t.executionStateChange.oldValue,newValue:t.executionStateChange.newValue})),t.sourceChange&&(null!==this.executionCount||"running"===this.executionState)&&this._setDirty(this._executedCode!==this.sharedModel.getSource().trim())}_setDirty(e){e||(this._executedCode=this.sharedModel.getSource().trim()),e!==this._isDirty&&(this._isDirty=e,this.stateChanged.emit({name:"isDirty",oldValue:!e,newValue:e}))}}!function(e){class t{createOutputArea(e){return new N.OutputAreaModel(e)}}e.ContentFactory=t,e.defaultContentFactory=new t}(V||(V={}));var q=n(2786);let G="jp-Placeholder",$="jp-Placeholder-prompt jp-InputPrompt",J="jp-Placeholder-prompt jp-OutputPrompt",K="jp-Placeholder-content",Z="jp-InputPlaceholder",Q="jp-OutputPlaceholder";class X extends _.Widget{constructor(e){var t,n,i;const o=document.createElement("div");super({node:o});const r=(null!=(t=e.translator)?t:q.nullTranslator).load("jupyterlab"),s=document.createElement("div");s.className=null!=(n=e.promptClass)?n:"",o.insertAdjacentHTML("afterbegin",s.outerHTML),this._cell=document.createElement("div"),this._cell.classList.add(K),this._cell.title=r.__("Click to expand");const a=this._cell.appendChild(document.createElement("div"));a.classList.add("jp-Placeholder-contentContainer"),this._textContent=a.appendChild(document.createElement("span")),this._textContent.className="jp-PlaceholderText",this._textContent.innerText=null!=(i=e.text)?i:"",o.appendChild(this._cell),h.ellipsesIcon.element({container:a.appendChild(document.createElement("span")),className:"jp-MoreHorizIcon",elementPosition:"center",height:"auto",width:"32px"}),this.addClass(G),this._callback=e.callback}set text(e){this._textContent.innerText=e}get text(){return this._textContent.innerText}onAfterAttach(e){super.onAfterAttach(e),this.node.addEventListener("click",this._callback)}onBeforeDetach(e){this.node.removeEventListener("click",this._callback),super.onBeforeDetach(e)}}class ee extends X{constructor(e){super({...e,promptClass:$}),this.addClass(Z)}}class et extends X{constructor(e){super({...e,promptClass:J}),this.addClass(Q)}}var en=n(22735),ei=n(28951),eo=n(86149);let er="jp-mod-selected";class es extends en.EditorSearchProvider{constructor(e){super(),this.cell=e,this.cell.inViewport||this.cell.editor||(0,ei.signalToPromise)(e.inViewportChanged).then(([,e])=>{e&&this.cmHandler.setEditor(this.editor)})}get editor(){return this.cell.editor}get model(){return this.cell.model}}class ea extends es{constructor(e){super(e),this.currentProviderIndex=-1,this.outputsProvider=[];const t=this.cell.outputArea;this._onOutputsChanged(t,t.widgets.length).catch(e=>{console.error("Failed to initialize search on cell outputs.",e)}),t.outputLengthChanged.connect(this._onOutputsChanged,this),t.disposed.connect(()=>{t.outputLengthChanged.disconnect(this._onOutputsChanged)},this)}get matchesCount(){return this.isActive?super.matchesCount+this.outputsProvider.reduce((e,t)=>{var n;return e+(null!=(n=t.matchesCount)?n:0)},0):0}async clearHighlight(){await super.clearHighlight(),await Promise.all(this.outputsProvider.map(e=>e.clearHighlight()))}dispose(){this.isDisposed||(super.dispose(),this.outputsProvider.map(e=>{e.dispose()}),this.outputsProvider.length=0)}getCurrentMatch(){var e;return -1===this.currentProviderIndex?super.getCurrentMatch():this.currentProviderIndex<this.outputsProvider.length&&null!=(e=this.outputsProvider[this.currentProviderIndex].currentMatch)?e:void 0}async highlightNext(e,t){var n;let i=null!=(n=null==t?void 0:t.from)?n:"";if(0===this.matchesCount||"previous-match"===i&&null!==this.currentIndex&&this.currentIndex+1>=this.cmHandler.matches.length||!this.isActive)this.currentIndex=null;else{if(-1===this.currentProviderIndex){let n=await super.highlightNext(e,t);if(n)return this.currentIndex=this.cmHandler.currentIndex,n;this.currentProviderIndex=0}for(;this.currentProviderIndex<this.outputsProvider.length;){let e=this.outputsProvider[this.currentProviderIndex],t=await e.highlightNext(!1);if(t)return this.currentIndex=super.matchesCount+this.outputsProvider.slice(0,this.currentProviderIndex).reduce((e,t)=>{var n;return e+(null!=(n=t.matchesCount)?n:0)},0)+e.currentMatchIndex,t;this.currentProviderIndex+=1}this.currentProviderIndex=-1,this.currentIndex=null;return}}async highlightPrevious(){if(0!==this.matchesCount&&this.isActive){for(null===this.currentIndex&&(this.currentProviderIndex=this.outputsProvider.length-1);this.currentProviderIndex>=0;){let e=this.outputsProvider[this.currentProviderIndex],t=await e.highlightPrevious(!1);if(t)return this.currentIndex=super.matchesCount+this.outputsProvider.slice(0,this.currentProviderIndex).reduce((e,t)=>{var n;return e+(null!=(n=t.matchesCount)?n:0)},0)+e.currentMatchIndex,t;this.currentProviderIndex-=1}let e=await super.highlightPrevious();return e?(this.currentIndex=this.cmHandler.currentIndex,e):(this.currentIndex=null,void 0)}this.currentIndex=null}async startQuery(e,t){await super.startQuery(e,t),(null==t?void 0:t.output)!==!1&&this.isActive&&await Promise.all(this.outputsProvider.map(t=>t.startQuery(e)))}async endQuery(){var e;await super.endQuery(),(null==(e=this.filters)?void 0:e.output)!==!1&&this.isActive&&await Promise.all(this.outputsProvider.map(e=>e.endQuery()))}async replaceAllMatches(e,t){return!1===this.model.getMetadata("editable")?Promise.resolve(!1):await super.replaceAllMatches(e,t)}async replaceCurrentMatch(e,t,n){return!1===this.model.getMetadata("editable")?Promise.resolve(!1):await super.replaceCurrentMatch(e,t,n)}async _onOutputsChanged(e,t){var n;this.outputsProvider.forEach(e=>{e.dispose()}),this.outputsProvider.length=0,this.currentProviderIndex=-1,this.outputsProvider=this.cell.outputArea.widgets.map(e=>new eo.GenericSearchProvider(e)),this.isActive&&this.query&&(null==(n=this.filters)?void 0:n.output)!==!1&&await Promise.all([this.outputsProvider.map(e=>{e.startQuery(this.query)})]),this._stateChanged.emit()}}class el extends es{constructor(e){super(e),this._unrenderedByHighlight=!1,this.renderedProvider=new eo.GenericSearchProvider(e.renderer)}async clearHighlight(){await super.clearHighlight(),await this.renderedProvider.clearHighlight()}dispose(){this.isDisposed||(super.dispose(),this.renderedProvider.dispose())}async endQuery(){await super.endQuery(),await this.renderedProvider.endQuery()}async highlightNext(e=!0,t){let n;if(!this.isActive)return n;let i=this.cell;if(i.rendered&&this.matchesCount>0){this._unrenderedByHighlight=!0;let e=(0,ei.signalToPromise)(i.renderedChanged);i.rendered=!1,await e}return await super.highlightNext(e,t)}async highlightPrevious(){let e=this.cell;if(e.rendered&&this.matchesCount>0){this._unrenderedByHighlight=!0;let t=(0,ei.signalToPromise)(e.renderedChanged);e.rendered=!1,await t}return await super.highlightPrevious()}async startQuery(e,t){await super.startQuery(e,t);let n=this.cell;n.rendered&&this.onRenderedChanged(n,n.rendered),n.renderedChanged.connect(this.onRenderedChanged,this)}async replaceAllMatches(e,t){if(!1===this.model.getMetadata("editable"))return Promise.resolve(!1);let n=await super.replaceAllMatches(e,t);return this.cell.rendered&&this.cell.update(),n}async replaceCurrentMatch(e,t,n){return!1===this.model.getMetadata("editable")?Promise.resolve(!1):await super.replaceCurrentMatch(e,t,n)}onRenderedChanged(e,t){var n;this._unrenderedByHighlight||(this.currentIndex=null),this._unrenderedByHighlight=!1,this.isActive&&(t?this.renderedProvider.startQuery(this.query):(null==(n=e.editor)||n.setCursorPosition({column:0,line:0}),this.renderedProvider.endQuery()))}}function ed(e){if(e.isPlaceholder())return new es(e);switch(e.model.type){case"code":return new ea(e);case"markdown":return new el(e);default:return new es(e)}}var ec=n(98260),eh=n(97518),eu=n(31031),ep=n(45251),em=n(55187),eg=n(65819),eA=n(93771),eC=n(59807);let ef="jp-CellResizeHandle",eb="jp-mod-resizedCell";class ev extends _.Widget{constructor(e){super(),this.targetNode=e,this._isActive=!1,this._isDragging=!1,this.sizeChanged=new T.Signal(this),this.addClass(ef),this._resizer=new eC.Throttler(e=>this._resize(e),50)}dispose(){this._resizer.dispose(),super.dispose()}handleEvent(e){var t,n;switch(e.type){case"dblclick":null==(t=this.targetNode.parentNode)||t.childNodes.forEach(e=>{e.classList.remove(eb)}),document.documentElement.style.setProperty("--jp-side-by-side-output-size","1fr"),this._isActive=!1;break;case"mousedown":this._isDragging=!0,this._isActive||(null==(n=this.targetNode.parentNode)||n.childNodes.forEach(e=>{e.classList.add(eb)}),this._isActive=!0),window.addEventListener("mousemove",this),window.addEventListener("mouseup",this);break;case"mousemove":this._isActive&&this._isDragging&&this._resizer.invoke(e);break;case"mouseup":this._isDragging=!1,window.removeEventListener("mousemove",this),window.removeEventListener("mouseup",this)}}onAfterAttach(e){this.node.addEventListener("dblclick",this),this.node.addEventListener("mousedown",this),super.onAfterAttach(e)}onBeforeDetach(e){this.node.removeEventListener("dblclick",this),this.node.removeEventListener("mousedown",this),super.onBeforeDetach(e)}_resize(e){let{width:t,x:n}=this.targetNode.getBoundingClientRect(),i=t/(e.clientX-n)-1;if(0<i){let e=Math.max(Math.min(Math.abs(i),50),.05);document.documentElement.style.setProperty("--jp-side-by-side-output-size",`${e}fr`),this.sizeChanged.emit(e)}}}let e_="jp-Cell",ey="jp-Cell-header",eE="jp-Cell-footer",ew="jp-Cell-inputWrapper",ej="jp-Cell-outputWrapper",ex="jp-Cell-inputArea",eB="jp-Cell-outputArea",eS="jp-Cell-inputCollapser",eM="jp-Cell-outputCollapser",eI="jp-mod-dirty",ek="jp-CodeCell",eD="jp-MarkdownCell",eT="jp-MarkdownOutput",eL="jp-MarkdownHeadingCollapsed",eN="jp-collapseHeadingButton",eP="jp-showHiddenCellsButton",ez="jp-RawCell",eR="jp-mod-rendered",eO="jp-mod-noOutputs",eF=1e3,eW="application/x-jupyter-icontentsrich";class eH extends _.Widget{constructor(e){var t,n,i,o;super(),this.prompt="",this._displayChanged=new T.Signal(this),this._scrollRequested=new T.Signal(this),this._scrollHandlerExtension=ec.EditorView.scrollHandler.of((e,t,n)=>{let i=null!==this._inViewport&&!this._inViewport;return this._scrollRequested.emit({defaultPrevented:i,scrollWithinCell:()=>{e.dispatch({effects:ec.EditorView.scrollIntoView(t,n)})}}),i}),this._editorConfig={},this._editorExtensions=[],this._inputHidden=!1,this._inViewportChanged=new T.Signal(this),this._readOnly=!1,this._ready=new em.PromiseDelegate,this._resizeDebouncer=new eC.Debouncer(()=>{this._displayChanged.emit()},0),this._syncCollapse=void 0,this._syncEditable=void 0,this.addClass(e_);const r=this._model=e.model;this.contentFactory=e.contentFactory,this.layout=null!=(t=e.layout)?t:new _.PanelLayout,this.translator=null!=(n=e.translator)?n:q.nullTranslator,this._editorConfig={searchWithCM:!1,...e.editorConfig},this._editorExtensions=null!=(i=e.editorExtensions)?i:[],this._editorExtensions.push(this._scrollHandlerExtension),this._placeholder=!0,this._inViewport=null,this.placeholder=null==(o=e.placeholder)||o,r.metadataChanged.connect(this.onMetadataChanged,this)}initializeState(){return this.loadCollapseState(),this.loadEditableState(),this}get displayChanged(){return this._displayChanged}get inViewport(){var e;return null!=(e=this._inViewport)&&e}set inViewport(e){this._inViewport!==e&&(this._inViewport=e,this._inViewportChanged.emit(this._inViewport))}get inViewportChanged(){return this._inViewportChanged}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder!==e&&!1===e&&(this.initializeDOM(),this._placeholder=e,this._ready.resolve())}get promptNode(){return this.placeholder?null:this._inputHidden?this._inputPlaceholder.node.firstElementChild:this._input.promptNode}get editorWidget(){var e,t;return null!=(t=null==(e=this._input)?void 0:e.editorWidget)?t:null}get editor(){var e,t;return null!=(t=null==(e=this._input)?void 0:e.editor)?t:null}get editorConfig(){return this._editorConfig}get headings(){return[]}async getHeadings(){return[]}get model(){return this._model}get inputArea(){return this._input}get readOnly(){return this._readOnly}set readOnly(e){e!==this._readOnly&&(this._readOnly=e,this.syncEditable&&this.saveEditableState(),this.update())}isPlaceholder(){return this.placeholder}saveEditableState(){let{sharedModel:e}=this.model,t=e.getMetadata("editable");(!this.readOnly||!1!==t)&&(this.readOnly||void 0!==t)&&(this.readOnly?e.setMetadata("editable",!1):e.deleteMetadata("editable"))}loadEditableState(){this.readOnly=!1===this.model.sharedModel.getMetadata("editable")}get ready(){return this._ready.promise}setPrompt(e){return this._setPrompt(e)}_setPrompt(e){var t;this.prompt=e,null==(t=this._input)||t.setPrompt(e)}get inputHidden(){return this._inputHidden}set inputHidden(e){var t;if(this._inputHidden!==e){if(!this.placeholder){let n=this._inputWrapper.layout;e?(this._input.parent=null,this._inputPlaceholder&&(this._inputPlaceholder.text=null==(t=this.model.sharedModel.getSource().split("\n"))?void 0:t[0]),n.addWidget(this._inputPlaceholder)):(this._inputPlaceholder.parent=null,n.addWidget(this._input))}this._inputHidden=e,this.syncCollapse&&this.saveCollapseState(),this.handleInputHidden(e)}}saveCollapseState(){let e={...this.model.getMetadata("jupyter")};(!this.inputHidden||!0!==e.source_hidden)&&(this.inputHidden||void 0!==e.source_hidden)&&(this.inputHidden?e.source_hidden=!0:delete e.source_hidden,0===Object.keys(e).length?this.model.deleteMetadata("jupyter"):this.model.setMetadata("jupyter",e))}loadCollapseState(){var e;let t=null!=(e=this.model.getMetadata("jupyter"))?e:{};this.inputHidden=!!t.source_hidden}handleInputHidden(e){}get syncCollapse(){return this._syncCollapse}set syncCollapse(e){this._syncCollapse!==e&&(this._syncCollapse=e,e&&this.loadCollapseState())}get syncEditable(){return this._syncEditable}set syncEditable(e){this._syncEditable!==e&&(this._syncEditable=e,e&&this.loadEditableState())}clone(){return new this.constructor({model:this.model,contentFactory:this.contentFactory,placeholder:!1,translator:this.translator})}dispose(){this.isDisposed||(this._resizeDebouncer.dispose(),this._input=null,this._model=null,this._inputWrapper=null,this._inputPlaceholder=null,super.dispose())}updateEditorConfig(e){this._editorConfig={...this._editorConfig,...e},this.editor&&this.editor.setBaseOptions(this._editorConfig)}get scrollRequested(){return this._scrollRequested}initializeDOM(){if(!this.placeholder)return;let e=this.contentFactory,t=this._model,n=e.createCellHeader();n.addClass(ey),this.layout.addWidget(n);let i=this._inputWrapper=new _.Panel;i.addClass(ew);let o=new b;o.addClass(eS);let r=this._input=new k({model:t,contentFactory:e,editorOptions:this.getEditorOptions()});r.addClass(ex),i.addWidget(o),i.addWidget(r),this.layout.addWidget(i),this._inputPlaceholder=new ee({callback:()=>{this.inputHidden=!this.inputHidden},text:r.model.sharedModel.getSource().split("\n")[0],translator:this.translator}),r.model.contentChanged.connect((e,t)=>{var n;this._inputPlaceholder&&this.inputHidden&&(this._inputPlaceholder.text=null==(n=e.sharedModel.getSource().split("\n"))?void 0:n[0])}),this.inputHidden&&(r.parent=null,i.layout.addWidget(this._inputPlaceholder));let s=this.contentFactory.createCellFooter();s.addClass(eE),this.layout.addWidget(s)}getEditorOptions(){return{config:this.editorConfig,extensions:this._editorExtensions}}onBeforeAttach(e){this.placeholder&&(this.placeholder=!1)}onAfterAttach(e){this.update()}onActivateRequest(e){var t;null==(t=this.editor)||t.focus()}onResize(e){this._resizeDebouncer.invoke()}onUpdateRequest(e){var t,n;this._model&&(null==(t=this.editor)?void 0:t.getOption("readOnly"))!==this._readOnly&&(null==(n=this.editor)||n.setOption("readOnly",this._readOnly))}onContentChanged(){var e;this.inputHidden&&this._inputPlaceholder&&(this._inputPlaceholder.text=null==(e=this.model.sharedModel.getSource().split("\n"))?void 0:e[0])}onMetadataChanged(e,t){switch(t.key){case"jupyter":this.syncCollapse&&this.loadCollapseState();break;case"editable":this.syncEditable&&this.loadEditableState()}}}!function(e){let t;!function(e){e[e.HTML=0]="HTML",e[e.Markdown=1]="Markdown"}(t=e.HeadingType||(e.HeadingType={}));class n{constructor(e){this._editorFactory=e.editorFactory}get editorFactory(){return this._editorFactory}createCellHeader(){return new w}createCellFooter(){return new j}createInputPrompt(){return new D}createOutputPrompt(){return new N.OutputPrompt}createStdin(e){return new N.Stdin(e)}}e.ContentFactory=n}(eH||(eH={}));class eU extends _.PanelLayout{onBeforeAttach(e){let t=!0,n=this.parent.node.firstElementChild;for(let i of this)n&&(i.node===n?t=!1:(eA.MessageLoop.sendMessage(i,e),t?this.parent.node.insertBefore(i.node,n):this.parent.node.appendChild(i.node),this.parent.isHidden||i.setFlag(_.Widget.Flag.IsVisible),eA.MessageLoop.sendMessage(i,_.Widget.Msg.AfterAttach)))}onAfterDetach(e){for(let t of this)!t.hasClass(ej)&&t.node.isConnected&&(eA.MessageLoop.sendMessage(t,_.Widget.Msg.BeforeDetach),this.parent.node.removeChild(t.node),eA.MessageLoop.sendMessage(t,e))}}class eY extends eH{constructor(e){var t;super({layout:new eU,...e,placeholder:!0}),this._detectCaretMovementInOuput=e=>{let t=null!==this._inViewport&&!this._inViewport,n=e.target;if(!n||!(n instanceof HTMLElement))return;this._lastTarget&&(this._lastTarget.removeEventListener("selectionchange",this._lastOnCaretMovedHandler),document.removeEventListener("selectionchange",this._lastOnCaretMovedHandler));let i=()=>{this._scrollRequested.emit({scrollWithinCell:({scroller:e})=>{u.ElementExt.scrollIntoViewIfNeeded(e,n)},defaultPrevented:t})};this._lastTarget=n,this._lastOnCaretMovedHandler=i,n.addEventListener("selectionchange",i,{once:!0}),document.addEventListener("selectionchange",i,{once:!0}),setTimeout(()=>{n.removeEventListener("selectionchange",i),document.removeEventListener("selectionchange",i)},250)},this._headingsCache=null,this._outputHidden=!1,this._outputWrapper=null,this._outputPlaceholder=null,this._syncScrolled=void 0,this._lastTarget=null,this._lastOutputHeight="",this.addClass(ek);const n=this.translator.load("jupyterlab"),i=this._rendermime=e.rendermime,o=this.contentFactory,r=this.model;this.maxNumberOutputs=e.maxNumberOutputs;const s=0===r.outputs.length?n.__("Code Cell Content"):n.__("Code Cell Content with Output");this.node.setAttribute("aria-label",s);const a=this._output=new N.OutputArea({model:this.model.outputs,rendermime:i,contentFactory:o,maxNumberOutputs:this.maxNumberOutputs,translator:this.translator,promptOverlay:!0,inputHistoryScope:e.inputHistoryScope,showInputPlaceholder:e.showInputPlaceholder});a.node.addEventListener("keydown",this._detectCaretMovementInOuput),a.addClass(eB),a.toggleScrolling.connect(()=>{this.outputsScrolled=!this.outputsScrolled}),a.initialize.connect(()=>{this.updatePromptOverlayIcon()}),this.placeholder=null==(t=e.placeholder)||t,r.outputs.changed.connect(this.onOutputChanged,this),r.outputs.stateChanged.connect(this.onOutputChanged,this),r.stateChanged.connect(this.onStateChanged,this)}initializeDOM(){if(!this.placeholder)return;super.initializeDOM(),this._updatePrompt();let e=this._outputWrapper=new _.Panel;e.addClass(ej);let t=new v;t.addClass(eM),e.addWidget(t),0===this.model.outputs.length&&this.addClass(eO),this._output.outputLengthChanged.connect(this._outputLengthHandler,this),e.addWidget(this._output);let n=this.layout,i=new ev(this.node);i.sizeChanged.connect(this._sizeChangedHandler,this),n.insertWidget(n.widgets.length-1,i),n.insertWidget(n.widgets.length-1,e),this.model.isDirty&&this.addClass(eI),this._outputPlaceholder=new et({callback:()=>{this.outputHidden=!this.outputHidden},text:this.getOutputPlaceholderText(),translator:this.translator});let o=e.layout;this.outputHidden&&(o.removeWidget(this._output),o.addWidget(this._outputPlaceholder),this.inputHidden&&!e.isHidden&&this._outputWrapper.hide());let r=this.translator.load("jupyterlab"),s=0===this.model.outputs.length?r.__("Code Cell Content"):r.__("Code Cell Content with Output");this.node.setAttribute("aria-label",s)}getOutputPlaceholderText(){var e;let t=this.model.outputs.get(0);if(!(null==t?void 0:t.data))return;let n=["text/html","image/svg+xml","application/pdf","text/markdown","text/plain","application/vnd.jupyter.stderr","application/vnd.jupyter.stdout","text"].find(e=>{let n=t.data[e];return(Array.isArray(n)?typeof n[0]:typeof n)=="string"}),i=t.data[null!=n?n:""];if(void 0!==i)return null==(e=Array.isArray(i)?i:null==i?void 0:i.split("\n"))?void 0:e.find(e=>""!==e)}initializeState(){return super.initializeState(),this.loadScrolledState(),this._updatePrompt(),this}get headings(){var e;return null!=(e=this._headingsCache)?e:[]}async getHeadings(){if(!this._headingsCache){let e=[],t=this.model.outputs;for(let n=0;n<t.length;n++){let i=t.get(n),o=null,r=null;if(Object.keys(i.data).forEach(e=>{!r&&ep.TableOfContentsUtils.Markdown.isMarkdown(e)?r=e:!o&&ep.TableOfContentsUtils.isHTML(e)&&(o=e)}),o){let t=i.data[o];"string"!=typeof t&&(t=t.join("\n")),e.push(...ep.TableOfContentsUtils.getHTMLHeadings(this._rendermime.sanitizer.sanitize(t)).map(e=>({...e,outputIndex:n,type:eH.HeadingType.HTML})))}else if(r){let t=await ep.TableOfContentsUtils.Markdown.parseHeadings(i.data[r],this._rendermime.markdownParser);e.push(...t.map(e=>({...e,outputIndex:n,type:eH.HeadingType.Markdown})))}}this._headingsCache=e}return[...this._headingsCache]}get outputArea(){return this._output}get outputHidden(){return this._outputHidden}set outputHidden(e){var t;if(this._outputHidden!==e){if(!this.placeholder){let n=this._outputWrapper.layout;e?(n.removeWidget(this._output),n.addWidget(this._outputPlaceholder),this.inputHidden&&!this._outputWrapper.isHidden&&this._outputWrapper.hide(),this._outputPlaceholder&&(this._outputPlaceholder.text=null!=(t=this.getOutputPlaceholderText())?t:"")):(this._outputWrapper.isHidden&&this._outputWrapper.show(),n.removeWidget(this._outputPlaceholder),n.addWidget(this._output))}this._outputHidden=e,this.syncCollapse&&this.saveCollapseState()}}saveCollapseState(){this.model.sharedModel.transact(()=>{super.saveCollapseState();let e=this.model.getMetadata("collapsed");(!this.outputHidden||!0!==e)&&(this.outputHidden||void 0!==e)&&(this.outputHidden?this.model.setMetadata("collapsed",!0):this.model.deleteMetadata("collapsed"))},!1,"silent-change")}loadCollapseState(){super.loadCollapseState(),this.outputHidden=!!this.model.getMetadata("collapsed")}get outputsScrolled(){return this._outputsScrolled}set outputsScrolled(e){this.toggleClass("jp-mod-outputsScrolled",e),this._outputsScrolled=e,this.syncScrolled&&this.saveScrolledState(),this.updatePromptOverlayIcon()}updatePromptOverlayIcon(){var e;let t,n=eh.DOMUtils.findElement(this.node,"jp-OutputArea-promptOverlay");if(!n)return;let i=24;if(n.clientHeight<=i){null==(e=n.firstChild)||e.remove();return}this._outputsScrolled?(h.expandIcon.element({container:n}),t="Expand Output"):(h.collapseIcon.element({container:n}),t="Collapse Output"),n.title=this.translator.load("jupyterlab").__(t)}saveScrolledState(){let e=this.model.getMetadata("scrolled");(!this.outputsScrolled||!0!==e)&&(this.outputsScrolled||void 0!==e)&&(this.outputsScrolled?this.model.setMetadata("scrolled",!0):(this.outputArea.node.style.height="",this.model.deleteMetadata("scrolled")))}loadScrolledState(){"auto"===this.model.getMetadata("scrolled")?this.outputsScrolled=!1:this.outputsScrolled=!!this.model.getMetadata("scrolled")}get syncScrolled(){return this._syncScrolled}set syncScrolled(e){this._syncScrolled!==e&&(this._syncScrolled=e,e&&this.loadScrolledState())}handleInputHidden(e){!this.placeholder&&(!e&&this._outputWrapper.isHidden?this._outputWrapper.show():e&&!this._outputWrapper.isHidden&&this._outputHidden&&this._outputWrapper.hide())}clone(){return new this.constructor({model:this.model,contentFactory:this.contentFactory,rendermime:this._rendermime,placeholder:!1,translator:this.translator})}cloneOutputArea(){return new N.SimplifiedOutputArea({model:this.model.outputs,contentFactory:this.contentFactory,rendermime:this._rendermime})}dispose(){this.isDisposed||(this._output.outputLengthChanged.disconnect(this._outputLengthHandler,this),this._output.node.removeEventListener("keydown",this._detectCaretMovementInOuput),this._rendermime=null,this._output=null,this._outputWrapper=null,this._outputPlaceholder=null,super.dispose())}onStateChanged(e,t){switch(t.name){case"executionCount":null!==t.newValue&&(this.model.executionState="idle"),this._updatePrompt();break;case"executionState":this._updatePrompt();break;case"isDirty":e.isDirty?this.addClass(eI):this.removeClass(eI)}}onOutputChanged(){var e;this._headingsCache=null,this._outputPlaceholder&&this.outputHidden&&(this._outputPlaceholder.text=null!=(e=this.getOutputPlaceholderText())?e:""),this.updatePromptOverlayIcon();let t=this.outputArea.node.style.height;0===this.model.outputs.length&&""!==t?(this._lastOutputHeight=t,this.outputArea.node.style.height=""):this.model.outputs.length>0&&""===t&&(this.outputArea.node.style.height=this._lastOutputHeight)}onMetadataChanged(e,t){switch(t.key){case"scrolled":this.syncScrolled&&this.loadScrolledState();break;case"collapsed":this.syncCollapse&&this.loadCollapseState()}super.onMetadataChanged(e,t)}_updatePrompt(){let e;e="running"==this.model.executionState?"*":`${this.model.executionCount||""}`,this._setPrompt(e)}_outputLengthHandler(e,t){let n=0===t;this.toggleClass(eO,n);let i=this.translator.load("jupyterlab"),o=n?i.__("Code Cell Content"):i.__("Code Cell Content with Output");this.node.setAttribute("aria-label",o)}_sizeChangedHandler(e){this._displayChanged.emit()}}!function(e){e.execute=async function(e,t,n){var i;let o,r=e.model,s=r.sharedModel.getSource();if(!s.trim()||!(null==(i=t.session)?void 0:i.kernel))return void r.sharedModel.transact(()=>{r.clearExecution()},!1);let a={cellId:r.sharedModel.getId()},{recordTiming:l}=n={...r.metadata,...n,...a};r.sharedModel.transact(()=>{r.clearExecution(),e.outputHidden=!1},!1,"silent-change"),r.executionState="running",r.trusted=!0;try{let i=N.OutputArea.execute(s,e.outputArea,t,n);if(l){let t=e=>{let t;switch(e.header.msg_type){case"status":t=`status.${e.content.execution_state}`;break;case"execute_input":t="execute_input";break;default:return!0}let n=e.header.date||new Date().toISOString(),i=Object.assign({},r.getMetadata("execution"));return i[`iopub.${t}`]=n,r.setMetadata("execution",i),!0};e.outputArea.future.registerMessageHook(t)}else r.deleteMetadata("execution");o=e.outputArea.future;let a=await i;if(r.executionCount=a.content.execution_count,l){let e=Object.assign({},r.getMetadata("execution")),t=a.metadata.started;t&&(e["shell.execute_reply.started"]=t);let n=a.header.date;e["shell.execute_reply"]=n||new Date().toISOString(),r.setMetadata("execution",e)}return a}catch(t){if(o&&!e.isDisposed&&e.outputArea.future===o&&(e.model.executionState="idle",l&&o.isDisposed)){let e=Object.assign({},r.getMetadata("execution"));e.execution_failed=new Date().toISOString(),r.setMetadata("execution",e)}throw t}}}(eY||(eY={}));class eV extends eH{handleEvent(e){switch(e.type){case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e)}}getEditorOptions(){var e,t;let n=null!=(e=super.getEditorOptions())?e:{};return n.extensions=[...null!=(t=n.extensions)?t:[],ec.EditorView.domEventHandlers({dragenter:e=>{e.preventDefault()},dragover:e=>{e.preventDefault()},drop:e=>{this._evtNativeDrop(e)},paste:e=>{this._evtPaste(e)}})],n}onAfterAttach(e){super.onAfterAttach(e);let t=this.node;t.addEventListener("lm-dragover",this),t.addEventListener("lm-drop",this)}onBeforeDetach(e){let t=this.node;t.removeEventListener("lm-dragover",this),t.removeEventListener("lm-drop",this),super.onBeforeDetach(e)}_evtDragOver(e){(0,eg.some)(eu.imageRendererFactory.mimeTypes,t=>!!e.mimeData.hasData(eW)&&e.mimeData.getData(eW).model.mimetype===t)&&(e.preventDefault(),e.stopPropagation(),e.dropAction=e.proposedAction)}_evtPaste(e){var t;let n=null==(t=this.model.getMetadata("editable"))||t;if(e.clipboardData&&n){let t=e.clipboardData.items;for(let n=0;n<t.length;n++){if("text/plain"===t[n].type){if(n<t.length-1&&"file"===t[n+1].kind)continue;t[n].getAsString(e=>{var t,n;null==(n=(t=this.editor).replaceSelection)||n.call(t,e.replace(/\r\n/g,"\n").replace(/\r/g,"\n"))})}this._attachFiles(e.clipboardData.items)}}e.preventDefault()}_evtNativeDrop(e){e.dataTransfer&&this._attachFiles(e.dataTransfer.items),e.preventDefault()}_evtDrop(e){let t=e.mimeData.types().filter(t=>{if(t===eW){let t=e.mimeData.getData(eW);return -1!==eu.imageRendererFactory.mimeTypes.indexOf(t.model.mimetype)}return -1!==eu.imageRendererFactory.mimeTypes.indexOf(t)});if(0!==t.length){if(e.preventDefault(),e.stopPropagation(),"none"===e.proposedAction){e.dropAction="none";return}for(let n of(e.dropAction="copy",t))if(n===eW){let{model:t,withContent:n}=e.mimeData.getData(eW);if("file"===t.type){let e=this._generateURI(t.name);this.updateCellSourceWithAttachment(t.name,e),n().then(t=>{this.model.attachments.set(e,{[t.mimetype]:t.content})})}}else{let t=this._generateURI();this.model.attachments.set(t,{[n]:e.mimeData.getData(n)}),this.updateCellSourceWithAttachment(t,t)}}}_attachFiles(e){for(let t=0;t<e.length;t++){let n=e[t];if("file"===n.kind){let e=n.getAsFile();e&&this._attachFile(e)}}}_attachFile(e){let t=new FileReader;t.onload=n=>{let{href:i,protocol:o}=ei.URLExt.parse(t.result);if("data:"!==o)return;let r=/([\w+/]+)?(?:;(charset=[\w-]*|base64))?,(.*)/.exec(i);if(!r||4!==r.length)return;let s=r[1],a={[s]:r[3]},l=this._generateURI(e.name);s.startsWith("image/")&&(this.model.attachments.set(l,a),this.updateCellSourceWithAttachment(e.name,l))},t.onerror=t=>{console.error(`Failed to attach ${e.name}`+t)},t.readAsDataURL(e)}_generateURI(e=""){let t=e.lastIndexOf(".");return -1!==t?em.UUID.uuid4().concat(e.substring(t)):em.UUID.uuid4()}}class eq extends eV{constructor(e){var t,n,i,o,r;super({...e,placeholder:!0}),this._headingsCache=null,this._headingCollapsedChanged=new T.Signal(this),this._prevText="",this._rendered=!0,this._renderedChanged=new T.Signal(this),this._showEditorForReadOnlyMarkdown=!0,this._cachedHeadingText="",this._headingResolved=!1,this.addClass(eD),this.model.contentChanged.connect(this.onContentChanged,this);const s=this.translator.load("jupyterlab");this.node.setAttribute("aria-label",s.__("Markdown Cell Content")),this._rendermime=e.rendermime.clone({resolver:new L.AttachmentsResolver({parent:null!=(t=e.rendermime.resolver)?t:void 0,model:this.model.attachments})}),this._renderer=this._rendermime.createRenderer("text/markdown"),this._renderer.addClass(eT),this._headingCollapsed=null!=(n=this.model.getMetadata(eL))&&n,this._showEditorForReadOnlyMarkdown=null!=(i=e.showEditorForReadOnlyMarkdown)?i:eq.defaultShowEditorForReadOnlyMarkdown,this.placeholder=null==(o=e.placeholder)||o,this._monitor=new ei.ActivityMonitor({signal:this.model.contentChanged,timeout:eF}),this.ready.then(()=>{this.isDisposed||this._monitor.activityStopped.connect(()=>{this._rendered&&this.update()},this)}).catch(e=>{console.error("Failed to be ready",e)}),this._cachedHeadingText=this.model.sharedModel.getSource(),this._emptyPlaceholder=null!=(r=e.emptyPlaceholder)?r:s.__("Type Markdown and LaTeX: $ α^2 $")}get headingInfo(){let e=this.headings;if(!(e.length>0))return{text:"",level:-1};{let{text:t,level:n}=e.reduce((e,t)=>e.level<=t.level?e:t,e[0]);return{text:t,level:n}}}get headings(){var e;return null!=(e=this._headingsCache)?e:[]}async getHeadings(){if(!this._headingsCache){let e=await ep.TableOfContentsUtils.Markdown.parseHeadings(this.model.sharedModel.getSource(),this._rendermime.markdownParser);this._headingsCache=e.map(e=>({...e,type:eH.HeadingType.Markdown})),this._headingResolved=!0,this.renderCollapseButtons()}return[...this._headingsCache]}get headingCollapsed(){return this._headingCollapsed}set headingCollapsed(e){var t;if(this._headingCollapsed!==e){this._headingCollapsed=e,e?this.model.setMetadata(eL,e):"undefined"!==this.model.getMetadata(eL)&&this.model.deleteMetadata(eL);let n=null==(t=this.inputArea)?void 0:t.promptNode.getElementsByClassName(eN)[0];n&&(e?n.classList.add("jp-mod-collapsed"):n.classList.remove("jp-mod-collapsed")),this.renderCollapseButtons(this._renderer),this._headingCollapsedChanged.emit(this._headingCollapsed)}}get numberChildNodes(){return this._numberChildNodes}set numberChildNodes(e){this._numberChildNodes=e,this.renderCollapseButtons(this._renderer)}get headingCollapsedChanged(){return this._headingCollapsedChanged}get rendered(){return this._rendered}set rendered(e){this.readOnly&&!1===this._showEditorForReadOnlyMarkdown&&(e=!0),e!==this._rendered&&(this._rendered=e,this._handleRendered().then(()=>{this._displayChanged.emit(),this._renderedChanged.emit(this._rendered)}).catch(e=>{console.error("Failed to render",e)}))}get renderedChanged(){return this._renderedChanged}get showEditorForReadOnly(){return this._showEditorForReadOnlyMarkdown}set showEditorForReadOnly(e){this._showEditorForReadOnlyMarkdown=e,!1===e&&(this.rendered=!0)}get renderer(){return this._renderer}dispose(){this.isDisposed||(this._monitor.dispose(),super.dispose())}initializeDOM(){this.placeholder&&(super.initializeDOM(),this.renderCollapseButtons(this._renderer),this._handleRendered().catch(e=>{console.error("Failed to render",e)}))}maybeCreateCollapseButton(){var e;let{level:t}=this.headingInfo;if(t>0&&(null==(e=this.inputArea)?void 0:e.promptNode.getElementsByClassName(eN).length)==0){let e=this.inputArea.promptNode.appendChild(document.createElement("button"));e.className=`jp-Button ${eN}`,e.setAttribute("data-heading-level",t.toString()),this._headingCollapsed?e.classList.add("jp-mod-collapsed"):e.classList.remove("jp-mod-collapsed"),e.onclick=e=>{this.headingCollapsed=!this.headingCollapsed}}}maybeCreateOrUpdateExpandButton(){let e=this.node.getElementsByClassName(eP),t=this.translator.load("jupyterlab")._n("%1 cell hidden","%1 cells hidden",this._numberChildNodes);if(this.headingCollapsed&&this._numberChildNodes>0&&0==e.length){let e=document.createElement("button");e.className=`jp-mod-minimal jp-Button ${eP}`,h.addIcon.render(e);let n=document.createElement("div");n.textContent=t,e.appendChild(n),e.onclick=()=>{this.headingCollapsed=!1},this.node.appendChild(e)}if(this.headingCollapsed&&this._numberChildNodes>0&&1==e.length&&(e[0].childNodes[1].textContent=t),!(this.headingCollapsed&&this._numberChildNodes>0))for(let t of e)this.node.removeChild(t)}onContentChanged(){super.onContentChanged();let e=this.model,t=e&&e.sharedModel.getSource();t!==this._cachedHeadingText&&(this._cachedHeadingText=t,this._headingsCache=null,this._headingResolved=!1)}renderCollapseButtons(e){this.node.classList.toggle(eL,this._headingCollapsed),this.maybeCreateCollapseButton(),this.maybeCreateOrUpdateExpandButton()}renderInput(e){this.addClass(eR),this.placeholder||this.isDisposed||(this.renderCollapseButtons(e),this.inputArea.renderInput(e))}showEditor(){if(this.removeClass(eR),!this.placeholder&&!this.isDisposed){this.inputArea.showEditor();let e=(this.model.sharedModel.getSource().match(/^#+/g)||[""])[0].length;e>0&&this.inputArea.editor.setCursorPosition({column:e+1,line:0},{scroll:!1})}}onUpdateRequest(e){this._handleRendered().catch(e=>{console.error("Failed to render",e)}),super.onUpdateRequest(e)}updateCellSourceWithAttachment(e,t){var n,i;let o=`![${e}](attachment:${null!=t?t:e})`;null==(i=null==(n=this.editor)?void 0:n.replaceSelection)||i.call(n,o)}async _handleRendered(){this._rendered?(await this._updateRenderedInput(),this._rendered&&this.renderInput(this._renderer)):this.showEditor()}_updateRenderedInput(){if(this.placeholder)return Promise.resolve();let e=this.model,t=e&&e.sharedModel.getSource()||this._emptyPlaceholder;if(t!==this._prevText){let e=new eu.MimeModel({data:{"text/markdown":t}});return this._prevText=t,this._renderer.renderModel(e)}return Promise.resolve()}clone(){return new this.constructor({model:this.model,contentFactory:this.contentFactory,rendermime:this._rendermime,placeholder:!1,translator:this.translator})}get headingsResolved(){return this._headingResolved}}!function(e){e.defaultShowEditorForReadOnlyMarkdown=!0}(eq||(eq={}));class eG extends eH{constructor(e){super(e),this.addClass(ez);const t=this.translator.load("jupyterlab");this.node.setAttribute("aria-label",t.__("Raw Cell Content"))}clone(){return new this.constructor({model:this.model,contentFactory:this.contentFactory,placeholder:!1,translator:this.translator})}}},58613(e,t,n){"use strict";n(82311),n(97777),n(62971),n(22595),n(13443),n(38415),n(5241),n(92508),n(29099),n(89413),n(74047);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(25798),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},73578(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>C});var i=n(94613),o=n(60721),r=n.n(o),s=n(8989),a=n(65819),l=n(2786);let d="jp-CellTags",c="jp-CellTags-Tag",h="jp-CellTags-Applied",u="jp-CellTags-Unapplied",p="jp-CellTags-Holder",m="jp-CellTags-Add",g="jp-CellTags-Empty";class A{constructor(e,t){this._tracker=e,this._translator=t||l.nullTranslator,this._trans=this._translator.load("jupyterlab"),this._editing=!1}addTag(e,t){let n=e.formData;t&&!n.includes(t)&&(n.push(t),e.formContext.updateMetadata({[e.name]:n},!0))}pullTags(){var e,t;let n=null==(e=this._tracker)?void 0:e.currentWidget,i=null==(t=null==n?void 0:n.model)?void 0:t.cells;return void 0===i?[]:[...new Set((0,a.reduce)(i,(e,t)=>{var n;return[...e,...null!=(n=t.getMetadata("tags"))?n:[]]},[]))].filter(e=>""!==e)}_emptyAddTag(e){e.value="",e.style.width="",e.classList.add(g)}_onAddTagKeyDown(e,t){let n=t.target;t.ctrlKey||("Enter"===t.key?this.addTag(e,n.value):"Escape"===t.key&&this._emptyAddTag(n))}_onAddTagFocus(e){this._editing||e.target.blur()}_onAddTagBlur(e){this._editing&&(this._editing=!1,this._emptyAddTag(e))}_onChange(e){if(e.target.value){e.target.classList.remove(g);let t=document.createElement("span");t.className=m,t.textContent=e.target.value,document.body.appendChild(t),e.target.style.setProperty("width",`calc(${t.getBoundingClientRect().width}px + var(--jp-add-tag-extra-width))`),document.body.removeChild(t)}else this._emptyAddTag(e.target)}_onAddTagClick(e,t){let n=t.target.closest("div"),i=null==n?void 0:n.childNodes[0];this._editing?t.target!==i&&this.addTag(e,i.value):(this._editing=!0,i.value="",i.focus()),t.preventDefault()}_onTagClick(e,t){let n=e.formData;n.includes(t)?n.splice(n.indexOf(t),1):n.push(t),e.formContext.updateMetadata({[e.name]:n},!0)}render(e){let t=this.pullTags();return r().createElement("div",{className:d},r().createElement("div",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem"},this._trans.__("Cell Tags")),t&&t.map((t,n)=>r().createElement("div",{key:n,className:`${c} ${e.formData.includes(t)?h:u}`,onClick:()=>this._onTagClick(e,t)},r().createElement("div",{className:p},r().createElement("span",null,t),e.formData.includes(t)&&r().createElement(s.LabIcon.resolveReact,{icon:s.checkIcon,tag:"span",elementPosition:"center",height:"18px",width:"18px",marginLeft:"5px",marginRight:"-3px"})))),r().createElement("div",{className:`${c} ${u}`},r().createElement("div",{className:p,onMouseDown:t=>this._onAddTagClick(e,t)},r().createElement("input",{className:`${m} ${g}`,type:"text",placeholder:this._trans.__("Add Tag"),onKeyDown:t=>this._onAddTagKeyDown(e,t),onFocus:e=>this._onAddTagFocus(e),onBlur:e=>this._onAddTagBlur(e.target),onChange:e=>{this._onChange(e)}}),r().createElement(s.LabIcon.resolveReact,{icon:s.addIcon,tag:"span",height:"18px",width:"18px",className:p}))))}}let C=[{id:"@jupyterlab/celltags-extension:plugin",description:"Adds the cell tags editor.",autoStart:!0,requires:[i.INotebookTracker],optional:[s.IFormRendererRegistry],activate:(e,t,n)=>{if(n){let e={fieldRenderer:e=>new A(t).render(e)};n.addRenderer("@jupyterlab/celltags-extension:plugin.renderer",e)}}}]},60042(e,t,n){"use strict";n(97777),n(67474),n(16382);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(21670),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},63257(e,t,n){"use strict";n.r(t),n.d(t,{COMPLETER_ACTIVE_CLASS:()=>x,COMPLETER_ENABLED_CLASS:()=>j,COMPLETER_LINE_BEGINNING_CLASS:()=>B,CodeEditor:()=>o,CodeEditorWrapper:()=>L,CodeViewerWidget:()=>N,IEditorMimeTypeService:()=>i,IEditorServices:()=>S,IPositionModel:()=>M,JSONEditor:()=>C,LineCol:()=>w});var i,o,r,s=n(58196),a=n(52782),l=n(20659);!function(e){e.defaultMimeType="text/plain"}(i||(i={})),function(e){class t{constructor(e={}){var t,n;this.standaloneModel=!1,this._isDisposed=!1,this._selections=new a.ObservableMap,this._mimeType=i.defaultMimeType,this._mimeTypeChanged=new l.Signal(this),this.standaloneModel=void 0===e.sharedModel,this.sharedModel=null!=(t=e.sharedModel)?t:new s.YFile,this._mimeType=null!=(n=e.mimeType)?n:i.defaultMimeType}get mimeTypeChanged(){return this._mimeTypeChanged}get selections(){return this._selections}get mimeType(){return this._mimeType}set mimeType(e){let t=this.mimeType;t!==e&&(this._mimeType=e,this._mimeTypeChanged.emit({name:"mimeType",oldValue:t,newValue:e}))}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._selections.dispose(),this.standaloneModel&&this.sharedModel.dispose(),l.Signal.clearData(this))}}e.Model=t}(o||(o={}));var d=n(2786),c=n(8989),h=n(55187),u=n(64001);let p="jp-JSONEditor",m="jp-mod-error",g="jp-JSONEditor-host",A="jp-JSONEditor-header";class C extends u.Widget{constructor(e){super(),this._dataDirty=!1,this._inputDirty=!1,this._source=null,this._originalValue=h.JSONExt.emptyObject,this._changeGuard=!1,this.translator=e.translator||d.nullTranslator,this._trans=this.translator.load("jupyterlab"),this.addClass(p),this.headerNode=document.createElement("div"),this.headerNode.className=A,this.revertButtonNode=c.undoIcon.element({tag:"span",title:this._trans.__("Revert changes to data")}),this.commitButtonNode=c.checkIcon.element({tag:"span",title:this._trans.__("Commit changes to data"),marginLeft:"8px"}),this.editorHostNode=document.createElement("div"),this.editorHostNode.className=g,this.headerNode.appendChild(this.revertButtonNode),this.headerNode.appendChild(this.commitButtonNode),this.node.appendChild(this.headerNode),this.node.appendChild(this.editorHostNode);const t=new o.Model({mimeType:"application/json"});t.sharedModel.changed.connect(this._onModelChanged,this),this.model=t,this.editor=e.editorFactory({host:this.editorHostNode,model:t,config:{readOnly:!0}})}get source(){return this._source}set source(e){this._source!==e&&(this._source&&this._source.changed.disconnect(this._onSourceChanged,this),this._source=e,this.editor.setOption("readOnly",null===e),e&&e.changed.connect(this._onSourceChanged,this),this._setValue())}get isDirty(){return this._dataDirty||this._inputDirty}dispose(){var e;this.isDisposed||(null==(e=this.source)||e.dispose(),this.model.dispose(),this.editor.dispose(),super.dispose())}handleEvent(e){switch(e.type){case"blur":this._evtBlur(e);break;case"click":this._evtClick(e)}}onAfterAttach(e){let t=this.editorHostNode;t.addEventListener("blur",this,!0),t.addEventListener("click",this,!0),this.revertButtonNode.hidden=!0,this.commitButtonNode.hidden=!0,this.headerNode.addEventListener("click",this)}onBeforeDetach(e){let t=this.editorHostNode;t.removeEventListener("blur",this,!0),t.removeEventListener("click",this,!0),this.headerNode.removeEventListener("click",this)}_onSourceChanged(e,t){if(!this._changeGuard){if(this._inputDirty||this.editor.hasFocus()){this._dataDirty=!0;return}this._setValue()}}_onModelChanged(e,t){if(t.sourceChange){let e=!0;try{let e=JSON.parse(this.editor.model.sharedModel.getSource());this.removeClass(m),this._inputDirty=!this._changeGuard&&!h.JSONExt.deepEqual(e,this._originalValue)}catch(t){this.addClass(m),this._inputDirty=!0,e=!1}this.revertButtonNode.hidden=!this._inputDirty,this.commitButtonNode.hidden=!e||!this._inputDirty}}_evtBlur(e){!this._inputDirty&&this._dataDirty&&this._setValue()}_evtClick(e){let t=e.target;this.revertButtonNode.contains(t)?this._setValue():this.commitButtonNode.contains(t)?this.commitButtonNode.hidden||this.hasClass(m)||(this._changeGuard=!0,this._mergeContent(),this._changeGuard=!1,this._setValue()):this.editorHostNode.contains(t)&&this.editor.focus()}_mergeContent(){let e=this.editor.model,t=this._originalValue,n=JSON.parse(e.sharedModel.getSource()),i=this.source;if(i){for(let e in n)h.JSONExt.deepEqual(n[e],t[e]||null)||i.set(e,n[e]);for(let e in t)e in n||i.delete(e)}}_setValue(){this._dataDirty=!1,this._inputDirty=!1,this.revertButtonNode.hidden=!0,this.commitButtonNode.hidden=!0,this.removeClass(m);let e=this.editor.model,t=this._source?this._source.toJSON():{};if(this._changeGuard=!0,void 0===t)e.sharedModel.setSource(this._trans.__("No data!")),this._originalValue=h.JSONExt.emptyObject;else{let n=JSON.stringify(t,null,4);e.sharedModel.setSource(n),this._originalValue=t,n.length>1&&"{"===n[0]&&this.editor.setCursorPosition({line:0,column:1})}this._changeGuard=!1,this.commitButtonNode.hidden=!0,this.revertButtonNode.hidden=!0}}var f=n(59057),b=n(60721),v=n.n(b),_=n(97518);class y extends v().Component{constructor(e){super(e),this._handleChange=e=>{this.setState({value:e.currentTarget.value})},this._handleSubmit=e=>{e.preventDefault();let t=parseInt(this._textInput.value,10);return!isNaN(t)&&isFinite(t)&&1<=t&&t<=this.props.maxLine&&this.props.handleSubmit(t),!1},this._handleFocus=()=>{this.setState({hasFocus:!0})},this._handleBlur=()=>{this.setState({hasFocus:!1})},this._textInput=null,this.translator=e.translator||d.nullTranslator,this._trans=this.translator.load("jupyterlab"),this.state={value:"",hasFocus:!1,textInputId:_.DOMUtils.createDomID()+"-line-number-input"}}componentDidMount(){this._textInput.focus()}render(){return v().createElement("div",{className:"jp-lineFormSearch"},v().createElement("form",{name:"lineColumnForm",onSubmit:this._handleSubmit,noValidate:!0},v().createElement("div",{className:(0,c.classes)("jp-lineFormWrapper","lm-lineForm-wrapper",this.state.hasFocus?"jp-lineFormWrapperFocusWithin":void 0)},v().createElement("input",{type:"text",id:this.state.textInputId,className:"jp-lineFormInput",onChange:this._handleChange,onFocus:this._handleFocus,onBlur:this._handleBlur,value:this.state.value,ref:e=>{this._textInput=e}}),v().createElement("div",{className:"jp-baseLineForm jp-lineFormButtonContainer"},v().createElement(c.lineFormIcon.react,{className:"jp-baseLineForm jp-lineFormButtonIcon",elementPosition:"center"}),v().createElement("input",{type:"submit",className:"jp-baseLineForm jp-lineFormButton",value:""}))),v().createElement("label",{className:"jp-lineFormCaption",htmlFor:this.state.textInputId},this._trans.__("Go to line number between 1 and %1",this.props.maxLine))))}}function E(e){let t=(e.translator||d.nullTranslator).load("jupyterlab"),n=t=>{"Enter"!==t.key&&"Spacebar"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),e.handleClick())};return v().createElement(f.TextItem,{role:"button","aria-haspopup":!0,onClick:e.handleClick,source:t.__("Ln %1, Col %2",e.line,e.column),title:t.__("Go to line number…"),tabIndex:0,onKeyDown:n})}class w extends c.VDomRenderer{constructor(e){super(new w.Model),this._popup=null,this.addClass("jp-mod-highlighted"),this.translator=e||d.nullTranslator}render(){return null===this.model?null:v().createElement(E,{line:this.model.line,column:this.model.column,translator:this.translator,handleClick:()=>this._handleClick()})}_handleClick(){this._popup&&this._popup.dispose();let e=c.ReactWidget.create(v().createElement(y,{handleSubmit:e=>this._handleSubmit(e),currentLine:this.model.line,maxLine:this.model.editor.lineCount,translator:this.translator}));this._popup=(0,f.showPopup)({body:e,anchor:this,align:"right"})}_handleSubmit(e){this.model.editor.setCursorPosition({line:e-1,column:0}),this._popup.dispose(),this.model.editor.focus()}}!function(e){class t extends c.VDomModel{constructor(){super(...arguments),this._onSelectionChanged=()=>{let e=this._getAllState(),t=this.editor.getCursorPosition();this._line=t.line+1,this._column=t.column+1,this._triggerChange(e,this._getAllState())},this._line=1,this._column=1,this._editor=null}get editor(){return this._editor}set editor(e){var t;let n=this._editor;(null==(t=null==n?void 0:n.model)?void 0:t.selections)&&n.model.selections.changed.disconnect(this._onSelectionChanged);let i=this._getAllState();if(this._editor=e,this._editor){this._editor.model.selections.changed.connect(this._onSelectionChanged);let e=this._editor.getCursorPosition();this._column=e.column+1,this._line=e.line+1}else this._column=1,this._line=1;this._triggerChange(i,this._getAllState())}get line(){return this._line}get column(){return this._column}_getAllState(){return[this._line,this._column]}_triggerChange(e,t){(e[0]!==t[0]||e[1]!==t[1])&&this.stateChanged.emit(void 0)}}e.Model=t}(w||(w={}));let j="jp-mod-completer-enabled",x="jp-mod-completer-active",B="jp-mod-at-line-beginning",S=new h.Token("@jupyterlab/codeeditor:IEditorServices",`A service for the text editor provider
  for the application. Use this to create new text editors and host them in your
  UI elements.`),M=new h.Token("@jupyterlab/codeeditor:IPositionModel","A service to handle an code editor cursor position."),I="jp-mod-has-primary-selection",k="jp-mod-in-leading-whitespace",D="jp-mod-dropTarget",T=/^\s+$/;class L extends u.Widget{constructor(e){super();const{factory:t,model:n,editorOptions:i}=e;(this.editor=t({host:this.node,model:n,...i})).model.selections.changed.connect(this._onSelectionsChanged,this)}get model(){return this.editor.model}dispose(){this.isDisposed||(this.editor.dispose(),super.dispose())}handleEvent(e){switch(e.type){case"lm-dragenter":this._evtDragEnter(e);break;case"lm-dragleave":this._evtDragLeave(e);break;case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e)}}onActivateRequest(e){this.editor.focus()}onAfterAttach(e){super.onAfterAttach(e);let t=this.node;t.addEventListener("lm-dragenter",this),t.addEventListener("lm-dragleave",this),t.addEventListener("lm-dragover",this),t.addEventListener("lm-drop",this)}onBeforeDetach(e){let t=this.node;t.removeEventListener("lm-dragenter",this),t.removeEventListener("lm-dragleave",this),t.removeEventListener("lm-dragover",this),t.removeEventListener("lm-drop",this)}_onSelectionsChanged(){let{start:e,end:t}=this.editor.getSelection();e.column!==t.column||e.line!==t.line?(this.addClass(I),this.removeClass(k)):(this.removeClass(I),this.editor.getLine(t.line).slice(0,t.column).match(T)?this.addClass(k):this.removeClass(k))}_evtDragEnter(e){!0===this.editor.getOption("readOnly")||void 0!==r.findTextData(e.mimeData)&&(e.preventDefault(),e.stopPropagation(),this.addClass("jp-mod-dropTarget"))}_evtDragLeave(e){this.removeClass(D),!0===this.editor.getOption("readOnly")||void 0!==r.findTextData(e.mimeData)&&(e.preventDefault(),e.stopPropagation())}_evtDragOver(e){this.removeClass(D),!0===this.editor.getOption("readOnly")||void 0!==r.findTextData(e.mimeData)&&(e.preventDefault(),e.stopPropagation(),e.dropAction="copy",this.addClass(D))}_evtDrop(e){if(!0===this.editor.getOption("readOnly"))return;let t=r.findTextData(e.mimeData);if(void 0===t)return;let n={top:e.y,bottom:e.y,left:e.x,right:e.x},i=this.editor.getPositionForCoordinate(n);if(null===i)return;if(this.removeClass(D),e.preventDefault(),e.stopPropagation(),"none"===e.proposedAction){e.dropAction="none";return}let o=this.editor.getOffsetAt(i);this.model.sharedModel.updateSource(o,o,t)}}!function(e){e.findTextData=function(e){let t=e.types().find(e=>0===e.indexOf("text"));if(void 0!==t)return e.getData(t)}}(r||(r={}));class N extends u.Widget{constructor(e){var t;super(),this.model=e.model;const n=new L({factory:e.factory,model:this.model,editorOptions:{...e.editorOptions,config:{...null==(t=e.editorOptions)?void 0:t.config,readOnly:!0}}});this.editor=n.editor,(this.layout=new u.StackedLayout).addWidget(n)}static createCodeViewer(e){let{content:t,mimeType:n,...i}=e,r=new o.Model({mimeType:n});r.sharedModel.setSource(t);let s=new N({...i,model:r});return s.disposed.connect(()=>{r.dispose()}),s}get content(){return this.model.sharedModel.getSource()}get mimeType(){return this.model.mimeType}}},38415(e,t,n){"use strict";n(82311),n(97777),n(82946),n(62971),n(13443);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(18015),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},41758(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>T,lineColItem:()=>D});var i,o=n(57941),r=n(78071),s=n(59057),a=n(2786),l=n(92286),d=n(83263),c=n(83657),h=n(98260),u=n(35285),p=n(94613),m=n(97518);function g(e){return(0,l.toggleBlockComment)(e)||(0,l.toggleComment)(e)}!function(e){e.deleteLine="codemirror:delete-line",e.toggleBlockComment="codemirror:toggle-block-comment",e.toggleComment="codemirror:toggle-comment",e.selectNextOccurrence="codemirror:select-next-occurrence",e.toggleTabFocusMode="codemirror:toggle-tab-focus-mode",e.toggleBold="codemirror:markdown-toggle-bold",e.foldCurrent="codemirror:fold-current",e.unfoldCurrent="codemirror:unfold-current",e.foldSubregions="codemirror:fold-subregions",e.unfoldSubregions="codemirror:unfold-subregions",e.foldAll="codemirror:fold-all",e.unfoldAll="codemirror:unfold-all"}(i||(i={}));let A=".cm-content",C={id:"@jupyterlab/codemirror-extension:commands",description:"Registers commands acting on selected/active CodeMirror editor.",autoStart:!0,requires:[p.INotebookTracker],optional:[a.ITranslator,m.ICommandPalette],activate:(e,t,n,o)=>{let r=(n=null!=n?n:a.nullTranslator).load("jupyterlab"),s=e=>e.classList.contains(A),p=()=>{var t,n;let i=null!=(t=e.contextMenuHitTest(s))?t:null==(n=document.activeElement)?void 0:n.closest(A);if(i)return h.EditorView.findFromDOM(i)},m=()=>!!p(),C=e=>{let{state:t}=e,{main:n}=t.selection;if(n.empty)return!1;let{from:i,to:o,anchor:r,head:s}=n,a=r>s,l=t.doc,d=l.sliceString(i,o),h=i>=2&&"**"===l.sliceString(i-2,i),u="**"===l.sliceString(o,o+2),p=d.startsWith("**"),m=d.endsWith("**"),g=(e,t)=>{let n=a?t:e,i=a?e:t;return c.EditorSelection.single(n,i)};if(h&&u){let t=i-2,n=o+2,r=o-i;return e.dispatch({changes:{from:t,to:n,insert:d},selection:g(t,t+r)}),!0}if(p&&m&&d.length>=4){let t=d.slice(2,-2),n=i,r=i+t.length;return e.dispatch({changes:{from:i,to:o,insert:t},selection:g(n,r)}),!0}let A=`**${d}**`,C=i+2,f=o+2;return e.dispatch({changes:{from:i,to:o,insert:A},selection:g(C,f)}),!0},f=()=>{var n,i;let o=e.shell.currentWidget,r=null==(n=t.currentWidget)?void 0:n.content;if(null!==t.currentWidget&&t.currentWidget===o&&r&&r.activeCell)return{type:"notebook",widget:o,notebook:r,isEnabled:!0};let s=o;return s&&s.content&&"function"==typeof(null==(i=s.content.editor)?void 0:i.focus)?{type:"fileEditor",widget:s,isEnabled:!0}:{type:"none",widget:null,isEnabled:!1}},b=()=>f().isEnabled;if(e.commands.addCommand(i.deleteLine,{label:r.__("Delete the current line"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let e=p();e&&(0,l.deleteLine)(e)},isEnabled:m}),e.commands.addCommand(i.toggleBlockComment,{label:r.__("Toggle Block Comment"),caption:r.__("Toggles block comments; falls back to regular comment toggle when block comment syntax is unavailable"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let e=p();e&&g(e)},isEnabled:m}),e.commands.addCommand(i.toggleComment,{label:r.__("Toggle Comment"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let e=p();e&&(0,l.toggleComment)(e)},isEnabled:m}),e.commands.addCommand(i.toggleTabFocusMode,{label:r.__("Toggle Tab Focus Mode"),caption:r.__("Toggles behavior of Tab key between inserting indentation and moving to next focusable element"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let e=p();e&&(0,l.toggleTabFocusMode)(e)},isEnabled:m}),e.commands.addCommand(i.selectNextOccurrence,{label:r.__("Select Next Occurrence"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let e=p();e&&(0,u.selectNextOccurrence)(e)},isEnabled:m}),e.commands.addCommand(i.toggleBold,{label:r.__("Toggle Bold"),caption:r.__("Toggle bold formatting by wrapping/unwrapping selected text with **"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let e=p();e&&C(e)},isEnabled:m}),e.commands.addCommand(i.foldCurrent,{label:r.__("Fold Current Region"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;let t=f();"notebook"===t.type?(t.notebook.mode="edit",t.notebook.activeCell&&(null==(e=t.notebook.activeCell.editor)||e.focus())):"fileEditor"===t.type&&t.widget.content.editor.focus();let n=p();if(!n)return;let{state:i}=n,o=i.selection.main.head,r=i.doc.lineAt(o);(0,d.foldable)(i,r.from,r.to)&&(0,d.foldCode)(n)},isEnabled:b}),e.commands.addCommand(i.unfoldCurrent,{label:r.__("Unfold Current Region"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;let t=f();"notebook"===t.type?(t.notebook.mode="edit",t.notebook.activeCell&&(null==(e=t.notebook.activeCell.editor)||e.focus())):"fileEditor"===t.type&&t.widget.content.editor.focus();let n=p();if(!n)return;let{state:i}=n,o=i.selection.main.head,r=i.doc.lineAt(o);(0,d.foldable)(i,r.from,r.to)&&(0,d.unfoldCode)(n)},isEnabled:b}),e.commands.addCommand(i.foldSubregions,{label:r.__("Fold All Subregions"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;let t=f();"notebook"===t.type?(t.notebook.mode="edit",t.notebook.activeCell&&(null==(e=t.notebook.activeCell.editor)||e.focus())):"fileEditor"===t.type&&t.widget.content.editor.focus();let n=p();if(n)try{let{state:e}=n,t=e.selection.main.head,i=e.doc.lineAt(t),o=(0,d.foldable)(e,i.from,i.to),r=!1;try{let t=e.field(d.foldState,!1);r=void 0!==t}catch(e){r=!1}if(r||((0,d.foldCode)(n),(0,d.unfoldCode)(n)),!o)return;let s=[],a=o.from+1;for(;a<o.to;){let t=e.doc.lineAt(a),n=(0,d.foldable)(e,t.from,t.to);n&&n.from>o.from&&n.to<=o.to?(s.push(d.foldEffect.of(n)),a=n.to):a=t.to+1}s.length>0&&n.dispatch({effects:s})}catch(e){}},isEnabled:b}),e.commands.addCommand(i.unfoldSubregions,{label:r.__("Unfold All Subregions"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;let t=f();"notebook"===t.type?(t.notebook.mode="edit",t.notebook.activeCell&&(null==(e=t.notebook.activeCell.editor)||e.focus())):"fileEditor"===t.type&&t.widget.content.editor.focus();let n=p();if(n)try{let{state:e}=n,t=e.selection.main.head,i=e.doc.lineAt(t),o=(0,d.foldable)(e,i.from,i.to);if(!o)return;let r=e.field(d.foldState,!1);if(!r)return;let s=[];r.between(o.from+1,o.to,(e,t)=>{e>o.from&&t<=o.to&&s.push(d.unfoldEffect.of({from:e,to:t}))}),s.length>0&&n.dispatch({effects:s})}catch(e){}},isEnabled:b}),e.commands.addCommand(i.foldAll,{label:r.__("Fold All Regions"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;let t=f();"notebook"===t.type?(t.notebook.mode="edit",t.notebook.activeCell&&(null==(e=t.notebook.activeCell.editor)||e.focus())):"fileEditor"===t.type&&t.widget.content.editor.focus();let n=p();if(n)try{(0,d.foldAll)(n)}catch(e){}},isEnabled:b}),e.commands.addCommand(i.unfoldAll,{label:r.__("Unfold All Regions"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;let t=f();"notebook"===t.type?(t.notebook.mode="edit",t.notebook.activeCell&&(null==(e=t.notebook.activeCell.editor)||e.focus())):"fileEditor"===t.type&&t.widget.content.editor.focus();let n=p();if(n)try{(0,d.unfoldAll)(n)}catch(e){}},isEnabled:b}),o){let e=r.__("File Operations");[i.foldCurrent,i.unfoldCurrent,i.foldSubregions,i.unfoldSubregions,i.foldAll,i.unfoldAll].forEach(t=>{o.addItem({command:t,category:e})})}}};var f=n(22735),b=n(46109),v=n(8989),_=n(55187),y=n(72437),E=n.n(y),w=n(60721),j=n.n(w);let x="@jupyterlab/codemirror-extension:plugin",B={id:"@jupyterlab/codemirror-extension:languages",description:"Provides the CodeMirror languages registry.",provides:f.IEditorLanguageRegistry,optional:[a.ITranslator],activate:(e,t)=>{let i=new f.EditorLanguageRegistry;for(let e of f.EditorLanguageRegistry.getDefaultLanguages(t,e=>i.findBest(e)))i.addLanguage(e);return i.addLanguage({name:"ipythongfm",mime:"text/x-ipythongfm",load:async()=>{let[e,t,o]=await Promise.all([n.e(1695).then(n.t.bind(n,14466,23)),Promise.all([n.e(3508),n.e(5132),n.e(4985),n.e(4987)]).then(n.bind(n,15159)),n.e(2527).then(n.bind(n,89746))]),r=e.markdown({base:e.markdownLanguage,codeLanguages:e=>i.findBest(e),extensions:[(0,f.parseMathIPython)(d.StreamLanguage.define(o.stexMath).parser)]});return new d.LanguageSupport(r.language,[r.support,(0,f.pythonBuiltin)(t.pythonLanguage)])}}),i}},S={id:"@jupyterlab/codemirror-extension:themes",description:"Provides the CodeMirror theme registry",provides:f.IEditorThemeRegistry,optional:[a.ITranslator],activate:(e,t)=>{let n=new f.EditorThemeRegistry;for(let e of f.EditorThemeRegistry.getDefaultThemes(t))n.addTheme(e);return n}},M={id:"@jupyterlab/codemirror-extension:extensions",description:"Provides the CodeMirror extension factory registry.",provides:f.IEditorExtensionRegistry,requires:[f.IEditorThemeRegistry],optional:[a.ITranslator,b.ISettingRegistry,v.IFormRendererRegistry],activate:(e,t,n,i,o)=>{let r=new f.EditorExtensionRegistry;for(let e of f.EditorExtensionRegistry.getDefaultExtensions({themes:t,translator:n}))r.addExtension(e);if(i){let t=e=>{var t;r.baseConfiguration=null!=(t=e.get("defaultConfig").composite)?t:{}};Promise.all([i.load(x),e.restored]).then(([e])=>{t(e),e.changed.connect(t)}),null==o||o.addRenderer(`${x}.defaultConfig`,{fieldRenderer:e=>{let t,i=j().useMemo(()=>r.settingsSchema,[]);for(let[n,o]of(t=e.name in e.formContext.defaultFormData?e.formContext.defaultFormData[e.name]:{},Object.entries(r.defaultConfiguration)))void 0===i[n]||n in t||(t[n]=o);return j().createElement("div",{className:"jp-FormGroup-contentNormal"},j().createElement("h3",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem"},e.schema.title),e.schema.description&&j().createElement("div",{className:"jp-FormGroup-description"},e.schema.description),j().createElement(v.FormComponent,{schema:{title:e.schema.title,description:e.schema.description,type:"object",properties:i,additionalProperties:!1},validator:E(),formData:{...t,...e.formData},formContext:{defaultFormData:t},liveValidate:!0,onChange:n=>{var i;let o={};for(let[e,r]of Object.entries(null!=(i=n.formData)?i:{})){let n=t[e];void 0!==n&&_.JSONExt.deepEqual(r,n)||(o[e]=r)}e.onChange(o)},tagName:"div",translator:null!=n?n:a.nullTranslator,buttonStyle:"icons"}))}})}return r}},I={id:"@jupyterlab/codemirror-extension:binding",description:"Register the CodeMirror extension factory binding the editor and the shared model.",autoStart:!0,requires:[f.IEditorExtensionRegistry],activate:(e,t)=>{t.addExtension({name:"shared-model-binding",factory:e=>{var t;let n=e.model.sharedModel;return f.EditorExtensionRegistry.createImmutableExtension((0,f.ybinding)({ytext:n.ysource,undoManager:null!=(t=n.undoManager)?t:void 0}))}})}},k={id:"@jupyterlab/codemirror-extension:services",description:"Provides the service to instantiate CodeMirror editors.",provides:r.IEditorServices,requires:[f.IEditorLanguageRegistry,f.IEditorExtensionRegistry],optional:[a.ITranslator],activate:(e,t,n,i)=>({factoryService:new f.CodeMirrorEditorFactory({extensions:n,languages:t,translator:null!=i?i:a.nullTranslator}),mimeTypeService:new f.CodeMirrorMimeTypeService(t)})},D={id:"@jupyterlab/codemirror-extension:line-col-status",description:"Provides the code editor cursor position model.",autoStart:!0,requires:[a.ITranslator],optional:[o.ILabShell,s.IStatusBar],provides:r.IPositionModel,activate:(e,t,n,i)=>{let o=new r.LineCol(t),s=new Set;i&&i.registerStatusItem(D.id,{priority:1,item:o,align:"right",rank:2,isActive:()=>!!o.model.editor});let a=t=>{s.add(t),e.shell.currentWidget&&d(e.shell,{newValue:e.shell.currentWidget,oldValue:null})},l=()=>{d(e.shell,{oldValue:e.shell.currentWidget,newValue:e.shell.currentWidget})};function d(e,t){Promise.all([...s].map(e=>e(t.newValue))).then(e=>{var t;o.model.editor=null!=(t=e.filter(e=>null!==e)[0])?t:null}).catch(e=>{console.error("Get editors",e)})}return n&&n.currentChanged.connect(d),{addEditorProvider:a,update:l}}},T=[C,B,S,I,M,k,D]},72508(e,t,n){"use strict";n(82311),n(97777),n(82946),n(62971),n(38415),n(67474),n(92508),n(16382)},10208(e,t,n){"use strict";n.r(t),n.d(t,{CodeMirrorEditor:()=>el,CodeMirrorEditorFactory:()=>ed,CodeMirrorMimeTypeService:()=>ec,CodeMirrorSearchHighlighter:()=>ep,EditorExtensionRegistry:()=>K,EditorLanguageRegistry:()=>es,EditorSearchProvider:()=>eu,EditorThemeRegistry:()=>en,ExtensionsHandler:()=>J,IEditorExtensionRegistry:()=>em,IEditorLanguageRegistry:()=>eg,IEditorThemeRegistry:()=>eA,PythonBuiltin:()=>ei,StateCommands:()=>i,YRange:()=>W,YSyncConfig:()=>H,customTheme:()=>_,jupyterEditorTheme:()=>X,jupyterHighlightStyle:()=>ee,jupyterTheme:()=>et,parseMathIPython:()=>I,pythonBuiltin:()=>eo,rulers:()=>N,ySync:()=>V,ySyncAnnotation:()=>Y,ySyncFacet:()=>U,ybinding:()=>q});var i,o,r,s=n(92286),a=n(78071);let l="[data-jp-code-runner]",d='[data-jp-interaction-mode="terminal"]',c=".jp-CodeMirrorEditor:not(.jp-mod-has-primary-selection):not(.jp-mod-in-leading-whitespace):not(.jp-mod-completer-active)",h=".jp-mod-editMode .jp-Cell.jp-mod-active";!function(e){e.indentMoreOrInsertTab=function(e){var t;let n=null==(t=e.dom.parentElement)?void 0:t.classList,i=null==n?void 0:n.contains(a.COMPLETER_ENABLED_CLASS),o=null==n?void 0:n.contains(a.COMPLETER_LINE_BEGINNING_CLASS);if(i&&!o)return!1;let r={state:e.state,dispatch:e.dispatch},l=e.state.selection.main.from;if(l!=e.state.selection.main.to)return(0,s.indentMore)(r);let d=e.state.doc.lineAt(l),c=e.state.doc.slice(d.from,l).toString();return/^\s*$/.test(c)?(0,s.indentMore)(r):(0,s.insertTab)(r)},e.completerOrInsertNewLine=function(e){var t;if((null==(t=e.dom.parentElement)?void 0:t.classList.contains(a.COMPLETER_ACTIVE_CLASS))||e.dom.closest(d))return!1;let n={state:e.state,dispatch:e.dispatch};return(0,s.insertNewlineAndIndent)(n)},e.preventNewLineOnRun=function(e){return!!e.dom.closest(l)},e.insertBlankLineOnRun=function(e){if(e.dom.closest(l))return!1;{let t={state:e.state,dispatch:e.dispatch};return(0,s.insertBlankLine)(t)}},e.simplifySelectionAndMaybeSwitchToCommandMode=function(e){let t={state:e.state,dispatch:e.dispatch},n=(0,s.simplifySelection)(t);return!e.dom.closest(h)&&n},e.dedentIfNotLaunchingTooltip=function(e){return!e.dom.closest(c)&&(0,s.indentLess)(e)}}(i||(i={}));var u=n(83263),p=n(83657),m=n(98260),g=n(55187),A=n(20659),C=n(75128),f=n(2786);let b=p.Facet.define({combine:e=>(0,p.combineConfig)(e,{fontFamily:null,fontSize:null,lineHeight:null},{fontFamily:(e,t)=>null!=e?e:t,fontSize:(e,t)=>null!=e?e:t,lineHeight:(e,t)=>null!=e?e:t})});function v(e){let{fontFamily:t,fontSize:n,lineHeight:i}=e.state.facet(b),o="";return n&&(o+=`font-size: ${n}px !important;`),t&&(o+=`font-family: ${t} !important;`),i&&(o+=`line-height: ${i.toString()} !important`),{style:o}}function _(e){return[b.of(e),m.EditorView.editorAttributes.of(v)]}var y=n(41680),E=n(342);let w="InlineMathDollar",j="InlineMathBracket",x="BlockMathDollar",B="BlockMathBracket",S={[w]:1,[j]:3,[x]:2,[B]:3},M=Object.keys(S).reduce((e,t)=>(e[t]={mark:`${t}Mark`,resolve:t},e),{});function I(e){let t=[];return Object.keys(S).forEach(e=>{t.push({name:e,style:E.tags.emphasis},{name:`${e}Mark`,style:E.tags.processingInstruction})}),{defineNodes:t,parseInline:[{name:x,parse:(e,t,n)=>36!=t||36!=e.char(n+1)?-1:e.addDelimiter(M[x],n,n+S[x],!0,!0)},{name:w,parse:(e,t,n)=>36!=t||36==e.char(n+1)?-1:e.addDelimiter(M[w],n,n+S[w],!0,!0)},{name:j,before:"Escape",parse:(e,t,n)=>92==t&&92==e.char(n+1)&&[40,41].includes(e.char(n+2))?e.addDelimiter(M[j],n,n+S[j],40==e.char(n+2),41==e.char(n+2)):-1},{name:B,before:"Escape",parse:(e,t,n)=>92==t&&92==e.char(n+1)&&[91,93].includes(e.char(n+2))?e.addDelimiter(M[B],n,n+S[B],91==e.char(n+2),93==e.char(n+2)):-1}],wrap:e?(0,y.parseMixed)((t,n)=>{let i=S[t.type.name];if(i){let n=t.from+i,o=t.to-i;if(o-n>0)return{parser:e,overlay:[{from:n,to:o}]}}return null}):void 0}}let k="cm-rulers",D=m.EditorView.baseTheme({[`.${k}`]:{borderRight:"1px dotted gray",opacity:.7}}),T=p.Facet.define({combine:e=>e.reduce((e,t)=>e.concat(t.filter((n,i)=>!e.includes(n)&&i==t.lastIndexOf(n))),[])}),L=m.ViewPlugin.fromClass(class{constructor(e){var t,n;this.rulersContainer=e.dom.appendChild(document.createElement("div")),this.rulersContainer.style.cssText=`
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                pointer-events: none;
                overflow: hidden;
            `;const i=e.defaultCharacterWidth,o=e.state.facet(T),r=null!=(n=null==(t=e.scrollDOM.querySelector(".cm-gutters"))?void 0:t.clientWidth)?n:0;this.rulers=o.map(e=>{let t=this.rulersContainer.appendChild(document.createElement("div"));return t.classList.add(k),t.style.cssText=`
                position: absolute;
                left: ${r+e*i}px;
                height: 100%;
            `,t.style.width="6px",t})}update(e){var t,n;let i=e.view.state.facet(T);if(e.viewportChanged||e.geometryChanged||!g.JSONExt.deepEqual(i,e.startState.facet(T))){let o=null!=(n=null==(t=e.view.scrollDOM.querySelector(".cm-gutters"))?void 0:t.clientWidth)?n:0,r=e.view.defaultCharacterWidth;this.rulers.forEach((e,t)=>{e.style.left=`${o+i[t]*r}px`})}}destroy(){this.rulers.forEach(e=>{e.remove()}),this.rulersContainer.remove()}});function N(e){return[D,T.of(e),L]}class P{constructor(e){this.undoManager=e}}let z=p.Facet.define({combine:e=>e[e.length-1]});class R{constructor(e){this._onStackItemAdded=({stackItem:e,changedParentTypes:t})=>{t.has(this._syncConf.ytext)&&this._beforeChangeSelection&&!e.meta.has(this)&&e.meta.set(this,this._beforeChangeSelection)},this._onStackItemPopped=({stackItem:e})=>{let t=e.meta.get(this);if(t){let e=this._syncConf.fromYRange(t);this._view.dispatch(this._view.state.update({selection:e,effects:[m.EditorView.scrollIntoView(e)]})),this._storeSelection()}},this._storeSelection=()=>{this._beforeChangeSelection=this._syncConf.toYRange(this._view.state.selection.main)},this._view=e,this._conf=e.state.facet(z),this._undoManager=this._conf.undoManager,this._syncConf=e.state.facet(U),this._beforeChangeSelection=null,this._undoManager.on("stack-item-added",this._onStackItemAdded),this._undoManager.on("stack-item-popped",this._onStackItemPopped),this._undoManager.addTrackedOrigin(this._syncConf)}update(e){e.selectionSet&&(0===e.transactions.length||e.transactions[0].annotation(Y)!==this._syncConf)&&this._storeSelection()}destroy(){this._undoManager.off("stack-item-added",this._onStackItemAdded),this._undoManager.off("stack-item-popped",this._onStackItemPopped),this._undoManager.removeTrackedOrigin(this._syncConf)}}let O=m.ViewPlugin.fromClass(R);var F=n(33065);class W{constructor(e,t){this.yanchor=e,this.yhead=t}toJSON(){return{yanchor:(0,F.relativePositionToJSON)(this.yanchor),yhead:(0,F.relativePositionToJSON)(this.yhead)}}static fromJSON(e){return new W((0,F.createRelativePositionFromJSON)(e.yanchor),(0,F.createRelativePositionFromJSON)(e.yhead))}}class H{constructor(e){this.ytext=e}toYPos(e,t=0){return(0,F.createRelativePositionFromTypeIndex)(this.ytext,e,t)}fromYPos(e){let t=(0,F.createAbsolutePositionFromRelativePosition)((0,F.createRelativePositionFromJSON)(e),this.ytext.doc);if(null==t||t.type!==this.ytext)throw Error("[y-codemirror] The position you want to retrieve was created by a different document");return{pos:t.index,assoc:t.assoc}}toYRange(e){let t=e.assoc;return new W(this.toYPos(e.anchor,t),this.toYPos(e.head,t))}fromYRange(e){let t=this.fromYPos(e.yanchor),n=this.fromYPos(e.yhead);return t.pos===n.pos?p.EditorSelection.cursor(n.pos,n.assoc):p.EditorSelection.range(t.pos,n.pos)}}let U=p.Facet.define({combine:e=>e[e.length-1]}),Y=p.Annotation.define(),V=m.ViewPlugin.fromClass(class{constructor(e){this.conf=e.state.facet(U),this._observer=(t,n)=>{var i;if(n.origin!==this.conf){let n=t.delta,o=[],r=0;for(let e=0;e<n.length;e++){let t=n[e];null!=t.insert?o.push({from:r,to:r,insert:t.insert}):null!=t.delete?(o.push({from:r,to:r+t.delete,insert:""}),r+=t.delete):r+=null!=(i=t.retain)?i:0}e.dispatch({changes:o,annotations:[Y.of(this.conf)]})}},this._ytext=this.conf.ytext,this._ytext.observe(this._observer)}update(e){if(!e.docChanged||e.transactions.length>0&&e.transactions[0].annotation(Y)===this.conf)return;let t=this.conf.ytext;t.doc.transact(()=>{let n=0;e.changes.iterChanges((e,i,o,r,s)=>{let a=s.sliceString(0,s.length,"\n");e!==i&&t.delete(e+n,i-e),a.length>0&&t.insert(e+n,a),n+=a.length-(i-e)}),t.doc.getMap("state").set("dirty",!0)},this.conf)}destroy(){this._ytext.unobserve(this._observer)}});function q(e){let{ytext:t,undoManager:n}=e,i=new H(t),o=[U.of(i),V];return n&&o.push(z.of(new P(n)),O),o}var G=n(35285);let $="jp-mod-readOnly";class J{constructor({baseConfiguration:e,config:t,defaultExtensions:n}={}){this._configChanged=new A.Signal(this),this._disposed=new A.Signal(this),this._isDisposed=!1,this._immutables=new Set,this._baseConfig=null!=e?e:{},this._config=null!=t?t:{},this._configurableBuilderMap=new Map(n);const i=Object.keys(this._config).concat(Object.keys(this._baseConfig));this._immutables=new Set([...this._configurableBuilderMap.keys()].filter(e=>!i.includes(e)))}get configChanged(){return this._configChanged}get disposed(){return this._disposed}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this._disposed.emit(),A.Signal.clearData(this))}getOption(e){var t;return null!=(t=this._config[e])?t:this._baseConfig[e]}hasOption(e){return Object.keys(this._config).includes(e)||Object.keys(this._baseConfig).includes(e)}setOption(e,t){this._config[e]!==t&&(this._config[e]=t,this._configChanged.emit({[e]:t}))}setBaseOptions(e){let t=this._getChangedOptions(e,this._baseConfig);if(t.length>0){this._baseConfig=e;let n=Object.keys(this._config),i=t.filter(e=>!n.includes(e));i.length>0&&this._configChanged.emit(i.reduce((e,t)=>(e[t]=this._baseConfig[t],e),{}))}for(let t of Object.keys(e))t in this._config&&this._config[t]!=e[t]&&this.setOption(t,e[t])}setOptions(e){let t=this._getChangedOptions(e,this._config);t.length>0&&(this._config={...e},this._configChanged.emit(t.reduce((e,t)=>{var n;return e[t]=null!=(n=this._config[t])?n:this._baseConfig[t],e},{})))}reconfigureExtension(e,t,n){let i=this.getEffect(e.state,t,n);i&&e.dispatch({effects:[i]})}reconfigureExtensions(e,t){let n=Object.keys(t).filter(e=>this.has(e)).map(n=>this.getEffect(e.state,n,t[n]));e.dispatch({effects:n.filter(e=>null!==e)})}injectExtension(e,t){e.dispatch({effects:p.StateEffect.appendConfig.of(t)})}getInitialExtensions(){let e={...this._baseConfig,...this._config},t=[...this._immutables].map(e=>{var t;return null==(t=this.get(e))?void 0:t.instance(void 0)}).filter(e=>e);for(let n of Object.keys(e)){let i=this.get(n);if(i){let o=e[n];t.push(i.instance(o))}}return t}get(e){return this._configurableBuilderMap.get(e)}has(e){return this._configurableBuilderMap.has(e)}getEffect(e,t,n){var i;let o=this.get(t);return null!=(i=null==o?void 0:o.reconfigure(n))?i:null}_getChangedOptions(e,t){let n=[],i=[];for(let[o,r]of Object.entries(e))i.push(o),t[o]!==r&&n.push(o);return n.push(...Object.keys(t).filter(e=>!i.includes(e))),n}}class K{constructor(){this.configurationBuilder=new Map,this.configurationSchema={},this.defaultOptions={},this.handlers=new Set,this.immutableExtensions=new Set,this._baseConfiguration={}}get baseConfiguration(){return{...this.defaultOptions,...this._baseConfiguration}}set baseConfiguration(e){if(!g.JSONExt.deepEqual(e,this._baseConfiguration))for(let t of(this._baseConfiguration=e,this.handlers))t.setBaseOptions(this.baseConfiguration)}get defaultConfiguration(){return Object.freeze({...this.defaultOptions})}get settingsSchema(){return Object.freeze(g.JSONExt.deepCopy(this.configurationSchema))}addExtension(e){var t;if(this.configurationBuilder.has(e.name))throw Error(`Extension named ${e.name} is already registered.`);this.configurationBuilder.set(e.name,e),void 0!==e.default&&(this.defaultOptions[e.name]=e.default),e.schema&&(this.configurationSchema[e.name]={default:null!=(t=e.default)?t:null,...e.schema},this.defaultOptions[e.name]=this.configurationSchema[e.name].default)}createNew(e){let t=[];for(let[n,i]of this.configurationBuilder.entries()){let o=i.factory(e);o&&t.push([n,o])}let n=new J({baseConfiguration:this.baseConfiguration,config:e.config,defaultExtensions:t});return this.handlers.add(n),n.disposed.connect(()=>{this.handlers.delete(n)}),n}}!function(e){class t{constructor(e){this._compartment=new p.Compartment,this._builder=e}instance(e){return this._compartment.of(this._builder(e))}reconfigure(e){return this._compartment.reconfigure(this._builder(e))}}class n{constructor(e){this._extension=e}instance(){return this._extension}reconfigure(){return null}}function o(e){return new t(e)}function r(e,n=[]){return new t(t=>t?e:n)}function a(e){return new n(e)}e.createConfigurableExtension=o,e.createConditionalExtension=r,e.createImmutableExtension=a,e.getDefaultExtensions=function(e={}){let{themes:t,translator:n}=e,l=(null!=n?n:f.nullTranslator).load("jupyterlab"),d=[Object.freeze({name:"autoClosingBrackets",default:!1,factory:()=>r((0,C.wm)()),schema:{type:"boolean",title:l.__("Auto Closing Brackets")}}),Object.freeze({name:"codeFolding",default:!1,factory:()=>r((0,u.foldGutter)()),schema:{type:"boolean",title:l.__("Code Folding")}}),Object.freeze({name:"cursorBlinkRate",default:1200,factory:()=>o(e=>(0,m.drawSelection)({cursorBlinkRate:e})),schema:{type:"number",title:l.__("Cursor blinking rate"),description:l.__("Half-period in milliseconds used for cursor blinking. The default blink rate is 1200ms. By setting this to zero, blinking can be disabled.")}}),Object.freeze({name:"highlightActiveLine",default:!1,factory:()=>r((0,m.highlightActiveLine)()),schema:{type:"boolean",title:l.__("Highlight the active line")}}),Object.freeze({name:"highlightSpecialCharacters",default:!0,factory:()=>r((0,m.highlightSpecialChars)()),schema:{type:"boolean",title:l.__("Highlight special characters")}}),Object.freeze({name:"highlightTrailingWhitespace",default:!1,factory:()=>r((0,m.highlightTrailingWhitespace)()),schema:{type:"boolean",title:l.__("Highlight trailing white spaces")}}),Object.freeze({name:"highlightWhitespace",default:!1,factory:()=>r((0,m.highlightWhitespace)()),schema:{type:"boolean",title:l.__("Highlight white spaces")}}),Object.freeze({name:"indentUnit",default:"4",factory:()=>o(e=>"Tab"==e?u.indentUnit.of("	"):u.indentUnit.of(" ".repeat(parseInt(e,10)))),schema:{type:"string",title:l.__("Indentation unit"),description:l.__("The indentation is a `Tab` or the number of spaces. This defaults to 4 spaces."),enum:["Tab","1","2","4","8"]}}),Object.freeze({name:"keymap",default:[{key:"Mod-Enter",run:i.insertBlankLineOnRun},{key:"Enter",run:i.completerOrInsertNewLine},{key:"Escape",run:i.simplifySelectionAndMaybeSwitchToCommandMode},...s.defaultKeymap.filter(e=>!["Ctrl-m","Mod-Enter","Shift-Mod-k","Mod-/","Alt-A","Escape","Enter"].includes(e.key)),{key:"Tab",run:i.indentMoreOrInsertTab,shift:i.dedentIfNotLaunchingTooltip}],factory:()=>o(e=>m.keymap.of(e))}),Object.freeze({name:"lineNumbers",default:!0,factory:()=>r((0,m.lineNumbers)()),schema:{type:"boolean",title:l.__("Line Numbers")}}),Object.freeze({name:"lineWrap",factory:()=>r(m.EditorView.lineWrapping),default:!0,schema:{type:"boolean",title:l.__("Line Wrap")}}),Object.freeze({name:"dropCursor",default:!0,factory:()=>r((0,m.dropCursor)()),schema:{type:"boolean",title:l.__("Drop Cursor")}}),Object.freeze({name:"matchBrackets",default:!0,factory:()=>r([(0,u.bracketMatching)(),p.Prec.high(m.keymap.of(C.Bc))]),schema:{type:"boolean",title:l.__("Match Brackets")}}),Object.freeze({name:"rectangularSelection",default:!0,factory:()=>r([(0,m.rectangularSelection)(),(0,m.crosshairCursor)()]),schema:{type:"boolean",title:l.__("Rectangular selection"),description:l.__("Rectangular (block) selection can be created by dragging the mouse pointer while holding the left mouse button and the Alt key. When the Alt key is pressed, a crosshair cursor will appear, indicating that the rectangular selection mode is active.")}}),Object.freeze({name:"readOnly",default:!1,factory:()=>o(e=>[p.EditorState.readOnly.of(e),e?m.EditorView.editorAttributes.of({class:$}):[]])}),Object.freeze({name:"rulers",default:[],factory:()=>o(e=>e.length>0?N(e):[]),schema:{type:"array",title:l.__("Rulers"),items:{type:"number",minimum:0}}}),Object.freeze({name:"extendSelection",default:!0,factory:()=>r(m.keymap.of([{key:"Mod-Shift-l",run:G.selectSelectionMatches,preventDefault:!0}]))}),Object.freeze({name:"searchWithCM",default:!1,factory:()=>r(m.keymap.of([{key:"Mod-f",run:G.openSearchPanel,scope:"editor search-panel"},{key:"F3",run:G.findNext,shift:G.findPrevious,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:G.findNext,shift:G.findPrevious,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:G.closeSearchPanel,scope:"editor search-panel"}]))}),Object.freeze({name:"scrollPastEnd",default:!1,factory:e=>e.inline?null:r((0,m.scrollPastEnd)())}),Object.freeze({name:"smartIndent",default:!0,factory:()=>r((0,u.indentOnInput)()),schema:{type:"boolean",title:l.__("Smart Indentation")}}),Object.freeze({name:"tabFocusable",default:!0,factory:()=>r(m.EditorView.contentAttributes.of({tabIndex:"0"}),m.EditorView.contentAttributes.of({tabIndex:"-1"}))}),Object.freeze({name:"tabSize",default:4,factory:()=>o(e=>p.EditorState.tabSize.of(e)),schema:{type:"number",title:l.__("Tab size")}}),Object.freeze({name:"tooltips",factory:()=>a((0,m.tooltips)({position:"absolute",parent:document.body}))}),Object.freeze({name:"allowMultipleSelections",default:!0,factory:()=>o(e=>p.EditorState.allowMultipleSelections.of(e)),schema:{type:"boolean",title:l.__("Multiple selections")}}),Object.freeze({name:"customStyles",factory:()=>o(e=>_(e)),default:{fontFamily:null,fontSize:null,lineHeight:null},schema:{title:l.__("Custom editor styles"),type:"object",properties:{fontFamily:{type:["string","null"],title:l.__("Font Family")},fontSize:{type:["number","null"],minimum:1,maximum:100,title:l.__("Font Size")},lineHeight:{type:["number","null"],title:l.__("Line Height")}},additionalProperties:!1}})];return t&&d.push(Object.freeze({name:"theme",default:"jupyter",factory:()=>o(e=>t.getTheme(e)),schema:{type:"string",title:l.__("Theme"),description:l.__("CodeMirror theme")}})),n&&d.push(Object.freeze({name:"translation",default:{"Control character":l.__("Control character"),"Selection deleted":l.__("Selection deleted"),"Folded lines":l.__("Folded lines"),"Unfolded lines":l.__("Unfolded lines"),to:l.__("to"),"folded code":l.__("folded code"),unfold:l.__("unfold"),"Fold line":l.__("Fold line"),"Unfold line":l.__("Unfold line"),"Go to line":l.__("Go to line"),go:l.__("go"),Find:l.__("Find"),Replace:l.__("Replace"),next:l.__("next"),previous:l.__("previous"),all:l.__("all"),"match case":l.__("match case"),replace:l.__("replace"),"replace all":l.__("replace all"),close:l.__("close"),"current match":l.__("current match"),"replaced $ matches":l.__("replaced $ matches"),"replaced match on line $":l.__("replaced match on line $"),"on line":l.__("on line"),Completions:l.__("Completions"),Diagnostics:l.__("Diagnostics"),"No diagnostics":l.__("No diagnostics"),Breakpoint:l.__("Breakpoint"),"Selected breakpoint":l.__("Selected breakpoint")},factory:()=>o(e=>p.EditorState.phrases.of(e))})),d}}(K||(K={}));var Z=n(28951),Q=n(91268);let X=m.EditorView.theme({"&":{background:"var(--jp-layout-color0)",color:"var(--jp-content-font-color1)"},".cm-panels":{color:"var(--jp-ui-font-color2)",backgroundColor:"var(--jp-layout-color2)"},".cm-panels.cm-panels-bottom":{borderTop:"1px solid var(--jp-border-color2)"},".cm-button":{background:"var(--jp-layout-color2)",border:"var(--jp-border-width) solid var(--jp-border-color1)",color:"var(--jp-ui-font-color1)",borderRadius:"var(--jp-border-radius)"},".cm-button:hover":{background:"var(--jp-layout-color1)"},".cm-panel.cm-search > label":{color:"var(--jp-ui-font-color1)"},".cm-textfield":{backgroundColor:"var(--jp-layout-color2)",color:"var(--jp-ui-font-color1)",border:"var(--jp-border-width) solid var(--jp-border-color1)"},".jp-CodeConsole &, .jp-Notebook &":{background:"transparent"},".cm-content":{caretColor:"var(--jp-editor-cursor-color)"},".cm-scroller":{fontFamily:"inherit"},".cm-cursor, .cm-dropCursor":{borderLeft:"var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color)"},".cm-selectionBackground, .cm-content ::selection":{backgroundColor:"var(--jp-editor-selected-background)"},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{backgroundColor:"var(--jp-editor-selected-focused-background)"},".cm-gutters":{borderRight:"1px solid var(--jp-border-color2)",backgroundColor:"var(--jp-layout-color2)"},".cm-gutter":{backgroundColor:"var(--jp-layout-color2)"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--jp-layout-color3) 25%, transparent)"},".cm-lineNumbers":{color:"var(--jp-ui-font-color2)"},".cm-searchMatch":{backgroundColor:"var(--jp-search-unselected-match-background-color)",color:"var(--jp-search-unselected-match-color)"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"var(--jp-search-selected-match-background-color) !important",color:"var(--jp-search-selected-match-color) !important"},".cm-tooltip":{backgroundColor:"var(--jp-layout-color1)"}}),ee=u.HighlightStyle.define([{tag:E.tags.meta,color:"var(--jp-mirror-editor-meta-color)"},{tag:E.tags.heading,color:"var(--jp-mirror-editor-header-color)"},{tag:[E.tags.heading1,E.tags.heading2,E.tags.heading3,E.tags.heading4],color:"var(--jp-mirror-editor-header-color)",fontWeight:"bold"},{tag:E.tags.keyword,color:"var(--jp-mirror-editor-keyword-color)",fontWeight:"bold"},{tag:E.tags.atom,color:"var(--jp-mirror-editor-atom-color)"},{tag:E.tags.number,color:"var(--jp-mirror-editor-number-color)"},{tag:[E.tags.definition(E.tags.name),E.tags.function(E.tags.definition(E.tags.variableName))],color:"var(--jp-mirror-editor-def-color)"},{tag:E.tags.standard(E.tags.variableName),color:"var(--jp-mirror-editor-builtin-color)"},{tag:[E.tags.special(E.tags.variableName),E.tags.self],color:"var(--jp-mirror-editor-variable-2-color)"},{tag:E.tags.punctuation,color:"var(--jp-mirror-editor-punctuation-color)"},{tag:E.tags.propertyName,color:"var(--jp-mirror-editor-property-color)"},{tag:E.tags.operator,color:"var(--jp-mirror-editor-operator-color)",fontWeight:"bold"},{tag:E.tags.comment,color:"var(--jp-mirror-editor-comment-color)",fontStyle:"italic"},{tag:E.tags.string,color:"var(--jp-mirror-editor-string-color)"},{tag:[E.tags.labelName,E.tags.monospace,E.tags.special(E.tags.string)],color:"var(--jp-mirror-editor-string-2-color)"},{tag:E.tags.bracket,color:"var(--jp-mirror-editor-bracket-color)"},{tag:E.tags.tagName,color:"var(--jp-mirror-editor-tag-color)"},{tag:E.tags.attributeName,color:"var(--jp-mirror-editor-attribute-color)"},{tag:E.tags.quote,color:"var(--jp-mirror-editor-quote-color)"},{tag:E.tags.link,color:"var(--jp-mirror-editor-link-color)",textDecoration:"underline"},{tag:[E.tags.separator,E.tags.derefOperator,E.tags.paren],color:""},{tag:E.tags.strong,fontWeight:"bold"},{tag:E.tags.emphasis,fontStyle:"italic"},{tag:E.tags.strikethrough,textDecoration:"line-through"},{tag:E.tags.bool,color:"var(--jp-mirror-editor-keyword-color)",fontWeight:"bold"}]),et=[X,(0,u.syntaxHighlighting)(ee)];class en{constructor(){this._themeMap=new Map([["jupyter",Object.freeze({name:"jupyter",theme:et})]])}get themes(){return Array.from(this._themeMap.values())}defaultTheme(){return this._themeMap.get("jupyter").theme}addTheme(e){if(this._themeMap.has(e.name))throw Error(`A theme named '${e.name}' is already registered.`);this._themeMap.set(e.name,{displayName:e.name,...e})}getTheme(e){var t;let n=null==(t=this._themeMap.get(e))?void 0:t.theme;return null!=n?n:this.defaultTheme()}}!function(e){e.getDefaultThemes=function(e){return[Object.freeze({name:"codemirror",displayName:(null!=e?e:f.nullTranslator).load("jupyterlab").__("codemirror"),theme:[m.EditorView.baseTheme({}),(0,u.syntaxHighlighting)(u.defaultHighlightStyle)]})]}}(en||(en={}));class ei{constructor(e,t){this.langPython=t,this.tree=(0,u.syntaxTree)(e.state),this.mark=m.Decoration.mark({class:"cm-builtin"}),this.decorations=this.buildDeco(e),this.decoratedTo=e.viewport.to}update(e){let t=(0,u.syntaxTree)(e.state),{viewport:n}=e.view,i=e.changes.mapPos(this.decoratedTo,1);t.length<n.to&&t.type==this.tree.type&&i>=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=i):(t!=this.tree||e.viewportChanged)&&(this.tree=t,this.decorations=this.buildDeco(e.view),this.decoratedTo=n.to)}buildDeco(e){if(!this.tree.length)return m.Decoration.none;let t=new p.RangeSetBuilder,n=i=>{var o;let r=i.node.cursor(),s=r.tree&&r.tree.prop(y.NodeProp.mounted);s&&s.overlay&&(null==(o=i.node.enter(s.overlay[0].from+i.from,1))||o.cursor().iterate(n)),this.langPython.isActiveAt(e.state,i.from+1)&&"VariableName"===i.name&&er.includes(e.state.sliceDoc(i.from,i.to))&&t.add(i.from,i.to,this.mark)};for(let{from:t,to:i}of e.visibleRanges)this.tree.iterate({enter:n,from:t,to:i});return t.finish()}}function eo(e){return m.ViewPlugin.define(t=>new ei(t,e),{decorations:e=>e.decorations})}let er=["abs","aiter","all","any","anext","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__"];class es{constructor(){this._modeList=[],this.addLanguage({name:"none",mime:"text/plain",support:new u.LanguageSupport(u.LRLanguage.define({parser:(0,Q.KO)("@top Program { }")}))})}addLanguage(e){var t;if(null!=(t=this.findByName(e.name))?t:this.findByMIME(e.mime,!0))throw Error(`${e.mime} already registered`);this._modeList.push(this.makeSpec(e))}async getLanguage(e){let t=this.findBest(e);return t&&!t.support&&(t.support=await t.load()),t}getLanguages(){return[...this._modeList]}findByMIME(e,t=!1){if(Array.isArray(e)){for(let t=0;t<e.length;t++){let n=this.findByMIME(e[t]);if(n)return n}return null}e=e.toLowerCase();for(let t=0;t<this._modeList.length;t++){let n=this._modeList[t];if(Array.isArray(n.mime)){for(let t=0;t<n.mime.length;t++)if(n.mime[t]==e)return n}else if(n.mime==e)return n}if(!t){if(/\+xml$/.test(e))return this.findByMIME("application/xml");if(/\+json$/.test(e))return this.findByMIME("application/json")}return null}findByName(e){e=e.toLowerCase();for(let t=0;t<this._modeList.length;t++){let n=this._modeList[t];if(n.name.toLowerCase()==e)return n;if(n.alias){for(let t=0;t<n.alias.length;t++)if(n.alias[t].toLowerCase()==e)return n}}return null}findByExtension(e){if(Array.isArray(e)){for(let t=0;t<e.length;t++){let n=this.findByExtension(e[t]);if(n)return n}return null}e=e.toLowerCase();for(let t=0;t<this._modeList.length;t++){let n=this._modeList[t];for(let t=0;t<n.extensions.length;t++)if(n.extensions[t].toLowerCase()==e)return n}return null}findByFileName(e){let t=Z.PathExt.basename(e);for(let e=0;e<this._modeList.length;e++){let n=this._modeList[e];if(n.filename&&n.filename.test(t))return n}let n=t.lastIndexOf("."),i=n>-1&&t.substring(n+1,t.length);return i?this.findByExtension(i):null}findBest(e,t=!0){var n,i,o,r;let s="string"==typeof e?e:e.name,l="string"!=typeof e?e.mime:s,d="string"!=typeof e&&null!=(n=e.extensions)?n:[];return null!=(r=null!=(o=null!=(i=s?this.findByName(s):null)?i:l?this.findByMIME(l):null)?o:this.findByExtension(d))?r:t?this.findByMIME(a.IEditorMimeTypeService.defaultMimeType):null}async highlight(e,t,n){var i;t&&await this.getLanguage(t);let o=null==(i=null==t?void 0:t.support)?void 0:i.language;if(!o)return void n.appendChild(document.createTextNode(e));let r=o.parser.parse(e),s=0;(0,E.highlightTree)(r,ee,(t,i,o)=>{t>s&&n.appendChild(document.createTextNode(e.slice(s,t)));let r=n.appendChild(document.createElement("span"));r.className=o,r.appendChild(document.createTextNode(e.slice(t,i))),s=i}),0===s&&e.length>0?n.appendChild(document.createTextNode(e)):s<e.length&&n.appendChild(document.createTextNode(e.slice(s,e.length)))}makeSpec(e){let t=u.LanguageDescription.of(e);return t.mime=e.mime,t.displayName=e.displayName,t}}!function(e){function t(e){return new u.LanguageSupport(u.StreamLanguage.define(e))}async function i(e){let t=await n.e(7517).then(n.bind(n,46492));return t.sql({dialect:t[e]})}e.legacy=t,e.getDefaultLanguages=function(e,o){let r=(null!=e?e:f.nullTranslator).load("jupyterlab");return[{name:"C",displayName:r.__("C"),mime:"text/x-csrc",extensions:["c","h","ino"],load:async()=>(await n.e(16).then(n.bind(n,22195))).cpp()},{name:"C++",displayName:r.__("C++"),mime:"text/x-c++src",extensions:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],load:async()=>(await n.e(16).then(n.bind(n,22195))).cpp()},{name:"CQL",displayName:r.__("CQL"),mime:"text/x-cassandra",extensions:["cql"],load:()=>i("Cassandra")},{name:"CSS",displayName:r.__("CSS"),mime:"text/css",extensions:["css"],load:async()=>(await n.e(52).then(n.bind(n,74783))).css()},{name:"HTML",displayName:r.__("HTML"),alias:["xhtml"],mime:"text/html",extensions:["html","htm","handlebars","hbs"],load:async()=>(await Promise.all([n.e(2857),n.e(52),n.e(4379)]).then(n.bind(n,68678))).html()},{name:"Java",displayName:r.__("Java"),mime:"text/x-java",extensions:["java"],load:async()=>(await n.e(2115).then(n.bind(n,92014))).java()},{name:"Javascript",displayName:r.__("Javascript"),alias:["ecmascript","js","node"],mime:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],extensions:["js","mjs","cjs"],load:async()=>(await n.e(2857).then(n.bind(n,2960))).javascript()},{name:"JSON",displayName:r.__("JSON"),alias:["json5"],mime:["application/json","application/x-json"],extensions:["json","map"],load:async()=>(await n.e(9111).then(n.bind(n,5594))).json()},{name:"JSX",displayName:r.__("JSX"),mime:"text/jsx",extensions:["jsx"],load:async()=>(await n.e(2857).then(n.bind(n,2960))).javascript({jsx:!0})},{name:"MariaDB SQL",displayName:r.__("MariaDB SQL"),mime:"text/x-mariadb",load:()=>i("MariaSQL")},{name:"Markdown",displayName:r.__("Markdown"),mime:"text/x-markdown",extensions:["md","markdown","mkd"],async load(){let e=await n.e(1695).then(n.t.bind(n,14466,23));return o?e.markdown({codeLanguages:e=>{let t=o(e);return t?t instanceof u.LanguageDescription?t:u.LanguageDescription.of(t):null}}):e.markdown()}},{name:"MS SQL",displayName:r.__("MS SQL"),mime:"text/x-mssql",load:()=>i("MSSQL")},{name:"MySQL",displayName:r.__("MySQL"),mime:"text/x-mysql",load:()=>i("MySQL")},{name:"PHP",displayName:r.__("PHP"),mime:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],extensions:["php","php3","php4","php5","php7","phtml"],load:async()=>(await Promise.all([n.e(2857),n.e(52),n.e(4379),n.e(518)]).then(n.bind(n,91685))).php()},{name:"PLSQL",displayName:r.__("PLSQL"),mime:"text/x-plsql",extensions:["pls"],load:()=>i("PLSQL")},{name:"PostgreSQL",displayName:r.__("PostgreSQL"),mime:"text/x-pgsql",load:()=>i("PostgreSQL")},{name:"Python",displayName:r.__("Python"),mime:"text/x-python",extensions:["BUILD","bzl","py","pyw"],filename:/^(BUCK|BUILD)$/,async load(){let e=await n.e(5132).then(n.bind(n,15159));return new u.LanguageSupport(e.pythonLanguage,eo(e.pythonLanguage))}},{name:"ipython",displayName:r.__("ipython"),mime:"text/x-ipython",async load(){let e=await n.e(5132).then(n.bind(n,15159));return new u.LanguageSupport(e.pythonLanguage,eo(e.pythonLanguage))}},{name:"Rust",displayName:r.__("Rust"),mime:"text/x-rustsrc",extensions:["rs"],load:async()=>(await n.e(8276).then(n.bind(n,15772))).rust()},{name:"SQL",displayName:r.__("SQL"),mime:["application/sql","text/x-sql"],extensions:["sql"],load:()=>i("StandardSQL")},{name:"SQLite",displayName:r.__("SQLite"),mime:"text/x-sqlite",load:()=>i("SQLite")},{name:"TSX",displayName:r.__("TSX"),alias:["TypeScript-JSX"],mime:"text/typescript-jsx",extensions:["tsx"],load:async()=>(await n.e(2857).then(n.bind(n,2960))).javascript({jsx:!0,typescript:!0})},{name:"TypeScript",displayName:r.__("TypeScript"),alias:["ts"],mime:"application/typescript",extensions:["ts"],load:async()=>(await n.e(2857).then(n.bind(n,2960))).javascript({typescript:!0})},{name:"WebAssembly",displayName:r.__("WebAssembly"),mime:"text/webassembly",extensions:["wat","wast"],load:async()=>(await n.e(2692).then(n.bind(n,86095))).wast()},{name:"XML",displayName:r.__("XML"),alias:["rss","wsdl","xsd"],mime:["application/xml","text/xml"],extensions:["xml","xsl","xsd","svg"],load:async()=>(await n.e(3244).then(n.bind(n,38151))).xml()},{name:"APL",displayName:r.__("APL"),mime:"text/apl",extensions:["dyalog","apl"],load:async()=>t((await n.e(2814).then(n.bind(n,65085))).apl)},{name:"PGP",displayName:r.__("PGP"),alias:["asciiarmor"],mime:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],extensions:["asc","pgp","sig"],load:async()=>t((await n.e(1527).then(n.bind(n,11834))).asciiArmor)},{name:"ASN.1",displayName:r.__("ASN.1"),mime:"text/x-ttcn-asn",extensions:["asn","asn1"],load:async()=>t((await n.e(4674).then(n.bind(n,25929))).asn1({}))},{name:"Asterisk",displayName:r.__("Asterisk"),mime:"text/x-asterisk",filename:/^extensions\.conf$/i,load:async()=>t((await n.e(109).then(n.bind(n,11436))).asterisk)},{name:"Brainfuck",displayName:r.__("Brainfuck"),mime:"text/x-brainfuck",extensions:["b","bf"],load:async()=>t((await n.e(130).then(n.bind(n,71737))).brainfuck)},{name:"Cobol",displayName:r.__("Cobol"),mime:"text/x-cobol",extensions:["cob","cpy"],load:async()=>t((await n.e(6482).then(n.bind(n,58217))).cobol)},{name:"C#",displayName:r.__("C#"),alias:["csharp","cs"],mime:"text/x-csharp",extensions:["cs"],load:async()=>t((await n.e(649).then(n.bind(n,24528))).csharp)},{name:"Clojure",displayName:r.__("Clojure"),mime:"text/x-clojure",extensions:["clj","cljc","cljx"],load:async()=>t((await n.e(795).then(n.bind(n,93974))).clojure)},{name:"ClojureScript",displayName:r.__("ClojureScript"),mime:"text/x-clojurescript",extensions:["cljs"],load:async()=>t((await n.e(795).then(n.bind(n,93974))).clojure)},{name:"Closure Stylesheets (GSS)",displayName:r.__("Closure Stylesheets (GSS)"),mime:"text/x-gss",extensions:["gss"],load:async()=>t((await n.e(298).then(n.bind(n,59137))).gss)},{name:"CMake",displayName:r.__("CMake"),mime:"text/x-cmake",extensions:["cmake","cmake.in"],filename:/^CMakeLists\.txt$/,load:async()=>t((await n.e(4518).then(n.bind(n,55317))).cmake)},{name:"CoffeeScript",displayName:r.__("CoffeeScript"),alias:["coffee","coffee-script"],mime:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],extensions:["coffee"],load:async()=>t((await n.e(6460).then(n.bind(n,82823))).coffeeScript)},{name:"Common Lisp",displayName:r.__("Common Lisp"),alias:["lisp"],mime:"text/x-common-lisp",extensions:["cl","lisp","el"],load:async()=>t((await n.e(7646).then(n.bind(n,14797))).commonLisp)},{name:"Cypher",displayName:r.__("Cypher"),mime:"application/x-cypher-query",extensions:["cyp","cypher"],load:async()=>t((await n.e(7556).then(n.bind(n,99023))).cypher)},{name:"Cython",displayName:r.__("Cython"),mime:"text/x-cython",extensions:["pyx","pxd","pxi"],load:async()=>t((await n.e(3859).then(n.bind(n,68830))).cython)},{name:"Crystal",displayName:r.__("Crystal"),mime:"text/x-crystal",extensions:["cr"],load:async()=>t((await n.e(9325).then(n.bind(n,43372))).crystal)},{name:"D",displayName:r.__("D"),mime:"text/x-d",extensions:["d"],load:async()=>t((await n.e(6523).then(n.bind(n,55318))).d)},{name:"Dart",displayName:r.__("Dart"),mime:["application/dart","text/x-dart"],extensions:["dart"],load:async()=>t((await n.e(649).then(n.bind(n,24528))).dart)},{name:"diff",displayName:r.__("diff"),mime:"text/x-diff",extensions:["diff","patch"],load:async()=>t((await n.e(8220).then(n.bind(n,91991))).diff)},{name:"Dockerfile",displayName:r.__("Dockerfile"),mime:"text/x-dockerfile",filename:/^Dockerfile$/,load:async()=>t((await n.e(9571).then(n.bind(n,92574))).dockerFile)},{name:"DTD",displayName:r.__("DTD"),mime:"application/xml-dtd",extensions:["dtd"],load:async()=>t((await n.e(875).then(n.bind(n,30246))).dtd)},{name:"Dylan",displayName:r.__("Dylan"),mime:"text/x-dylan",extensions:["dylan","dyl","intr"],load:async()=>t((await n.e(1325).then(n.bind(n,24076))).dylan)},{name:"EBNF",displayName:r.__("EBNF"),mime:"text/x-ebnf",load:async()=>t((await n.e(2208).then(n.bind(n,17587))).ebnf)},{name:"ECL",displayName:r.__("ECL"),mime:"text/x-ecl",extensions:["ecl"],load:async()=>t((await n.e(6507).then(n.bind(n,26294))).ecl)},{name:"edn",displayName:r.__("edn"),mime:"application/edn",extensions:["edn"],load:async()=>t((await n.e(795).then(n.bind(n,93974))).clojure)},{name:"Eiffel",displayName:r.__("Eiffel"),mime:"text/x-eiffel",extensions:["e"],load:async()=>t((await n.e(1028).then(n.bind(n,81887))).eiffel)},{name:"Elm",displayName:r.__("Elm"),mime:"text/x-elm",extensions:["elm"],load:async()=>t((await n.e(4251).then(n.bind(n,97318))).elm)},{name:"Erlang",displayName:r.__("Erlang"),mime:"text/x-erlang",extensions:["erl"],load:async()=>t((await n.e(8256).then(n.bind(n,90867))).erlang)},{name:"Esper",displayName:r.__("Esper"),mime:"text/x-esper",load:async()=>t((await n.e(3395).then(n.bind(n,95566))).esper)},{name:"Factor",displayName:r.__("Factor"),mime:"text/x-factor",extensions:["factor"],load:async()=>t((await n.e(616).then(n.bind(n,5211))).factor)},{name:"FCL",displayName:r.__("FCL"),mime:"text/x-fcl",load:async()=>t((await n.e(2004).then(n.bind(n,86831))).fcl)},{name:"Forth",displayName:r.__("Forth"),mime:"text/x-forth",extensions:["forth","fth","4th"],load:async()=>t((await n.e(5950).then(n.bind(n,46941))).forth)},{name:"Fortran",displayName:r.__("Fortran"),mime:"text/x-fortran",extensions:["f","for","f77","f90","f95"],load:async()=>t((await n.e(8481).then(n.bind(n,74408))).fortran)},{name:"F#",displayName:r.__("F#"),alias:["fsharp"],mime:"text/x-fsharp",extensions:["fs"],load:async()=>t((await n.e(6591).then(n.bind(n,21954))).fSharp)},{name:"Gas",displayName:r.__("Gas"),mime:"text/x-gas",extensions:["s"],load:async()=>t((await n.e(6544).then(n.bind(n,19123))).gas)},{name:"Gherkin",displayName:r.__("Gherkin"),mime:"text/x-feature",extensions:["feature"],load:async()=>t((await n.e(1917).then(n.bind(n,56060))).gherkin)},{name:"Go",displayName:r.__("Go"),mime:"text/x-go",extensions:["go"],load:async()=>t((await n.e(7471).then(n.bind(n,28418))).go)},{name:"Groovy",displayName:r.__("Groovy"),mime:"text/x-groovy",extensions:["groovy","gradle"],filename:/^Jenkinsfile$/,load:async()=>t((await n.e(9303).then(n.bind(n,40874))).groovy)},{name:"Haskell",displayName:r.__("Haskell"),mime:"text/x-haskell",extensions:["hs"],load:async()=>t((await n.e(9599).then(n.bind(n,1986))).haskell)},{name:"Haxe",displayName:r.__("Haxe"),mime:"text/x-haxe",extensions:["hx"],load:async()=>t((await n.e(6973).then(n.bind(n,56412))).haxe)},{name:"HXML",displayName:r.__("HXML"),mime:"text/x-hxml",extensions:["hxml"],load:async()=>t((await n.e(6973).then(n.bind(n,56412))).hxml)},{name:"HTTP",displayName:r.__("HTTP"),mime:"message/http",load:async()=>t((await n.e(753).then(n.bind(n,3112))).http)},{name:"IDL",displayName:r.__("IDL"),mime:"text/x-idl",extensions:["pro"],load:async()=>t((await n.e(6226).then(n.bind(n,7769))).idl)},{name:"JSON-LD",displayName:r.__("JSON-LD"),alias:["jsonld"],mime:"application/ld+json",extensions:["jsonld"],load:async()=>t((await n.e(6128).then(n.bind(n,85987))).jsonld)},{name:"Jinja2",displayName:r.__("Jinja2"),mime:"text/jinja2",extensions:["j2","jinja","jinja2"],load:async()=>t((await n.e(3459).then(n.bind(n,57694))).jinja2)},{name:"Julia",displayName:r.__("Julia"),mime:"text/x-julia",extensions:["jl"],load:async()=>t((await n.e(5260).then(n.bind(n,47575))).julia)},{name:"Kotlin",displayName:r.__("Kotlin"),mime:"text/x-kotlin",extensions:["kt"],load:async()=>t((await n.e(649).then(n.bind(n,24528))).kotlin)},{name:"LESS",displayName:r.__("LESS"),mime:"text/x-less",extensions:["less"],load:async()=>t((await n.e(298).then(n.bind(n,59137))).less)},{name:"LiveScript",displayName:r.__("LiveScript"),alias:["ls"],mime:"text/x-livescript",extensions:["ls"],load:async()=>t((await n.e(3058).then(n.bind(n,27881))).liveScript)},{name:"Lua",displayName:r.__("Lua"),mime:"text/x-lua",extensions:["lua"],load:async()=>t((await n.e(5681).then(n.bind(n,41960))).lua)},{name:"mIRC",displayName:r.__("mIRC"),mime:"text/mirc",load:async()=>t((await n.e(9954).then(n.bind(n,21449))).mirc)},{name:"Mathematica",displayName:r.__("Mathematica"),mime:"text/x-mathematica",extensions:["m","nb","wl","wls"],load:async()=>t((await n.e(6091).then(n.bind(n,95862))).mathematica)},{name:"Modelica",displayName:r.__("Modelica"),mime:"text/x-modelica",extensions:["mo"],load:async()=>t((await n.e(5121).then(n.bind(n,83832))).modelica)},{name:"MUMPS",displayName:r.__("MUMPS"),mime:"text/x-mumps",extensions:["mps"],load:async()=>t((await n.e(2751).then(n.bind(n,12658))).mumps)},{name:"mbox",displayName:r.__("mbox"),mime:"application/mbox",extensions:["mbox"],load:async()=>t((await n.e(7045).then(n.bind(n,34068))).mbox)},{name:"Nginx",displayName:r.__("Nginx"),mime:"text/x-nginx-conf",filename:/nginx.*\.conf$/i,load:async()=>t((await n.e(2011).then(n.bind(n,98326))).nginx)},{name:"NSIS",displayName:r.__("NSIS"),mime:"text/x-nsis",extensions:["nsh","nsi"],load:async()=>t((await n.e(1344).then(n.bind(n,70339))).nsis)},{name:"NTriples",displayName:r.__("NTriples"),mime:["application/n-triples","application/n-quads","text/n-triples"],extensions:["nt","nq"],load:async()=>t((await n.e(6268).then(n.bind(n,85847))).ntriples)},{name:"Objective-C",displayName:r.__("Objective-C"),alias:["objective-c","objc"],mime:"text/x-objectivec",extensions:["m"],load:async()=>t((await n.e(649).then(n.bind(n,24528))).objectiveC)},{name:"Objective-C++",displayName:r.__("Objective-C++"),alias:["objective-c++","objc++"],mime:"text/x-objectivec++",extensions:["mm"],load:async()=>t((await n.e(649).then(n.bind(n,24528))).objectiveCpp)},{name:"OCaml",displayName:r.__("OCaml"),mime:"text/x-ocaml",extensions:["ml","mli","mll","mly"],load:async()=>t((await n.e(6591).then(n.bind(n,21954))).oCaml)},{name:"Octave",displayName:r.__("Octave"),mime:"text/x-octave",extensions:["m"],load:async()=>t((await n.e(173).then(n.bind(n,7260))).octave)},{name:"Oz",displayName:r.__("Oz"),mime:"text/x-oz",extensions:["oz"],load:async()=>t((await n.e(8710).then(n.bind(n,57445))).oz)},{name:"Pascal",displayName:r.__("Pascal"),mime:"text/x-pascal",extensions:["p","pas"],load:async()=>t((await n.e(1873).then(n.bind(n,38232))).pascal)},{name:"Perl",displayName:r.__("Perl"),mime:"text/x-perl",extensions:["pl","pm"],load:async()=>t((await n.e(8334).then(n.bind(n,73709))).perl)},{name:"Pig",displayName:r.__("Pig"),mime:"text/x-pig",extensions:["pig"],load:async()=>t((await n.e(5771).then(n.bind(n,92105))).pig)},{name:"PowerShell",displayName:r.__("PowerShell"),mime:"application/x-powershell",extensions:["ps1","psd1","psm1"],load:async()=>t((await n.e(7658).then(n.bind(n,26145))).powerShell)},{name:"Properties files",displayName:r.__("Properties files"),alias:["ini","properties"],mime:"text/x-properties",extensions:["properties","ini","in"],load:async()=>t((await n.e(6046).then(n.bind(n,79517))).properties)},{name:"ProtoBuf",displayName:r.__("ProtoBuf"),mime:"text/x-protobuf",extensions:["proto"],load:async()=>t((await n.e(863).then(n.bind(n,73303))).protobuf)},{name:"Pug",displayName:r.__("Pug"),mime:"text/x-pug",extensions:["pug"],load:async()=>t((await Promise.all([n.e(6128),n.e(279)]).then(n.bind(n,96170))).pug)},{name:"Puppet",displayName:r.__("Puppet"),mime:"text/x-puppet",extensions:["pp"],load:async()=>t((await n.e(1539).then(n.bind(n,54878))).puppet)},{name:"Q",displayName:r.__("Q"),mime:"text/x-q",extensions:["q"],load:async()=>t((await n.e(2914).then(n.bind(n,30089))).q)},{name:"R",displayName:r.__("R"),alias:["rscript"],mime:"text/x-rsrc",extensions:["r","R"],load:async()=>t((await n.e(2841).then(n.bind(n,97136))).r)},{name:"RPM Changes",displayName:r.__("RPM Changes"),mime:"text/x-rpm-changes",load:async()=>t((await n.e(4672).then(n.bind(n,24323))).rpmChanges)},{name:"RPM Spec",displayName:r.__("RPM Spec"),mime:"text/x-rpm-spec",extensions:["spec"],load:async()=>t((await n.e(4672).then(n.bind(n,24323))).rpmSpec)},{name:"Ruby",displayName:r.__("Ruby"),alias:["jruby","macruby","rake","rb","rbx"],mime:"text/x-ruby",extensions:["rb"],load:async()=>t((await n.e(5633).then(n.bind(n,44616))).ruby)},{name:"SAS",displayName:r.__("SAS"),mime:"text/x-sas",extensions:["sas"],load:async()=>t((await n.e(6556).then(n.bind(n,90247))).sas)},{name:"Scala",displayName:r.__("Scala"),mime:"text/x-scala",extensions:["scala"],load:async()=>t((await n.e(649).then(n.bind(n,24528))).scala)},{name:"Scheme",displayName:r.__("Scheme"),mime:"text/x-scheme",extensions:["scm","ss"],load:async()=>t((await n.e(1460).then(n.bind(n,42959))).scheme)},{name:"SCSS",displayName:r.__("SCSS"),mime:"text/x-scss",extensions:["scss"],load:async()=>t((await n.e(298).then(n.bind(n,59137))).sCSS)},{name:"Shell",displayName:r.__("Shell"),alias:["bash","sh","zsh"],mime:["text/x-sh","application/x-sh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load:async()=>t((await n.e(3221).then(n.bind(n,50084))).shell)},{name:"Sieve",displayName:r.__("Sieve"),mime:"application/sieve",extensions:["siv","sieve"],load:async()=>t((await n.e(4545).then(n.bind(n,15224))).sieve)},{name:"Smalltalk",displayName:r.__("Smalltalk"),mime:"text/x-stsrc",extensions:["st"],load:async()=>t((await n.e(5536).then(n.bind(n,8368))).smalltalk)},{name:"Solr",displayName:r.__("Solr"),mime:"text/x-solr",load:async()=>t((await n.e(2001).then(n.bind(n,82280))).solr)},{name:"SML",displayName:r.__("SML"),mime:"text/x-sml",extensions:["sml","sig","fun","smackspec"],load:async()=>t((await n.e(6591).then(n.bind(n,21954))).sml)},{name:"SPARQL",displayName:r.__("SPARQL"),alias:["sparul"],mime:"application/sparql-query",extensions:["rq","sparql"],load:async()=>t((await n.e(7674).then(n.bind(n,58753))).sparql)},{name:"Spreadsheet",displayName:r.__("Spreadsheet"),alias:["excel","formula"],mime:"text/x-spreadsheet",load:async()=>t((await n.e(4501).then(n.bind(n,23780))).spreadsheet)},{name:"Squirrel",displayName:r.__("Squirrel"),mime:"text/x-squirrel",extensions:["nut"],load:async()=>t((await n.e(649).then(n.bind(n,24528))).squirrel)},{name:"Stylus",displayName:r.__("Stylus"),mime:"text/x-styl",extensions:["styl"],load:async()=>t((await n.e(8915).then(n.bind(n,84462))).stylus)},{name:"Swift",displayName:r.__("Swift"),mime:"text/x-swift",extensions:["swift"],load:async()=>t((await n.e(6490).then(n.bind(n,90321))).swift)},{name:"sTeX",displayName:r.__("sTeX"),mime:"text/x-stex",load:async()=>t((await n.e(2527).then(n.bind(n,89746))).stex)},{name:"LaTeX",displayName:r.__("LaTeX"),alias:["tex"],mime:"text/x-latex",extensions:["text","ltx","tex"],load:async()=>t((await n.e(2527).then(n.bind(n,89746))).stex)},{name:"SystemVerilog",displayName:r.__("SystemVerilog"),mime:"text/x-systemverilog",extensions:["v","sv","svh"],load:async()=>t((await n.e(9701).then(n.bind(n,14372))).verilog)},{name:"Tcl",displayName:r.__("Tcl"),mime:"text/x-tcl",extensions:["tcl"],load:async()=>t((await n.e(8774).then(n.bind(n,91189))).tcl)},{name:"Textile",displayName:r.__("Textile"),mime:"text/x-textile",extensions:["textile"],load:async()=>t((await n.e(7520).then(n.bind(n,64611))).textile)},{name:"TiddlyWiki",displayName:r.__("TiddlyWiki"),mime:"text/x-tiddlywiki",load:async()=>t((await n.e(8237).then(n.bind(n,7756))).tiddlyWiki)},{name:"Tiki wiki",displayName:r.__("Tiki wiki"),mime:"text/tiki",load:async()=>t((await n.e(5112).then(n.bind(n,6843))).tiki)},{name:"TOML",displayName:r.__("TOML"),mime:"text/x-toml",extensions:["toml"],load:async()=>t((await n.e(1645).then(n.bind(n,56460))).toml)},{name:"troff",displayName:r.__("troff"),mime:"text/troff",extensions:["1","2","3","4","5","6","7","8","9"],load:async()=>t((await n.e(2358).then(n.bind(n,34053))).troff)},{name:"TTCN",displayName:r.__("TTCN"),mime:"text/x-ttcn",extensions:["ttcn","ttcn3","ttcnpp"],load:async()=>t((await n.e(4726).then(n.bind(n,57269))).ttcn)},{name:"TTCN_CFG",displayName:r.__("TTCN_CFG"),mime:"text/x-ttcn-cfg",extensions:["cfg"],load:async()=>t((await n.e(7927).then(n.bind(n,96874))).ttcnCfg)},{name:"Turtle",displayName:r.__("Turtle"),mime:"text/turtle",extensions:["ttl"],load:async()=>t((await n.e(3071).then(n.bind(n,59474))).turtle)},{name:"Web IDL",displayName:r.__("Web IDL"),mime:"text/x-webidl",extensions:["webidl"],load:async()=>t((await n.e(9202).then(n.bind(n,50265))).webIDL)},{name:"VB.NET",displayName:r.__("VB.NET"),mime:"text/x-vb",extensions:["vb"],load:async()=>t((await n.e(9565).then(n.bind(n,30492))).vb)},{name:"VBScript",displayName:r.__("VBScript"),mime:"text/vbscript",extensions:["vbs"],load:async()=>t((await n.e(5972).then(n.bind(n,56767))).vbScript)},{name:"Velocity",displayName:r.__("Velocity"),mime:"text/velocity",extensions:["vtl"],load:async()=>t((await n.e(1984).then(n.bind(n,2467))).velocity)},{name:"Verilog",displayName:r.__("Verilog"),mime:"text/x-verilog",extensions:["v"],load:async()=>t((await n.e(9701).then(n.bind(n,14372))).verilog)},{name:"VHDL",displayName:r.__("VHDL"),mime:"text/x-vhdl",extensions:["vhd","vhdl"],load:async()=>t((await n.e(6363).then(n.bind(n,84838))).vhdl)},{name:"XQuery",displayName:r.__("XQuery"),mime:"application/xquery",extensions:["xy","xquery"],load:async()=>t((await n.e(8117).then(n.bind(n,34484))).xQuery)},{name:"Yacas",displayName:r.__("Yacas"),mime:"text/x-yacas",extensions:["ys"],load:async()=>t((await n.e(6210).then(n.bind(n,82681))).yacas)},{name:"YAML",displayName:r.__("YAML"),alias:["yml"],mime:["text/x-yaml","text/yaml"],extensions:["yaml","yml"],load:async()=>t((await n.e(3288).then(n.bind(n,30731))).yaml)},{name:"Z80",displayName:r.__("Z80"),mime:"text/x-z80",extensions:["z80"],load:async()=>t((await n.e(1601).then(n.bind(n,44296))).z80)},{name:"mscgen",displayName:r.__("mscgen"),mime:"text/x-mscgen",extensions:["mscgen","mscin","msc"],load:async()=>t((await n.e(5590).then(n.bind(n,15877))).mscgen)},{name:"xu",displayName:r.__("xu"),mime:"text/x-xu",extensions:["xu"],load:async()=>t((await n.e(5590).then(n.bind(n,15877))).xu)},{name:"msgenny",displayName:r.__("msgenny"),mime:"text/x-msgenny",extensions:["msgenny"],load:async()=>t((await n.e(5590).then(n.bind(n,15877))).msgenny)}]}}(es||(es={}));let ea="jp-CodeMirrorEditor";class el{constructor(e){var t,n,i,r,s,a;this.edgeRequested=new A.Signal(this),this._isDisposed=!1,this._language=new p.Compartment,this._uuid="",this._languages=null!=(t=e.languages)?t:new es,this._configurator=null!=(r=null==(n=e.extensionsRegistry)?void 0:n.createNew({...e,inline:null!=(i=e.inline)&&i}))?r:new J;const l=this.host=e.host;l.classList.add(ea),l.classList.add("jp-Editor"),l.addEventListener("focus",this,!0),l.addEventListener("blur",this,!0),l.addEventListener("scroll",this,!0),this._uuid=null!=(s=e.uuid)?s:g.UUID.uuid4();const d=this._model=e.model,c=m.EditorView.domEventHandlers({keydown:(e,t)=>this.onKeydown(e)}),h=m.EditorView.updateListener.of(e=>{this._onDocChanged(e)});this._editor=o.createEditor(l,this._configurator,[p.Prec.high(c),h,this._language.of([]),...null!=(a=e.extensions)?a:[]],d.sharedModel.source);const u=l.querySelector(".cm-content");if(u){const e={view:this._editor,dom:u};Object.defineProperty(u,"cmView",{configurable:!0,get:()=>(console.warn("Accessing cmView is deprecated. Use the public API EditorView.findFromDOM() instead."),e)})}const C=l.querySelector(".cm-scroller");C&&C.classList.add("jp-zoom-target"),this._onMimeTypeChanged(),this._onCursorActivity(),this._configurator.configChanged.connect(this.onConfigChanged,this),d.mimeTypeChanged.connect(this._onMimeTypeChanged,this)}get uuid(){return this._uuid}set uuid(e){this._uuid=e}get editor(){return this._editor}get doc(){return this._editor.state.doc}get lineCount(){return this.doc.lines}get model(){return this._model}get lineHeight(){return this._editor.defaultLineHeight}get charWidth(){return this._editor.defaultCharacterWidth}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this.host.removeEventListener("focus",this,!0),this.host.removeEventListener("blur",this,!0),this.host.removeEventListener("scroll",this,!0),this._configurator.dispose(),A.Signal.clearData(this),this.editor.destroy())}getOption(e){return this._configurator.getOption(e)}hasOption(e){return this._configurator.hasOption(e)}setOption(e,t){this._configurator.setOption(e,t)}setOptions(e){this._configurator.setOptions(e)}setBaseOptions(e){this._configurator.setBaseOptions(e)}injectExtension(e){this._configurator.injectExtension(this._editor,e)}getLine(e){return(e+=1)<=this.doc.lines?this.doc.line(e).text:void 0}getOffsetAt(e){return this.doc.line(e.line+1).from+e.column}getPositionAt(e){let t=this.doc.lineAt(e);return{line:t.number-1,column:e-t.from}}undo(){this.model.sharedModel.undo()}redo(){this.model.sharedModel.redo()}clearHistory(){this.model.sharedModel.clearUndoHistory()}focus(){this.host.classList.add("jp-mod-focused"),this._editor.focus()}hasFocus(){return this._editor.hasFocus}blur(){this._editor.contentDOM.blur()}get state(){return this._editor.state}firstLine(){return 0}lastLine(){return this.doc.lines-1}cursorCoords(e,t){let n=this.state.selection.main,i=e?n.from:n.to;return this.editor.coordsAtPos(i)}getRange(e,t,n){let i=this.getOffsetAt(this._toPosition(e)),o=this.getOffsetAt(this._toPosition(t));return this.state.sliceDoc(i,o)}revealPosition(e,t){let n=this.getOffsetAt(e);this._editor.dispatch({effects:m.EditorView.scrollIntoView(n,{y:null==t?void 0:t.block,x:null==t?void 0:t.inline})})}revealSelection(e,t){let n=this.getOffsetAt(e.start),i=this.getOffsetAt(e.end);this._editor.dispatch({effects:m.EditorView.scrollIntoView(p.EditorSelection.range(n,i),{y:null==t?void 0:t.block,x:null==t?void 0:t.inline})})}getCoordinateForPosition(e){let t=this.getOffsetAt(e);return this.editor.coordsAtPos(t)}getPositionForCoordinate(e){let t=this.editor.posAtCoords({x:e.left,y:e.top});return this.getPositionAt(t)||null}getCursorPosition(){let e=this.state.selection.main.head;return this.getPositionAt(e)}setCursorPosition(e,t={}){let n=this.getOffsetAt(e);this.editor.dispatch({selection:{anchor:n},scrollIntoView:!1!==t.scroll}),this.editor.hasFocus||this.model.selections.set(this.uuid,this.getSelections())}getSelection(){return this.getSelections()[0]}setSelection(e){this.setSelections([e])}getSelections(){let e=this.state.selection.ranges;if(e.length>0)return e.map(e=>({anchor:this._toCodeMirrorPosition(this.getPositionAt(e.from)),head:this._toCodeMirrorPosition(this.getPositionAt(e.to))})).map(e=>this._toSelection(e));let t=this._toCodeMirrorPosition(this.getPositionAt(this.state.selection.main.head));return[this._toSelection({anchor:t,head:t})]}setSelections(e){let t=e.length?e.map(e=>p.EditorSelection.range(this.getOffsetAt(e.start),this.getOffsetAt(e.end))):[p.EditorSelection.range(0,0)];this.editor.dispatch({selection:p.EditorSelection.create(t)})}replaceSelection(e){let t=this.getSelections()[0];this.model.sharedModel.updateSource(this.getOffsetAt(t.start),this.getOffsetAt(t.end),e);let n=this.getPositionAt(this.getOffsetAt(t.start)+e.length);this.setSelection({start:n,end:n})}getTokens(){let e=[],t=(0,u.ensureSyntaxTree)(this.state,this.doc.length);return t&&t.iterate({enter:t=>(null===t.node.firstChild&&e.push({value:this.state.sliceDoc(t.from,t.to),offset:t.from,type:t.name}),!0)}),e}getTokenAt(e){let t=(0,u.ensureSyntaxTree)(this.state,e),n=null;return t&&t.iterate({enter:t=>{if(n)return!1;if(t.node.firstChild)return!0;if(e>=t.from&&e<=t.to){let e=t;return"⚠"===t.name&&t.from===t.to&&t.node.parent&&(e=t.node.parent),n={value:this.state.sliceDoc(e.from,e.to),offset:e.from,type:e.name},!1}return!0}}),n||{offset:e,value:""}}getTokenAtCursor(){return this.getTokenAt(this.state.selection.main.head)}newIndentedLine(){(0,s.insertNewlineAndIndent)({state:this.state,dispatch:this.editor.dispatch})}execCommand(e){e(this.editor)}onConfigChanged(e,t){let n=Object.keys(t).reduce((e,n)=>(void 0!=t[n]&&(e[n]=t[n]),e),{});e.reconfigureExtensions(this._editor,n),t.customStyles&&!t.fontSize&&this.editor.setState(this.editor.state)}onKeydown(e){let t=this.state.selection.main.head;return 0===t&&"ArrowUp"===e.key?e.shiftKey||this.edgeRequested.emit("top"):1===this.doc.lineAt(t).number&&"ArrowUp"===e.key?e.shiftKey||this.edgeRequested.emit("topLine"):t===this.doc.length&&"ArrowDown"===e.key&&(e.shiftKey||this.edgeRequested.emit("bottom")),!1}_onMimeTypeChanged(){this._languages.getLanguage(this._model.mimeType).then(e=>{var t;this._editor.dispatch({effects:this._language.reconfigure(null!=(t=null==e?void 0:e.support)?t:[])})}).catch(e=>{console.log(`Failed to load language for '${this._model.mimeType}'.`,e),this._editor.dispatch({effects:this._language.reconfigure([])})})}_onCursorActivity(){if(this._editor.hasFocus){let e=this.getSelections();this.model.selections.set(this.uuid,e)}}_toSelection(e){return{uuid:this.uuid,start:this._toPosition(e.anchor),end:this._toPosition(e.head)}}_toPosition(e){return{line:e.line,column:e.ch}}_toCodeMirrorPosition(e){return{line:e.line,ch:e.column}}_onDocChanged(e){e.transactions.length&&e.transactions[0].selection&&this._onCursorActivity()}handleEvent(e){switch(e.type){case"focus":this._evtFocus(e);break;case"blur":this._evtBlur(e)}}_evtFocus(e){this.host.classList.add("jp-mod-focused"),this._onCursorActivity()}_evtBlur(e){this.host.classList.remove("jp-mod-focused")}}!function(e){e.createEditor=function(e,t,n,i){let o=t.getInitialExtensions();return o.push(...n),new m.EditorView({state:p.EditorState.create({doc:i,extensions:o}),parent:e})}}(o||(o={}));class ed{constructor(e={}){var t,n,i;this.newInlineEditor=e=>(e.host.dataset.type="inline",this.newEditor({...e,config:{...this.inlineCodeMirrorConfig,...e.config||{}},inline:!0})),this.newDocumentEditor=e=>{var t,n;return e.host.dataset.type="document",this.newEditor({...e,config:{...this.documentCodeMirrorConfig,...null!=(t=e.config)?t:{}},inline:!1,extensions:null!=(n=e.extensions)?n:[]})},this.languages=null!=(t=e.languages)?t:new es,this.extensions=null!=(n=e.extensions)?n:new K,this.translator=null!=(i=e.translator)?i:f.nullTranslator,this.inlineCodeMirrorConfig={searchWithCM:!0},this.documentCodeMirrorConfig={lineNumbers:!0,scrollPastEnd:!0}}newEditor(e){return new el({extensionsRegistry:this.extensions,languages:this.languages,translator:this.translator,...e})}}class ec{constructor(e){this.languages=e}getMimeTypeByLanguage(e){var t;let n=e.file_extension||"",i=this.languages.findBest(e.codemirror_mode||{mimetype:e.mimetype,name:e.name,ext:[n.split(".").slice(-1)[0]]});return i?"string"==typeof i.mime?i.mime:null!=(t=i.mime[0])?t:a.IEditorMimeTypeService.defaultMimeType:a.IEditorMimeTypeService.defaultMimeType}getMimeTypeByFilePath(e){var t;let n=Z.PathExt.extname(e);if(".ipy"===n)return"text/x-python";if(".md"===n)return"text/x-ipythongfm";let i=this.languages.findByFileName(e);return i?"string"==typeof i.mime?i.mime:null!=(t=i.mime[0])?t:a.IEditorMimeTypeService.defaultMimeType:a.IEditorMimeTypeService.defaultMimeType}}var eh=n(86149);class eu{constructor(){this.currentIndex=null,this.query=null,this._isActive=!0,this._inSelection=null,this._isDisposed=!1,this._cmHandler=null,this.currentIndex=null,this._stateChanged=new A.Signal(this)}get cmHandler(){return this._cmHandler||(this._cmHandler=new ep(this.editor)),this._cmHandler}get stateChanged(){return this._stateChanged}get currentMatchIndex(){return this.isActive?this.currentIndex:null}get isActive(){return this._isActive}get isDisposed(){return this._isDisposed}get matchesCount(){return this.isActive?this.cmHandler.matches.length:0}clearHighlight(){return this.currentIndex=null,this.cmHandler.clearHighlight(),Promise.resolve()}dispose(){!this._isDisposed&&(this._isDisposed=!0,A.Signal.clearData(this),this.isActive&&this.endQuery().catch(e=>{console.error("Failed to end search query on cells.",e)}))}async setIsActive(e){this._isActive!==e&&(this._isActive=e,this._isActive?null!==this.query&&await this.startQuery(this.query,this.filters):await this.endQuery())}async setSearchSelection(e){this._inSelection!==e&&(this._inSelection=e,await this.updateCodeMirror(this.model.sharedModel.getSource()),this._stateChanged.emit())}setProtectSelection(e){this.cmHandler.protectSelection=e}async startQuery(e,t){this.query=e,this.filters=t;let n=this.model.sharedModel.getSource();await this.updateCodeMirror(n),this.model.sharedModel.changed.connect(this.onSharedModelChanged,this)}async endQuery(){await this.clearHighlight(),await this.cmHandler.endQuery(),this.currentIndex=null}async highlightNext(e=!0,t){if(0!==this.matchesCount&&this.isActive){let n=await this.cmHandler.highlightNext(t);return n?this.currentIndex=this.cmHandler.currentIndex:this.currentIndex=e?0:null,n}return this.currentIndex=null,Promise.resolve(this.getCurrentMatch())}async highlightPrevious(e=!0,t){if(0!==this.matchesCount&&this.isActive){let n=await this.cmHandler.highlightPrevious(t);return n?this.currentIndex=this.cmHandler.currentIndex:this.currentIndex=e?this.matchesCount-1:null,n}return this.currentIndex=null,Promise.resolve(this.getCurrentMatch())}replaceCurrentMatch(e,t,n){if(!this.isActive)return Promise.resolve(!1);if(null!==this.currentIndex&&this.currentIndex<this.cmHandler.matches.length){let t=this.getCurrentMatch();if(t){let i=(null==n?void 0:n.regularExpression)?t.text.replace(this.query,e):e,o=(null==n?void 0:n.preserveCase)?eh.GenericSearchProvider.preserveCase(t.text,i):i;return this.model.sharedModel.updateSource(t.position,t.position+t.text.length,o),new Promise((e,n)=>{this.updateCodeMirror(this.model.sharedModel.getSource()).then(()=>{let n=this.cmHandler.matches,i=t.position+o.length,r=!1;for(let e=this.currentIndex||0;e<n.length;e++){if(n[e].position>=i){this.currentIndex=e,r=!0;break}this.highlightNext(!1,{from:"previous-match"})}r||(this.currentIndex=null),e(!0)}).catch(e=>{let t=`Failed to regenerate match list: ${e}`;console.error(t),n(t)})})}this.currentIndex=null}return Promise.resolve(!1)}replaceAllMatches(e,t){if(!this.isActive)return Promise.resolve(!1);let n=this.cmHandler.matches.length>0,i=this.model.sharedModel.getSource(),o=0,r=this.cmHandler.matches.reduce((n,r)=>{let s=r.position,a=s+r.text.length,l=(null==t?void 0:t.regularExpression)?r.text.replace(this.query,e):e,d=(null==t?void 0:t.preserveCase)?eh.GenericSearchProvider.preserveCase(r.text,l):l,c=`${n}${i.slice(o,s)}${d}`;return o=a,c},"");return n&&(this.cmHandler.matches=[],this.currentIndex=null,this.model.sharedModel.setSource(`${r}${i.slice(o)}`)),Promise.resolve(n)}getCurrentMatch(){if(null!==this.currentIndex){let e;return this.currentIndex<this.cmHandler.matches.length&&(e=this.cmHandler.matches[this.currentIndex]),e}}async onSharedModelChanged(e,t){t.sourceChange&&(await this.updateCodeMirror(e.getSource()),this._stateChanged.emit())}async updateCodeMirror(e){if(null!==this.query&&this.isActive){let t=await eh.TextSearchEngine.search(this.query,e);if(this._inSelection){let e=this.editor,n=e.getOffsetAt(this._inSelection.start),i=e.getOffsetAt(this._inSelection.end);this.cmHandler.matches=t.filter(e=>e.position>=n&&e.position<=i),null===this.cmHandler.currentIndex&&this.cmHandler.matches.length>0&&await this.cmHandler.highlightNext({from:"selection",select:!1,scroll:!1}),this.currentIndex=this.cmHandler.currentIndex}else this.cmHandler.matches=t}else this.cmHandler.matches=[]}}class ep{constructor(e){this._current=null,this._cm=e,this._matches=[],this._currentIndex=null,this._highlightEffect=p.StateEffect.define({map:(e,t)=>{let n=e=>({text:e.text,position:t.mapPos(e.position)});return{matches:e.matches.map(n),currentMatch:e.currentMatch?n(e.currentMatch):null}}}),this._highlightMark=m.Decoration.mark({class:"cm-searching"}),this._currentMark=m.Decoration.mark({class:"jp-current-match"}),this._highlightField=p.StateField.define({create:()=>m.Decoration.none,update:(e,t)=>{for(let n of(e=e.map(t.changes),t.effects))if(n.is(this._highlightEffect)){let t=n;e=t.value.matches.length?(e=e.update({add:t.value.matches.map(e=>this._highlightMark.range(e.position,e.position+e.text.length)),filter:()=>!1})).update({add:t.value.currentMatch?[this._currentMark.range(t.value.currentMatch.position,t.value.currentMatch.position+t.value.currentMatch.text.length)]:[]}):m.Decoration.none}return e},provide:e=>m.EditorView.decorations.from(e)}),this._domEventHandlers=m.EditorView.domEventHandlers({focus:()=>{this._selectCurrentMatch()}})}get currentIndex(){return this._currentIndex}get matches(){return this._matches}set matches(e){this._matches=e,null!==this._currentIndex&&this._currentIndex>this._matches.length&&(this._currentIndex=this._matches.length>0?0:null),this._highlightCurrentMatch({select:!1})}get protectSelection(){return this._protectSelection}set protectSelection(e){this._protectSelection=e}clearHighlight(){this._currentIndex=null,this._highlightCurrentMatch()}endQuery(){return this._currentIndex=null,this._matches=[],this._cm&&this._cm.editor.dispatch({effects:this._highlightEffect.of({matches:[],currentMatch:null})}),Promise.resolve()}highlightNext(e){var t;return this._currentIndex=this._findNext(!1,null!=(t=null==e?void 0:e.from)?t:"auto"),this._highlightCurrentMatch(e),Promise.resolve(null!==this._currentIndex?this._matches[this._currentIndex]:void 0)}highlightPrevious(e){var t;return this._currentIndex=this._findNext(!0,null!=(t=null==e?void 0:e.from)?t:"auto"),this._highlightCurrentMatch(e),Promise.resolve(null!==this._currentIndex?this._matches[this._currentIndex]:void 0)}setEditor(e){if(this._cm)throw Error("CodeMirrorEditor already set.");this._cm=e,null!==this._currentIndex&&this._highlightCurrentMatch(),this._cm.editor.dispatch({effects:p.StateEffect.appendConfig.of(this._domEventHandlers)}),this._refresh()}_selectCurrentMatch(e=!0){let t=this._current;if(!t||!this._cm)return;let n={anchor:t.position,head:t.position+t.text.length},i=this._cm.editor.state.selection.main;if(i.from===t.position&&i.to===t.position+t.text.length||this._protectSelection){if(e)return void this._cm.editor.dispatch({effects:m.EditorView.scrollIntoView(p.EditorSelection.range(n.anchor,n.head))})}else this._cm.editor.dispatch({selection:n,scrollIntoView:e})}_highlightCurrentMatch(e){var t,n,i;if(this._cm){if(null!==this._currentIndex){let o=this.matches[this._currentIndex];this._current=o,(null==(t=null==e?void 0:e.select)||t)&&(this._cm.hasFocus()?this._selectCurrentMatch(null==(n=null==e?void 0:e.scroll)||n):(null==(i=null==e?void 0:e.scroll)||i)&&this._cm.editor.dispatch({effects:m.EditorView.scrollIntoView(o.position)}))}else this._current=null;this._refresh()}}_refresh(){if(!this._cm)return;let e=[this._highlightEffect.of({matches:this.matches,currentMatch:this._current})];this._cm.state.field(this._highlightField,!1)||e.push(p.StateEffect.appendConfig.of([this._highlightField])),this._cm.editor.dispatch({effects:e})}_findNext(e,t="auto"){var n,i,o,s;if(0===this._matches.length)return null;this._cm||["previous-match","start"].includes(t)||(t="previous-match");let a=0;if("auto"===t&&null!=(i=null==(n=this._cm)?void 0:n.hasFocus())&&i||"selection"===t){let t=this._cm.state.selection.main;a=e?t.anchor:t.head}else if("selection-start"===t){let e=this._cm.state.selection.main;a=Math.min(e.anchor,e.head)}else"start"===t?a=0:this._current&&(a=e?this._current.position:this._current.position+this._current.text.length);0===a&&e&&null===this.currentIndex&&(a=null!=(s=null==(o=this._cm)?void 0:o.doc.length)?s:c(this._matches[this._matches.length-1]));let l=a,d=r.findNext(this._matches,l,0,this._matches.length-1);if(null===d)return e?this._matches.length-1:null;if(e&&(d-=1)<0)return null;return d;function c(e){return e?e.position+e.text.length:0}}}!function(e){e.findNext=function(e,t,n=0,i=1/0){for(i=Math.min(e.length-1,i);n<=i;){let o=Math.floor(.5*(n+i)),r=e[o].position;if(r<t){if((n=o+1)<e.length&&e[n].position>t)return n}else if(!(r>t))return o;else if((i=o-1)>0&&e[i].position<t)return o}let o=n>0?n-1:0;return e[o].position>=t?o:null}}(r||(r={}));let em=new g.Token("@jupyterlab/codemirror:IEditorExtensionRegistry","A registry for CodeMirror extension factories."),eg=new g.Token("@jupyterlab/codemirror:IEditorLanguageRegistry","A registry for CodeMirror languages."),eA=new g.Token("@jupyterlab/codemirror:IEditorThemeRegistry","A registry for CodeMirror theme.")},92508(e,t,n){"use strict";n(38415),n(5241);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(83341),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},81367(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>v});var i,o=n(78071),r=n(8989),s=n(96933),a=n(46109),l=n(2786),d=n(46976),c=n(60721),h=n.n(c);let u="availableProviders";function p(e){let{schema:t}=e,n=t.title,i=t.description,o=e.formContext.settings,r=o.get(u).user,s={...t.default};if(r)for(let e of Object.keys(s))e in r?s[e]=r[e]:s[e]=-1;let[a,l]=(0,c.useState)(s),d=(e,t)=>{let n={...a,[e]:parseInt(t.target.value)};o.set(u,n).catch(console.error),l(n)};return h().createElement("div",null,h().createElement("fieldset",null,h().createElement("legend",null,n),h().createElement("p",{className:"field-description"},i),Object.keys(s).map(e=>h().createElement("div",{key:e,className:"form-group small-field"},h().createElement("div",null,h().createElement("h3",null," ",e),h().createElement("div",{className:"inputFieldWrapper"},h().createElement("input",{className:"form-control",type:"number",value:a[e],onChange:t=>{d(e,t)}})))))))}let m="@jupyterlab/completer-extension:manager",g="@jupyterlab/completer-extension:inline-completer";!function(e){e.nextInline="inline-completer:next",e.previousInline="inline-completer:previous",e.acceptInline="inline-completer:accept",e.invokeInline="inline-completer:invoke"}(i||(i={}));let A={id:"@jupyterlab/completer-extension:base-service",description:"Adds context and kernel completion providers.",requires:[s.ICompletionProviderManager],autoStart:!0,activate:(e,t)=>{t.registerProvider(new s.ContextCompleterProvider),t.registerProvider(new s.KernelCompleterProvider)}},C={id:"@jupyterlab/completer-extension:inline-history",description:"Adds inline completion provider suggesting code from execution history.",requires:[s.ICompletionProviderManager],optional:[l.ITranslator],autoStart:!0,activate:(e,t,n)=>{t.registerInlineProvider(new s.HistoryInlineCompletionProvider({translator:null!=n?n:l.nullTranslator}))}},f={id:"@jupyterlab/completer-extension:inline-completer-factory",description:"Provides a factory for inline completer.",provides:s.IInlineCompleterFactory,optional:[l.ITranslator],autoStart:!0,activate:(e,t)=>{let n=(t||l.nullTranslator).load("jupyterlab");return{factory:t=>{let o=new s.InlineCompleter({...t,trans:n}),a=t=>{let n=e.commands.keyBindings.find(e=>e.command===t),i=n?d.CommandRegistry.formatKeystroke(n.keys):"";return i?`${i}`:""},l={[i.previousInline]:a(i.previousInline),[i.nextInline]:a(i.nextInline),[i.acceptInline]:a(i.acceptInline)};return e.commands.keyBindingChanged.connect((t,n)=>{let i=n.binding.command;if(l.hasOwnProperty(i)){let t=l[i],n=a(i);n!==t&&(l[i]=n,e.commands.notifyCommandChanged(i))}}),o.toolbar.addItem("previous-inline-completion",new r.CommandToolbarButton({commands:e.commands,icon:r.caretLeftIcon,id:i.previousInline,label:()=>l[i.previousInline],caption:n.__("Previous")})),o.toolbar.addItem("next-inline-completion",new r.CommandToolbarButton({commands:e.commands,icon:r.caretRightIcon,id:i.nextInline,label:()=>l[i.nextInline],caption:n.__("Next")})),o.toolbar.addItem("accept-inline-completion",new r.CommandToolbarButton({commands:e.commands,icon:r.checkIcon,id:i.acceptInline,label:()=>l[i.acceptInline],caption:n.__("Accept")})),o.model.suggestionsChanged.connect(()=>{for(let t of[i.previousInline,i.nextInline,i.acceptInline])e.commands.notifyCommandChanged(t)}),o}}}},b={id:g,description:"Registers the inline completer factory; adds inline completer commands, shortcuts and settings.",requires:[s.ICompletionProviderManager,s.IInlineCompleterFactory,a.ISettingRegistry],optional:[l.ITranslator],autoStart:!0,activate:(e,t,n,r,s)=>{let a;t.setInlineCompleterFactory(n);let d=(s||l.nullTranslator).load("jupyterlab"),c=()=>!!e.shell.currentWidget&&!!t.inline;e.commands.addCommand(i.nextInline,{execute:()=>{var n;null==(n=t.inline)||n.cycle(e.shell.currentWidget.id,"next")},label:d.__("Next Inline Completion"),isEnabled:c,describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(i.previousInline,{execute:()=>{var n;null==(n=t.inline)||n.cycle(e.shell.currentWidget.id,"previous")},label:d.__("Previous Inline Completion"),isEnabled:c,describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(i.acceptInline,{execute:()=>{var n;null==(n=t.inline)||n.accept(e.shell.currentWidget.id)},label:d.__("Accept Inline Completion"),isEnabled:()=>c()&&t.inline.isActive(e.shell.currentWidget.id),describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(i.invokeInline,{execute:()=>{var n;null==(n=t.inline)||n.invoke(e.shell.currentWidget.id)},label:d.__("Invoke Inline Completer"),isEnabled:c,describedBy:{args:{type:"object",properties:{}}}});let h=e=>{var n;a=e.composite,null==(n=t.inline)||n.configure(a)};e.restored.then(()=>{var e;let n=null!=(e=t.inlineProviders)?e:[],i=e=>{var t,n;return{enabled:!0,autoFillInMiddle:!1,timeout:5e3,debouncerDelay:0,...null!=(n=null==(t=e.schema)?void 0:t.default)?n:{}}};r.transform(g,{compose:e=>{var t,o;let r=null!=(t=e.data.composite.providers)?t:{};for(let e of n){let t=i(e);r[e.identifier]={...t,...null!=(o=r[e.identifier])?o:{}}}return e.data.composite.providers=r,e},fetch:e=>{var t,o;let r=e.schema.properties,s={};for(let e of n)s[e.identifier]={title:d.__("%1 provider",e.name),properties:{...null!=(o=null==(t=e.schema)?void 0:t.properties)?o:{},timeout:{title:d.__("Timeout"),description:d.__("Timeout for %1 provider (in milliseconds).",e.name),type:"number",minimum:0},debouncerDelay:{title:d.__("Debouncer delay"),minimum:0,description:d.__("Time since the last key press to wait before requesting completions from %1 provider (in milliseconds).",e.name),type:"number"},enabled:{title:d.__("Enabled"),description:d.__("Whether to fetch completions %1 provider.",e.name),type:"boolean"},autoFillInMiddle:{title:d.__("Fill in middle on typing"),description:d.__("Whether to show completions in the middle of the code line from %1 provider on typing.",e.name),type:"boolean"}},default:i(e),type:"object"};return r.providers.properties=s,e}}),r.load(g).then(e=>{h(e),e.changed.connect(e=>{h(e)})}).catch(console.error)}).catch(console.error);let u=t=>e.commands.keyBindings.find(e=>e.command===t),p={[i.acceptInline]:u(i.acceptInline),[i.invokeInline]:u(i.invokeInline)};e.commands.keyBindingChanged.connect((e,t)=>{let n=t.binding.command;p.hasOwnProperty(n)&&(p[n]=u(n))});let m=t=>{if(!(t.target instanceof Element))return;let n=t.target;if("Tab"===t.key){for(let r of[p[i.acceptInline],p[i.invokeInline]])if(r&&1===r.keys.length&&"Tab"===r.keys[0]&&n.closest(r.selector)&&e.commands.isEnabled(r.command)){let i=n.closest("."+o.COMPLETER_ACTIVE_CLASS);if((null==a?void 0:a.suppressIfTabCompleterActive)&&i)return;e.commands.execute(r.command).catch(console.error),t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation();return}}};document.addEventListener("keydown",m,!0)}},v=[{id:m,description:"Provides the completion provider manager.",requires:[a.ISettingRegistry],optional:[r.IFormRendererRegistry],provides:s.ICompletionProviderManager,autoStart:!0,activate:(e,t,n)=>{let i="availableProviders",o=new s.CompletionProviderManager,r=(e,t)=>{var n;let r=e.get(i),s=e.composite;o.setTimeout(s.providerTimeout),o.setShowDocumentationPanel(s.showDocumentationPanel),o.setContinuousHinting(s.autoCompletion),o.setSuppressIfInlineCompleterActive(s.suppressIfInlineCompleterActive);let a=null!=(n=r.user)?n:r.composite,l=Object.entries(null!=a?a:{}).filter(e=>e[1]>=0&&t.includes(e[0])).sort(([,e],[,t])=>t-e).map(e=>e[0]);o.activateProvider(l)};if(e.restored.then(()=>{let e=[...o.getProviders().entries()],n=e.map(([e,t])=>e);t.transform(m,{fetch:t=>{let n=t.schema.properties,o={};return e.forEach(([e,t],n)=>{var i;o[e]=null!=(i=t.rank)?i:(n+1)*10}),n[i].default=o,t}}),t.load(m).then(e=>{r(e,n),e.changed.connect(e=>{r(e,n)})}).catch(console.error)}).catch(console.error),n){let e={fieldRenderer:e=>p(e)};n.addRenderer(`${m}.availableProviders`,e)}return o}},A,C,f,b]},2129(e,t,n){"use strict";n(97777),n(38415),n(67474),n(47040)},19692(e,t,n){"use strict";n.r(t),n.d(t,{CONTEXT_PROVIDER_ID:()=>N,Completer:()=>k,CompleterModel:()=>b,CompletionHandler:()=>A,CompletionProviderManager:()=>ea,CompletionTriggerKind:()=>i,ContextCompleterProvider:()=>P,HistoryInlineCompletionProvider:()=>ep,ICompletionProviderManager:()=>g,IInlineCompleterFactory:()=>m,InlineCompleter:()=>es,InlineCompletionTriggerKind:()=>o,KERNEL_PROVIDER_ID:()=>z,KernelCompleterProvider:()=>R,ProviderReconciliator:()=>L,completerWidgetIcon:()=>eh,inlineCompleterIcon:()=>ec});var i,o,r,s,a,l,d=n(78071),c=n(28951),h=n(93771),u=n(20659),p=n(55187);!function(e){e[e.Invoked=1]="Invoked",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=3]="TriggerForIncompleteCompletions"}(i||(i={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(o||(o={}));let m=new p.Token("@jupyterlab/completer:IInlineCompleterFactory","A factory of inline completer widgets."),g=new p.Token("@jupyterlab/completer:ICompletionProviderManager","A service for the completion providers management.");class A{constructor(e){this._fetchingInline=0,this._editor=null,this._enabled=!1,this._isDisposed=!1,this._autoCompletion=!1,this._continuousInline=!0,this._tabCompleterActive=!1,this.completer=e.completer,this.inlineCompleter=e.inlineCompleter,this.completer.selected.connect(this.onCompletionSelected,this),this.completer.visibilityChanged.connect(this.onVisibilityChanged,this),this._reconciliator=e.reconciliator}set reconciliator(e){this._reconciliator=e}get editor(){return this._editor}set editor(e){if(e===this._editor)return;let t=this._editor;if(t&&!t.isDisposed){let e=t.model;t.host.classList.remove(d.COMPLETER_ENABLED_CLASS),t.host.classList.remove(d.COMPLETER_ACTIVE_CLASS),e.selections.changed.disconnect(this.onSelectionsChanged,this),e.sharedModel.changed.disconnect(this._onSharedModelChanged,this)}if(this.completer.reset(),this.completer.editor=e,t=this._editor=e){let e=t.model;this._enabled=!1,e.selections.changed.connect(this.onSelectionsChanged,this),e.sharedModel.changed.connect(this._onSharedModelChanged,this),this.onSelectionsChanged(),this.inlineCompleter&&(this.inlineCompleter.editor=t)}}get isDisposed(){return this._isDisposed}set autoCompletion(e){this._autoCompletion=e}get autoCompletion(){return this._autoCompletion}dispose(){this.isDisposed||(this._isDisposed=!0,u.Signal.clearData(this))}invokeInline(){let e=this._editor;e&&this._makeInlineRequest(e.getCursorPosition(),o.Invoke).catch(e=>{console.warn("Inline invoke request bailed",e)})}invoke(){h.MessageLoop.sendMessage(this,A.Msg.InvokeRequest)}processMessage(e){e.type===A.Msg.InvokeRequest.type&&this.onInvokeRequest(e)}getState(e,t){return{text:e.model.sharedModel.getSource(),line:t.line,column:t.column}}onCompletionSelected(e,t){let n=e.model,i=this._editor;if(!i||!n)return;let o=n.createPatch(t);if(!o)return;let{start:r,end:s,value:a}=o,l=i.getOffsetAt(i.getCursorPosition()),d={changes:{from:r,to:s,insert:a}};l<=s&&l>=r&&(d.selection={anchor:r+a.length}),i.editor.dispatch(d)}onInvokeRequest(e){if(!this.completer.model||this.completer.model.original)return;let t=this._editor;t&&this._makeRequest(t.getCursorPosition(),i.Invoked).catch(e=>{console.warn("Invoke request bailed",e)})}onSelectionsChanged(){var e;let t=this.completer.model,n=this._editor;if(!n)return;let i=null==(e=this.inlineCompleter)?void 0:e.model;i&&i.handleSelectionChange(n.getSelection());let o=n.host;if(!t){this._enabled=!1,o.classList.remove(d.COMPLETER_ENABLED_CLASS);return}if(t.subsetMatch)return;let r=n.getCursorPosition(),s=n.getLine(r.line),{start:a,end:l}=n.getSelection();if(a.column!==l.column||a.line!==l.line){this._enabled=!1,t.reset(!0),o.classList.remove(d.COMPLETER_ENABLED_CLASS);return}s&&0!==l.column?s&&s.slice(0,r.column).match(/^\s*$/)?o.classList.add(d.COMPLETER_LINE_BEGINNING_CLASS):o.classList.remove(d.COMPLETER_LINE_BEGINNING_CLASS):o.classList.add(d.COMPLETER_LINE_BEGINNING_CLASS),this._enabled||(this._enabled=!0,o.classList.add(d.COMPLETER_ENABLED_CLASS)),t.handleCursorChange(this.getState(n,n.getCursorPosition()))}async onTextChanged(e,t){var n;if(!this._enabled)return;let r=this.completer.model,s=this.editor;if(!s)return;let a=s.getCursorPosition(),l=this.getState(s,a);r&&this._autoCompletion&&this._reconciliator.shouldShowContinuousHint&&await this._reconciliator.shouldShowContinuousHint(this.completer.isVisible,t)&&this._isCurrentState(s,l)&&this._makeRequest(a,i.TriggerCharacter);let d=null==(n=this.inlineCompleter)?void 0:n.model;if(d&&(d.handleTextChange(t),this._continuousInline&&this._makeInlineRequest(s.getCursorPosition(),o.Automatic)),r){let{start:e,end:t}=s.getSelection();if(e.column!==t.column||e.line!==t.line)return;r.handleTextChange(this.getState(s,s.getCursorPosition()))}}onVisibilityChanged(e){var t;if(e.isDisposed||e.isHidden){this._tabCompleterActive=!1,this._editor&&(this._editor.host.classList.remove(d.COMPLETER_ACTIVE_CLASS),this._editor.focus());return}this._tabCompleterActive=!0,null==(t=this._editor)||t.host.classList.add(d.COMPLETER_ACTIVE_CLASS)}async _onSharedModelChanged(e,t){t.sourceChange&&await this.onTextChanged(e,t)}_makeRequest(e,t){let n=this.editor;if(!n)return Promise.reject(Error("No active editor"));let i=this._composeRequest(n,e),o=this.getState(n,e);return this._reconciliator.fetch(i,t).then(e=>{var t;if(!e||!this._isCurrentState(n,o))return;let i=this._updateModel(o,e.start,e.end);!i||this.completer.suppressIfInlineCompleterActive&&null!=(t=this.inlineCompleter)&&t.isActive||i.setCompletionItems&&i.setCompletionItems(e.items)}).catch(e=>{})}_isCurrentState(e,t){let n=e.getCursorPosition();return e===this.editor&&t.text===e.model.sharedModel.getSource()&&t.line===n.line&&t.column===n.column}async _makeInlineRequest(e,t){let n=this.editor;if(!n)return Promise.reject(Error("No active editor"));if(!this.inlineCompleter)return Promise.reject(Error("No inline completer"));let i=n.getLine(e.line);if(t===o.Automatic&&(void 0===i||i.slice(0,e.column).match(/^\s*$/))){this._fetchingInline+=1;return}let r=!1;void 0!==i&&e.column<i.length&&(r=!0);let s=this._composeRequest(n,e),a=this.inlineCompleter.model;if(!a)return;a.cursor=e;let l=++this._fetchingInline,d=this._reconciliator.fetchInline(s,t,r),c=!1,h=new Set;for(let e of d)e.then(t=>{var n;if(!c&&t&&t.items&&l===this._fetchingInline)if(h.add(e),1===h.size){if((null==(n=this.inlineCompleter)?void 0:n.suppressIfTabCompleterActive)&&this._tabCompleterActive){c=!0;return}a.setCompletions(t)}else a.appendCompletions(t)}).catch(e=>{console.warn(e)}).finally(()=>{h.add(e);let t=d.length-h.size;a.notifyProgress({pendingProviders:t,totalProviders:d.length})})}_composeRequest(e,t){let n=e.model.sharedModel.getSource(),i=e.model.mimeType,o=c.Text.jsIndexToCharIndex(e.getOffsetAt(t),n);return{text:n,offset:o,mimeType:i}}_updateModel(e,t,n){let i=this.completer.model,o=e.text;return i?(i.original=e,i.cursor={start:c.Text.charIndexToJsIndex(t,o),end:c.Text.charIndexToJsIndex(n,o)},i):null}}!function(e){let t,n;!function(e){e[e.opened=0]="opened",e[e.update=1]="update",e[e.closed=2]="closed"}(t=e.StraemEvent||(e.StraemEvent={})),function(e){e.InvokeRequest=new h.Message("invoke-request")}(n=e.Msg||(e.Msg={}))}(A||(A={}));var C=n(65819);function f(e){let t=document.createElement("span");return t.textContent=e,t.innerHTML}class b{constructor(){this.processedItemsCache=null,this._current=null,this._cursor=null,this._isDisposed=!1,this._completionItems=[],this._original=null,this._query="",this._subsetMatch=!1,this._typeMap={},this._orderedTypes=[],this._stateChanged=new u.Signal(this),this._queryChanged=new u.Signal(this),this._processedToOriginalItem=null,this._resolvingItem=0}get stateChanged(){return this._stateChanged}get queryChanged(){return this._queryChanged}get original(){return this._original}set original(e){this._original===e||this._original&&e&&p.JSONExt.deepEqual(e,this._original)||(this._reset(),this._current=this._original=e,this._stateChanged.emit(void 0))}get current(){return this._current}set current(e){if(this._current===e||this._current&&e&&p.JSONExt.deepEqual(e,this._current))return;let t=this._original;if(!t)return;let n=this._cursor;if(!n)return;let i=this._current=e;if(!i)return void this._stateChanged.emit(void 0);let o=t.text.split("\n")[t.line],r=i.text.split("\n")[i.line];if(!this._subsetMatch&&r.length<o.length)return void this.reset(!0);let{start:s,end:a}=n,l=i.text.substring(s),d=t.text.substring(a);l=l.substring(0,l.lastIndexOf(d)),this._query=l,this.processedItemsCache=null,this._processedToOriginalItem=null,this._queryChanged.emit({newValue:this._query,origin:"editorUpdate"}),this._stateChanged.emit(void 0)}get cursor(){return this._cursor}set cursor(e){this.original&&(this._cursor=e)}get query(){return this._query}set query(e){this._query=e,this.processedItemsCache=null,this._processedToOriginalItem=null,this._queryChanged.emit({newValue:this._query,origin:"setter"})}get subsetMatch(){return this._subsetMatch}set subsetMatch(e){this._subsetMatch=e}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,u.Signal.clearData(this))}completionItems(){if(!this.processedItemsCache){let e=this._query;if(e){let t=this._markup(e);this.processedItemsCache=t.map(e=>e.processedItem),this._processedToOriginalItem=new WeakMap(t.map(e=>[e.processedItem,e.originalItem]))}else this.processedItemsCache=this._completionItems.map(e=>this._escapeItemLabel(e)),this._processedToOriginalItem=null}return this.processedItemsCache}setCompletionItems(e){p.JSONExt.deepEqual(e,this._completionItems)||(this._completionItems=e,this._orderedTypes=r.findOrderedCompletionItemTypes(this._completionItems),this.processedItemsCache=null,this._processedToOriginalItem=null,this._stateChanged.emit(void 0))}typeMap(){return this._typeMap}orderedTypes(){return this._orderedTypes}handleCursorChange(e){if(!this._original)return;let{column:t,line:n}=e,{current:i,original:o}=this;if(!o)return;if(n!==o.line||t<o.column)return void this.reset(!0);let{cursor:r}=this;if(!r||!i)return;let s=r.end-r.start,a=o.text.split("\n")[o.line],l=i.text.split("\n")[i.line].length-a.length;if(t>o.column+s+l)return void this.reset(!0)}handleTextChange(e){let t=this._original;if(!t)return;let{text:n,column:i,line:o}=e,r=n.split("\n")[o][i-1];if(r&&r.match(/\S/)||e.column>=t.column){this.current=e;return}this.reset(!1)}createPatch(e){let t=this._original,n=this._cursor,i=this._current;if(!t||!n||!i)return;let{start:o,end:r}=n;return{start:o,end:r+=i.text.length-t.text.length,value:e}}reset(e=!1){(e||!this._subsetMatch)&&(this._reset(),this._stateChanged.emit(void 0))}_markup(e){var t;let n=this._completionItems,i=[];for(let o of n){let n=o.label.indexOf("("),s=n>-1?o.label.substring(0,n):o.label,a=C.StringExt.matchSumOfSquares(f(s),e);if(a){let e=C.StringExt.highlight(f(o.label),a.indices,r.mark),n=Object.assign({},o);n.label=e.join(""),n.insertText=null!=(t=o.insertText)?t:o.label,i.push({item:n,score:a.score,originalItem:o})}}return i.sort(r.scoreCmp),i.map(e=>({processedItem:e.item,originalItem:e.originalItem}))}resolveItem(e){let t,n;if("number"==typeof e){let n=this.completionItems();if(!n||!n[e])return;t=n[e]}else t=e;if(t&&(n=this._processedToOriginalItem?this._processedToOriginalItem.get(t):t))return this._resolveItemByValue(n)}_resolveItemByValue(e){let t,n=++this._resolvingItem;if(e.resolve){let n;e.insertText&&(n=this.createPatch(e.insertText)),t=e.resolve(n)}else t=Promise.resolve(e);return t.then(t=>(this._escapeItemLabel(t,!0),Object.keys(t).forEach(n=>{e[n]=t[n]}),e.resolve=void 0,n!==this._resolvingItem)?Promise.resolve(null):t).catch(t=>(console.error(t),Promise.resolve(e)))}_escapeItemLabel(e,t=!1){var n;let i=f(e.label);if(i!==e.label){let o=t?e:Object.assign({},e);return o.insertText=null!=(n=e.insertText)?n:e.label,o.label=i,o}return e}_reset(){let e=this._query;this._current=null,this._cursor=null,this._completionItems=[],this._original=null,this._query="",this.processedItemsCache=null,this._processedToOriginalItem=null,this._subsetMatch=!1,this._typeMap={},this._orderedTypes=[],e&&this._queryChanged.emit({newValue:this._query,origin:"reset"})}}!function(e){let t=["function","instance","class","module","keyword"],n=t.reduce((e,t)=>(e[t]=null,e),{});e.mark=function(e){return`<mark>${e}</mark>`},e.scoreCmp=function(e,t){var n,i,o;let r=e.score-t.score;return 0!==r?r:null!=(o=null==(n=e.item.insertText)?void 0:n.localeCompare(null!=(i=t.item.insertText)?i:""))?o:0},e.findOrderedCompletionItemTypes=function(e){let n=new Set;e.forEach(e=>{!e.type||t.includes(e.type)||n.has(e.type)||n.add(e.type)});let i=Array.from(n);return i.sort((e,t)=>e.localeCompare(t)),t.concat(i)},e.findOrderedTypes=function(e){let i=Object.keys(e).map(t=>e[t]).filter(e=>!!e&&!(e in n)).sort((e,t)=>e.localeCompare(t));return t.concat(i)}}(r||(r={}));var v=n(97518),_=n(31031),y=n(8989),E=n(53193),w=n(64001);let j="jp-Completer-item",x="jp-mod-active",B="jp-Completer-list",S="jp-Completer-docpanel",M=!0,I=10;class k extends w.Widget{constructor(e){var t,n,i,o;super({node:document.createElement("div")}),this._activeIndex=0,this._editor=null,this._model=null,this._selected=new u.Signal(this),this._visibilityChanged=new u.Signal(this),this._indexChanged=new u.Signal(this),this._lastSubsetMatch="",this._geometryLock=!1,this._geometryCounter=0,this._docPanelExpanded=!1,this._renderCounter=0,this.sanitizer=null!=(t=e.sanitizer)?t:new v.Sanitizer,this._defaultRenderer=k.getDefaultRenderer(this.sanitizer),this._renderer=null!=(n=e.renderer)?n:this._defaultRenderer,this._docPanel=this._createDocPanelNode(),this.model=null!=(i=e.model)?i:null,this.editor=null!=(o=e.editor)?o:null,this.addClass("jp-Completer"),this.addClass("jp-ThemedContainer"),this._updateConstraints()}_updateConstraints(){let e=document.createElement("div");e.classList.add(B),e.style.visibility="hidden",e.style.overflowY="scroll",document.body.appendChild(e);let t=window.getComputedStyle(e);this._maxHeight=parseInt(t.maxHeight,10),this._minHeight=parseInt(t.minHeight,10),this._scrollbarWidth=e.offsetWidth-e.clientWidth,document.body.removeChild(e);let n=this._createDocPanelNode();this._docPanelWidth=s.measureSize(n,"inline-block").width}get activeIndex(){return this._activeIndex}get editor(){return this._editor}set editor(e){this._editor=e}get selected(){return this._selected}get visibilityChanged(){return this._visibilityChanged}get indexChanged(){return this._indexChanged}get model(){return this._model}set model(e){(e||this._model)&&e!==this._model&&(this._model&&(this._model.stateChanged.disconnect(this.onModelStateChanged,this),this._model.queryChanged.disconnect(this.onModelQueryChanged,this)),this._model=e,this._model&&(this._model.stateChanged.connect(this.onModelStateChanged,this),this._model.queryChanged.connect(this.onModelQueryChanged,this)))}get renderer(){return this._renderer}set renderer(e){this._renderer=e}set showDocsPanel(e){this._showDoc=e}get showDocsPanel(){return this._showDoc}dispose(){this._sizeCache=void 0,this._model=null,super.dispose()}handleEvent(e){if(!this.isHidden&&this._editor)switch(e.type){case"keydown":this._evtKeydown(e);break;case"pointerdown":this._evtPointerdown(e);break;case"scroll":this._evtScroll(e)}}reset(){this._activeIndex=0,this._lastSubsetMatch="",this._model&&this._model.reset(!0),this._docPanel.style.display="none",this._sizeCache=void 0,this.node.scrollTop=0}selectActive(){let e=this.node.querySelector(`.${x}`);e&&this._selected.emit(e.getAttribute("data-value")),this.reset()}onAfterAttach(e){document.addEventListener("keydown",this,M),document.addEventListener("pointerdown",this,M),document.addEventListener("scroll",this,M)}onBeforeDetach(e){document.removeEventListener("keydown",this,M),document.removeEventListener("pointerdown",this,M),document.removeEventListener("scroll",this,M)}onModelStateChanged(){this.isAttached&&(this._activeIndex=0,this._indexChanged.emit(this._activeIndex),this.update())}onModelQueryChanged(e,t){if(this._sizeCache&&"editorUpdate"===t.origin){let t=e.completionItems(),n=this._sizeCache.items,i=n[this._findWidestItemIndex(n)],o=t[this._findWidestItemIndex(t)],r=this._getPreferredItemWidthHeuristic();(t.length!==this._sizeCache.items.length||r(i)!==r(o))&&(this._sizeCache=void 0)}}onUpdateRequest(e){var t;let n=this._model;if(!n)return;n.query||this._populateSubset();let i=n.completionItems();if(!i.length){this.isHidden||(this.reset(),this.hide(),this._visibilityChanged.emit(void 0));return}this._updateConstraints(),this._geometryLock=!0;let o=this._createCompleterNode(n,i),r=o.querySelectorAll(`.${j}`)[this._activeIndex];r.classList.add(x);let s=null==(t=this.model)?void 0:t.resolveItem(i[this._activeIndex]);this._showDoc&&(this._docPanel.innerText="",o.appendChild(this._docPanel),this._docPanelExpanded=!1,this._docPanel.style.display="none",this._updateDocPanel(s,r)),this.isHidden?(this.show(),this._setGeometry(),this._visibilityChanged.emit(void 0)):this._setGeometry(),this._geometryLock=!1}get sizeCache(){if(this._sizeCache)return{width:this._sizeCache.width+this._sizeCache.docPanelWidth,height:Math.max(this._sizeCache.height,this._sizeCache.docPanelHeight)}}_createDocPanelNode(){let e=document.createElement("div");return e.className=S,e}_createCompleterNode(e,t){let n=++this._renderCounter,i=this.node;i.textContent="";let o=e.orderedTypes(),r=document.createElement("ul");r.className=B;let a=this._renderer.createCompletionItemNode(t[0],o),l=[a],d=s.measureSize(a,"inline-grid"),c=Math.min(Math.max(Math.ceil(this._maxHeight/d.height),5)+1,t.length),h=performance.now();for(let e=1;e<c;e++){let n=this._renderer.createCompletionItemNode(t[e],o);l.push(n)}for(let e of l)r.appendChild(e);let u=this._findWidestItemIndex(t),p=u<l.length?l[u]:this._renderer.createCompletionItemNode(t[u],o),m=s.measureSize(p.cloneNode(!0),"inline-grid");if(this._sizeCache={height:Math.min(this._maxHeight,d.height*t.length),width:m.width+this._scrollbarWidth,items:t,docPanelWidth:0,docPanelHeight:0},c<t.length){let e=Math.max(5,Math.floor(12/((performance.now()-h)/c))),i=c,s=l[l.length-1],a=()=>{if(i>=t.length)return;let l=d.height*(t.length-i);s.style.marginBottom=`${l}px`,requestAnimationFrame(()=>{if(n!=this._renderCounter)return;s.style.marginBottom="";let l=Math.min(t.length,i+e);for(let e=i;e<l;e++){let n=this._renderer.createCompletionItemNode(t[e],o);r.appendChild(n),s=n}i=l,a()})};a()}return i.appendChild(r),i}_findWidestItemIndex(e){let t=this._getPreferredItemWidthHeuristic(),n=e.map(t);return n.indexOf(Math.max(...n))}_getPreferredItemWidthHeuristic(){return this._renderer.itemWidthHeuristic?this._renderer.itemWidthHeuristic.bind(this._renderer):this._defaultRenderer.itemWidthHeuristic.bind(this._defaultRenderer)}_cycle(e){var t,n;let i=this.node.querySelectorAll(`.${j}`),o=this._activeIndex,r=i.length-1,s=this.node.querySelector(`.${x}`);switch(s.classList.remove(x),e){case"ArrowUp":this._activeIndex=0===o?r:o-1;break;case"ArrowDown":this._activeIndex=o<r?o+1:0;break;case"PageUp":case"PageDown":{let t=this.node.getBoundingClientRect(),n=s.getBoundingClientRect(),i=Math.floor(t.height/n.height),a="PageUp"===e?-1:1;this._activeIndex=Math.min(Math.max(0,o+a*i),r)}}(s=i[this._activeIndex]).classList.add(x);let a=this.node.querySelector(`.${B}`);E.ElementExt.scrollIntoViewIfNeeded(a,s),this._indexChanged.emit(this._activeIndex);let l=null==(t=this.model)?void 0:t.completionItems(),d=null==l?void 0:l[this._activeIndex];if(d){let e=null==(n=this.model)?void 0:n.resolveItem(d);this._showDoc&&this._updateDocPanel(e,s)}}_evtKeydown(e){if(!this.isHidden&&this._editor){if(!this._editor.host.contains(e.target))return void this.reset();switch(e.key){case"Tab":{e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();let t=this._model;if(!t)return;let n=t.completionItems();if(n&&1===n.length){this._selected.emit(n[0].insertText||n[0].label),this.reset();return}let i=this._populateSubset();t.query&&t.query!==this._lastSubsetMatch&&(t.subsetMatch=!0,this._selected.emit(t.query),t.subsetMatch=!1,this._lastSubsetMatch=t.query),i&&this.update(),this._cycle(e.shiftKey?"ArrowUp":"ArrowDown");return}case"Escape":e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),this.reset();return;case"PageUp":case"PageDown":case"ArrowUp":case"ArrowDown":e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),this._cycle(e.key);return;default:return}}}_evtPointerdown(e){if(this.isHidden||!this._editor)return;if(s.nonstandardClick(e))return void this.reset();let t=e.target;for(;t!==document.documentElement;){if(t.classList.contains(j)){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),this._selected.emit(t.getAttribute("data-value")),this.reset();return}if(t===this.node){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();return}t=t.parentElement}this.reset()}_evtScroll(e){if(this.isHidden||!this._editor)return;let{node:t}=this;t.contains(e.target)||requestAnimationFrame(()=>{this._setGeometry()})}_populateSubset(){let{model:e}=this;if(!e)return!1;let t=e.completionItems(),n=s.commonSubset(t.map(e=>e.insertText||e.label)),{query:i}=e;return!!n&&n!==i&&0===n.indexOf(i)&&(e.query=n,!0)}_setGeometry(){let{node:e}=this,t=this._model,n=this._editor;if(!n||!t||!t.original||!t.cursor)return;let i=t.cursor.start,o=n.getPositionAt(i),r=n.getCoordinateForPosition(o);if(!r)return;let s=window.getComputedStyle(e),a=parseInt(s.borderLeftWidth,10)||0,l=parseInt(s.paddingLeft,10)||0,d=n.host.closest(".jp-MainAreaWidget > .lm-Widget")||n.host,c=t.completionItems();this._sizeCache&&this._sizeCache.items.length!==c.length&&(this._sizeCache=void 0),y.HoverBox.setGeometry({anchor:r,host:d,maxHeight:this._maxHeight,minHeight:this._minHeight,node:e,size:this.sizeCache,offset:{horizontal:a+l},privilege:"below",style:s,outOfViewDisplay:{top:"stick-inside",bottom:"stick-inside",left:"stick-inside",right:"stick-outside"}});let h=++this._geometryCounter;this._sizeCache||requestAnimationFrame(()=>{if(h!=this._geometryCounter)return;let t=e.getBoundingClientRect(),n=this._docPanel.getBoundingClientRect();this._sizeCache={width:t.width-n.width,height:t.height,items:c,docPanelWidth:n.width,docPanelHeight:n.height}})}_updateDocPanel(e,t){var n,i,o;let r=this._docPanel;if(!e)return void this._toggleDocPanel(!1);let s=null!=(o=null==(i=(n=this._renderer).createLoadingDocsIndicator)?void 0:i.call(n))?o:this._defaultRenderer.createLoadingDocsIndicator();t.appendChild(s),e.then(e=>{var t,n,i;if(e&&r)if(e.documentation){let o=null!=(i=null==(n=(t=this._renderer).createDocumentationNode)?void 0:n.call(t,e))?i:this._defaultRenderer.createDocumentationNode(e);r.textContent="",r.appendChild(o),this._toggleDocPanel(!0)}else this._toggleDocPanel(!1)}).catch(e=>console.error(e)).finally(()=>{t.removeChild(s)})}_toggleDocPanel(e){let t=this._docPanel;if(e){if(this._docPanelExpanded)return;t.style.display="",this._docPanelExpanded=!0}else{if(!this._docPanelExpanded)return;t.style.display="none",this._docPanelExpanded=!1}let n=this._sizeCache;n&&(n.docPanelHeight=e?this._maxHeight:0,n.docPanelWidth=e?this._docPanelWidth:0,this._geometryLock||this._setGeometry())}}function D(e){let t=e.sourceChange;if(null==t||t.some(e=>null!=e.delete))return!1;let n=t.map(e=>{var t;return null!=(t=e.insert)?t:""}).join("");return/^[\p{L}\p{N}\p{M}_$]$/u.test(n)}function T(e){return!new Set(["text/plain","text/markdown","text/x-ipythongfm","text/x-rst","text/latex","application/json","text/html","text/css"]).has(e)}!function(e){let t;class n{constructor(e){this.sanitizer=(null==e?void 0:e.sanitizer)||new v.Sanitizer}createCompletionItemNode(e,t){let n=this._createWrapperNode(e.insertText||e.label);return e.deprecated&&n.classList.add("jp-Completer-deprecated"),this._constructNode(n,this._createLabelNode(e.label),!!e.type,e.type,t,e.icon)}createDocumentationNode(e){let t=document.createElement("div");t.classList.add("jp-RenderedText");let n=this.sanitizer,i=e.documentation||"";return(0,_.renderText)({host:t,sanitizer:n,source:i}).catch(console.error),t}itemWidthHeuristic(e){var t;return e.label.replace(/<\/?mark>/g,"").length+((null==(t=e.type)?void 0:t.length)||0)}createLoadingDocsIndicator(){let e=document.createElement("div");e.classList.add("jp-Completer-loading-bar-container");let t=document.createElement("div");return t.classList.add("jp-Completer-loading-bar"),e.append(t),e}_createWrapperNode(e){let t=document.createElement("li");return t.className=j,t.setAttribute("data-value",e),t}_createLabelNode(e){let t=document.createElement("code");return t.className="jp-Completer-match",t.innerHTML=e,t}_constructNode(e,t,n,i,o,r){if(r){let t=r.element({className:"jp-Completer-type jp-Completer-icon"});e.appendChild(t)}else if(n){let t=document.createElement("span");t.textContent=(i[0]||"").toLowerCase();let n=o.indexOf(i)%I+1;t.className="jp-Completer-type jp-Completer-monogram",t.setAttribute("data-color-index",n.toString()),e.appendChild(t)}else{let t=document.createElement("span");t.className="jp-Completer-monogram",e.appendChild(t)}if(e.appendChild(t),n){e.title=i;let t=document.createElement("code");t.className="jp-Completer-typeExtended",t.textContent=i.toLocaleLowerCase(),e.appendChild(t)}else{let t=document.createElement("span");t.className="jp-Completer-typeExtended",e.appendChild(t)}return e}}e.Renderer=n,e.getDefaultRenderer=function(e){return(!t||e&&t.sanitizer!==e)&&(t=new n({sanitizer:e})),t}}(k||(k={})),function(e){e.commonSubset=function(e){let t=e.length,n="";if(t<2)return n;let i=e[0].length;for(let o=0;o<i;o++){let i=e[0][o];for(let r=1;r<t;r++)if(e[r][o]!==i)return n;n+=i}return n},e.nonstandardClick=function(e){return 0!==e.button||e.altKey||e.ctrlKey||e.shiftKey||e.metaKey},e.measureSize=function(e,t){e.isConnected&&console.warn("Measuring connected elements with `measureSize` has side-effects"),e.style.visibility="hidden",e.style.display=t,document.body.appendChild(e);let n=e.getBoundingClientRect();return document.body.removeChild(e),e.removeAttribute("style"),n}}(s||(s={}));class L{constructor(e){var t,n;this._resolveFactory=(e,t)=>e.resolve?n=>e.resolve(t,this._context,n):void 0,this._fetching=0,this._inlineFetching=0,this._providers=e.providers,this._inlineProviders=null!=(t=e.inlineProviders)?t:[],this._inlineProvidersSettings=null!=(n=e.inlineProvidersSettings)?n:{},this._context=e.context,this._timeout=e.timeout}async applicableProviders(){let e=this._providers.map(e=>e.isApplicable(this._context)),t=await Promise.all(e);return this._providers.filter((e,n)=>t[n])}fetchInline(e,t,n){let i=[],r=++this._inlineFetching;for(let s of this._inlineProviders){let a=this._inlineProvidersSettings[s.identifier];if(t!==o.Invoke&&n&&!a.autoFillInMiddle)continue;let l=0;t===o.Automatic&&(l=a.debouncerDelay);let d=()=>Promise.race([s.fetch(e,{...this._context,triggerKind:t}).then(e=>({...e,items:e.items.map(e=>{let t=e;return t.stream=new u.Signal(t),t.provider=s,this._stream(t,s),t})})),new Promise(e=>setTimeout(()=>e(null),l+a.timeout))]),c=0===l?d():new Promise((e,t)=>setTimeout(()=>r!=this._inlineFetching?t(null):e(d()),l));i.push(c.catch(e=>e))}return i}async _stream(e,t){if(!e.isIncomplete||!t.stream||!e.token)return;let n=e.stream,i=e.token;for await(let o of(e.token=void 0,e.streaming=!0,n.emit(A.StraemEvent.opened),t.stream(i))){let t=o.response,i=t.insertText.substring(e.insertText.length);e.insertText=t.insertText,e.lastStreamed=i,e.error=o.response.error,n.emit(A.StraemEvent.update)}e.isIncomplete=!1,e.lastStreamed=void 0,e.streaming=!1,n.emit(A.StraemEvent.closed)}async fetch(e,t){let n=++this._fetching,i=[];for(let o of(await this.applicableProviders())){let r;r=Promise.race([r=o.fetch(e,this._context,t).then(e=>{if(n!==this._fetching)return Promise.reject(void 0);let t=e.items.map(e=>({...e,resolve:this._resolveFactory(o,e)}));return{...e,items:t}}),new Promise(e=>setTimeout(()=>e(null),this._timeout))]),i.push(r.catch(e=>e))}let o=Promise.all(i);return this._mergeCompletions(o)}async shouldShowContinuousHint(e,t){let n=await this.applicableProviders();return 0!==n.length&&(n[0].shouldShowContinuousHint?n[0].shouldShowContinuousHint(e,t,this._context):this._defaultShouldShowContinuousHint(e,t))}_alignPrefixes(e,t,n){if(t!=n){let t=this._context.editor;if(!t)return e;let i=t.getCursorPosition(),o=t.getLine(i.line);if(!o)return e;let r=t.getOffsetAt({line:i.line,column:0});return e.map(e=>{let t=Math.max(e.start-r,0),i=Math.max(n-r,0);if(t==i)return e;let s=o.substring(t,i);return{...e,items:e.items.map(e=>{let t=e.insertText||e.label;return e.insertText=t.startsWith(s)?t.slice(s.length):t,e})}})}return e}async _mergeCompletions(e){let t=(await e).filter(e=>!!e&&!(e instanceof Error)&&!!e.items.length);if(0==t.length)return null;if(1==t.length)return t[0];let n=Math.min(...t.map(e=>e.end)),i=t.map(e=>e.start),o=Math.min(...i),r=Math.max(...i);t=this._alignPrefixes(t,o,r);let s=new Set,a=[];for(let e of t)e.items.forEach(e=>{let t=(e.insertText||e.label).trim();s.has(t)||(s.add(t),a.push(e))});return{start:r,end:n,items:a}}_defaultShouldShowContinuousHint(e,t){var n,i,o;return!!T(null!=(o=null==(i=null==(n=this._context)?void 0:n.editor)?void 0:i.model.mimeType)?o:"")&&!e&&D(t)}}let N="CompletionProvider:context";class P{constructor(){this.identifier=N,this.rank=500,this.renderer=null}async isApplicable(e){return!0}fetch(e,t){let n=t.editor;return n?new Promise(e=>{e(a.contextHint(n))}):Promise.reject("No editor")}}!function(e){e.contextHint=function(e){let n=e.getTokenAtCursor(),i=new Set(t(n,e).filter(e=>e.type).map(e=>e.value)),o=[];return i.forEach(e=>o.push({label:e})),{start:n.offset,end:n.offset+n.value.length,items:o}};function t(e,t){return t.getTokens().filter(t=>0===t.value.indexOf(e.value)&&t.value!==e.value)}}(a||(a={}));let z="CompletionProvider:kernel";class R{constructor(){this.identifier=z,this.rank=550,this.renderer=null}async isApplicable(e){var t;return!!(null==(t=e.session)?void 0:t.kernel)}async fetch(e,t){var n;let i=null==(n=t.session)?void 0:n.kernel;if(!i)throw Error("No kernel for completion request.");let o={code:e.text,cursor_pos:e.offset},r=(await i.requestComplete(o)).content;if("ok"!==r.status)throw Error("Completion fetch failed to return successfully.");let s=[],a=r.metadata._jupyter_types_experimental;return r.matches.forEach((e,t)=>{a&&a[t]?s.push({label:e,type:a[t].type,insertText:a[t].text}):s.push({label:e})}),{start:r.cursor_start,end:r.cursor_end,items:s}}async resolve(e,t,n){let{editor:i,session:o}=t;if(o&&i){let t=i.model.sharedModel.getSource(),r=i.getCursorPosition(),s=c.Text.jsIndexToCharIndex(i.getOffsetAt(r),t),a=o.kernel;if(!t||!a)return Promise.resolve(e);if(n){let{start:e,value:i}=n;t=t.substring(0,e)+i,s+=i.length}let l={code:t,cursor_pos:s,detail_level:0},d=(await a.requestInspect(l)).content;if("ok"!==d.status||!d.found)return e;e.documentation=d.data["text/plain"]}return e}shouldShowContinuousHint(e,t,n){var i,o;return!!T(null!=(o=null==(i=null==n?void 0:n.editor)?void 0:i.model.mimeType)?o:"")&&!e&&D(t)}}var O=n(83657),F=n(83263),W=n(98260),H=n(22735);let U="jp-GhostText-lineSpacer",Y="jp-GhostText-letterSpacer",V="jp-GhostText",q="jp-GhostText-streamedToken",G="jp-GhostText-streamingIndicator",$="jp-GhostText-errorIndicator",J="jp-GhostText-hiddenLines",K=new H.EditorLanguageRegistry;H.EditorLanguageRegistry.getDefaultLanguages(null,e=>K.findBest(e)).forEach(e=>{K.addLanguage(e)});class Z{constructor(e){this.options=e}placeGhost(e,t){let n=(Array.isArray(t)?t:[t]).map(e=>l.addMark.of(e));e.state.field(l.markField,!1)||(n.push(O.StateEffect.appendConfig.of([l.markField])),n.push(O.StateEffect.appendConfig.of([W.EditorView.domEventHandlers({blur:t=>{if(!1===this.options.onBlur(t))return!0;let n=[l.removeMark.of(null)];setTimeout(()=>{e.dispatch({effects:n})},0)}})]))),e.dispatch({effects:n})}clearGhosts(e){let t=[l.removeMark.of(null)];e.dispatch({effects:t})}}Z.streamingAnimation="uncover",Z.ghostSyntaxHighlighting=!1,Z.spacerRemovalDelay=700,Z.spacerRemovalDuration=300;class Q extends W.WidgetType{constructor(e){super(),this.options=e,this.isSpacer=!1,this._clearErrorTimeout=null}eq(e){return e.content==this.content&&e.options.streaming===this.options.streaming&&e.options.error===this.options.error}get lineBreaks(){return(this.content.match(/\n/g)||"").length}updateDOM(e,t){return this._updateDOM(e,t),!0}get content(){return this.options.content}toDOM(e){let t=document.createElement("span");return this.options.onPointerOver&&t.addEventListener("pointerover",this.options.onPointerOver),this.options.onPointerLeave&&t.addEventListener("pointerleave",this.options.onPointerLeave),t.classList.add(V),t.dataset.animation=Z.streamingAnimation,t.dataset.providedBy=this.options.providerId,this._updateDOM(t,e).catch(console.error),t}_removeErrorAnimation(e){e.querySelectorAll(`.${$}`).forEach(e=>{e.remove()})}_mountErrorAnimation(e){let t=document.createElement("span");t.className=$;let n=this.options.error;(null==n?void 0:n.message)&&(t.title=null==n?void 0:n.message),e.querySelectorAll(`.${G}, .${$}`).forEach(e=>{e.remove()}),e.appendChild(t)}async _updateDOM(e,t){var n;if(this.options.error){this._mountErrorAnimation(e),this._clearErrorTimeout=setTimeout(()=>{this._removeErrorAnimation(e),this._clearErrorTimeout=null},5e3);return}null!==this._clearErrorTimeout&&(clearTimeout(this._clearErrorTimeout),this._removeErrorAnimation(e),this._clearErrorTimeout=null);let i=this.content,o="",r=this.options.addedPart;r&&(r.startsWith("\n")&&(r=r.substring(1)),i=i.substring(0,i.length-r.length));let s=this.options.maxLines||1/0;if(s!==1/0){let e=i.split("\n");i=e.slice(0,s).join("\n"),o=e.slice(s).join("\n")}let a=Array(Math.max(0,Math.min(null!=(n=this.options.minLines)?n:0,s)-i.split("\n").length+1)).fill("").join("\n");if(e.innerHTML="",this.isSpacer){e.innerText=i+a;return}if(Z.ghostSyntaxHighlighting){let n=t.state.facet(F.language);if(n){let t=await K.getLanguage(n.name);t?await K.highlight(i,t,e):e.appendChild(document.createTextNode(i))}else e.appendChild(document.createTextNode(i))}else e.innerText=i;let l=e;if(o.length>0){let t=document.createElement("span");t.className="jp-GhostText-hiddenWrapper",e.appendChild(t);let n=document.createElement("span");n.className="jp-GhostText-expandHidden",n.innerText="⇓";let i=document.createElement("span");t.appendChild(n),i.className=J,i.innerText="\n"+o,t.appendChild(i),l=i}if(r){let e=document.createElement("span");e.className=q,e.innerText=r,l.appendChild(e)}if(this.options.streaming){let e=document.createElement("span");e.className=G,l.appendChild(e)}if(a.length>0){let e=document.createTextNode(a);l.appendChild(e)}}destroy(e){this.options.onPointerOver&&e.removeEventListener("pointerover",this.options.onPointerOver),this.options.onPointerLeave&&e.removeEventListener("pointerleave",this.options.onPointerLeave),super.destroy(e)}}class X extends Q{constructor(){super(...arguments),this.isSpacer=!0}}class ee extends X{toDOM(e){let t=super.toDOM(e);return t.classList.add(U),t.style.animationDelay=Z.spacerRemovalDelay+"ms",t.style.animationDuration=Z.spacerRemovalDuration+"ms",t}}class et extends X{get content(){return this.options.content[0]}toDOM(e){let t=super.toDOM(e);return t.classList.add(Y),t}}!function(e){let t;function n(n){let i=[];for(let o of n.effects)if(o.is(e.addMark))i.push(o.value);else if(o.is(e.removeMark))return{action:t.Remove};return 1===i.length?{action:t.Set,spec:i[0]}:i.length>1?{action:t.Set,specs:i}:n.docChanged||n.selection?{action:t.FilterAndUpdate}:null}function i(e,t){return W.Decoration.widget({widget:new Q(e),side:1,ghostSpec:e}).range(Math.min(e.from,t.newDoc.length),Math.min(e.from,t.newDoc.length))}function o(e,t,n=1e3){if(e.content.length<2)return[];let i={elapsed:!1};setTimeout(()=>{i.elapsed=!0},n);let r=W.Decoration.widget({widget:new et(e),side:1,timeoutInfo:i}),s=W.Decoration.widget({widget:new ee(e),side:1,timeoutInfo:i});return[r.range(Math.min(e.from,t.newDoc.length),Math.min(e.from,t.newDoc.length)),s.range(Math.min(e.from,t.newDoc.length),Math.min(e.from,t.newDoc.length))]}!function(e){e[e.Set=0]="Set",e[e.Remove=1]="Remove",e[e.FilterAndUpdate=2]="FilterAndUpdate"}(t||(t={})),e.addMark=O.StateEffect.define({map:(e,t)=>({...e,from:t.mapPos(e.from),to:t.mapPos(e.from+e.content.length)})}),e.removeMark=O.StateEffect.define(),e.markField=O.StateField.define({create:()=>W.Decoration.none,update(e,r){var s;let a=n(r);if(e=e.update({filter:(e,t,n)=>!(n.spec.widget instanceof X)||!n.spec.timeoutInfo.elapsed}),!a)return e.map(r.changes);switch(a.action){case t.Set:{if(a.spec){let t=i(a.spec,r);return e.update({add:[t],filter:(e,n,i)=>i===t.value})}let t=(null!=(s=a.specs)?s:[]).map(e=>i(e,r)),n=t.map(e=>e.value);return e.update({add:t,filter:(e,t,i)=>n.includes(i)})}case t.Remove:return e.update({filter:()=>!1});case t.FilterAndUpdate:{let t=[],n=e.iter();for(;n.value;)n.value.spec.widget instanceof X||t.push(n.value.spec.ghostSpec),n.next();if(0===t.length)return e.map(r.changes);let s=[];for(let e of t){let t={...e,from:r.changes.mapPos(e.from,1)},n=!1;r.changes.iterChanges((i,o,r,s,a)=>{if(!n)if(i===o&&r!==s){if(i!==e.from)return;for(let e=0;e<a.lines;e++){let i=a.lineAt(e).text,o=e>0?"\n"+i:i;if(t.content.startsWith(o))t.content=t.content.slice(o.length);else{n=!0;break}}}else n=!0}),n?s.push(...o({...e,from:t.from},r)):s.push(i(t,r))}let a=s.map(e=>e.value);return e=e.update({add:s,filter:(e,t,n)=>a.includes(n)})}}},provide:e=>W.EditorView.decorations.from(e)})}(l||(l={}));let en="jp-InlineCompleter",ei="jp-mod-inline-completer-active",eo="jp-InlineCompleter-hover",er="jp-InlineCompleter-progressBar";class es extends w.Widget{constructor(e){var t,n;super({node:document.createElement("div")}),this._clearHoverTimeout=null,this._current=0,this._editor=null,this._lastItem=null,this._model=null,this._providerWidget=new w.Widget,this._showShortcuts=es.defaultSettings.showShortcuts,this._showWidget=es.defaultSettings.showWidget,this._suggestionsCounter=new w.Widget,this._toolbar=new y.Toolbar,this.model=null!=(t=e.model)?t:null,this.editor=null!=(n=e.editor)?n:null,this.addClass(en),this.addClass("jp-ThemedContainer"),this._ghostManager=new Z({onBlur:this._onEditorBlur.bind(this)}),this._trans=e.trans;const i=this.layout=new w.PanelLayout;i.addWidget(this._suggestionsCounter),i.addWidget(this.toolbar),i.addWidget(this._providerWidget),this._progressBar=document.createElement("div"),this._progressBar.className=er,this.node.appendChild(this._progressBar),this._updateShortcutsVisibility(),this._updateDisplay(),this.node.tabIndex=0}get toolbar(){return this._toolbar}get editor(){return this._editor}set editor(e){var t;null==(t=this.model)||t.reset(),this._editor=e}get model(){return this._model}set model(e){(e||this._model)&&e!==this._model&&(this._model&&(this._model.suggestionsChanged.disconnect(this._onModelSuggestionsChanged,this),this._model.filterTextChanged.disconnect(this._onModelFilterTextChanged,this),this._model.provisionProgress.disconnect(this._onProvisionProgress,this)),this._model=e,this._model&&(this._model.suggestionsChanged.connect(this._onModelSuggestionsChanged,this),this._model.filterTextChanged.connect(this._onModelFilterTextChanged,this),this._model.provisionProgress.connect(this._onProvisionProgress,this)))}cycle(e){var t,n;let i=null==(n=null==(t=this.model)?void 0:t.completions)?void 0:n.items;if(i){if("next"===e){let e=this._current+1;this._current=e===i.length?0:e}else{let e=this._current-1;this._current=-1===e?i.length-1:e}this._updateStreamTracking(),this._render()}}accept(){let e=this.model,t=this.current,n=this._editor;if(!n||!e||!t)return;let i=e.cursor,o=t.insertText,r=n.getOffsetAt(n.getCursorPosition()),s=n.getOffsetAt(i),a=r,l=n.editor,d=n.getSelections(),c=d.some(e=>e.start.line!==e.end.line||e.start.column!==e.end.column);if(d.length<=1||c){let t={changes:{from:s,to:a,insert:o}};r<=a&&r>=s&&(t.selection={anchor:s+o.length}),l.dispatch(t),e.reset(),this.update();return}let h=a-s,u=l.state.changeByRange(e=>{let t=Math.max(0,e.head-h);return{changes:{from:t,to:e.head,insert:o},range:O.EditorSelection.cursor(t+o.length)}});l.dispatch(u),e.reset(),this.update()}get current(){var e;let t=null==(e=this.model)?void 0:e.completions;return t?t.items[this._current]:null}_updateStreamTracking(){this._lastItem&&this._lastItem.stream.disconnect(this._onStream,this);let e=this.current;e&&e.stream.connect(this._onStream,this),this._lastItem=e}_onStream(e,t){var n;let i=null==(n=this.model)?void 0:n.completions;if(!i||!i.items||0===i.items.length||this.isHidden)return;let o=i.items[this._current];this._setText(o)}configure(e){this._showWidget=e.showWidget,this._updateDisplay(),e.showShortcuts!==this._showShortcuts&&(this._showShortcuts=e.showShortcuts,this._updateShortcutsVisibility()),Z.streamingAnimation=e.streamingAnimation,Z.spacerRemovalDelay=Math.max(0,e.editorResizeDelay-300),Z.spacerRemovalDuration=Math.max(0,Math.min(300,e.editorResizeDelay-300)),this._minLines=e.minLines,this._maxLines=e.maxLines,this._reserveSpaceForLongest=e.reserveSpaceForLongest,this._suppressIfTabCompleterActive=e.suppressIfTabCompleterActive,Z.ghostSyntaxHighlighting=e.ghostSyntaxHighlighting}get suppressIfTabCompleterActive(){return this._suppressIfTabCompleterActive}get isActive(){var e;return!!(null==(e=this.editor)?void 0:e.host.classList.contains(ei))}handleEvent(e){if(!this.isHidden&&this._editor)switch(e.type){case"pointerdown":this._evtPointerdown(e);break;case"scroll":this._evtScroll(e)}}onUpdateRequest(e){super.onUpdateRequest(e);let t=this._model;if(!t)return;let n=t.completions;if(!n||!n.items||0===n.items.length){this.isHidden||this.hide();return}this.isHidden&&(this.show(),this._setGeometry())}onAfterAttach(e){document.addEventListener("scroll",this,!0),document.addEventListener("pointerdown",this,!0)}onBeforeDetach(e){document.removeEventListener("scroll",this,!0),document.removeEventListener("pointerdown",this,!0)}_evtPointerdown(e){var t;if(this.isHidden||!this._editor)return;let n=e.target;if(this.node.contains(n))return!0;this.hide(),null==(t=this.model)||t.reset()}_evtScroll(e){if(this.isHidden||!this._editor)return;let{node:t}=this;t.contains(e.target)||requestAnimationFrame(()=>{this._setGeometry()})}_onEditorBlur(e){var t;return!this.node.contains(e.relatedTarget)&&(null==(t=this._editor)||t.host.classList.remove(ei),this.hide(),!0)}_onModelSuggestionsChanged(e,t){var n;if(!this.isAttached)return void this.update();if("set"===t.event)this._current=null!=(n=t.indexMap.get(this._current))?n:0;else if("clear"===t.event){let e=this.editor;e&&(this._ghostManager.clearGhosts(e.editor),e.host.classList.remove(ei))}this._updateStreamTracking(),this.update(),this._render()}_onModelFilterTextChanged(e,t){var n,i;let o=null==(n=this.model)?void 0:n.completions;o&&o.items&&0!==o.items.length&&(this._current=null!=(i=t.get(this._current))?i:0,this._updateStreamTracking(),setTimeout(()=>{this._render(),this._setGeometry()},0))}_onProvisionProgress(e,t){requestAnimationFrame(()=>{0===t.pendingProviders?this._progressBar.style.display="none":(this._progressBar.style.display="",this._progressBar.style.width=100*t.pendingProviders/t.totalProviders+"%")})}_render(){var e,t;let n=null==(e=this.model)?void 0:e.completions;if(!n||!n.items||0===n.items.length)return;let i=n.items[this._current];this._setText(i),"never"===this._showWidget||(this._suggestionsCounter.node.innerText=this._trans.__("%1/%2",this._current+1,n.items.length),this._providerWidget.node.title=this._trans.__("Provider: %1",i.provider.name),(null!=(t=i.provider.icon)?t:y.kernelIcon).render(this._providerWidget.node))}_setText(e){var t,n,i;let o,r=e.insertText,s=this._editor,a=this._model;if(!a||!s)return;let l=s.editor;if(this._reserveSpaceForLongest){let e=Math.max(...(null!=(i=null==(n=null==(t=this.model)?void 0:t.completions)?void 0:n.items)?i:[]).map(e=>e.insertText.split("\n").length));o=Math.max(this._minLines,e)}else o=this._minLines;let d={content:r,providerId:e.provider.identifier,addedPart:e.lastStreamed,streaming:e.streaming,minLines:o,maxLines:this._maxLines,onPointerOver:this._onPointerOverGhost.bind(this),onPointerLeave:this._onPointerLeaveGhost.bind(this),error:e.error},c=s.getSelections().filter(e=>e.start.line===e.end.line&&e.start.column===e.end.column).map(e=>s.getOffsetAt(e.end)),h=c.length>0?Array.from(new Set(c)):[s.getOffsetAt(a.cursor)];this._ghostManager.placeGhost(l,h.map(e=>({...d,from:e}))),s.host.classList.add(ei)}_onPointerOverGhost(){null!==this._clearHoverTimeout&&(window.clearTimeout(this._clearHoverTimeout),this._clearHoverTimeout=null),this.node.classList.add(eo)}_onPointerLeaveGhost(){this._clearHoverTimeout=window.setTimeout(()=>this.node.classList.remove(eo),500)}_setGeometry(){let e,{node:t}=this,n=this._model,i=this._editor;if(!i||!n||!n.cursor)return;let o=i.host.closest(".jp-MainAreaWidget > .lm-Widget")||i.host;try{let t=i.getCoordinateForPosition(n.cursor);if(!t)throw Error("No coordinates for cursor position");e=t}catch(e){this.hide();return}y.HoverBox.setGeometry({anchor:e,host:o,maxHeight:40,minHeight:20,node:t,privilege:"forceAbove",outOfViewDisplay:{top:"stick-outside",bottom:"stick-inside",left:"stick-inside",right:"stick-outside"}})}_updateShortcutsVisibility(){this.node.dataset.showShortcuts=this._showShortcuts+""}_updateDisplay(){this.node.dataset.display=this._showWidget}}!function(e){e.defaultSettings={showWidget:"onHover",showShortcuts:!0,streamingAnimation:"uncover",ghostSyntaxHighlighting:!1,providers:{},minLines:2,maxLines:4,editorResizeDelay:1e3,reserveSpaceForLongest:!1,suppressIfTabCompleterActive:!0};class t{constructor(){this.suggestionsChanged=new u.Signal(this),this.filterTextChanged=new u.Signal(this),this.provisionProgress=new u.Signal(this),this._isDisposed=!1,this._completions=null}setCompletions(e){var t,n;let i=new Map(null==(n=null==(t=this._completions)?void 0:t.items)?void 0:n.map((e,t)=>[e.insertText,t]));this._completions=e;let o=new Map(e.items.map((e,t)=>[i.get(e.insertText),t]));this.suggestionsChanged.emit({event:"set",indexMap:o})}appendCompletions(e){this._completions&&this._completions.items?(this._completions.items.push(...e.items),this.suggestionsChanged.emit({event:"append"})):console.warn("No completions to append to")}notifyProgress(e){this.provisionProgress.emit(e)}get cursor(){return this._cursor}set cursor(e){this._cursor=e}get completions(){return this._completions}reset(){this._completions=null,this.suggestionsChanged.emit({event:"clear"})}get isDisposed(){return this._isDisposed}handleTextChange(e){var t;let n=this._completions;if(!n||!n.items||0===n.items.length)return;let i=new Map(n.items.map((e,t)=>[e,t]));for(let i of null!=(t=e.sourceChange)?t:[]){let e=i.insert;if(e){let t=n.items.filter(t=>{var n;let i=null!=(n=t.filterText)?n:t.insertText;return!!i.startsWith(e)&&(t.filterText=i.substring(e.length),t.insertText=t.insertText.substring(e.length),!0)});0===t.length&&(this._completions=null),n.items=t}else i.retain||(this._completions=null)}let o=new Map(n.items.map((e,t)=>[i.get(e),t]));this.filterTextChanged.emit(o)}handleSelectionChange(e){let t=this.cursor;if(!t)return;let{start:n,end:i}=e;(n.column!==i.column||n.line!==i.line)&&this.reset(),(n.line!==t.line||n.column<t.column)&&this.reset()}dispose(){this._isDisposed||(this._isDisposed=!0,u.Signal.clearData(this))}}e.Model=t}(es||(es={}));class ea{constructor(){this._activeProviders=new Set([z,N]),this._inlineCompleterSettings=es.defaultSettings,this._providers=new Map,this._inlineProviders=new Map,this._panelHandlers=new Map,this._mostRecentContext=new Map,this._activeProvidersChanged=new u.Signal(this),this._selected=new u.Signal(this),this._inlineCompleterFactory=null}get activeProvidersChanged(){return this._activeProvidersChanged}get selected(){return this._selected}setTimeout(e){this._timeout=e}setShowDocumentationPanel(e){this._panelHandlers.forEach(t=>t.completer.showDocsPanel=e),this._showDoc=e}setSuppressIfInlineCompleterActive(e){this._panelHandlers.forEach(t=>t.completer.suppressIfInlineCompleterActive=e),this._suppressIfInlineCompleterActive=e}setContinuousHinting(e){this._panelHandlers.forEach(t=>t.autoCompletion=e),this._autoCompletion=e}registerProvider(e){let t=e.identifier;this._providers.has(t)?console.warn(`Completion provider with identifier ${t} is already registered`):(this._providers.set(t,e),this._panelHandlers.forEach((e,t)=>{this.updateCompleter(this._mostRecentContext.get(t))}))}registerInlineProvider(e){let t=e.identifier;this._inlineProviders.has(t)?console.warn(`Completion provider with identifier ${t} is already registered`):(this._inlineProviders.set(t,e),this._panelHandlers.forEach((e,t)=>{this.updateCompleter(this._mostRecentContext.get(t))}))}getProviders(){return this._providers}activateProvider(e){this._activeProviders=new Set([]),e.forEach(e=>{this._providers.has(e)&&this._activeProviders.add(e)}),0===this._activeProviders.size&&(this._activeProviders.add(z),this._activeProviders.add(N)),this._activeProvidersChanged.emit()}async updateCompleter(e){var t,n;let i,{widget:o,editor:r,sanitizer:s}=e,a=o.id,l=this._panelHandlers.get(a),d=[...this._activeProviders][0],c=this._providers.get(d),h=null!=(t=null==c?void 0:c.renderer)?t:k.getDefaultRenderer(s),u=null==c?void 0:c.modelFactory;i=u?await u.call(c,e):new b,this._mostRecentContext.set(o.id,e);let p={model:i,editor:r,renderer:h,sanitizer:s,showDoc:this._showDoc};if(l){let t=l.completer;null==(n=t.model)||n.dispose(),t.model=p.model,t.renderer=p.renderer,t.showDocsPanel=p.showDoc,t.suppressIfInlineCompleterActive=this._suppressIfInlineCompleterActive,l.autoCompletion=this._autoCompletion,r&&(l.editor=r,l.reconciliator=await this.generateReconciliator(e))}else{let t=await this._generateHandler(e,p);this._panelHandlers.set(o.id,t),t.completer.selected.connect((e,t)=>this._selected.emit({insertText:t})),o.disposed.connect(e=>{this.disposeHandler(e.id,t),this._mostRecentContext.delete(a)})}}invoke(e){let t=this._panelHandlers.get(e);t&&t.invoke()}select(e){let t=this._panelHandlers.get(e);t&&t.completer.selectActive()}setInlineCompleterFactory(e){this._inlineCompleterFactory=e,this._panelHandlers.forEach((e,t)=>{this.updateCompleter(this._mostRecentContext.get(t))}),this.inline||(this.inline={invoke:e=>{let t=this._panelHandlers.get(e);t&&t.inlineCompleter&&t.invokeInline()},isActive:e=>{let t=this._panelHandlers.get(e);return!!t&&!!t.inlineCompleter&&t.inlineCompleter.isActive},cycle:(e,t)=>{let n=this._panelHandlers.get(e);n&&n.inlineCompleter&&n.inlineCompleter.cycle(t)},accept:e=>{let t=this._panelHandlers.get(e);t&&t.inlineCompleter&&t.inlineCompleter.accept()},configure:e=>{for(let[t,n]of(this._inlineCompleterSettings=e,this._inlineProviders.entries()))n.configure&&n.configure(e.providers[t]);this._panelHandlers.forEach((t,n)=>{t.inlineCompleter&&t.inlineCompleter.configure(e),this.updateCompleter(this._mostRecentContext.get(n))})}})}get inlineProviders(){return[...this._inlineProviders.values()]}async generateReconciliator(e){let t=[];for(let[e,n]of Object.entries(this._inlineCompleterSettings.providers))!0===n.enabled&&t.push(e);let n=[...this._inlineProviders.values()].filter(e=>t.includes(e.identifier)),i=[];for(let e of this._activeProviders){let t=this._providers.get(e);t&&i.push(t)}return new L({context:e,providers:i,inlineProviders:n,inlineProvidersSettings:this._inlineCompleterSettings.providers,timeout:this._timeout})}disposeHandler(e,t){var n,i,o,r;null==(n=t.completer.model)||n.dispose(),t.completer.dispose(),null==(o=null==(i=t.inlineCompleter)?void 0:i.model)||o.dispose(),null==(r=t.inlineCompleter)||r.dispose(),t.dispose(),this._panelHandlers.delete(e)}async _generateHandler(e,t){let n=new k(t),i=this._inlineCompleterFactory?this._inlineCompleterFactory.factory({...t,model:new es.Model}):void 0;n.hide(),w.Widget.attach(n,document.body),i&&(w.Widget.attach(i,document.body),i.hide(),i.configure(this._inlineCompleterSettings));let o=await this.generateReconciliator(e),r=new A({completer:n,inlineCompleter:i,reconciliator:o});return r.editor=e.editor,r}}let el='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path class="jp-icon4" fill="#bbbbbb" d="M17 15H3v2h14v-2Zm0-8h-6v2h6V7ZM3 13h18v-2H3v2Zm0 8h18v-2H3v2Z"/>\n  <path class="jp-icon1" fill="#616161" d="M3 3v2h18V3H3ZM3 7v2h8V7H3Z"/>\n</svg>\n',ed='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n<g fill="#616161" class="jp-icon2 jp-icon-selectable">\n  <path d="M6 8h16v14.3H6z" style="fill:#eee;stroke:#444;stroke-linejoin:round"/>\n  <path d="M3 3v2h10V3H3Z" transform="matrix(.8 0 0 1 .5 0)"/>\n</g>\n<g class="jp-icon3 jp-icon-selectable">\n  <path fill="#616161" d="M18 14.1H8v2h11v-2ZM8 12.1H20V10.1H8v2Zm0 8H20v-2H8v3Z"/>\n</g>\n</svg>\n',ec=new y.LabIcon({name:"completer:inline",svgstr:el}),eh=new y.LabIcon({name:"completer:widget",svgstr:ed});var eu=n(2786);class ep{constructor(e){this.options=e,this.identifier="@jupyterlab/inline-completer:history",this._maxSuggestions=100;const t=e.translator||eu.nullTranslator;this._trans=t.load("jupyterlab")}get name(){return this._trans.__("History")}get icon(){return y.historyIcon}get schema(){return{properties:{maxSuggestions:{title:this._trans.__("Maximum number of suggestions"),description:this._trans.__("The maximum number of suggestions to retrieve from history."),type:"number"}},default:{enabled:!1,maxSuggestions:100}}}configure(e){var t;this._maxSuggestions=null!=(t=e.maxSuggestions)?t:100}async fetch(e,t,n){var i;let o,r=null==(i=t.session)?void 0:i.kernel;if(!r)throw Error("No kernel for completion request.");let s=e.text.slice(0,e.offset).split("\n").slice(-1)[0],a=e.text.slice(e.offset).split("\n")[0],l=[];if(""===s){o={output:!1,raw:!0,hist_access_type:"tail",n:this._maxSuggestions};let e=await r.requestHistory(o);if("ok"===e.content.status){let t=e.content.history,n=new Map;for(let e of t.reverse()){let t=e[2];n.set(t,(n.get(t)||0)+1)}for(let e of Array.from(n.entries()).sort((e,t)=>e[1]>t[1]?-1:+(e[1]<t[1])))l.push({insertText:e[0]})}}else{o={output:!1,raw:!0,hist_access_type:"search",pattern:s+"*"+(a?a+"*":""),unique:!0,n:this._maxSuggestions};let e=await r.requestHistory(o);if("ok"===e.content.status)for(let t of e.content.history){let e=t[2].split("\n");for(let t=0;t<e.length;t++){let n=e[t];if(n.startsWith(s)){let i=n.slice(s.length);t+1<e.length&&(i+="\n"+e.slice(t+1).join("\n")),a&&(i=i.slice(0,i.indexOf(a))),l.push({insertText:i})}}}}return{items:l}}}},47040(e,t,n){"use strict";n(82311),n(97777),n(62971),n(92508),n(22595);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(46064),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},66945(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>x});var i,o,r=n(57941),s=n(97518),a=n(78071),l=n(96933),d=n(23965),c=n(56573),h=n(90291),u=n(95615),p=n(31031),m=n(46109),g=n(2786),A=n(8989),C=n(65819),f=n(55187),b=n(63995),v=n(64001),_=n(17981);let y={id:"@jupyterlab/console-extension:foreign",description:"Add foreign handler of IOPub messages to the console.",requires:[d.IConsoleTracker,m.ISettingRegistry,g.ITranslator],optional:[s.ICommandPalette],activate:E,autoStart:!0};function E(e,t,n,o,r){var s;let a=o.load("jupyterlab"),{shell:l}=e;t.widgetAdded.connect((e,t)=>{let o=t.console,r=new d.ForeignHandler({sessionContext:o.sessionContext,parent:o});i.foreignHandlerProperty.set(o,r),n.get("@jupyterlab/console-extension:tracker","showAllKernelActivity").then(({composite:e})=>{r.enabled=e}),o.disposed.connect(()=>{r.dispose()})});let{commands:c}=e,h=a.__("Console"),u="console:toggle-show-all-kernel-activity";function p(e){let n=t.currentWidget;return!1!==e.activate&&n&&l.activateById(n.id),n}c.addCommand(u,{label:e=>a.__("Show All Kernel Activity"),execute:e=>{let t=p(e);if(!t)return;let n=i.foreignHandlerProperty.get(t.console);n&&(n.enabled=!n.enabled)},isToggled:()=>{var e;return null!==t.currentWidget&&!!(null==(e=i.foreignHandlerProperty.get(t.currentWidget.console))?void 0:e.enabled)},isEnabled:()=>null!==t.currentWidget&&t.currentWidget===l.currentWidget,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:a.__("Whether to activate the widget")}}}}});let m=()=>{c.notifyCommandChanged(u)};t.currentChanged.connect(m),null==(s=l.currentChanged)||s.connect(m),r&&r.addItem({command:u,category:h,args:{isPalette:!0}})}!function(e){e.foreignHandlerProperty=new _.AttachedProperty({name:"foreignHandler",create:()=>void 0})}(i||(i={}));let w={id:"@jupyterlab/console-extension:cell-executor",description:"Provides the console cell executor.",autoStart:!0,provides:d.IConsoleCellExecutor,activate:()=>Object.freeze({runCell:d.runCell})};!function(e){e.autoClosingBrackets="console:toggle-autoclosing-brackets",e.create="console:create",e.clear="console:clear",e.runUnforced="console:run-unforced",e.runForced="console:run-forced",e.linebreak="console:linebreak",e.interrupt="console:interrupt-kernel",e.restart="console:restart-kernel",e.closeAndShutdown="console:close-and-shutdown",e.open="console:open",e.inject="console:inject",e.changeKernel="console:change-kernel",e.getKernel="console:get-kernel",e.interactionMode="console:interaction-mode",e.redo="console:redo",e.replaceSelection="console:replace-selection",e.shutdown="console:shutdown",e.undo="console:undo",e.invokeCompleter="completer:invoke-console",e.selectCompleter="completer:select-console"}(o||(o={}));let j={id:"@jupyterlab/console-extension:tracker",description:"Provides the console widget tracker.",provides:d.IConsoleTracker,requires:[d.ConsolePanel.IContentFactory,a.IEditorServices,d.IConsoleCellExecutor,p.IRenderMimeRegistry,m.ISettingRegistry],optional:[r.ILayoutRestorer,c.IDefaultFileBrowser,u.IMainMenu,s.ICommandPalette,h.ILauncher,r.ILabStatus,s.ISessionContextDialogs,A.IFormRendererRegistry,g.ITranslator,s.ISessionContextDialogs,s.IToolbarWidgetRegistry],activate:B,autoStart:!0},x=[{id:"@jupyterlab/console-extension:factory",description:"Provides the console widget content factory.",provides:d.ConsolePanel.IContentFactory,requires:[a.IEditorServices],autoStart:!0,activate:(e,t)=>{let n=t.factoryService.newInlineEditor;return new d.ConsolePanel.ContentFactory({editorFactory:n})}},j,y,{id:"@jupyterlab/console-extension:kernel-status",description:"Adds the console to the kernel status indicator model.",autoStart:!0,requires:[d.IConsoleTracker,s.IKernelStatusModel],activate:(e,t,n)=>{let i=e=>{let n=null;return e&&t.has(e)?e.sessionContext:n};n.addSessionProvider(i)}},{id:"@jupyterlab/console-extension:cursor-position",description:"Adds the console to the code editor cursor position model.",autoStart:!0,requires:[d.IConsoleTracker,a.IPositionModel],activate:(e,t,n)=>{let i=null,o=async e=>{let o=null;if(e!==i){if(null==i||i.console.promptCellCreated.disconnect(n.update),i=null,e&&t.has(e)){e.console.promptCellCreated.connect(n.update);let t=e.console.promptCell;o=null,t&&(await t.ready,o=t.editor),i=e}}else if(e){let t=e.console.promptCell;o=null,t&&(await t.ready,o=t.editor)}return o};n.addEditorProvider(o)}},{id:"@jupyterlab/console-extension:completer",description:"Adds completion to the console.",autoStart:!0,requires:[d.IConsoleTracker],optional:[l.ICompletionProviderManager,g.ITranslator,s.ISanitizer],activate:S},w];async function B(e,t,n,i,r,a,l,c,h,u,p,m,_,y,E,w,j){var x;let B,S,M,I,k,D,T,L=null!=E?E:g.nullTranslator,N=L.load("jupyterlab"),P=e.serviceManager,{commands:z,shell:R}=e,O=N.__("Console"),F=null!=_?_:new s.SessionContextDialogs({translator:L}),W="@jupyterlab/console-extension:tracker",H=["top","bottom","left","right"];if(j){let e="ConsolePanel";B=(0,s.createToolbarFactory)(j,a,e,W,L),w&&j.addFactory(e,"kernelName",e=>s.Toolbar.createKernelNameItem(e.sessionContext,w,L)),j.addFactory(e,"kernelStatus",e=>{let t=e.sessionContext;return s.Toolbar.createKernelStatusItem(t)});let t=new v.Menu({commands:z});t.addClass("jp-CodeConsolePromptMenu"),H.forEach(e=>{t.addItem({command:`console:prompt-to-${e}`})}),j.addFactory(e,"promptPosition",e=>{let n=new A.ToolbarButton({tooltip:N.__("Change Console Prompt Position"),icon:A.dotsIcon,onClick:()=>{let e=n.node.getBoundingClientRect().right,i=n.node.getBoundingClientRect().bottom;t.open(e,i,{horizontalAlignment:"right"})}});return n})}let U=new s.WidgetTracker({namespace:"console"});async function Y(e){var o,l;await P.ready;let c=new d.ConsolePanel({manager:P,contentFactory:t,mimeTypeService:n.mimeTypeService,rendermime:r,sessionDialogs:F,executor:i,translator:L,setBusy:null!=(o=m&&(()=>m.setBusy()))?o:void 0,...e});B&&(0,s.setToolbar)(c,B);let h=(await a.get("@jupyterlab/console-extension:tracker","interactionMode")).composite;return c.console.node.dataset.jpInteractionMode=h,await U.add(c),c.sessionContext.propertyChanged.connect(()=>{U.save(c)}),e.subshell&&c.sessionContext.kernelChanged.connect(async()=>{c.sessionContext.isDisposed||c.sessionContext.ready.then(async()=>{if(null===c.sessionContext.session)console.error("Cannot create subshell without session");else if(null===c.sessionContext.session.kernel)console.error("Cannot create subshell without kernel");else{let{kernel:e}=c.sessionContext.session;await e.info;let t=await e.requestCreateSubshell({}).done;e.subshellId=t.content.subshell_id}}).catch(e=>{console.error("Failed to initialize SessionContext or create new subshell.",e)})}),R.add(c,"main",{ref:e.ref,mode:e.insertMode,activate:!1!==e.activate,type:null!=(l=e.type)?l:"Console"}),c}l&&l.restore(U,{command:o.create,args:e=>{let{path:t,name:n,kernelPreference:i}=e.console.sessionContext;return{path:t,name:n,kernelPreference:{...i}}},name:e=>{var t;return null!=(t=e.console.sessionContext.path)?t:f.UUID.uuid4()},when:P.ready}),p&&P.ready.then(()=>{let e=null,t=()=>{e&&(e.dispose(),e=null);let t=P.kernelspecs.specs;if(t)for(let n in e=new b.DisposableSet,t.kernelspecs){let i=n===t.default?0:1/0,r=t.kernelspecs[n],s=r.resources["logo-svg"]||r.resources["logo-64x64"];e.add(p.add({command:o.create,args:{isLauncher:!0,kernelPreference:{name:n}},category:N.__("Console"),rank:i,kernelIconUrl:s,metadata:{kernel:f.JSONExt.deepCopy(r.metadata||{})}}))}};t(),P.kernelspecs.specsChanged.connect(t)});let V={};async function q(e){S=(await a.get(W,"clearCellsOnExecute")).composite,M=(await a.get(W,"clearCodeContentOnExecute")).composite,I=(await a.get(W,"hideCodeInput")).composite,k=(await a.get(W,"interactionMode")).composite,V=(await a.get(W,"promptCellConfig")).composite,D=(await a.get(W,"promptCellPosition")).composite,T=(await a.get(W,"showBanner")).composite;let t=e=>{var t,n;e.console.node.dataset.jpInteractionMode=k,e.console.editorConfig={...d.CodeConsole.defaultEditorConfig,...V},null==(n=null==(t=e.console.promptCell)?void 0:t.editor)||n.setOptions({...d.CodeConsole.defaultEditorConfig,...V,tabFocusable:!0}),e.console.setConfig({clearCellsOnExecute:S,clearCodeContentOnExecute:M,hideCodeInput:I,promptCellPosition:D,showBanner:T})};e?t(e):U.forEach(t)}if(a.pluginChanged.connect((e,t)=>{t===W&&q()}),await q(),y){let e=y.getRenderer("@jupyterlab/codemirror-extension:plugin.defaultConfig");e&&y.addRenderer("@jupyterlab/console-extension:tracker.promptCellConfig",e)}function G(){return null!==U.currentWidget&&(U.currentWidget===R.currentWidget||U.currentWidget.node.contains(document.activeElement))}function $(e){var t;let n=e[s.SemanticCommand.WIDGET]?null!=(t=U.find(t=>t.id===e[s.SemanticCommand.WIDGET]))?t:null:U.currentWidget;return!1!==e.activate&&n&&R.activateById(n.id),n}U.widgetAdded.connect((e,t)=>{q(t)}),z.addCommand(o.autoClosingBrackets,{execute:async e=>{var t;V.autoClosingBrackets=!!(null!=(t=e.force)?t:!V.autoClosingBrackets),await a.set(W,"promptCellConfig",V)},label:N.__("Auto Close Brackets for Code Console Prompt"),isToggled:()=>V.autoClosingBrackets,describedBy:{args:{type:"object",properties:{force:{type:"boolean",description:N.__("Whether to force the toggle state")}}}}}),z.addCommand(o.open,{label:N.__("Open a console for the provided `path`."),describedBy:{args:{type:"object",properties:{path:{type:"string",description:N.__("The path of the session to open")},activate:{type:"boolean",description:N.__("Whether to activate the console widget")}},required:["path"]}},execute:e=>{let t=e.path,n=U.find(e=>{var n;return(null==(n=e.console.sessionContext.session)?void 0:n.path)===t});return n?(!1!==e.activate&&R.activateById(n.id),n):P.ready.then(()=>(0,C.find)(P.sessions.running(),e=>e.path===t)?Y(e):Promise.reject(`No running kernel session for path: ${t}`))}}),z.addCommand(o.create,{label:e=>{var t,n,i,o;if(e.isPalette)return N.__("New Console");if(e.isLauncher&&e.kernelPreference){let r=e.kernelPreference;return null!=(o=null==(i=null==(n=null==(t=P.kernelspecs)?void 0:t.specs)?void 0:n.kernelspecs[r.name||""])?void 0:i.display_name)?o:""}return N.__("Console")},icon:e=>e.isPalette?void 0:A.consoleIcon,describedBy:{args:{type:"object",properties:{isPalette:{type:"boolean",description:N.__("Whether the command is executed from the palette")},isLauncher:{type:"boolean",description:N.__("Whether the command is executed from the launcher")},kernelPreference:{type:"object",description:N.__("The kernel preference for the console. Preferences are considered in the order `id`, `name`, `language`. If no matching kernels can be found and `autoStartDefault` is `true`, then the default kernel for the server is preferred."),properties:{id:{type:"string",description:N.__("The id of an existing kernel")},name:{type:"string",description:N.__("The name of the kernel")},language:{type:"string",description:N.__("The preferred kernel language")},shouldStart:{type:"boolean",description:N.__("A kernel should be started automatically (default `true`)")},canStart:{type:"boolean",description:N.__("A kernel can be started (default `true`)")},shutdownOnDispose:{type:"boolean",description:N.__("Shut down the session when session context is disposed (default `false`)")},autoStartDefault:{type:"boolean",description:N.__("Automatically start the default kernel if no other matching kernel is found (default `false`)")},skipKernelRestartDialog:{type:"boolean",description:N.__("Skip showing the kernel restart dialog if checked (default `false`)")}}},basePath:{type:"string",description:N.__("The base path for the console")},cwd:{type:"string",description:N.__("The current working directory")},activate:{type:"boolean",description:N.__("Whether to activate the widget")},ref:{type:"string",description:N.__("The reference widget id for the insert location")},insertMode:{type:"string",description:N.__("The tab insert mode")}}}},execute:e=>{var t;return Y({basePath:null!=(t=e.basePath||e.cwd||(null==c?void 0:c.model.path))?t:"",...e})}});let J={top:A.dockTopIcon,bottom:A.dockBottomIcon,right:A.dockRightIcon,left:A.dockLeftIcon};H.forEach(e=>{let t=`console:prompt-to-${e}`;z.addCommand(t,{execute:t=>{let n=$(t);n&&n.console.setConfig({promptCellPosition:e})},isEnabled:()=>!!U.currentWidget&&U.currentWidget.isVisible,label:N.__(`Prompt to ${e}`),icon:t=>t.isPalette?void 0:J[e],describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:N.__("Whether to activate the widget")},isPalette:{type:"boolean",description:N.__("Whether the command is executed from palette")}}}}}),u&&u.addItem({command:t,category:O,args:{isPalette:!0}})}),z.addCommand(o.undo,{execute:e=>{var t;let n=$(e);if(!n)return;let i=null==(t=n.console.promptCell)?void 0:t.editor;i&&i.undo()},isEnabled:e=>{var t,n,i;if(!G())return!1;let o=null==(i=null==(n=null==(t=$(e))?void 0:t.console)?void 0:n.promptCell)?void 0:i.editor;return!!o&&o.model.sharedModel.canUndo()},icon:A.undoIcon.bindprops({stylesheet:"menuItem"}),label:N.__("Undo"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:N.__("Whether to activate the widget")}}}}}),z.addCommand(o.redo,{execute:e=>{var t;let n=$(e);if(!n)return;let i=null==(t=n.console.promptCell)?void 0:t.editor;i&&i.redo()},isEnabled:e=>{var t,n,i;if(!G())return!1;let o=null==(i=null==(n=null==(t=$(e))?void 0:t.console)?void 0:n.promptCell)?void 0:i.editor;return!!o&&o.model.sharedModel.canRedo()},icon:A.redoIcon.bindprops({stylesheet:"menuItem"}),label:N.__("Redo"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:N.__("Whether to activate the widget")}}}}}),z.addCommand(o.clear,{label:N.__("Clear Console Cells"),icon:e=>e.toolbar?A.clearIcon:void 0,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:N.__("Whether executed from toolbar")},activate:{type:"boolean",description:N.__("Whether to activate the widget")}}}},execute:e=>{let t=$(e);t&&t.console.clear()},isEnabled:G}),z.addCommand(o.runUnforced,{label:N.__("Run Cell (unforced)"),icon:e=>e.toolbar?A.runIcon:void 0,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:N.__("Whether executed from toolbar")},activate:{type:"boolean",description:N.__("Whether to activate the widget")}}}},execute:e=>{let t=$(e);if(t)return t.console.execute()},isEnabled:G}),z.addCommand(o.runForced,{label:N.__("Run Cell (forced)"),icon:e=>e.toolbar?A.runIcon:void 0,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:N.__("Whether executed from toolbar")},activate:{type:"boolean",description:N.__("Whether to activate the widget")}}}},execute:e=>{let t=$(e);if(t)return t.console.execute(!0)},isEnabled:G}),z.addCommand(o.linebreak,{label:N.__("Insert Line Break"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:N.__("Whether to activate the widget")}}}},execute:e=>{let t=$(e);t&&t.console.insertLinebreak()},isEnabled:G}),z.addCommand(o.replaceSelection,{label:N.__("Replace Selection in Console"),describedBy:{args:{type:"object",properties:{text:{type:"string",description:N.__("The text to replace the selection with")},activate:{type:"boolean",description:N.__("Whether to activate the widget")}}}},execute:e=>{let t=$(e);if(!t)return;let n=e.text||"";t.console.replaceSelection(n)},isEnabled:G}),z.addCommand(o.interrupt,{label:N.__("Interrupt Kernel"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:N.__("Whether to activate the widget")}}}},execute:e=>{var t;let n=$(e);if(!n)return;let i=null==(t=n.console.sessionContext.session)?void 0:t.kernel;if(i)return i.interrupt()},isEnabled:G}),z.addCommand(o.restart,{label:N.__("Restart Kernel…"),icon:e=>e.toolbar?A.refreshIcon:void 0,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:N.__("Whether executed from toolbar")},activate:{type:"boolean",description:N.__("Whether to activate the widget")}}}},execute:e=>{let t=$(e);if(t)return F.restart(t.console.sessionContext)},isEnabled:G}),z.addCommand(o.shutdown,{label:N.__("Shut Down"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:N.__("Whether to activate the widget")}}}},execute:e=>{let t=$(e);if(t)return t.console.sessionContext.shutdown()}}),z.addCommand(o.closeAndShutdown,{label:N.__("Close and Shut Down…"),execute:e=>{let t=$(e);if(t)return(0,s.showDialog)({title:N.__("Shut down the console?"),body:N.__('Are you sure you want to close "%1"?',t.title.label),buttons:[s.Dialog.cancelButton({ariaLabel:N.__("Cancel console Shut Down")}),s.Dialog.warnButton({ariaLabel:N.__("Confirm console Shut Down")})]}).then(e=>!!e.button.accept&&z.execute(o.shutdown,{activate:!1}).then(()=>(t.dispose(),!0)))},isEnabled:G,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:N.__("Whether to activate the widget")}}}}}),z.addCommand(o.inject,{label:N.__("Inject some code in a console."),describedBy:{args:{type:"object",properties:{path:{type:"string",description:N.__("The path of the console session")},code:{type:"string",description:N.__("The code to inject")},metadata:{type:"object",description:N.__("The metadata for the code")},activate:{type:"boolean",description:N.__("Whether to activate the widget")}},required:["path","code"]}},execute:e=>{let t=e.path;U.find(n=>{var i;return(null==(i=n.console.sessionContext.session)?void 0:i.path)===t&&(!1!==e.activate&&R.activateById(n.id),n.console.inject(e.code,e.metadata),!0)})},isEnabled:G}),z.addCommand(o.changeKernel,{label:N.__("Change Kernel…"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:N.__("Whether to activate the widget")}}}},execute:e=>{let t=$(e);if(t)return F.selectKernel(t.console.sessionContext)},isEnabled:G}),z.addCommand(o.getKernel,{label:N.__("Get Kernel"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:N.__("Whether to activate the widget")}}}},execute:e=>{var t;let n=$({activate:!1,...e});if(n)return null==(t=n.sessionContext.session)?void 0:t.kernel},isEnabled:G});let K=[o.create],Z=()=>{Object.values(o).filter(e=>!K.includes(e)).forEach(t=>e.commands.notifyCommandChanged(t))};U.currentChanged.connect(Z),null==(x=R.currentChanged)||x.connect(Z),u&&[o.create,o.linebreak,o.clear,o.runUnforced,o.runForced,o.restart,o.interrupt,o.changeKernel,o.closeAndShutdown].forEach(e=>{u.addItem({command:e,category:O,args:{isPalette:!0}})}),h&&(h.fileMenu.closeAndCleaners.add({id:o.closeAndShutdown,isEnabled:G}),h.kernelMenu.kernelUsers.changeKernel.add({id:o.changeKernel,isEnabled:G}),h.kernelMenu.kernelUsers.clearWidget.add({id:o.clear,isEnabled:G}),h.kernelMenu.kernelUsers.interruptKernel.add({id:o.interrupt,isEnabled:G}),h.kernelMenu.kernelUsers.restartKernel.add({id:o.restart,isEnabled:G}),h.kernelMenu.kernelUsers.shutdownKernel.add({id:o.shutdown,isEnabled:G}),h.runMenu.codeRunners.run.add({id:o.runForced,isEnabled:G}),h.editMenu.clearers.clearCurrent.add({id:o.clear,isEnabled:G}),h.editMenu.undoers.redo.add({id:o.redo,isEnabled:G}),h.editMenu.undoers.undo.add({id:o.undo,isEnabled:G}),h.helpMenu.getKernel.add({id:o.getKernel,isEnabled:G}));let Q={notebook:N.__("Execute with Shift+Enter"),terminal:N.__("Execute with Enter")};return z.addCommand(o.interactionMode,{label:e=>{var t;return null!=(t=Q[e.interactionMode])?t:"Set the console interaction mode."},execute:async e=>{let t="keyMap";try{await a.set(W,"interactionMode",e.interactionMode)}catch(e){console.error(`Failed to set ${W}:${t} - ${e.message}`)}},isToggled:e=>e.interactionMode===k,describedBy:{args:{type:"object",properties:{interactionMode:{type:"string",enum:["notebook","terminal"],description:N.__("The interaction mode for the console")}}}}}),U}function S(e,t,n,i,r){if(!n)return;let a=(null!=i?i:g.nullTranslator).load("jupyterlab"),l=null!=r?r:new s.Sanitizer;e.commands.addCommand(o.invokeCompleter,{label:a.__("Display the completion helper."),execute:()=>{let e=t.currentWidget&&t.currentWidget.id;if(e)return n.invoke(e)},describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(o.selectCompleter,{label:a.__("Select the completion suggestion."),execute:()=>{let e=t.currentWidget&&t.currentWidget.id;if(e)return n.select(e)},describedBy:{args:{type:"object",properties:{}}}}),e.commands.addKeyBinding({command:o.selectCompleter,keys:["Enter"],selector:".jp-ConsolePanel .jp-mod-completer-active"});let d=async(e,t)=>{var i,o;let r={editor:null!=(o=null==(i=t.console.promptCell)?void 0:i.editor)?o:null,session:t.console.sessionContext.session,widget:t};await n.updateCompleter(r),t.console.promptCellCreated.connect((e,i)=>{let o={editor:i.editor,session:e.sessionContext.session,widget:t,sanitzer:l};n.updateCompleter(o).catch(console.error)}),t.console.sessionContext.sessionChanged.connect(()=>{var e,i;let o={editor:null!=(i=null==(e=t.console.promptCell)?void 0:e.editor)?i:null,session:t.console.sessionContext.session,widget:t,sanitizer:l};n.updateCompleter(o).catch(console.error)})};t.widgetAdded.connect(d),n.activeProvidersChanged.connect(()=>{t.forEach(e=>{d(void 0,e).catch(e=>console.error(e))})})}},4942(e,t,n){"use strict";n(82311),n(97777),n(62971),n(38415),n(22595),n(67474),n(47040),n(29099),n(3839),n(14037),n(67996);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(5278),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},95580(e,t,n){"use strict";n.r(t),n.d(t,{CodeConsole:()=>L,ConsoleHistory:()=>h,ConsolePanel:()=>P,ForeignHandler:()=>c,IConsoleCellExecutor:()=>R,IConsoleTracker:()=>z,runCell:()=>a});var i,o,r,s=n(74005);async function a({cell:e,onCellExecuted:t,sessionContext:n}){let i=n=>{if(n&&"ok"===n.content.status){let i=n.content;if(i.payload&&i.payload.length){let t=i.payload.filter(e=>"set_next_input"===e.source)[0];if(t){let n=t.text;e.model.sharedModel.setSource(n)}}return t({cell:e,executionDate:new Date,success:!0}),!0}if(n&&"error"===n.content.status){let i=n.content.ename,o=n.content.evalue;return t({cell:e,executionDate:new Date,success:!1,error:Error(`KernelReplyNotOK: ${i} ${o}`)}),!1}return t({cell:e,executionDate:new Date,success:!1}),!1},o=n=>(t({cell:e,executionDate:new Date,success:!1,error:Error(n)}),!1);return s.CodeCell.execute(e,n).then(i,o)}var l=n(20659);let d="jp-CodeConsole-foreignCell";class c{constructor(e){this._enabled=!1,this._isDisposed=!1,this.sessionContext=e.sessionContext,this.sessionContext.iopubMessage.connect(this.onIOPubMessage,this),this._parent=e.parent}get enabled(){return this._enabled}set enabled(e){this._enabled=e}get parent(){return this._parent}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,l.Signal.clearData(this))}onIOPubMessage(e,t){var n;let i;if(!this._enabled)return!1;let o=null==(n=this.sessionContext.session)?void 0:n.kernel;if(!o)return!1;let r=this._parent;if(t.parent_header.session===o.clientId)return!1;let s=t.header.msg_type,a=t.parent_header.msg_id;switch(s){case"execute_input":{let e=t,n=(i=this._newCell(a)).model;return n.executionCount=e.content.execution_count,n.sharedModel.setSource(e.content.code),n.trusted=!0,r.update(),!0}case"execute_result":case"display_data":case"stream":case"error":{if(!(i=this._parent.getCell(a)))return!1;let e={...t.content,output_type:s};return i.model.outputs.add(e),r.update(),!0}case"clear_output":{let e=t.content.wait;return(i=this._parent.getCell(a))&&i.model.outputs.clear(e),!0}default:return!1}}_newCell(e){let t=this.parent.createCodeCell();return t.addClass(d),this._parent.addCell(t,e),t}}class h{constructor(e){this._cursor=0,this._hasSession=!1,this._history=[],this._placeholder="",this._setByHistory=!1,this._isDisposed=!1,this._editor=null,this._filtered=[];const{sessionContext:t}=e;t&&(this.sessionContext=t,this._handleKernel(),this.sessionContext.kernelChanged.connect(this._handleKernel,this))}get editor(){return this._editor}set editor(e){if(this._editor===e)return;let t=this._editor;t&&(t.edgeRequested.disconnect(this.onEdgeRequest,this),t.model.sharedModel.changed.disconnect(this.onTextChange,this)),this._editor=e,e&&(e.edgeRequested.connect(this.onEdgeRequest,this),e.model.sharedModel.changed.connect(this.onTextChange,this))}get placeholder(){return this._placeholder}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed=!0,this._history.length=0,l.Signal.clearData(this)}back(e){return this._hasSession||(this._hasSession=!0,this._placeholder=e,this.setFilter(e),this._cursor=this._filtered.length-1),--this._cursor,this._cursor=Math.max(0,this._cursor),Promise.resolve(this._filtered[this._cursor])}forward(e){return this._hasSession||(this._hasSession=!0,this._placeholder=e,this.setFilter(e),this._cursor=this._filtered.length),++this._cursor,this._cursor=Math.min(this._filtered.length-1,this._cursor),Promise.resolve(this._filtered[this._cursor])}push(e){e&&e!==this._history[this._history.length-1]&&this._history.push(e),this.reset()}reset(){this._cursor=this._history.length,this._hasSession=!1,this._placeholder=""}onHistory(e){this._history.length=0;let t="",n="";if("ok"===e.content.status)for(let i=0;i<e.content.history.length;i++)(n=e.content.history[i][2])!==t&&this._history.push(t=n);this._cursor=this._history.length}onTextChange(){if(this._setByHistory){this._setByHistory=!1;return}this.reset()}onEdgeRequest(e,t){let n=e.model.sharedModel,i=n.getSource();"top"===t||"topLine"===t?this.back(i).then(t=>{if(this.isDisposed||!t||n.getSource()===t)return;this._setByHistory=!0,n.setSource(t);let i=0;(i=t.indexOf("\n"))<0&&(i=t.length),e.setCursorPosition({line:0,column:i})}):this.forward(i).then(t=>{if(this.isDisposed)return;let i=t||this.placeholder;if(n.getSource()===i)return;this._setByHistory=!0,n.setSource(i);let o=e.getPositionAt(i.length);o&&e.setCursorPosition(o)})}async _handleKernel(){var e,t;let n=null==(t=null==(e=this.sessionContext)?void 0:e.session)?void 0:t.kernel;if(!n){this._history.length=0;return}return n.requestHistory(i.initialRequest).then(e=>{this.onHistory(e)})}setFilter(e=""){this._filtered.length=0;let t="",n="";for(let i=0;i<this._history.length;i++)(n=this._history[i])!==t&&e===n.slice(0,e.length)&&this._filtered.push(t=n);this._filtered.push(e)}}!function(e){e.initialRequest={output:!1,raw:!0,hist_access_type:"tail",n:500}}(i||(i={}));var u=n(97518),p=n(28951),m=n(31031),g=n(2786),A=n(8989),C=n(55187),f=n(64001),b=n(58196),v=n(52782),_=n(11957);let y="jpKernelUser",E="jpCodeRunner",w="jp-CodeConsole",j="jp-Console-cell",x="jp-CodeConsole-banner",B="jp-CodeConsole-promptCell",S="jp-CodeConsole-content",M="jp-CodeConsole-input",I="jp-mod-readWrite",k=250,D="application/vnd.jupyter.cells",T="jpUndoer";class L extends f.Widget{constructor(e){var t,n,i;super(),this.editorConfig=L.defaultEditorConfig,this._banner=null,this._executed=new l.Signal(this),this._config={},this._mimetype="text/x-ipython",this._msgIds=new Map,this._msgIdCells=new Map,this._promptCellCreated=new l.Signal(this),this._dragData=null,this._drag=null,this._focusedCell=null,this._promptResizeObserver=null,this._hasManualResize=!1,this._resizeAnimationFrameId=null,this._translator=null!=(t=e.translator)?t:g.nullTranslator,this._executor=null!=(n=e.executor)?n:Object.freeze({runCell:a}),this.addClass(w),this.node.dataset[y]="true",this.node.dataset[E]="true",this.node.dataset[T]="true",this.node.tabIndex=-1;const o=this.layout=new f.PanelLayout;this._cells=new v.ObservableList,this._content=new f.Panel,this._input=new f.Panel,this._splitPanel=new f.SplitPanel({spacing:0}),this._splitPanel.addClass("jp-CodeConsole-split"),this.contentFactory=e.contentFactory,this.modelFactory=null!=(i=e.modelFactory)?i:L.defaultModelFactory,this.rendermime=e.rendermime,this.sessionContext=e.sessionContext,this._mimeTypeService=e.mimeTypeService,this._content.addClass(S),this._content.node.tabIndex=0,this._input.addClass(M),this._input.node.tabIndex=0,o.addWidget(this._splitPanel),this._splitPanel.handleMoved.connect(()=>{this._setManualResize()},this),this._splitPanel.node.addEventListener("pointerdown",e=>{e.target.classList.contains("lm-SplitPanel-handle")&&this._setManualResize()},!0),this.setConfig({clearCellsOnExecute:!1,clearCodeContentOnExecute:!0,hideCodeInput:!1,promptCellPosition:"bottom",showBanner:!0}),this._history=new h({sessionContext:this.sessionContext}),this._onKernelChanged(),this.sessionContext.kernelChanged.connect(this._onKernelChanged,this),this.sessionContext.statusChanged.connect(this._onKernelStatusChanged,this)}get executed(){return this._executed}get promptCellCreated(){return this._promptCellCreated}get cells(){return this._cells}get promptCell(){let e=this._input.layout;return e&&e.widgets[0]||null}addCell(e,t){var n;this._config.clearCellsOnExecute&&this.clear(),e.addClass(j),null==(n=e.editor)||n.setOption("tabFocusable",!1),this._content.addWidget(e),this._cells.push(e),t&&(this._msgIds.set(t,e),this._msgIdCells.set(e,t)),e.disposed.connect(this._onCellDisposed,this),this.update()}addBanner(){if(this._banner){let e=this._banner;this._cells.push(this._banner),e.disposed.connect(this._onCellDisposed,this)}let e=this.modelFactory.createRawCell({sharedModel:(0,b.createStandaloneCell)({cell_type:"raw",source:"..."})}),t=(this._banner=new s.RawCell({model:e,contentFactory:this.contentFactory,placeholder:!1,editorConfig:{autoClosingBrackets:!1,codeFolding:!1,highlightActiveLine:!1,highlightTrailingWhitespace:!1,highlightWhitespace:!1,indentUnit:"4",lineNumbers:!1,lineWrap:!0,matchBrackets:!1,readOnly:!0,rulers:[],scrollPastEnd:!1,smartIndent:!1,tabSize:4,theme:"jupyter",tabFocusable:!1}})).initializeState();t.addClass(x),t.readOnly=!0,this._content.addWidget(t)}clear(){let e=this._cells;for(;e.length>0;)e.get(0).dispose()}createCodeCell(){let e=this.contentFactory,t=this._createCodeCellOptions(),n=e.createCodeCell(t);return n.readOnly=!0,n.model.mimeType=this._mimetype,n}dispose(){if(this.isDisposed)return;let e=this.promptCell;e&&(this._promptResizeObserver&&(this._promptResizeObserver.disconnect(),this._promptResizeObserver=null),e.model.sharedModel.changed.disconnect(this._onPromptContentChanged,this)),this._cancelPendingResizeAdjustment(),this._msgIdCells=null,this._msgIds=null,this._history.dispose(),super.dispose()}async execute(e=!1,t=k){var n,i;if((null==(i=null==(n=this.sessionContext.session)?void 0:n.kernel)?void 0:i.status)==="dead")return;let o=this.promptCell;if(!o)throw Error("Cannot execute without a prompt cell");if(o.model.trusted=!0,e){this.newPromptCell(),await this._execute(o);return}let r=await this._shouldExecute(t);this.isDisposed||(r?(this.newPromptCell(),this.promptCell.editor.focus(),await this._execute(o)):o.editor.newIndentedLine())}getCell(e){return this._msgIds.get(e)}inject(e,t={}){var n;let i=this.createCodeCell();for(let n of(i.model.sharedModel.setSource(e),Object.keys(t)))i.model.setMetadata(n,t[n]);return this.addCell(i),this._config.hideCodeInput&&(null==(n=i.inputArea)||n.setHidden(!0)),this._execute(i)}insertLinebreak(){let e=this.promptCell;e&&e.editor.newIndentedLine()}replaceSelection(e){var t,n;let i=this.promptCell;i&&(null==(n=(t=i.editor).replaceSelection)||n.call(t,e))}setConfig(e){let{clearCellsOnExecute:t,clearCodeContentOnExecute:n,hideCodeInput:i,promptCellPosition:o,showBanner:r}=e;this._config={clearCellsOnExecute:null!=t?t:this._config.clearCellsOnExecute,clearCodeContentOnExecute:null!=n?n:this._config.clearCodeContentOnExecute,hideCodeInput:null!=i?i:this._config.hideCodeInput,promptCellPosition:null!=o?o:this._config.promptCellPosition,showBanner:null!=r?r:this._config.showBanner},this._updateLayout()}serialize(){let e=[];for(let t of this._cells){let n=t.model;(0,s.isCodeCellModel)(n)&&e.push(n.toJSON())}return this.promptCell&&e.push(this.promptCell.model.toJSON()),e}_evtMouseDown(e){let{button:t,shiftKey:n}=e;if(0!==t&&2!==t||n&&2===t)return;let i=e.target,o=e=>e.classList.contains(j),r=s.CellDragUtils.findCell(i,this._cells,o);if(-1===r&&(i=document.elementFromPoint(e.clientX,e.clientY),r=s.CellDragUtils.findCell(i,this._cells,o)),-1===r)return;let a=this._cells.get(r);"prompt"===s.CellDragUtils.detectTargetArea(a,e.target)&&(this._dragData={pressX:e.clientX,pressY:e.clientY,index:r},this._focusedCell=a,document.addEventListener("mouseup",this,!0),document.addEventListener("mousemove",this,!0),e.preventDefault())}_evtMouseMove(e){let t=this._dragData;t&&s.CellDragUtils.shouldStartDrag(t.pressX,t.pressY,e.clientX,e.clientY)&&this._startDrag(t.index,e.clientX,e.clientY)}_startDrag(e,t,n){let i=this._focusedCell.model,o=[i.toJSON()],r=s.CellDragUtils.createCellDragImage(this._focusedCell,o);this._drag=new _.Drag({mimeData:new C.MimeData,dragImage:r,proposedAction:"copy",supportedActions:"copy",source:this}),this._drag.mimeData.setData(D,o);let a=i.sharedModel.getSource();return this._drag.mimeData.setData("text/plain",a),this._focusedCell=null,document.removeEventListener("mousemove",this,!0),document.removeEventListener("mouseup",this,!0),this._drag.start(t,n).then(()=>{this.isDisposed||(this._drag=null,this._dragData=null)})}handleEvent(e){switch(e.type){case"keydown":this._evtKeyDown(e);break;case"mousedown":this._evtMouseDown(e);break;case"mousemove":this._evtMouseMove(e);break;case"mouseup":this._evtMouseUp(e);break;case"resize":this._splitPanel.fit();break;case"focusin":this._evtFocusIn(e);break;case"focusout":this._evtFocusOut(e)}}onAfterAttach(e){let t=this.node;t.addEventListener("keydown",this,!0),t.addEventListener("click",this),t.addEventListener("mousedown",this),t.addEventListener("focusin",this),t.addEventListener("focusout",this),this.promptCell?(this.promptCell.editor.focus(),this.update()):this.newPromptCell()}onBeforeDetach(e){let t=this.node;t.removeEventListener("keydown",this,!0),t.removeEventListener("click",this),t.removeEventListener("focusin",this),t.removeEventListener("focusout",this)}onActivateRequest(e){let t=this.promptCell&&this.promptCell.editor;t&&t.focus(),this.update()}newPromptCell(){var e,t,n,i,o,r;let s=this.promptCell,a=this._input,d=null!=(e=null==s?void 0:s.model.sharedModel.getSource())?e:"",c=null==(t=null==s?void 0:s.editor)?void 0:t.getCursorPosition();if(s){s.readOnly=!0,s.removeClass(B),null==(n=s.editor)||n.setOption("tabFocusable",!1),s.model.sharedModel.changed.disconnect(this._onPromptContentChanged,this);let e=s,t=this._promptResizeObserver;requestIdleCallback(()=>{l.Signal.clearData(e.editor),t&&t.disconnect()}),null==(i=s.editor)||i.blur(),a.widgets[0].parent=null,this._config.hideCodeInput&&(null==(o=s.inputArea)||o.setHidden(!0)),this.addCell(s)}let h=this.contentFactory,u=this._createCodeCellOptions();(s=h.createCodeCell(u)).model.mimeType=this._mimetype,s.addClass(B),this._input.addWidget(s),this._history.editor=s.editor,s.node&&(this._promptResizeObserver=new ResizeObserver(()=>{this._scheduleInputSizeAdjustment()}),this._promptResizeObserver.observe(s.node)),s.model.sharedModel.changed.connect(this._onPromptContentChanged,this),!this._config.clearCodeContentOnExecute&&(s.model.sharedModel.setSource(d),c&&(null==(r=s.editor)||r.setCursorPosition(c))),this._promptCellCreated.emit(s)}onUpdateRequest(e){o.scrollToBottom(this._content.node)}_evtKeyDown(e){let t=this.promptCell&&this.promptCell.editor;t&&("Enter"!==e.key||t.hasFocus()?"Escape"===e.key&&t.hasFocus()&&(e.preventDefault(),e.stopPropagation(),t.setOption("tabFocusable",!1),this._input.node.focus()):(e.preventDefault(),t.focus()))}_evtMouseUp(e){this.promptCell&&this.promptCell.node.contains(e.target)&&this.promptCell.editor.focus()}_evtFocusIn(e){this._updateReadWrite()}_evtFocusOut(e){this._updateReadWrite()}async _execute(e){let t=e.model.sharedModel.getSource();if(this._history.push(t),"clear"===t||"%clear"===t)return this.clear(),Promise.resolve(void 0);e.model.contentChanged.connect(this.update,this);let n={cell:e,sessionContext:this.sessionContext,onCellExecuted:e=>{if(this._executed.emit(e.executionDate),e.error)for(let e of this._cells)null===e.model.executionCount&&(e.model.executionState="idle")}};try{await this._executor.runCell(n)}finally{this.isDisposed||(e.model.contentChanged.disconnect(this.update,this),this.update())}}_handleInfo(e){if("ok"!==e.status){this._banner&&this._banner.model.sharedModel.setSource("Error in getting kernel banner");return}this._banner&&this._banner.model.sharedModel.setSource(e.banner);let t=e.language_info;this._mimetype=this._mimeTypeService.getMimeTypeByLanguage(t),this.promptCell&&(this.promptCell.model.mimeType=this._mimetype)}_createCodeCellOptions(){let e=this.contentFactory,t=this.modelFactory.createCodeCell({});return{model:t,rendermime:this.rendermime,contentFactory:e,editorConfig:this.editorConfig,placeholder:!1,translator:this._translator}}_onCellDisposed(e,t){if(!this.isDisposed){this._cells.removeValue(e);let t=this._msgIdCells.get(e);t&&(this._msgIdCells.delete(e),this._msgIds.delete(t))}}_shouldExecute(e){let t=this.promptCell;if(!t)return Promise.resolve(!1);let n=t.model.sharedModel.getSource();return new Promise((t,i)=>{var o;let r=setTimeout(()=>{t(!0)},e),s=null==(o=this.sessionContext.session)?void 0:o.kernel;s?s.requestIsComplete({code:n}).then(e=>{(clearTimeout(r),this.isDisposed&&t(!1),"incomplete"!==e.content.status)?t(!0):t(!1)}).catch(()=>{t(!0)}):t(!1)})}async _onKernelChanged(){var e;this.clear(),this._banner&&(this._banner.dispose(),this._banner=null),this._config.showBanner&&this.addBanner(),(null==(e=this.sessionContext.session)?void 0:e.kernel)&&this._handleInfo(await this.sessionContext.session.kernel.info)}async _onKernelStatusChanged(){var e;let t=null==(e=this.sessionContext.session)?void 0:e.kernel;(null==t?void 0:t.status)==="restarting"&&(this._config.showBanner&&this.addBanner(),this._handleInfo(await (null==t?void 0:t.info)))}_updateReadWrite(){let e=u.DOMUtils.hasActiveEditableElement(this.node);this.node.classList.toggle(I,e)}_calculateRelativeSizes(){let{promptCellPosition:e="bottom"}=this._config,t=[1,1];return"top"===e?t=[1,100]:"bottom"===e&&(t=[100,1]),t}_setManualResize(){this._hasManualResize=!0,this._cancelPendingResizeAdjustment()}_cancelPendingResizeAdjustment(){null!==this._resizeAnimationFrameId&&(cancelAnimationFrame(this._resizeAnimationFrameId),this._resizeAnimationFrameId=null)}_scheduleInputSizeAdjustment(){this._hasManualResize||null===this._resizeAnimationFrameId&&(this._resizeAnimationFrameId=requestAnimationFrame(()=>{this._resizeAnimationFrameId=null,this._adjustSplitPanelForInputGrowth()}))}_onPromptContentChanged(){this._scheduleInputSizeAdjustment()}_adjustSplitPanelForInputGrowth(){let e,t;if(this.isDisposed||!this._input.node||!this._content.node||this._hasManualResize)return;let{promptCellPosition:n="bottom"}=this._config;if("left"===n||"right"===n)return;let i=this.promptCell;if(!i||!i.editor)return;let o=i.editor.editor.contentHeight+this._getInputCellPadding(),r=this._splitPanel.node.clientHeight;if(r<=0||o<=0)return void this._splitPanel.fit();let s=r-o;"bottom"===n?(e=s/r,t=o/r):(t=o/r,e=s/r);let a=e+t;if(a>0){let i="bottom"===n?[e/a,t/a]:[t/a,e/a];this._splitPanel.setRelativeSizes(i)}}_getInputCellPadding(){var e;let t=this._input.node,n=window.getComputedStyle(t),i=parseFloat(n.paddingTop)+parseFloat(n.paddingBottom),o=this.promptCell;if(!o)return i;let r=window.getComputedStyle(o.node),s=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom),a=null==(e=o.editorWidget)?void 0:e.node,l=0;if(a){let e=window.getComputedStyle(a);l=parseFloat(e.borderTopWidth)+parseFloat(e.borderBottomWidth)}return i+s+l}_updateLayout(){var e,t;this._input.parent=null,this._content.parent=null;let{promptCellPosition:n="bottom"}=this._config;this._hasManualResize=!1,this._splitPanel.orientation=["left","right"].includes(n)?"horizontal":"vertical",f.SplitPanel.setStretch(this._content,1),f.SplitPanel.setStretch(this._input,1),"bottom"===n||"right"===n?(this._splitPanel.insertWidget(0,this._content),this._splitPanel.insertWidget(1,this._input)):(this._splitPanel.insertWidget(0,this._input),this._splitPanel.insertWidget(1,this._content)),this._splitPanel.setRelativeSizes(this._calculateRelativeSizes()),requestAnimationFrame(()=>{this._adjustSplitPanelForInputGrowth()}),null==(t=null==(e=this.promptCell)?void 0:e.editor)||t.focus()}}!function(e){e.defaultEditorConfig={codeFolding:!1,lineNumbers:!1,tabFocusable:!1};class t extends s.Cell.ContentFactory{createCodeCell(e){return new s.CodeCell(e).initializeState()}createRawCell(e){return new s.RawCell(e).initializeState()}}e.ContentFactory=t;class n{constructor(e={}){this.codeCellContentFactory=e.codeCellContentFactory||s.CodeCellModel.defaultContentFactory}createCodeCell(e={}){return e.contentFactory||(e.contentFactory=this.codeCellContentFactory),new s.CodeCellModel(e)}createRawCell(e){return new s.RawCellModel(e)}}e.ModelFactory=n,e.defaultModelFactory=new n({})}(L||(L={})),function(e){e.scrollToBottom=function(e){e.scrollTop=e.scrollHeight-e.clientHeight}}(o||(o={}));let N="jp-ConsolePanel";class P extends u.MainAreaWidget{constructor(e){var t;super({content:new f.Panel}),this._executed=null,this._connected=null,this._preventTitleUpdate=!1,this.addClass(N);let{executor:n,rendermime:i,mimeTypeService:o,path:s,basePath:a,name:l,manager:d,modelFactory:c,sessionContext:h,translator:b}=e;this.translator=null!=b?b:g.nullTranslator;const v=this.translator.load("jupyterlab"),_=this.contentFactory=e.contentFactory,y=r.count++;s||(s=p.PathExt.join(a||"",`console-${y}-${C.UUID.uuid4()}`)),h=this._sessionContext=null!=h?h:new u.SessionContext({kernelManager:d.kernels,sessionManager:d.sessions,specsManager:d.kernelspecs,path:d.contents.localPath(s),name:l||v.__("Console %1",y),type:"console",kernelPreference:e.kernelPreference,setBusy:e.setBusy});const E=new m.RenderMimeRegistry.UrlResolver({path:s,contents:d.contents,getKernelId:()=>{var e,t;return null==(t=null==(e=null==h?void 0:h.session)?void 0:e.kernel)?void 0:t.id}});i=i.clone({resolver:E}),this.console=_.createConsole({executor:n,rendermime:i,sessionContext:h,mimeTypeService:o,contentFactory:_,modelFactory:c,translator:b}),this.content.addWidget(this.console),h.initialize().then(async t=>{var n;t&&await (null!=(n=e.sessionDialogs)?n:new u.SessionContextDialogs({translator:b})).selectKernel(h),this._connected=new Date,this._updateTitlePanel()}),this.console.executed.connect(this._onExecuted,this),this._updateTitlePanel(),e.preventTitleUpdate||(h.kernelChanged.connect(this._updateTitlePanel,this),h.propertyChanged.connect(this._updateTitlePanel,this)),this.title.icon=A.consoleIcon,this.title.closable=!0,this.id=`console-${y}`,this._preventTitleUpdate=null!=(t=e.preventTitleUpdate)&&t}get sessionContext(){return this._sessionContext}dispose(){this.sessionContext.dispose(),this.console.dispose(),super.dispose()}onActivateRequest(e){let t=this.console.promptCell;t&&t.editor.focus()}onCloseRequest(e){super.onCloseRequest(e),this.dispose()}_onExecuted(e,t){this._executed=t,this._updateTitlePanel()}_updateTitlePanel(){this._preventTitleUpdate||r.updateTitle(this,this._connected,this._executed,this.translator)}}!function(e){class t extends L.ContentFactory{createConsole(e){return new L(e)}}e.ContentFactory=t,e.IContentFactory=new C.Token("@jupyterlab/console:IContentFactory","A factory object that creates new code consoles. Use this if you want to create and host code consoles in your own UI elements.")}(P||(P={})),function(e){e.count=1,e.updateTitle=function(e,t,n,i){let o=(i=i||g.nullTranslator).load("jupyterlab"),r=e.console.sessionContext.session;if(r){let i=o.__("Name: %1\n",r.name)+o.__("Directory: %1\n",p.PathExt.dirname(r.path))+o.__("Kernel: %1",e.console.sessionContext.kernelDisplayName);t&&(i+=o.__("\nConnected: %1",p.Time.format(t.toISOString()))),n&&(i+=o.__("\nLast Execution: %1")),e.title.label=r.name,e.title.caption=i}else e.title.label=o.__("Console"),e.title.caption=""}}(r||(r={}));let z=new C.Token("@jupyterlab/console:IConsoleTracker",`A widget tracker for code consoles.
  Use this if you want to be able to iterate over and interact with code consoles
  created by the application.`),R=new C.Token("@jupyterlab/console:IConsoleCellExecutor","The console cell executor")},3839(e,t,n){"use strict";n(82311),n(97777),n(62971),n(22595),n(13443),n(38415),n(92508),n(58613);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(5534),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},75013(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActivityMonitor=void 0;let i=n(20659);class o{constructor(e){this._timer=-1,this._timeout=-1,this._isDisposed=!1,this._activityStopped=new i.Signal(this),e.signal.connect(this._onSignalFired,this),this._timeout=e.timeout||1e3}get activityStopped(){return this._activityStopped}get timeout(){return this._timeout}set timeout(e){this._timeout=e}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,i.Signal.clearData(this))}_onSignalFired(e,t){clearTimeout(this._timer),this._sender=e,this._args=t,this._timer=setTimeout(()=>{this._activityStopped.emit({sender:this._sender,args:this._args})},this._timeout)}}t.ActivityMonitor=o},26376(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n(75013),t),o(n(23106),t),o(n(24477),t),o(n(87484),t),o(n(92279),t),o(n(67169),t),o(n(97058),t),o(n(80121),t),o(n(9659),t),o(n(67881),t),o(n(78378),t)},23106(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},24477(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LruCache=void 0;let n=128;class i{constructor(e={}){if(this._map=new Map,this._maxSize=(null==e?void 0:e.maxSize)||n,this._maxSize<1)throw Error("maxSize must be at least 1")}get size(){return this._map.size}clear(){this._map.clear()}get(e){let t=this._map.get(e)||null;return null!=t&&(this._map.delete(e),this._map.set(e,t)),t}set(e,t){this._map.size>=this._maxSize&&this._map.delete(this._map.keys().next().value),this._map.set(e,t)}}t.LruCache=i},87484(e,t){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MarkdownCodeBlocks=void 0,function(e){e.CODE_BLOCK_MARKER="```";let t=[".markdown",".mdown",".mkdn",".md",".mkd",".mdwn",".mdtxt",".mdtext",".text",".txt",".Rmd"];class n{constructor(e){this.startLine=e,this.code="",this.endLine=-1}}function i(t){if(!t||""===t)return[];let i=t.split("\n"),o=[],r=null;for(let t=0;t<i.length;t++){let s=i[t],a=0===s.indexOf(e.CODE_BLOCK_MARKER),l=null!=r;if(a||l)if(l)r&&(a?(r.endLine=t-1,o.push(r),r=null):r.code+=s+"\n");else{r=new n(t);let i=s.indexOf(e.CODE_BLOCK_MARKER),a=s.lastIndexOf(e.CODE_BLOCK_MARKER);i!==a&&(r.code=s.substring(i+e.CODE_BLOCK_MARKER.length,a),r.endLine=t,o.push(r),r=null)}}return o}e.MarkdownCodeBlock=n,e.isMarkdown=function(e){return t.indexOf(e)>-1},e.findMarkdownCodeBlocks=i}(n||(t.MarkdownCodeBlocks=n={}))},92279(__unused_rspack_module,exports,__webpack_require__){"use strict";var PageConfig,process=__webpack_require__(65606),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PageConfig=void 0,exports.compareVersions=compareVersions;let coreutils_1=__webpack_require__(55187),minimist_1=__importDefault(__webpack_require__(89031)),url_1=__webpack_require__(67881);function compareVersions(e,t){for(let n=0;n<3;n++)if(e[n]!==t[n])return e[n]-t[n];return 0}!function(PageConfig){let Extension;function getOption(name){if(configData)return configData[name]||getBodyData(name);configData=Object.create(null);let found=!1;if("u">typeof document&&document){let el=document.getElementById("jupyter-config-data");el&&(configData=JSON.parse(el.textContent||""),found=!0)}if(!found&&void 0!==process&&process.argv)try{let cli=(0,minimist_1.default)(process.argv.slice(2)),path=__webpack_require__(57975),fullPath="";"jupyter-config-data"in cli?fullPath=path.resolve(cli["jupyter-config-data"]):"JUPYTER_CONFIG_DATA"in process.env&&(fullPath=path.resolve(process.env.JUPYTER_CONFIG_DATA)),fullPath&&(configData=eval("require")(fullPath))}catch(e){console.error(e)}if(coreutils_1.JSONExt.isObject(configData))for(let key in configData)"string"!=typeof configData[key]&&(configData[key]=JSON.stringify(configData[key]));else configData=Object.create(null);return configData[name]||getBodyData(name)}function setOption(e,t){let n=getOption(e);return configData[e]=t,n}function getBaseUrl(){return url_1.URLExt.normalize(getOption("baseUrl")||"/")}function getTreeUrl(){return url_1.URLExt.join(getBaseUrl(),getOption("treeUrl"))}function getShareUrl(){return url_1.URLExt.normalize(getOption("shareUrl")||getBaseUrl())}function getTreeShareUrl(){return url_1.URLExt.normalize(url_1.URLExt.join(getShareUrl(),getOption("treeUrl")))}function getUrl(e){var t,n,i;let o=e.toShare?getShareUrl():getBaseUrl(),r=null!=(t=e.mode)?t:getOption("mode"),s=null!=(n=e.workspace)?n:getOption("workspace"),a="single-document"===r?"doc":"lab";o=url_1.URLExt.join(o,a),s!==PageConfig.defaultWorkspace&&(o=url_1.URLExt.join(o,"workspaces",encodeURIComponent(s)));let l=null!=(i=e.treePath)?i:getOption("treePath");return l&&(o=url_1.URLExt.join(o,"tree",url_1.URLExt.encodeParts(l))),o}function getWsUrl(e){let t=getOption("wsUrl");if(!t){if(0!==(e=e?url_1.URLExt.normalize(e):getBaseUrl()).indexOf("http"))return"";t="ws"+e.slice(4)}return url_1.URLExt.normalize(t)}function getNBConvertURL({path:e,format:t,download:n}){let i=url_1.URLExt.encodeParts(e),o=url_1.URLExt.join(getBaseUrl(),"nbconvert",t,i);return n?o+"?download=true":o}function getToken(){return getOption("token")||getBodyData("jupyterApiToken")}function getNotebookVersion(){let e=getOption("notebookVersion");return""===e?[0,0,0]:JSON.parse(e)}PageConfig.getOption=getOption,PageConfig.setOption=setOption,PageConfig.getBaseUrl=getBaseUrl,PageConfig.getTreeUrl=getTreeUrl,PageConfig.getShareUrl=getShareUrl,PageConfig.getTreeShareUrl=getTreeShareUrl,PageConfig.getUrl=getUrl,PageConfig.defaultWorkspace="default",PageConfig.getWsUrl=getWsUrl,PageConfig.getNBConvertURL=getNBConvertURL,PageConfig.getToken=getToken,PageConfig.getNotebookVersion=getNotebookVersion;let configData=null;function getBodyData(e){if("u"<typeof document||!document.body)return"";let t=document.body.dataset[e];return void 0===t?"":decodeURIComponent(t)}!function(e){function t(e){try{let t=getOption(e);if(t)return JSON.parse(t)}catch(t){console.warn(`Unable to parse ${e}.`,t)}return[]}function n(t){let n=t.indexOf(":"),i="";return -1!==n&&(i=t.slice(0,n)),e.deferred.some(e=>e===t||i&&e===i)}function i(t){let n=t.indexOf(":"),i="";return -1!==n&&(i=t.slice(0,n)),e.disabled.some(e=>e===t||i&&e===i)}e.deferred=t("deferredExtensions"),e.disabled=t("disabledExtensions"),e.isDeferred=n,e.isDisabled=i}(Extension=PageConfig.Extension||(PageConfig.Extension={}))}(PageConfig||(exports.PageConfig=PageConfig={}))},67169(e,t,n){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.PathExt=void 0;let o=n(57975);!function(e){function t(e){return 0===e.indexOf("/")&&(e=e.slice(1)),e}e.join=function(...e){let n=o.posix.join(...e);return"."===n?"":t(n)},e.joinWithLeadingSlash=function(...e){let t=o.posix.join(...e);return"."===t?"":t},e.basename=function(e,t){return o.posix.basename(e,t)},e.dirname=function(e){let n=t(o.posix.dirname(e));return"."===n?"":n},e.extname=function(e){return o.posix.extname(e)},e.normalize=function(e){return""===e?"":t(o.posix.normalize(e))},e.resolve=function(...e){return t(o.posix.resolve(...e))},e.relative=function(e,n){return t(o.posix.relative(e,n))},e.normalizeExtension=function(e){return e.length>0&&0!==e.indexOf(".")&&(e=`.${e}`),e},e.removeSlash=t}(i||(t.PathExt=i={}))},78378(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JupyterPluginRegistry=void 0;let i=n(55187),o=5e3;class r extends i.PluginRegistry{constructor(e){var t;super(e),this._pluginData=new Map,this._expectedActivationTime=null!=(t=null==e?void 0:e.expectedActivationTime)?t:o}registerPlugin(e){return this._pluginData.set(e.id,e),super.registerPlugin(e)}async activatePlugin(e){let t=performance.now(),n=setTimeout(()=>{console.warn(`Plugin ${e} is taking too long to activate.`)},this._expectedActivationTime);try{let i=await super.activatePlugin(e);clearTimeout(n);let o=performance.now()-t;if(o>=this._expectedActivationTime){let t=this._getDependentCount(e);console.warn(`Plugin ${e} (with ${t} dependants) took ${o.toFixed(2)}ms to activate.`)}return i}catch(t){throw clearTimeout(n),console.error(`Error activating plugin: ${e}`,t),t}}_getDependentCount(e){var t;let n=this._pluginData.get(e);if(!(null==n?void 0:n.provides))return 0;let i=n.provides.name,o=0;for(let[n,r]of this._pluginData.entries())n!==e&&(null==(t=r.requires)?void 0:t.filter(e=>!!e).some(e=>e.name===i))&&o++;return o}}t.JupyterPluginRegistry=r},97058(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.signalToPromise=o;let i=n(55187);function o(e,t){let n=new i.PromiseDelegate;function o(){e.disconnect(r)}function r(e,t){o(),n.resolve([e,t])}return e.connect(r),(null!=t?t:0)>0&&setTimeout(()=>{o(),n.reject(`Signal not emitted within ${t} ms.`)},t),n.promise}},80121(e,t){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Text=void 0,function(e){let t=!0;e.jsIndexToCharIndex=function(e,n){if(!t)return e;let i=e;for(let t=0;t+1<n.length&&t<e;t++){let e=n.charCodeAt(t);if(e>=55296&&e<=56319){let e=n.charCodeAt(t+1);e>=56320&&e<=57343&&(i--,t++)}}return i},e.charIndexToJsIndex=function(e,n){if(!t)return e;let i=e;for(let e=0;e+1<n.length&&e<i;e++){let t=n.charCodeAt(e);if(t>=55296&&t<=56319){let t=n.charCodeAt(e+1);t>=56320&&t<=57343&&(i++,e++)}}return i},e.camelCase=function(e,t=!1){return e.replace(/^(\w)|[\s-_:]+(\w)/g,function(e,n,i){return i?i.toUpperCase():t?n.toUpperCase():n.toLowerCase()})},e.titleCase=function(e){return(e||"").toLowerCase().split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}}(n||(t.Text=n={}))},9659(e,t){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Time=void 0;let i=[{name:"years",milliseconds:31536e6},{name:"months",milliseconds:2592e6},{name:"days",milliseconds:864e5},{name:"hours",milliseconds:36e5},{name:"minutes",milliseconds:6e4},{name:"seconds",milliseconds:1e3}];!function(e){e.formatHuman=function(e,t="long"){let n=document.documentElement.lang||"en",o=new Intl.RelativeTimeFormat(n,{numeric:"auto",style:t}),r=new Date(e).getTime()-Date.now();for(let e of i){let t=Math.ceil(r/e.milliseconds);if(0!==t)return o.format(t,e.name)}return o.format(0,"seconds")},e.format=function(e){let t=document.documentElement.lang||"en";return new Intl.DateTimeFormat(t,{dateStyle:"short",timeStyle:"short"}).format(new Date(e))}}(n||(t.Time=n={}))},67881(e,t,n){"use strict";var i,o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.URLExt=void 0;let r=n(57975),s=o(n(61160));!function(e){function t(e){if("u">typeof document&&document){let t=document.createElement("a");return t.href=e,t}return(0,s.default)(e)}function n(...e){let t=(0,s.default)(e[0],{}),i=""===t.protocol&&t.slashes;i&&(t=(0,s.default)(e[0],"https:"+e[0]));let o=`${i?"":t.protocol}${t.slashes?"//":""}${t.auth}${t.auth?"@":""}${t.host}`,a=r.posix.join(`${o&&"/"!==t.pathname[0]?"/":""}${t.pathname}`,...e.slice(1));return`${o}${"."===a?"":a}`}e.parse=t,e.getHostName=function(e){return(0,s.default)(e).hostname},e.normalize=function(e){return e&&t(e).toString()},e.join=n,e.encodeParts=function(e){return n(...e.split("/").map(encodeURIComponent))},e.objectToQueryString=function(e){let t=Object.keys(e).filter(e=>e.length>0);return t.length?"?"+t.map(t=>{let n=encodeURIComponent(String(e[t]));return t+(n?"="+n:"")}).join("&"):""},e.queryStringToObject=function(e){return e.replace(/^\?/,"").split("&").reduce((e,t)=>{let[n,i]=t.split("=");return n.length>0&&(e[n]=decodeURIComponent(i||"")),e},{})},e.isLocal=function(e,n=!1){let{protocol:i}=t(e);return(!i||0!==e.toLowerCase().indexOf(i))&&(n?0!==e.indexOf("//"):0!==e.indexOf("/"))}}(i||(t.URLExt=i={}))},32254(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>b});var i,o,r=n(57941),s=n(97518),a=n(92500),l=n(69105),d=n(86149),c=n(95615),h=n(46109),u=n(2786);let p="CSVTable",m="TSVTable";!function(e){e.CSVGoToLine="csv:go-to-line",e.TSVGoToLine="tsv:go-to-line"}(i||(i={}));let g={activate:C,id:"@jupyterlab/csvviewer-extension:csv",description:"Adds viewer for CSV file types",requires:[u.ITranslator],optional:[r.ILayoutRestorer,s.IThemeManager,c.IMainMenu,d.ISearchProviderRegistry,h.ISettingRegistry,s.IToolbarWidgetRegistry],autoStart:!0},A={activate:f,id:"@jupyterlab/csvviewer-extension:tsv",description:"Adds viewer for TSV file types.",requires:[u.ITranslator],optional:[r.ILayoutRestorer,s.IThemeManager,c.IMainMenu,d.ISearchProviderRegistry,h.ISettingRegistry,s.IToolbarWidgetRegistry],autoStart:!0};function C(e,t,r,d,c,h,u,m){var A;let C,{commands:f,shell:b}=e;m&&(m.addFactory(p,"delimiter",e=>new l.G({widget:e.content,translator:t})),u&&(C=(0,s.createToolbarFactory)(m,u,p,g.id,t)));let v=t.load("jupyterlab"),_=new a.Pb({name:p,label:v.__("CSV Viewer"),fileTypes:["csv"],defaultFor:["csv"],readOnly:!0,toolbarFactory:C,translator:t}),y=new s.WidgetTracker({namespace:"csvviewer"}),E=o.LIGHT_STYLE,w=o.getTextRendererConfig();r&&r.restore(y,{command:"docmanager:open",args:e=>({path:e.context.path,factory:p}),name:e=>e.context.path}),e.docRegistry.addWidgetFactory(_);let j=e.docRegistry.getFileType("csv"),x=!1;_.widgetCreated.connect(async(e,t)=>{if(y.add(t),t.context.pathChanged.connect(()=>{y.save(t)}),j&&(t.title.icon=j.icon,t.title.iconClass=j.iconClass,t.title.iconLabel=j.iconLabel),h&&!x){let{CSVSearchProvider:e}=await Promise.all([n.e(5531),n.e(8690)]).then(n.bind(n,54041));h.add("csv",e),x=!0}await t.content.ready,t.content.style=E,t.content.rendererConfig=w,B()});let B=()=>{let e=!d||!d.theme||d.isLight(d.theme);E=e?o.LIGHT_STYLE:o.DARK_STYLE,w=o.getTextRendererConfig(e),y.forEach(async e=>{await e.content.ready,e.content.style=E,e.content.rendererConfig=w})};d&&d.themeChanged.connect(B);let S=()=>null!==y.currentWidget&&y.currentWidget===b.currentWidget;f.addCommand(i.CSVGoToLine,{label:v.__("Go to Line"),execute:async()=>{let e=y.currentWidget;if(null===e)return;let t=await s.InputDialog.getNumber({title:v.__("Go to Line"),value:0});t.button.accept&&null!==t.value&&e.content.goToLine(t.value)},isEnabled:S,describedBy:{args:{type:"object",properties:{}}}}),c&&c.editMenu.goToLiners.add({id:i.CSVGoToLine,isEnabled:S});let M=()=>{f.notifyCommandChanged(i.CSVGoToLine)};y.currentChanged.connect(M),null==(A=b.currentChanged)||A.connect(M)}function f(e,t,r,d,c,h,u,p){let g,{commands:C,shell:f}=e;p&&(p.addFactory(m,"delimiter",e=>new l.G({widget:e.content,translator:t})),u&&(g=(0,s.createToolbarFactory)(p,u,m,A.id,t)));let b=t.load("jupyterlab"),v=new a.og({name:m,label:b.__("TSV Viewer"),fileTypes:["tsv"],defaultFor:["tsv"],readOnly:!0,toolbarFactory:g,translator:t}),_=new s.WidgetTracker({namespace:"tsvviewer"}),y=o.LIGHT_STYLE,E=o.getTextRendererConfig();r&&r.restore(_,{command:"docmanager:open",args:e=>({path:e.context.path,factory:m}),name:e=>e.context.path}),e.docRegistry.addWidgetFactory(v);let w=e.docRegistry.getFileType("tsv"),j=!1;v.widgetCreated.connect(async(e,t)=>{if(_.add(t),t.context.pathChanged.connect(()=>{_.save(t)}),w&&(t.title.icon=w.icon,t.title.iconClass=w.iconClass,t.title.iconLabel=w.iconLabel),h&&!j){let{CSVSearchProvider:e}=await Promise.all([n.e(5531),n.e(8690)]).then(n.bind(n,54041));h.add("tsv",e),j=!0}await t.content.ready,t.content.style=y,t.content.rendererConfig=E});let x=()=>{let e=!d||!d.theme||d.isLight(d.theme);y=e?o.LIGHT_STYLE:o.DARK_STYLE,E=o.getTextRendererConfig(e),_.forEach(async e=>{await e.content.ready,e.content.style=y,e.content.rendererConfig=E})};d&&d.themeChanged.connect(x);let B=()=>null!==_.currentWidget&&_.currentWidget===f.currentWidget;C.addCommand(i.TSVGoToLine,{label:b.__("Go to Line"),execute:async()=>{let e=_.currentWidget;if(null===e)return;let t=await s.InputDialog.getNumber({title:b.__("Go to Line"),value:0});t.button.accept&&null!==t.value&&e.content.goToLine(t.value)},isEnabled:B,describedBy:{args:{type:"object",properties:{}}}}),c&&c.editMenu.goToLiners.add({id:i.TSVGoToLine,isEnabled:B}),_.currentChanged.connect(()=>{C.notifyCommandChanged(i.TSVGoToLine)})}let b=[g,A];!function(e){e.LIGHT_STYLE={voidColor:"#F3F3F3",backgroundColor:"white",headerBackgroundColor:"#EEEEEE",gridLineColor:"rgba(20, 20, 20, 0.15)",headerGridLineColor:"rgba(20, 20, 20, 0.25)",rowBackgroundColor:e=>e%2==0?"#F5F5F5":"white"},e.DARK_STYLE={voidColor:"black",backgroundColor:"#111111",headerBackgroundColor:"#424242",gridLineColor:"rgba(235, 235, 235, 0.15)",headerGridLineColor:"rgba(235, 235, 235, 0.25)",rowBackgroundColor:e=>e%2==0?"#212121":"#111111"},e.getTextRendererConfig=(e=!0)=>{let i=window.getComputedStyle(document.body),o=i.getPropertyValue("--jp-datagrid-font-family"),r=i.getPropertyValue("--jp-content-font-family"),s=i.getPropertyValue("--jp-datagrid-font-size");return{...e?t:n,fontSize:s||void 0,fontFamily:o||r||void 0}};let t={textColor:"#111111",matchBackgroundColor:"#FFFFE0",currentMatchBackgroundColor:"#FFFF00",horizontalAlignment:"right"},n={textColor:"#F5F5F5",matchBackgroundColor:"#838423",currentMatchBackgroundColor:"#A3807A",horizontalAlignment:"right"}}(o||(o={}))},54041(e,t,n){"use strict";n.d(t,{CSVSearchProvider:()=>s});var i=n(11497),o=n(31997),r=n(86149);class s extends r.SearchProvider{constructor(){super(...arguments),this.isReadOnly=!0}static createNew(e,t){return new s(e)}static isApplicable(e){return e instanceof o.DocumentWidget&&e.content instanceof i.CSVViewer}clearHighlight(){return Promise.resolve()}highlightNext(e){return this.widget.content.searchService.find(this._query),Promise.resolve(void 0)}highlightPrevious(e){return this.widget.content.searchService.find(this._query,!0),Promise.resolve(void 0)}replaceCurrentMatch(e,t){return Promise.resolve(!1)}replaceAllMatches(e){return Promise.resolve(!1)}startQuery(e){return this._query=e,this.widget.content.searchService.find(e),Promise.resolve()}endQuery(){return this.widget.content.searchService.clear(),Promise.resolve()}}},37432(e,t,n){"use strict";n(82311),n(62971),n(45350),n(67474),n(97777);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(69401),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals,n(5241),n(67996)},77678(e,t,n){"use strict";n.r(t),n.d(t,{CSVDelimiter:()=>r.G,CSVDocumentWidget:()=>s.Am,CSVViewer:()=>s.t2,CSVViewerFactory:()=>s.Pb,DSVModel:()=>i.DSVModel,GridSearchService:()=>s.Mv,TSVViewerFactory:()=>s.og,TextRenderConfig:()=>s.Gg,parseDSV:()=>o.h,parseDSVNoQuotes:()=>o.l});var i=n(77515),o=n(69181),r=n(69105),s=n(92500)},77515(e,t,n){"use strict";n.r(t),n.d(t,{DSVModel:()=>a});var i=n(55187),o=n(14486),r=n(69181);let s={quotes:r.h,noquotes:r.l};class a extends o.DataModel{constructor(e){super(),this._rowCount=0,this._header=[],this._columnOffsets=new Uint32Array(0),this._columnOffsetsStartingRow=0,this._maxCacheGet=1e3,this._rowOffsets=new Uint32Array(0),this._delayedParse=null,this._startedParsing=!1,this._doneParsing=!1,this._isDisposed=!1,this._ready=new i.PromiseDelegate;let{data:t,delimiter:n=",",rowDelimiter:o,quote:r='"',quoteParser:s,header:a=!0,initialRows:l=500}=e;if(this._rawData=t,this._delimiter=n,this._quote=r,this._quoteEscaped=RegExp(r+r,"g"),this._initialRows=l,void 0===o){const e=t.slice(0,5e3).indexOf("\r");o=-1===e?"\n":"\n"===t[e+1]?"\r\n":"\r"}if(this._rowDelimiter=o,void 0===s&&(s=t.indexOf(r)>=0),this._parser=s?"quotes":"noquotes",this.parseAsync(),!0===a&&this._columnCount>0){const e=[];for(let t=0;t<this._columnCount;t++)e.push(this._getField(0,t));this._header=e}}get isDisposed(){return this._isDisposed}get ready(){return this._ready.promise}get rawData(){return this._rawData}set rawData(e){this._rawData=e}get initialRows(){return this._initialRows}set initialRows(e){this._initialRows=e}get header(){return this._header}set header(e){this._header=e}get delimiter(){return this._delimiter}get rowDelimiter(){return this._rowDelimiter}get doneParsing(){return this._doneParsing}rowCount(e){if("body"===e)if(0===this._header.length)return this._rowCount;else return this._rowCount-1;return 1}columnCount(e){return"body"===e?this._columnCount:1}data(e,t,n){let i;switch(e){case"body":i=0===this._header.length?this._getField(t,n):this._getField(t+1,n);break;case"column-header":i=0===this._header.length?(n+1).toString():this._header[n];break;case"row-header":i=(t+1).toString();break;case"corner-header":i="";break;default:throw"unreachable"}return i}dispose(){this._isDisposed||(this._isDisposed=!0,this._columnCount=void 0,this._rowCount=void 0,this._rowOffsets=null,this._columnOffsets=null,this._rawData=null,!1===this._doneParsing&&(this.ready.catch(()=>{}),this._ready.reject(void 0)),null!==this._delayedParse&&window.clearTimeout(this._delayedParse))}getOffsetIndex(e,t){let n=this._columnCount,i=(e-this._columnOffsetsStartingRow)*n;if((i<0||i>this._columnOffsets.length)&&(this._columnOffsets.fill(0xffffffff),this._columnOffsetsStartingRow=e,i=0),0xffffffff===this._columnOffsets[i]){let t=1;for(;t<=this._maxCacheGet&&0xffffff===this._columnOffsets[i+t*n];)t++;let{offsets:o}=s[this._parser]({data:this._rawData,delimiter:this._delimiter,rowDelimiter:this._rowDelimiter,quote:this._quote,columnOffsets:!0,maxRows:t,ncols:n,startIndex:this._rowOffsets[e]});for(let e=0;e<o.length;e++)this._columnOffsets[i+e]=o[e]}return this._columnOffsets[i+t]}parseAsync(){let e=this._initialRows,t=0xffffffff,n=30,i=e=>{try{this._computeRowOffsets(e)}catch(t){if("quotes"===this._parser)console.warn(t),this._parser="noquotes",this._resetParser(),this._computeRowOffsets(e);else throw t}return this._doneParsing};if(this._resetParser(),i(e))return;let o=()=>{let r=i(e+t);e+=t,t<1e6&&(t*=2),r?this._delayedParse=null:this._delayedParse=window.setTimeout(o,n)};this._delayedParse=window.setTimeout(o,n)}_computeRowOffsets(e=0xffffffff){var t;if(this._rowCount>=e||!0===this._doneParsing)return;void 0===this._columnCount&&(this._columnCount=s[this._parser]({data:this._rawData,delimiter:this._delimiter,rowDelimiter:this._rowDelimiter,quote:this._quote,columnOffsets:!0,maxRows:1}).ncols);let n=+(this._rowCount>0),{nrows:i,offsets:o}=s[this._parser]({data:this._rawData,startIndex:null!=(t=this._rowOffsets[this._rowCount-n])?t:0,delimiter:this._delimiter,rowDelimiter:this._rowDelimiter,quote:this._quote,columnOffsets:!1,maxRows:e-this._rowCount+n});if(this._startedParsing&&i<=n){this._doneParsing=!0,this._ready.resolve(void 0);return}this._startedParsing=!0;let r=this._rowCount,a=Math.min(i,n);if(this._rowCount=r+i-a,this._rowCount<e&&(this._doneParsing=!0,this._ready.resolve(void 0)),this._rowCount>r){let e=this._rowOffsets;this._rowOffsets=new Uint32Array(this._rowCount),this._rowOffsets.set(e),this._rowOffsets.set(o,r-a)}let l=Math.floor(0x2000000/this._columnCount);if(r<=l)if(this._rowCount<=l){let e=this._columnOffsets;this._columnOffsets=new Uint32Array(this._rowCount*this._columnCount),this._columnOffsets.set(e),this._columnOffsets.fill(0xffffffff,e.length)}else{let e=this._columnOffsets;this._columnOffsets=new Uint32Array(Math.min(this._maxCacheGet,l)*this._columnCount),this._columnOffsets.set(e.subarray(0,this._columnOffsets.length)),this._columnOffsets.fill(0xffffffff,e.length),this._columnOffsetsStartingRow=0}let d=r;this._header.length>0&&(d-=1),this.emitChanged({type:"rows-inserted",region:"body",index:d,span:this._rowCount-r})}_getField(e,t){let n,i,o=this.getOffsetIndex(e,t),r=0,s=0;return t===this._columnCount-1?e<this._rowCount-1?(i=this.getOffsetIndex(e+1,0),r+=this._rowDelimiter.length):(i=this._rawData.length,this._rawData[i-1]===this._rowDelimiter[this._rowDelimiter.length-1]&&(r+=this._rowDelimiter.length)):o<(i=this.getOffsetIndex(e,t+1))&&this._rawData[i-1]===this._delimiter&&(r+=1),this._rawData[o]===this._quote&&(s+=1,r+=1),n=this._rawData.slice(o+s,i-r),1===s&&-1!==n.indexOf(this._quote)&&(n=n.replace(this._quoteEscaped,this._quote)),n}_resetParser(){this._columnCount=void 0,this._rowOffsets=new Uint32Array(0),this._rowCount=0,this._startedParsing=!1,this._columnOffsets=new Uint32Array(0),!1===this._doneParsing&&(this.ready.catch(()=>{}),this._ready.reject(void 0)),this._doneParsing=!1,this._ready=new i.PromiseDelegate,null!==this._delayedParse&&(window.clearTimeout(this._delayedParse),this._delayedParse=null),this.emitChanged({type:"model-reset"})}}},69181(e,t,n){"use strict";var i,o;function r(e){let t,{data:n,columnOffsets:r,delimiter:s=",",startIndex:a=0,maxRows:l=0xffffffff,rowDelimiter:d="\r\n",quote:c='"'}=e,h=e.ncols,u=0,p=[],m=s.charCodeAt(0),g=c.charCodeAt(0),A=10,C=13,f=n.length,{QUOTED_FIELD:b,QUOTED_FIELD_QUOTE:v,UNQUOTED_FIELD:_,NEW_FIELD:y,NEW_ROW:E}=i,{CR:w,LF:j,CRLF:x}=o,[B,S]="\r\n"===d?[x,2]:"\r"===d?[w,1]:[j,1],M=E,I=a,k=0;for(;I<f;){switch(M===E&&(p.push(I),k=1),t=n.charCodeAt(I),M){case E:case y:switch(t){case g:M=b;break;case m:M=y;break;case C:if(B===w)M=E;else if(B===x&&n.charCodeAt(I+1)===A)I++,M=E;else throw`string index ${I} (in row ${u}, column ${k}): carriage return found, but not as part of a row delimiter C ${n.charCodeAt(I+1)}`;break;case A:if(B===j)M=E;else throw`string index ${I} (in row ${u}, column ${k}): line feed found, but row delimiter starts with a carriage return`;break;default:M=_}break;case b:if((I=n.indexOf(c,I))<0)throw`string index ${I} (in row ${u}, column ${k}): mismatched quote`;M=v;break;case v:switch(t){case g:M=b;break;case m:M=y;break;case C:if(B===w)M=E;else if(B===x&&n.charCodeAt(I+1)===A)I++,M=E;else throw`string index ${I} (in row ${u}, column ${k}): carriage return found, but not as part of a row delimiter C ${n.charCodeAt(I+1)}`;break;case A:if(B===j)M=E;else throw`string index ${I} (in row ${u}, column ${k}): line feed found, but row delimiter starts with a carriage return`;break;default:throw`string index ${I} (in row ${u}, column ${k}): quote in escaped field not followed by quote, delimiter, or row delimiter`}break;case _:for(;I<f&&(t=n.charCodeAt(I))!==m&&t!==A&&t!==C;)I++;switch(t){case m:M=y;break;case C:if(B===w)M=E;else if(B===x&&n.charCodeAt(I+1)===A)I++,M=E;else throw`string index ${I} (in row ${u}, column ${k}): carriage return found, but not as part of a row delimiter C ${n.charCodeAt(I+1)}`;break;case A:if(B===j)M=E;else throw`string index ${I} (in row ${u}, column ${k}): line feed found, but row delimiter starts with a carriage return`;break;default:continue}break;default:throw`string index ${I} (in row ${u}, column ${k}): state not recognized`}switch(I++,M){case E:if(u++,void 0===h){if(1!==u)throw Error("Error parsing default number of columns");h=k}if(!0===r)if(k<h)for(;k<h;k++)p.push(I-S);else k>h&&(p.length=p.length-(k-h));if(u===l)return{nrows:u,ncols:r?h:0,offsets:p};break;case y:!0===r&&p.push(I),k++}}if(M!==E&&(u++,!0===r))if(void 0===h&&(h=k),k<h)for(;k<h;k++)p.push(I-(S-1));else k>h&&(p.length=p.length-(k-h));return{nrows:u,ncols:r&&null!=h?h:0,offsets:p}}function s(e){let t,n,i,o,r,{data:s,columnOffsets:a,delimiter:l=",",rowDelimiter:d="\r\n",startIndex:c=0,maxRows:h=0xffffffff}=e,u=e.ncols,p=[],m=0,g=d.length,A=c,C=s.length;for(t=c;-1!==t&&m<h&&A<C;){if(p.push(A),m++,r=-1===(t=s.indexOf(d,A))?C:t,!0===a)if(n=1,o=(i=s.slice(A,r)).indexOf(l),void 0===u){for(;-1!==o;)p.push(A+o+1),n++,o=i.indexOf(l,o+1);u=n}else{for(;-1!==o&&n<u;)p.push(A+o+1),n++,o=i.indexOf(l,o+1);for(;n<u;)p.push(r),n++}A=r+g}return{nrows:m,ncols:a&&null!=u?u:0,offsets:p}}n.d(t,{h:()=>r,l:()=>s}),function(e){e[e.QUOTED_FIELD=0]="QUOTED_FIELD",e[e.QUOTED_FIELD_QUOTE=1]="QUOTED_FIELD_QUOTE",e[e.UNQUOTED_FIELD=2]="UNQUOTED_FIELD",e[e.NEW_FIELD=3]="NEW_FIELD",e[e.NEW_ROW=4]="NEW_ROW"}(i||(i={})),function(e){e[e.CR=0]="CR",e[e.CRLF=1]="CRLF",e[e.LF=2]="LF"}(o||(o={}))},69105(e,t,n){"use strict";n.d(t,{G:()=>c});var i,o=n(2786),r=n(8989),s=n(64001);let a="jp-CSVDelimiter",l="jp-CSVDelimiter-label",d="jp-CSVDelimiter-dropdown";class c extends s.Widget{constructor(e){super({node:i.createNode(e.widget.delimiter,e.translator)}),this._widget=e.widget,this.addClass(a)}get selectNode(){return this.node.getElementsByTagName("select")[0]}handleEvent(e){"change"===e.type&&(this._widget.delimiter=this.selectNode.value)}onAfterAttach(e){this.selectNode.addEventListener("change",this)}onBeforeDetach(e){this.selectNode.removeEventListener("change",this)}}!function(e){e.createNode=function(e,t){let n=null==(t=t||o.nullTranslator)?void 0:t.load("jupyterlab"),i=[[",",","],[";",";"],["	",n.__("tab")],["|",n.__("pipe")],["#",n.__("hash")]],s=document.createElement("div"),a=document.createElement("span"),c=document.createElement("select");for(let[t,o]of(a.textContent=n.__("Delimiter: "),a.className=l,i)){let n=document.createElement("option");n.value=t,n.textContent=o,t===e&&(n.selected=!0),c.appendChild(n)}s.appendChild(a);let h=r.Styling.wrapSelect(c);return h.classList.add(d),s.appendChild(h),s}}(i||(i={}))},92500(e,t,n){"use strict";n.d(t,{Am:()=>A,Gg:()=>p,Mv:()=>m,Pb:()=>C,og:()=>f,t2:()=>g});var i,o=n(28951),r=n(31997),s=n(55187),a=n(20659),l=n(64001),d=n(69105);let c="jp-CSVViewer",h="jp-CSVViewer-grid",u=1e3;class p{}class m{constructor(e){this._looping=!0,this._changed=new a.Signal(this),this._grid=e,this._query=null,this._row=0,this._column=-1}get changed(){return this._changed}cellBackgroundColorRendererFunc(e){return({value:t,row:n,column:i})=>this._query&&t.match(this._query)?this._row===n&&this._column===i?e.currentMatchBackgroundColor:e.matchBackgroundColor:""}clear(){this._query=null,this._row=0,this._column=-1,this._changed.emit(void 0)}find(e,t=!1){let n=this._grid.dataModel,i=n.rowCount("body"),o=n.columnCount("body");this._query!==e&&(this._row=0,this._column=-1),this._query=e;let r=this._grid.scrollY/this._grid.defaultSizes.rowHeight,s=(this._grid.scrollY+this._grid.pageHeight)/this._grid.defaultSizes.rowHeight,a=this._grid.scrollX/this._grid.defaultSizes.columnHeaderHeight,l=(this._grid.scrollX+this._grid.pageWidth)/this._grid.defaultSizes.columnHeaderHeight,d=(e,t)=>e>=r&&e<=s&&t>=a&&t<=l,c=t?-1:1;this._column+=c;for(let r=this._row;t?r>=0:r<i;r+=c){for(let i=this._column;t?i>=0:i<o;i+=c)if(n.data("body",r,i).match(e))return this._changed.emit(void 0),d(r,i)||this._grid.scrollToRow(r),this._row=r,this._column=i,!0;this._column=t?o-1:0}if(this._looping){this._looping=!1,this._row=t?0:i-1,this._wrapRows(t);try{return this.find(e,t)}finally{this._looping=!0}}return!1}_wrapRows(e=!1){let t=this._grid.dataModel,n=t.rowCount("body"),i=t.columnCount("body");e&&this._row<=0?(this._row=n-1,this._column=i):!e&&this._row>=n-1&&(this._row=0,this._column=-1)}get query(){return this._query}}class g extends l.Widget{constructor(e){super(),this._monitor=null,this._delimiter=",",this._revealed=new s.PromiseDelegate,this._baseRenderer=null,this._context=e.context,this.layout=new l.PanelLayout,this.addClass(c),this._ready=this.initialize()}get ready(){return this._ready}async initialize(){let e=this.layout;if(this.isDisposed||!e)return;let{BasicKeyHandler:t,BasicMouseHandler:n,DataGrid:r}=await i.ensureDataGrid();this._defaultStyle=r.defaultStyle,this._grid=new r({defaultSizes:{rowHeight:24,columnWidth:144,rowHeaderWidth:64,columnHeaderHeight:36}}),this._grid.addClass(h),this._grid.headerVisibility="all",this._grid.keyHandler=new t,this._grid.mouseHandler=new n,this._grid.copyConfig={separator:"	",format:r.copyFormatGeneric,headers:"all",warningThreshold:1e6},e.addWidget(this._grid),this._searchService=new m(this._grid),this._searchService.changed.connect(this._updateRenderer,this),await this._context.ready,await this._updateGrid(),this._revealed.resolve(void 0),this._monitor=new o.ActivityMonitor({signal:this._context.model.contentChanged,timeout:u}),this._monitor.activityStopped.connect(this._updateGrid,this)}get context(){return this._context}get revealed(){return this._revealed.promise}get delimiter(){return this._delimiter}set delimiter(e){e!==this._delimiter&&(this._delimiter=e,this._updateGrid())}get style(){return this._grid.style}set style(e){this._grid.style={...this._defaultStyle,...e}}set rendererConfig(e){this._baseRenderer=e,this._updateRenderer()}get searchService(){return this._searchService}dispose(){this._monitor&&this._monitor.dispose(),super.dispose()}goToLine(e){this._grid.scrollToRow(e)}onActivateRequest(e){this.node.tabIndex=-1,this.node.focus()}async _updateGrid(){let{BasicSelectionModel:e}=await i.ensureDataGrid(),{DSVModel:t}=await i.ensureDSVModel(),n=this._context.model.toString(),o=this._delimiter,r=this._grid.dataModel,s=this._grid.dataModel=new t({data:n,delimiter:o});this._grid.selectionModel=new e({dataModel:s}),r&&r.dispose()}async _updateRenderer(){var e,t;if(null===this._baseRenderer)return;let{TextRenderer:n}=await i.ensureDataGrid(),o=this._baseRenderer,r=new n({font:`${null!=(e=o.fontSize)?e:"12px"} ${null!=(t=o.fontFamily)?t:"sans-serif"}`,textColor:o.textColor,horizontalAlignment:o.horizontalAlignment,backgroundColor:this._searchService.cellBackgroundColorRendererFunc(o)});this._grid.cellRenderers.update({body:r,"column-header":r,"corner-header":r,"row-header":r})}}class A extends r.DocumentWidget{constructor(e){let{content:t,context:n,delimiter:o,reveal:r,...s}=e;r=Promise.all([r,(t=t||i.createContent(n)).revealed]),super({content:t,context:n,reveal:r,...s}),o&&(t.delimiter=o)}setFragment(e){let t=e.split("=");if("#row"!==t[0])return;let n=t[1].split(";")[0];n=n.split("-")[0],this.context.ready.then(()=>{this.content.goToLine(Number(n))})}}class C extends r.ABCWidgetFactory{createNewWidget(e){return new A({context:e,translator:this.translator})}defaultToolbarFactory(e){return[{name:"delimiter",widget:new d.G({widget:e.content,translator:this.translator})}]}}class f extends C{createNewWidget(e){return new A({context:e,delimiter:"	",translator:this.translator})}}!function(e){let t=null,i=null;e.ensureDataGrid=async function(){return null==t&&(t=new s.PromiseDelegate).resolve(await n.e(4571).then(n.t.bind(n,14486,23))),t.promise},e.ensureDSVModel=async function(){return null==i&&(i=new s.PromiseDelegate).resolve(await Promise.all([n.e(5531),n.e(4571)]).then(n.bind(n,77515))),i.promise},e.createContent=function(e){return new g({context:e})}}(i||(i={}))},56112(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>D});var i=n(57941),o=n(97518),r=n(78071),s=n(23965),a=n(28951),l=n(25413),d=n(31997),c=n(40885),h=n(94613),u=n(31031),p=n(46109),m=n(2786),g=n(96933);class A{constructor(e){this._debuggerService=e.debuggerService,this._trans=e.trans}createDisplayData(e,t){return{output_type:"display_data",data:{"text/plain":e},metadata:{execution_count:t}}}async evaluateWithDebugger(e){let{code:t,executionCount:n}=e;try{if(!this._debuggerService.hasStoppedThreads())return this.createDisplayData(this._trans.__("Debugger does not have stopped threads - cannot evaluate"),n);let e=await this._debuggerService.evaluate(t);if(!e)return this.createDisplayData(this._trans.__("Evaluation resulted in an error"),n);return this.createDisplayData(e.result,n)}catch(e){return console.error("Error evaluating code with debugger:",e),this.createDisplayData(`Error: ${e}`,n)}}async runCell(e){let{cell:t}=e,n=t.model.sharedModel.getSource(),i=t.model.sharedModel.execution_count,o=await this.evaluateWithDebugger({code:n,executionCount:i});if(!o){let e=this.createDisplayData(this._trans.__("Could not display output data"),i);return t.model.outputs.add(e),!1}return t.model.outputs.add(o),!0}}class C{constructor(e){this.options=e,this.identifier="DebuggerCompletionProvider",this.rank=1e3;const t=e.translator||m.nullTranslator;this._trans=t.load("jupyterlab"),this.name=this._trans.__("Debugger"),this._debuggerService=e.debuggerService}async isApplicable(e){var t,n,i;try{let e=await (null==(i=null==(n=null==(t=this._debuggerService.session)?void 0:t.connection)?void 0:n.kernel)?void 0:i.spec);return(null==e?void 0:e.language)==="python"}catch(e){return!1}}async fetch(e,t,n){var i,o;let r,s=[];try{let{text:t,offset:n}=e,i=`
from IPython.core.completer import provisionalcompleter as _provisionalcompleter
from IPython.core.completer import rectify_completions as _rectify_completions
from IPython.core.completer import IPCompleter
_EXPERIMENTAL_KEY_NAME = "_jupyter_types_experimental"

def getCompletionsForDebugger(code, cursor_pos):
    ip = get_ipython()

    # Access the current debugger frame
    import inspect
    current_frame = inspect.currentframe()

    # Get the frame that called this function (the debugger's target frame)
    caller_frame = current_frame.f_back if current_frame else None

    # Get the debugger's frame variables
    if caller_frame:
        frame_locals = caller_frame.f_locals
        frame_globals = caller_frame.f_globals
    else:
        frame_locals = locals()
        frame_globals = globals()

    local_completer = IPCompleter(shell=ip, namespace=frame_locals, global_namespace=frame_globals, parent=ip)

    with _provisionalcompleter():
        raw_completions = local_completer.completions(code, cursor_pos)
        completions = list(_rectify_completions(code, raw_completions))

        comps = []
        for comp in completions:
            comps.append(
                dict(
                    start=comp.start,
                    end=comp.end,
                    text=comp.text,
                    type=comp.type,
                    signature=comp.signature,
                )
            )

        if completions:
            s = completions[0].start
            e = completions[0].end
            matches = [c.text for c in completions]
            types = [c.type for c in completions]
        else:
            s = cursor_pos
            e = cursor_pos
            matches = []
            types = []

        result = {
            "matches": matches,
            "types": types,
            "cursor_end": e,
            "cursor_start": s,
            "status": "ok",
        }

        return result
`;await this._debuggerService.evaluate(i);let o=`getCompletionsForDebugger(${JSON.stringify(t)}, ${n})`,a=await this._debuggerService.evaluate(o);if(!a)return{start:0,end:0,items:[]};let l=a.result.replace(/'/g,'"');l=l.replace(/, \.\.\./g,"");try{r=JSON.parse(l)}catch(e){return console.error("Failed to parse corrected matches:",e),{start:0,end:0,items:[]}}s=[...r.matches.map((e,t)=>{var n;return{label:e,insertText:e,type:(null==(n=r.types)?void 0:n[t])||void 0}})]}catch(e){return console.warn("Error fetching debugger completions:",e),{start:0,end:0,items:[]}}return{start:null!=(i=r.cursor_start)?i:0,end:null!=(o=r.cursor_end)?o:0,items:s}}}var f=n(74005);function b(e){Object.values(l.Debugger.CommandIDs).forEach(t=>{e.hasCommand(t)&&e.notifyCommandChanged(t)})}function v(e,t){t.hasStoppedThreads()?document.body.dataset.jpDebuggerStoppedThreads="true":delete document.body.dataset.jpDebuggerStoppedThreads,b(e)}let _={id:"@jupyterlab/debugger-extension:consoles",description:"Add debugger capability to the consoles.",autoStart:!0,requires:[l.IDebugger,s.IConsoleTracker],optional:[i.ILabShell,p.ISettingRegistry,m.ITranslator,l.IDebuggerDisplayRegistry],activate:async(e,t,n,i,o,r,a)=>{if(r||(r=m.nullTranslator),o){let e=await (null==o?void 0:o.load(k.id)),t=()=>{var t;let n=null==(t=e.composite.showPausedOverlay)||t;document.body.dataset.showPausedOverlay=n?"true":"false"};t(),e.changed.connect(t)}let d=new l.Debugger.Handler({type:"console",shell:e.shell,service:t,translator:r});d.executionDone.connect(t.displayModules.bind(t));let c=async n=>{let{sessionContext:i}=n;await i.ready,await d.updateContext(n,i),v(e.commands,t)};i?i.currentChanged.connect((e,t)=>{let n=t.newValue;n instanceof s.ConsolePanel&&c(n)}):n.currentChanged.connect((e,t)=>{t&&c(t)}),a&&a.register({canHandle(e){var t,n;return null!=(n=null==(t=e.path)?void 0:t.includes("ipykernel_"))&&n},getDisplayName(e){var i;let o=null!=(i=e.path)?i:"";return n.forEach(n=>{var i,r;for(let s of n.console.cells){let n=s.model;if(!(0,f.isCodeCellModel)(n))continue;let a=n.sharedModel.getSource(),l=t.getCodeId(a);if(l&&l===e.path){let e=null!=(i=n.executionCount)?i:null;o="running"===(null!=(r=n.executionState)?r:null)?"In [*]":null===e?"In [ ]":`In [${e}]`;return}}}),o}})}},y={id:"@jupyterlab/debugger-extension:files",description:"Adds debugger capabilities to files.",autoStart:!0,requires:[l.IDebugger,c.IEditorTracker],optional:[i.ILabShell,p.ISettingRegistry,m.ITranslator],activate:async(e,t,n,i,o,r)=>{if(r||(r=m.nullTranslator),o){let e=await (null==o?void 0:o.load(k.id)),t=()=>{var t;let n=null==(t=e.composite.showPausedOverlay)||t;document.body.dataset.showPausedOverlay=n?"true":"false"};t(),e.changed.connect(t)}let s=new l.Debugger.Handler({type:"file",shell:e.shell,service:t,translator:r});s.executionDone.connect(t.displayModules.bind(t));let a={},h=async n=>{let i=e.serviceManager.sessions;try{let o=await i.findByPath(n.context.path);if(!o)return;let r=a[o.id];r||(r=i.connectTo({model:o}),a[o.id]=r),await s.update(n,r),v(e.commands,t)}catch(e){return}};i?i.currentChanged.connect((e,t)=>{let n=t.newValue;if(n instanceof d.DocumentWidget){let{content:e}=n;e instanceof c.FileEditor&&h(n)}}):n.currentChanged.connect((e,t)=>{t&&h(t)})}},E={id:"@jupyterlab/debugger-extension:notebooks",description:"Adds debugger capability to notebooks and provides the debugger notebook handler.",autoStart:!0,requires:[l.IDebugger,h.INotebookTracker],optional:[i.ILabShell,o.ICommandPalette,o.ISessionContextDialogs,p.ISettingRegistry,m.ITranslator,l.IDebuggerDisplayRegistry],provides:l.IDebuggerHandler,activate:async(e,t,n,i,r,s,a,d,c)=>{let u=null!=d?d:m.nullTranslator;if(a){let e=await (null==a?void 0:a.load(k.id)),t=()=>{var t;let n=null==(t=e.composite.showPausedOverlay)||t;document.body.dataset.showPausedOverlay=n?"true":"false"};t(),e.changed.connect(t)}let p=null!=s?s:new o.SessionContextDialogs({translator:u}),g=new l.Debugger.Handler({type:"notebook",shell:e.shell,service:t,translator:u});g.executionDone.connect(t.displayModules.bind(t));let A=u.load("jupyterlab");e.commands.addCommand(l.Debugger.CommandIDs.restartDebug,{label:A.__("Restart Kernel and Debug…"),caption:A.__("Restart Kernel and Debug…"),isEnabled:()=>t.isStarted,describedBy:{args:{type:"object",properties:{}}},execute:async()=>{let e=t.getDebuggerState(),i=n.currentWidget;if(!i)return;let{content:o,sessionContext:r}=i;await p.restart(r,{onBeforeRestart:async()=>{await t.stop()}})&&(await t.start(),await t.restoreDebuggerState(e),await g.updateWidget(i,r.session),await h.NotebookActions.runAll(o,r,p,u))}});let C=async n=>{if(n){let{sessionContext:e}=n;await e.ready,await g.updateContext(n,e),await g.updateWidget(n,e.session)}v(e.commands,t)};return i?i.currentChanged.connect((e,t)=>{let n=t.newValue;n instanceof h.NotebookPanel&&C(n)}):n.currentChanged.connect((e,t)=>{t&&C(t)}),r&&r.addItem({category:"Notebook Operations",command:l.Debugger.CommandIDs.restartDebug}),c&&c.register({canHandle(e){var t,n;return null!=(n=null==(t=e.path)?void 0:t.includes("ipykernel_"))&&n},getDisplayName(e){var i;let o=null!=(i=e.path)?i:"";return n.forEach(n=>{for(let i of n.content.widgets){let n=i.model;if(!(0,f.isCodeCellModel)(n))continue;let r=n.sharedModel.getSource();if(t.getCodeId(r)===e.path){let e=n.executionCount;o="running"===n.executionState?"Cell [*]":null==e?"Cell [ ]":`Cell [${e}]`;return}}}),o}}),g}},w={id:"@jupyterlab/debugger-extension:service",description:"Provides the debugger service.",autoStart:!0,provides:l.IDebugger,requires:[l.IDebuggerConfig],optional:[l.IDebuggerDisplayRegistry,l.IDebuggerSources,m.ITranslator,r.IEditorServices],activate:(e,t,n,i,o,r)=>{var s;return new l.Debugger.Service({config:t,displayRegistry:n,debuggerSources:i,specsManager:e.serviceManager.kernelspecs,translator:o,mimeTypeService:null!=(s=null==r?void 0:r.mimeTypeService)?s:null})}},j={id:"@jupyterlab/debugger-extension:display-registry",description:"Provides the debugger display registry for cell/file display names.",provides:l.IDebuggerDisplayRegistry,autoStart:!0,activate:()=>new l.DebuggerDisplayRegistry},x={id:"@jupyterlab/debugger-extension:config",description:"Provides the debugger configuration",provides:l.IDebuggerConfig,autoStart:!0,activate:()=>new l.Debugger.Config},B={id:"@jupyterlab/debugger-extension:sources",description:"Provides the source feature for debugging",autoStart:!0,provides:l.IDebuggerSources,requires:[l.IDebuggerConfig,r.IEditorServices],optional:[h.INotebookTracker,s.IConsoleTracker,c.IEditorTracker],activate:(e,t,n,i,o,r)=>new l.Debugger.Sources({config:t,shell:e.shell,editorServices:n,notebookTracker:i,consoleTracker:o,editorTracker:r})},S={id:"@jupyterlab/debugger-extension:variables",description:"Adds variables renderer and inspection in the debugger variable panel.",autoStart:!0,requires:[l.IDebugger,l.IDebuggerHandler,m.ITranslator],optional:[o.IThemeManager,u.IRenderMimeRegistry],activate:(e,t,n,i,r,s)=>{let a=i.load("jupyterlab"),{commands:d,shell:c}=e,u=new o.WidgetTracker({namespace:"debugger/inspect-variable"}),p=new o.WidgetTracker({namespace:"debugger/render-variable"}),m=l.Debugger.CommandIDs;d.addCommand(m.inspectVariable,{label:a.__("Inspect Variable"),caption:a.__("Inspect Variable"),isEnabled:e=>{var n,i,o,r;return!!(null==(n=t.session)?void 0:n.isStarted)&&Number(null!=(r=null!=(i=e.variableReference)?i:null==(o=t.model.variables.selectedVariable)?void 0:o.variablesReference)?r:0)>0},describedBy:{args:{type:"object",properties:{variableReference:{type:"number",description:a.__("The variable reference to inspect")},name:{type:"string",description:a.__("The name of the variable to inspect")}}}},execute:async e=>{var n,i,s,a;let{variableReference:h,name:p}=e;h||(h=null==(n=t.model.variables.selectedVariable)?void 0:n.variablesReference),p||(p=null==(i=t.model.variables.selectedVariable)?void 0:i.name);let m=`jp-debugger-variable-${p}`;if(!p||!h||u.find(e=>e.id===m))return;let g=await t.inspectVariable(h);if(!g||0===g.length)return;let A=t.model.variables,C=new o.MainAreaWidget({content:new l.Debugger.VariablesGrid({model:A,commands:d,scopes:[{name:p,variables:g}],themeManager:r})});C.addClass("jp-DebuggerVariables"),C.id=m,C.title.icon=l.Debugger.Icons.variableIcon,C.title.label=`${null==(a=null==(s=t.session)?void 0:s.connection)?void 0:a.name} - ${p}`,u.add(C);let f=()=>{C.dispose(),A.changed.disconnect(f)};A.changed.connect(f),c.add(C,"main",{mode:u.currentWidget?"split-right":"split-bottom",activate:!1,type:"Debugger Variables"})}}),d.addCommand(m.renderMimeVariable,{label:a.__("Render Variable"),caption:a.__("Render variable according to its mime type"),isEnabled:()=>{var e;return!!(null==(e=t.session)?void 0:e.isStarted)},isVisible:()=>t.model.hasRichVariableRendering&&(null!==s||n.activeWidget instanceof h.NotebookPanel),describedBy:{args:{type:"object",properties:{frameId:{type:"number",description:a.__("The frame ID")},name:{type:"string",description:a.__("The name of the variable to render")}}}},execute:e=>{var o,r,a,d,u,m,g,A;let{name:C,frameId:f}=e;C||(C=null==(o=t.model.variables.selectedVariable)?void 0:o.name),f||(f=null==(r=t.model.callstack.frame)?void 0:r.id);let b=n.activeWidget,v=b instanceof h.NotebookPanel?b.content.rendermime:s;if(!v)return;let _=`jp-debugger-variable-mime-${C}-${null==(d=null==(a=t.session)?void 0:a.connection)?void 0:d.path.replace("/","-")}`;if(!C||p.find(e=>e.id===_)||!f&&t.hasStoppedThreads())return;let y=t.model.variables,E=new l.Debugger.VariableRenderer({dataLoader:()=>t.inspectRichVariable(C,f),rendermime:v,translator:i});E.addClass("jp-DebuggerRichVariable"),E.id=_,E.title.icon=l.Debugger.Icons.variableIcon,E.title.label=`${C} - ${null==(m=null==(u=t.session)?void 0:u.connection)?void 0:m.name}`,E.title.caption=`${C} - ${null==(A=null==(g=t.session)?void 0:g.connection)?void 0:A.path}`,p.add(E);let w=()=>{E.dispose(),y.changed.disconnect(j),null==b||b.disposed.disconnect(w)},j=()=>{n.activeWidget===b&&E.refresh()};E.disposed.connect(w),y.changed.connect(j),null==b||b.disposed.connect(w),c.add(E,"main",{mode:p.currentWidget?"split-right":"split-bottom",activate:!1,type:"Debugger Variables"})}}),d.addCommand(m.copyToClipboard,{label:a.__("Copy to Clipboard"),caption:a.__("Copy text representation of the value to clipboard"),isEnabled:()=>{var e,n;return!!(null==(e=t.session)?void 0:e.isStarted)&&!!(null==(n=t.model.variables.selectedVariable)?void 0:n.value)},isVisible:()=>n.activeWidget instanceof h.NotebookPanel,describedBy:{args:{type:"object",properties:{}}},execute:async()=>{let e=t.model.variables.selectedVariable.value;e&&o.Clipboard.copyToSystem(e)}}),d.addCommand(m.copyToGlobals,{label:a.__("Copy Variable to Globals"),caption:a.__("Copy variable to globals scope"),isEnabled:()=>{var e;return!!(null==(e=t.session)?void 0:e.isStarted)},isVisible:()=>n.activeWidget instanceof h.NotebookPanel&&t.model.supportCopyToGlobals,describedBy:{args:{type:"object",properties:{}}},execute:async e=>{let n=t.model.variables.selectedVariable.name;await t.copyToGlobals(n)}})}},M={id:"@jupyterlab/debugger-extension:sidebar",description:"Provides the debugger sidebar.",provides:l.IDebuggerSidebar,requires:[l.IDebugger,r.IEditorServices,m.ITranslator],optional:[o.IThemeManager,p.ISettingRegistry],autoStart:!0,activate:async(e,t,n,i,o,r)=>{let{commands:s}=e,a=l.Debugger.CommandIDs,d={registry:s,continue:a.debugContinue,terminate:a.terminate,next:a.next,stepIn:a.stepIn,stepOut:a.stepOut,evaluate:a.evaluate},c={registry:s,pauseOnExceptions:a.pauseOnExceptions},h=new l.Debugger.Sidebar({service:t,callstackCommands:d,breakpointsCommands:c,editorServices:n,themeManager:o,translator:i}),u=!0;if(h.showSourcesPanel=!1,r){let e=await r.load(k.id),n=()=>{var n,i,o,r,s;let a=e.get("variableFilters").composite,l=null!=(r=null==(o=null==(i=null==(n=t.session)?void 0:n.connection)?void 0:i.kernel)?void 0:o.name)?r:"";l&&a[l]&&(h.variables.filter=new Set(a[l]));let d=e.get("defaultKernelSourcesFilter").composite;h.kernelSources.filter=d,h.showSourcesPanel=!(u=null==(s=e.composite.showSourcesInMainArea)||s)};n(),e.changed.connect(n),t.sessionChanged.connect(n)}return h}},I={id:"@jupyterlab/debugger-extension:source-viewer",description:"Initialize the debugger sources viewer.",requires:[l.IDebugger,r.IEditorServices,l.IDebuggerSources,m.ITranslator],optional:[p.ISettingRegistry],provides:l.IDebuggerSourceViewer,autoStart:!0,activate:async(e,t,n,i,r,s)=>{let d=null,c=new l.Debugger.ReadOnlyEditorFactory({editorServices:n}),{model:h}=t,u=!0;if(s){let e=await s.load(k.id),t=()=>{var t;u=null==(t=e.composite.showSourcesInMainArea)||t};t(),e.changed.connect(t)}let p=()=>{d&&!d.widget.isDisposed&&(d.widget.close(),d.widget.dispose(),d=null)};t.stopped.connect(p);let m=null,g=async(e,n)=>{var i;if(u){if(!t.isStarted||!(null==(i=null==n?void 0:n.source)?void 0:i.path)){m=setTimeout(()=>{0===h.callstack.frames.length&&p()},1e3);return}try{m&&(clearTimeout(m),m=null);let e=await t.getSource({path:n.source.path});e&&A(e,n)}catch(e){console.error("Failed to fetch source:",e)}}};h.callstack.currentFrameChanged.connect(g);let A=(n,o)=>{var r,s,h,u,m,g,A,C,f,b;if(!n)return;let{content:v,mimeType:_,path:y}=n,E=i.find({focus:!0,kernel:null!=(u=null==(h=null==(s=null==(r=t.session)?void 0:r.connection)?void 0:s.kernel)?void 0:h.name)?u:"",path:null!=(A=null==(g=null==(m=t.session)?void 0:m.connection)?void 0:g.path)?A:"",source:null!=(f=null==(C=null==o?void 0:o.source)?void 0:C.path)?f:y});if(E.length>0)return void E.forEach(e=>{e.reveal().then(()=>{var t;let n=e.get();n&&o&&void 0!==o.line&&(n.revealPosition({line:o.line-1,column:null!=(t=o.column)?t:0}),l.Debugger.EditorHandler.showCurrentLine(n,o.line))})});o&&d&&!d.widget.isDisposed&&d.path!==y&&p();let w=c.createNewEditor({content:v,mimeType:_,path:y}),j=w.editor,x=new l.Debugger.EditorHandler({debuggerService:t,editorReady:()=>Promise.resolve(j),getEditor:()=>j,path:y,src:j.model.sharedModel});if(w.disposed.connect(()=>x.dispose()),i.open({label:a.PathExt.basename(y),caption:y,editorWrapper:w}),o)for(let t of e.shell.widgets("main")){for(let e of t.children())if(e.node.id===w.node.id){d={widget:t,path:y};break}if(d)break}if(o&&void 0!==o.line){let e=o.line,t=null!=(b=o.column)?b:0;requestAnimationFrame(()=>{j.revealPosition({line:e-1,column:t}),l.Debugger.EditorHandler.showCurrentLine(j,e,"start")})}},C=r.load("jupyterlab");return e.commands.addCommand(l.Debugger.CommandIDs.openSource,{label:C.__("Open Source"),caption:C.__("Open Source"),isEnabled:()=>!!I,execute:async e=>{let n=e.path||"";if(!n)throw Error("Path to open is needed");if(!t.isStarted){if(!(await (0,o.showDialog)({title:C.__("Start debugger?"),body:C.__("The debugger service is needed to open the source %1",n),buttons:[o.Dialog.cancelButton({label:C.__("Cancel")}),o.Dialog.okButton({label:C.__("Start debugger")})]})).button.accept)return;await t.start()}return A(await t.getSource({path:n}))},describedBy:{args:{type:"object",properties:{path:{type:"string",description:C.__("Path to the source file to open")}}}}}),Object.freeze({open:A})}},k={id:"@jupyterlab/debugger-extension:main",description:"Initialize the debugger user interface.",requires:[l.IDebugger,l.IDebuggerSidebar,r.IEditorServices,m.ITranslator,s.ConsolePanel.IContentFactory,s.IConsoleTracker],optional:[o.ICommandPalette,l.IDebuggerSourceViewer,i.ILabShell,i.ILayoutRestorer,p.ISettingRegistry],autoStart:!0,activate:async(e,t,n,i,r,s,d,c,h,u,p,m)=>{var g;let A=r.load("jupyterlab"),{commands:C,shell:f,serviceManager:b}=e,{kernelspecs:_}=b,y=l.Debugger.CommandIDs;if("true"!==a.PageConfig.getOption("alwaysShowDebuggerExtension").toLowerCase()){await _.ready;let e=null==(g=_.specs)?void 0:g.kernelspecs;if(!e||!Object.keys(e).some(t=>{var n,i,o;return!!(null!=(o=null==(i=null==(n=e[t])?void 0:n.metadata)?void 0:i.debugger)&&o)}))return}C.addCommand(y.debugContinue,{label:()=>t.hasStoppedThreads()?A.__("Continue"):A.__("Pause"),caption:()=>t.hasStoppedThreads()?A.__("Continue"):A.__("Pause"),icon:()=>t.hasStoppedThreads()?l.Debugger.Icons.continueIcon:l.Debugger.Icons.pauseIcon,isEnabled:()=>{var e,n;return null!=(n=null==(e=t.session)?void 0:e.isStarted)&&n},execute:async()=>{t.hasStoppedThreads()?await t.continue():await t.pause(),C.notifyCommandChanged(y.debugContinue)},describedBy:{args:{type:"object",properties:{}}}}),C.addCommand(y.terminate,{label:A.__("Terminate"),caption:A.__("Terminate"),icon:l.Debugger.Icons.terminateIcon,isEnabled:()=>t.hasStoppedThreads(),execute:async()=>{await t.restart(),v(e.commands,t)},describedBy:{args:{type:"object",properties:{}}}}),C.addCommand(y.next,{label:A.__("Next"),caption:A.__("Next"),icon:l.Debugger.Icons.stepOverIcon,isEnabled:()=>t.hasStoppedThreads(),execute:async()=>{await t.next()},describedBy:{args:{type:"object",properties:{}}}}),C.addCommand(y.stepIn,{label:A.__("Step In"),caption:A.__("Step In"),icon:l.Debugger.Icons.stepIntoIcon,isEnabled:()=>t.hasStoppedThreads(),execute:async()=>{await t.stepIn()},describedBy:{args:{type:"object",properties:{}}}}),C.addCommand(y.stepOut,{label:A.__("Step Out"),caption:A.__("Step Out"),icon:l.Debugger.Icons.stepOutIcon,isEnabled:()=>t.hasStoppedThreads(),execute:async()=>{await t.stepOut()},describedBy:{args:{type:"object",properties:{}}}}),C.addCommand(y.pauseOnExceptions,{label:e=>e.filter||"Breakpoints on exception",caption:e=>{var t;return null!=(t=e.description)?t:""},isToggled:e=>{var n;return(null==(n=t.session)?void 0:n.isPausingOnException(e.filter))||!1},isEnabled:()=>t.pauseOnExceptionsIsValid(),execute:async e=>{var n,i,r;if(null==e?void 0:e.filter){let n=e.filter;await t.pauseOnExceptionsFilter(n)}else{let e=[];null==(i=null==(n=t.session)?void 0:n.exceptionBreakpointFilters)||i.forEach(t=>{e.push(t.filter)});let s=await o.InputDialog.getMultipleItems({title:A.__("Select a filter for breakpoints on exception"),items:e,defaults:(null==(r=t.session)?void 0:r.currentExceptionFilters)||[]}),a=s.button.accept?s.value:null;null!==a&&await t.pauseOnExceptions(a)}},describedBy:{args:{type:"object",properties:{filter:{type:"string",description:A.__("Exception filter to pause on")},description:{type:"string",description:A.__("Description of the exception filter")}}}}});let E=!1;if(m){let e=await m.load(k.id),t=()=>{E=e.get("autoCollapseDebuggerSidebar").composite};t(),e.changed.connect(t)}if(t.eventMessage.connect((i,o)=>{v(e.commands,t),u&&"initialized"===o.event?u.activateById(n.id):u&&n.isVisible&&"terminated"===o.event&&E&&u.collapseRight()}),t.sessionChanged.connect(n=>{v(e.commands,t)}),p&&p.add(n,"debugger-sidebar"),n.node.setAttribute("role","region"),n.node.setAttribute("aria-label",A.__("Debugger section")),n.title.dataset={...n.title.dataset,jpTabLabel:A.__("Debugger")},n.title.caption=A.__("Debugger"),f.add(n,"right",{type:"Debugger"}),C.addCommand(y.showPanel,{label:A.__("Debugger Panel"),execute:()=>{f.activateById(n.id)},describedBy:{args:{type:"object",properties:{}}}}),c){let e=A.__("Debugger");[y.debugContinue,y.terminate,y.next,y.stepIn,y.stepOut,y.evaluate,y.pauseOnExceptions].forEach(t=>{c.addItem({command:t,category:e})})}if(h){let{model:e}=t,n=(e,t,n)=>{t&&h.open(t,n)};e.sources.currentSourceOpened.connect((e,t)=>{h.open(t)}),e.kernelSources.kernelSourceOpened.connect(n),e.breakpoints.clicked.connect(async(e,n)=>{var i;let o=null==(i=n.source)?void 0:i.path,r=await t.getSource({sourceReference:0,path:o});h.open(r,n)})}}},D=[w,j,_,y,E,S,M,k,B,I,x,{id:"@jupyterlab/debugger-extension:completions",description:"Provides debugger-based completions.",autoStart:!0,requires:[l.IDebugger,g.ICompletionProviderManager],optional:[m.ITranslator],activate:(e,t,n,i)=>{let o=new C({debuggerService:t,translator:i||m.nullTranslator});n.registerProvider(o)}},{id:"@jupyterlab/debugger-extension:debug-console",description:"Debugger console to enable evaluation in debugger context.",autoStart:!0,requires:[l.IDebugger,s.ConsolePanel.IContentFactory,r.IEditorServices,g.ICompletionProviderManager,o.ISanitizer,m.ITranslator],optional:[i.ILabShell],activate:(e,t,n,i,r,a,d,c)=>{let h=l.Debugger.CommandIDs,p=d.load("jupyterlab"),m=new o.WidgetTracker({namespace:"debugger-debug-console"}),g=null,C=async()=>{let o=new u.RenderMimeRegistry({initialFactories:u.standardRendererFactories}),r=new A({debuggerService:t,trans:p});(g=new s.ConsolePanel({manager:e.serviceManager,name:p.__("Debug Console"),contentFactory:n,rendermime:o,executor:r,mimeTypeService:i.mimeTypeService,kernelPreference:{shouldStart:!1,canStart:!1}})).title.label=p.__("Debug Console"),g.title.icon=l.Debugger.Icons.evaluateIcon,g.addClass("jp-DebugConsole"),g.console.addClass("jp-DebugConsole-widget"),t.eventMessage.connect((e,t)=>{c&&"terminated"===t.event&&(null==g||g.dispose())});let a=()=>{e.commands.notifyCommandChanged(h.evaluate),e.commands.notifyCommandChanged(h.executeConsole),e.commands.notifyCommandChanged(h.invokeConsole),e.commands.notifyCommandChanged(h.selectConsole)};g.disposed.connect(()=>{g=null}),e.shell.add(g,"main",{mode:"split-bottom",activate:!0,type:"Debugger Console"}),m.add(g),e.shell.activateById(g.id),await f(void 0,g),null==g||g.update(),a()},f=async(e,t)=>{var n,i;let o={editor:null!=(i=null==(n=t.console.promptCell)?void 0:n.editor)?i:null,session:t.console.sessionContext.session,widget:t};await r.updateCompleter(o),t.console.promptCellCreated.connect((e,n)=>{let i={editor:n.editor,session:e.sessionContext.session,widget:t,sanitizer:a};r.updateCompleter(i).catch(console.error)}),t.console.sessionContext.sessionChanged.connect(()=>{var e,n;let i={editor:null!=(n=null==(e=t.console.promptCell)?void 0:e.editor)?n:null,session:t.console.sessionContext.session,widget:t,sanitizer:a};r.updateCompleter(i).catch(console.error)})};m.widgetAdded.connect(f),r.activeProvidersChanged.connect(()=>{m.forEach(e=>{f(void 0,e).catch(e=>console.error(e))})}),e.commands.addCommand(h.invokeConsole,{label:p.__("Display the tab completion widget."),execute:()=>{let e=m.currentWidget&&m.currentWidget.id;if(e)return r.invoke(e)},describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(h.selectConsole,{label:p.__("Select the completion suggestion."),execute:()=>{let e=m.currentWidget&&m.currentWidget.id;if(e)return r.select(e)},describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(h.executeConsole,{label:p.__("Execute the current line in debug console."),execute:async()=>{let e=m.currentWidget;if(e&&e.console){await e.console.execute(!0);let t=e.console.promptCell;t&&t.editor&&t.editor.focus()}},describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(h.evaluate,{label:p.__("Evaluate Code"),caption:p.__("Evaluate Code"),icon:l.Debugger.Icons.evaluateIcon,isEnabled:()=>{var e;return!!(null==(e=t.session)?void 0:e.isStarted)},execute:async()=>{g?g.dispose():C()},isToggled:()=>null!==g,describedBy:{args:{type:"object",properties:{}}}}),e.commands.addKeyBinding({command:h.selectConsole,keys:["Enter"],selector:".jp-ConsolePanel.jp-DebugConsole .jp-DebugConsole-widget .jp-mod-completer-active"}),e.commands.addKeyBinding({command:h.invokeConsole,keys:["Tab"],selector:".jp-ConsolePanel.jp-DebugConsole .jp-DebugConsole-widget .jp-CodeConsole-promptCell .jp-mod-completer-enabled:not(.jp-mod-at-line-beginning)"}),e.commands.addKeyBinding({command:h.executeConsole,keys:["Shift Enter"],selector:".jp-ConsolePanel.jp-DebugConsole .jp-DebugConsole-widget .jp-CodeConsole-promptCell"})}}]},54602(e,t,n){"use strict";n(82311),n(62971),n(38415),n(22595),n(45350),n(67474),n(58613),n(47040),n(3839),n(58944),n(16382),n(97777),n(92508);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(57384),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},10583(e,t,n){"use strict";n.d(t,{s:()=>a});var i,o,r,s,a,l=n(8989);let d=0x5bd1e995,c=new TextEncoder;function h(e,t){let n=c.encode(e),i=n.length,o=t^i,r=0;for(;i>=4;){let e=255&n[r]|(255&n[++r])<<8|(255&n[++r])<<16|(255&n[++r])<<24;e=(65535&e)*d+(((e>>>16)*d&65535)<<16),e^=e>>>24,e=(65535&e)*d+(((e>>>16)*d&65535)<<16),o=(65535&o)*d+(((o>>>16)*d&65535)<<16)^e,i-=4,++r}switch(i){case 3:o^=(255&n[r+2])<<16;case 2:o^=(255&n[r+1])<<8;case 1:o^=255&n[r],o=(65535&o)*d+(((o>>>16)*d&65535)<<16)}return o^=o>>>13,o=(65535&o)*d+(((o>>>16)*d&65535)<<16),(o^=o>>>15)>>>0}class u{constructor(){this._fileParams=new Map,this._hashMethods=new Map}getCodeId(e,t){let n=this._fileParams.get(t);if(!n)throw Error(`Kernel (${t}) has no tmp file params.`);let i=this._hashMethods.get(t);if(!i)throw Error(`Kernel (${t}) has no hashing params.`);let{prefix:o,suffix:r}=n;return`${o}${i(e)}${r}`}setHashParams(e){let{kernel:t,method:n,seed:i}=e;if(!t)throw TypeError("Kernel name is not defined.");if("Murmur2"===n)this._hashMethods.set(t,e=>h(e,i).toString());else throw Error(`Hash method (${n}) is not supported.`)}setTmpFileParams(e){let{kernel:t,prefix:n,suffix:i}=e;if(!t)throw TypeError("Kernel name is not defined.");this._fileParams.set(t,{kernel:t,prefix:n,suffix:i})}getTmpFileParams(e){return this._fileParams.get(e)}}var p=n(97518),m=n(74005),g=n(64001);!function(e){e.getCode=function(e){return new A({...e,body:new C(e),buttons:[p.Dialog.cancelButton({label:e.cancelLabel}),p.Dialog.okButton({label:e.okLabel})]}).launch()}}(i||(i={}));class A extends p.Dialog{handleEvent(e){if("keydown"===e.type){let{code:t,shiftKey:n}=e;if(n&&"Enter"===t)return this.resolve();if("Enter"===t)return}super.handleEvent(e)}}class C extends g.Widget{constructor(e){super();const{contentFactory:t,rendermime:n,mimeType:i}=e,o=new m.CodeCellModel;o.mimeType=null!=i?i:"",this._prompt=new m.CodeCell({contentFactory:t,rendermime:n,model:o,placeholder:!1}).initializeState(),this._prompt.inputArea.promptNode.remove(),this.node.appendChild(this._prompt.node)}getValue(){return this._prompt.model.sharedModel.getSource()}onAfterAttach(e){super.onAfterAttach(e),this._prompt.activate()}}var f=n(78071);class b{constructor(e){this._services=e.editorServices}createNewEditor(e){let{content:t,mimeType:n,path:i}=e,o=this._services.factoryService.newInlineEditor,r=this._services.mimeTypeService,s=new f.CodeEditor.Model({mimeType:n||r.getMimeTypeByFilePath(i)});s.sharedModel.source=t;let a=new f.CodeEditorWrapper({editorOptions:{config:{readOnly:!0,lineNumbers:!0}},model:s,factory:o});return a.node.setAttribute("data-jp-debugger","true"),a.disposed.connect(()=>{s.dispose()}),a}}var v=n(2786),_=n(52782),y=n(20659),E=n(28951),w=n(83657),j=n(98260);let x="jp-DebuggerEditor-highlight",B=1e3;class S{constructor(e){var t,n,i,r;this._src=e.src,this._id=null!=(i=null==(n=null==(t=e.debuggerService.session)?void 0:t.connection)?void 0:n.id)?i:"",this._path=null!=(r=e.path)?r:"",this._debuggerService=e.debuggerService,this._editor=e.getEditor,this._editorMonitor=new E.ActivityMonitor({signal:this._src.changed,timeout:B}),this._editorMonitor.activityStopped.connect(()=>{this._sendEditorBreakpoints()},this),this._selectedBreakpoint=this._debuggerService.model.breakpoints.selectedBreakpoint,this._debuggerService.model.breakpoints.changed.connect(async()=>{let e=this.editor;e&&!e.isDisposed&&this._addBreakpointsToEditor()},this),this._debuggerService.model.breakpoints.restored.connect(async()=>{let e=this.editor;e&&!e.isDisposed&&this._addBreakpointsToEditor()},this),this._debuggerService.model.breakpoints.selectedChanged.connect((e,t)=>{this._selectedBreakpoint=t,this._addBreakpointsToEditor()},this),this._debuggerService.model.callstack.currentFrameChanged.connect((e,t)=>{var n,i;let o=this.editor;if(o){S.clearHighlight(o);let e=null!=(i=null==(n=null==t?void 0:t.source)?void 0:n.path)?i:"",r=this._path||this._debuggerService.getCodeId(this._src.getSource());e&&r&&e===r&&"number"==typeof(null==t?void 0:t.line)&&S.showCurrentLine(o,t.line)}},this),this._breakpointEffect=w.StateEffect.define({map:(e,t)=>e.map(e=>({pos:t.mapPos(e.pos),selected:e.selected}))}),this._breakpointState=w.StateField.define({create:()=>w.RangeSet.empty,update:(e,t)=>{let n=!1,i=[];for(let e of t.effects)e.is(this._breakpointEffect)&&(n=!0,i=e.value.map(({pos:e,selected:t})=>(t?o.selectedBreakpointMarker:o.breakpointMarker).range(e)));return n?w.RangeSet.of(i,!0):e.map(t.changes)}}),this._gutter=new w.Compartment,this._highlightDeco=j.Decoration.line({class:x}),this._highlightState=w.StateField.define({create:()=>j.Decoration.none,update:(e,t)=>{for(let n of(e=e.map(t.changes),t.effects))if(n.is(S._highlightEffect)){let t=n;e=t.value.pos.length?e.update({add:t.value.pos.map(e=>this._highlightDeco.range(e))}):j.Decoration.none}return e},provide:e=>j.EditorView.decorations.from(e)}),e.editorReady().then(()=>{this._setupEditor()})}get editor(){return this._editor()}dispose(){this.isDisposed||(this._editorMonitor.dispose(),this._clearEditor(),this.isDisposed=!0,y.Signal.clearData(this))}refreshBreakpoints(){this._addBreakpointsToEditor()}_setupEditor(){let e=this.editor;if(!e||e.isDisposed)return;e.setOption("lineNumbers",!0);let t=[this._breakpointState,this._highlightState,w.Prec.highest((0,j.gutter)({class:"cm-breakpoint-gutter",renderEmptyElements:!0,markers:e=>e.state.field(this._breakpointState),initialSpacer:()=>o.breakpointMarker,domEventHandlers:{mousedown:(e,t)=>(this._onGutterClick(e,t.from),!0)}}))];e.injectExtension(this._gutter.of(t)),this._addBreakpointsToEditor()}_clearEditor(){let e=this.editor;e&&!e.isDisposed&&(S.clearHighlight(e),this._clearGutter(e),e.setOption("lineNumbers",!1),e.editor.dispatch({effects:this._gutter.reconfigure([])}))}_sendEditorBreakpoints(){var e;if(null==(e=this.editor)?void 0:e.isDisposed)return;let t=this._getBreakpointsFromEditor().map(e=>{var t,n;return o.createBreakpoint((null==(n=null==(t=this._debuggerService.session)?void 0:t.connection)?void 0:n.name)||"",e)});this._debuggerService.updateBreakpoints(this._src.getSource(),t,this._path)}_getEffectiveClickedLine(e,t){let n,i=e.state.doc.lineAt(t),o=i.number,r=!1;if(""===i.text.trim())for(r=!0;o>1;){o--;let t=e.state.doc.line(o);if(""!==t.text.trim()){n=t;break}}else!1===r&&(n=i);return[n,r]}_onGutterClick(e,t){var n,i,r;if(this._id!==(null==(i=null==(n=this._debuggerService.session)?void 0:n.connection)?void 0:i.id))return;let[s,a]=this._getEffectiveClickedLine(e,t),l=this._getBreakpoints(),d=e.state.field(this._breakpointState),c=!1;if(s)if(d.between(null==s?void 0:s.from,null==s?void 0:s.from,()=>{c=!0}),c)if(a){let e=l.find(e=>e.line===s.number);e&&(this._debuggerService.model.breakpoints.selectedBreakpoint=e)}else l=l.filter(e=>e.line!==s.number),this._selectedBreakpoint&&(l=l.filter(e=>{var t;return e.line!==(null==(t=this._selectedBreakpoint)?void 0:t.line)}));else{this._debuggerService.model.breakpoints.selectedBreakpoint=null;let e=o.createBreakpoint(null!=(r=this._path)?r:this._debuggerService.session.connection.name,s.number);l.push(e)}l.sort((e,t)=>e.line-t.line),this._debuggerService.updateBreakpoints(this._src.getSource(),l,this._path)}_addBreakpointsToEditor(){var e,t,n,i,o;if(!this.editor||this._id!==(null==(t=null==(e=this._debuggerService.session)?void 0:e.connection)?void 0:t.id))return;let r=this.editor,s=this._getBreakpoints();this._clearGutter(r);let a=null==(n=this._selectedBreakpoint)?void 0:n.line,l=null==(o=null==(i=this._selectedBreakpoint)?void 0:i.source)?void 0:o.path,d=s.map(e=>{var t;return{pos:r.state.doc.line(e.line).from,selected:e.line===a&&(null==(t=e.source)?void 0:t.path)===l}});r.editor.dispatch({effects:this._breakpointEffect.of(d)})}_getBreakpointsFromEditor(){if(!this.editor)return[];let e=this.editor,t=e.editor.state.field(this._breakpointState),n=[];return t.between(0,e.doc.length,t=>{n.push(e.doc.lineAt(t).number)}),n}_clearGutter(e){e&&e.editor.dispatch({effects:this._breakpointEffect.of([])})}_getBreakpoints(){let e=this._src.getSource();return this._debuggerService.model.breakpoints.getBreakpoints(this._path||this._debuggerService.getCodeId(e))}}!function(e){function t(i,o,r="nearest"){let s=i.lineCount;if(o<1||o>s)return void console.warn(`Line ${o} is not in the document which contains ${s} lines`);n(i);let a=i,l=a.doc.line(o).from,d=[e._highlightEffect.of({pos:[l]})];if(r){let e=a.getOffsetAt({line:o-1,column:0});d.push(j.EditorView.scrollIntoView(e,{y:r}))}a.editor.dispatch({effects:d})}function n(t){!t||t.isDisposed||t.editor.dispatch({effects:e._highlightEffect.of({pos:[]})})}e._highlightEffect=w.StateEffect.define({map:(e,t)=>({pos:e.pos.map(e=>t.mapPos(e))})}),e.showCurrentLine=t,e.clearHighlight=n}(S||(S={})),function(e){e.breakpointMarker=new class extends j.GutterMarker{toDOM(e){let t=document.createElement("span");t.className="cm-breakpoint-gutter",t.ariaLabel=e.state.phrase("Breakpoint");let n=l.breakpointIcon.element({tag:"span",className:"cm-breakpoint-icon"});return t.appendChild(n),t}},e.selectedBreakpointMarker=new class extends j.GutterMarker{toDOM(e){let t=document.createElement("span");t.className="cm-breakpoint-gutter",t.ariaLabel=e.state.phrase("Selected breakpoint");let n=l.selectedBreakpointIcon.element({tag:"span",className:"cm-selected-breakpoint-icon"});return t.appendChild(n),t}},e.createBreakpoint=function(e,t){return{line:t,verified:!0,source:{name:e}}}}(o||(o={}));class M{constructor(e){this._isDisposed=!1,this._debuggerService=e.debuggerService,this._container=e.container,this._trans=(e.translator||v.nullTranslator).load("jupyterlab");const t=document.createElement("div");t.className="jp-DebuggerPausedOverlay";const n=document.createElement("span");n.textContent=this._trans.__("Paused in Debugger"),t.appendChild(n);const i=document.createElement("button");i.className="jp-DebuggerPausedButton",i.title=this._trans.__("Continue"),l.runIcon.element({container:i,elementPosition:"center"}),i.onclick=()=>{this._debuggerService.continue()},t.appendChild(i);const o=document.createElement("button");o.className="jp-DebuggerPausedButton",o.title=this._trans.__("Next"),l.stepOverIcon.element({container:o,elementPosition:"center"}),o.onclick=()=>{this._debuggerService.next()},t.appendChild(o);const r=document.createElement("button");r.className="jp-DebuggerPausedButton jp-DebuggerStopButton",r.title=this._trans.__("Stop Debugger"),l.stopIcon.element({container:r,elementPosition:"center"}),r.onclick=async()=>{await this._debuggerService.stop()},t.appendChild(r),t.style.pointerEvents="auto",this._overlay=t}show(){this._isDisposed||"false"!==document.body.dataset.showPausedOverlay&&this._overlay&&!this._overlay.isConnected&&this._container.appendChild(this._overlay)}hide(){!this._isDisposed&&this._overlay&&this._overlay.isConnected&&(this._container.style.pointerEvents="",this._overlay.remove())}dispose(){this._isDisposed||(this._isDisposed=!0,this.hide(),this._overlay=null)}get isDisposed(){return this._isDisposed}}class I{constructor(e){var t;this._debuggerService=e.debuggerService,this._consolePanel=e.widget,this._cellMap=new _.ObservableMap,this.translator=e.translator||v.nullTranslator,this._pausedOverlay=new M({debuggerService:this._debuggerService,container:this._consolePanel.node,translator:this.translator});const n=this._consolePanel.console;n.promptCell&&this._addEditorHandler(n.promptCell),n.promptCellCreated.connect((e,t)=>{this._addEditorHandler(t)});const i=()=>{for(let e of n.cells)this._addEditorHandler(e)};i(),this._consolePanel.console.cells.changed.connect(i),null==(t=this._debuggerService.session)||t.eventMessage.connect((e,t)=>{var n,i,o;let r=this._debuggerService.session,s=this._consolePanel.sessionContext.session;r&&s&&(null==(i=null==(n=r.connection)?void 0:n.kernel)?void 0:i.id)===(null==(o=s.kernel)?void 0:o.id)&&("stopped"===t.event?this._pausedOverlay.show():("continued"===t.event||"terminated"===t.event)&&this._pausedOverlay.hide())}),this._debuggerService.hasStoppedThreads()&&this._pausedOverlay.show()}dispose(){this.isDisposed||(this.isDisposed=!0,this._pausedOverlay.dispose(),this._cellMap.values().forEach(e=>e.dispose()),this._cellMap.dispose(),y.Signal.clearData(this))}_addEditorHandler(e){let t=e.model.id;if("code"!==e.model.type||this._cellMap.has(t))return;let n=e,i=new S({debuggerService:this._debuggerService,editorReady:async()=>(await n.ready,n.editor),getEditor:()=>n.editor,src:e.model.sharedModel});n.disposed.connect(()=>{this._cellMap.delete(t),i.dispose()}),this._cellMap.set(t,i)}}class k{constructor(e){var t,n;this._debuggerService=e.debuggerService,this._fileEditor=e.widget.content,this.translator=e.translator||v.nullTranslator,this._hasLineNumber=null!=(t=this._fileEditor.editor.getOption("lineNumbers"))&&t,this._editorHandler=new S({debuggerService:this._debuggerService,editorReady:()=>Promise.resolve(this._fileEditor.editor),getEditor:()=>this._fileEditor.editor,src:this._fileEditor.model.sharedModel}),this._pausedOverlay=new M({debuggerService:this._debuggerService,container:e.widget.node,translator:this.translator}),null==(n=this._debuggerService.session)||n.eventMessage.connect((t,n)=>{var i,o,r;let s=this._debuggerService.session,a=e.widget.context.sessionContext.session;s&&a&&(null==(o=null==(i=s.connection)?void 0:i.kernel)?void 0:o.id)===(null==(r=a.kernel)?void 0:r.id)&&("stopped"===n.event?this._pausedOverlay.show():("continued"===n.event||"terminated"===n.event)&&this._pausedOverlay.hide())}),this._debuggerService.hasStoppedThreads()&&this._pausedOverlay.show()}dispose(){var e,t;this.isDisposed||(this.isDisposed=!0,this._pausedOverlay.dispose(),null==(e=this._editorHandler)||e.dispose(),null==(t=this._editorHandler)||t.editor.setOptions({lineNumbers:this._hasLineNumber}),y.Signal.clearData(this))}}class D{constructor(e){var t;this._debuggerService=e.debuggerService,this._notebookPanel=e.widget,this._cellMap=new _.ObservableMap,this.translator=e.translator||v.nullTranslator,this._pausedOverlay=new M({debuggerService:this._debuggerService,container:this._notebookPanel.node,translator:this.translator}),this._notebookPanel.content.model.cells.changed.connect(this._onCellsChanged,this),null==(t=this._debuggerService.session)||t.eventMessage.connect((e,t)=>{var n,i,o;let r=this._debuggerService.session,s=this._notebookPanel.sessionContext.session;r&&s&&(null==(i=null==(n=r.connection)?void 0:n.kernel)?void 0:i.id)===(null==(o=s.kernel)?void 0:o.id)&&("stopped"===t.event?this._pausedOverlay.show():("continued"===t.event||"terminated"===t.event)&&this._pausedOverlay.hide())}),!0===this._debuggerService.hasStoppedThreads()&&this._pausedOverlay.show(),this._onCellsChanged()}dispose(){this.isDisposed||(this.isDisposed=!0,this._pausedOverlay.dispose(),this._cellMap.values().forEach(e=>{var t;e.dispose(),null==(t=e.editor)||t.setOptions({...this._notebookPanel.content.editorConfig.code})}),this._cellMap.dispose(),y.Signal.clearData(this))}_onCellsChanged(e,t){var n;if(this._notebookPanel.content.widgets.forEach(e=>this._addEditorHandler(e)),(null==t?void 0:t.type)==="move")for(let e of t.newValues)null==(n=this._cellMap.get(e.id))||n.refreshBreakpoints()}_addEditorHandler(e){let t=e.model.id;if("code"!==e.model.type||this._cellMap.has(t))return;let n=e,i=new S({debuggerService:this._debuggerService,editorReady:async()=>(await n.ready,n.editor),getEditor:()=>n.editor,src:e.model.sharedModel});n.disposed.connect(()=>{this._cellMap.delete(t),i.dispose()}),this._cellMap.set(e.model.id,i)}}let T="debugger-icon";function L(e,t,n,i,o=v.nullTranslator){let r=o.load("jupyterlab"),s=new l.ToolbarButton({className:"jp-DebuggerBugButton",icon:l.bugIcon,tooltip:r.__("Enable Debugger"),pressedIcon:l.bugDotIcon,pressedTooltip:r.__("Disable Debugger"),disabledTooltip:r.__("Select a kernel that supports debugging to enable debugger"),enabled:n,pressed:i,onClick:t});return e.toolbar.insertBefore("kernelName",T,s)||e.toolbar.addItem(T,s),s}function N(e,t,n=!0,i){e&&(e.enabled=n,e.pressed=t,i&&(e.onClick=i))}class P{constructor(e){this._handlers={},this._contextKernelChangedHandlers={},this._kernelChangedHandlers={},this._statusChangedHandlers={},this._iopubMessageHandlers={},this._iconButtons={},this._debuggerAvailability={},this._shellMessageHandlers={},this._type=e.type,this._shell=e.shell,this._service=e.service,this._translator=e.translator||v.nullTranslator,this._executionDone=new y.Signal(this)}get activeWidget(){return this._activeWidget}get executionDone(){return this._executionDone}async update(e,t){if(!t)return delete this._kernelChangedHandlers[e.id],delete this._statusChangedHandlers[e.id],delete this._iopubMessageHandlers[e.id],this.updateWidget(e,t);let n=()=>{this.updateWidget(e,t)},i=this._kernelChangedHandlers[e.id];i&&t.kernelChanged.disconnect(i),this._kernelChangedHandlers[e.id]=n,t.kernelChanged.connect(n);let o=(n,i)=>{i.endsWith("restarting")&&this.updateWidget(e,t)},r=this._statusChangedHandlers[e.id];r&&t.statusChanged.disconnect(r),t.statusChanged.connect(o),this._statusChangedHandlers[e.id]=o;let s=(e,t)=>{this._service.isStarted&&!this._service.hasStoppedThreads()&&"execute_request"===t.parent_header.msg_type&&this._service.displayDefinedVariables()},a=this._iopubMessageHandlers[e.id];a&&t.iopubMessage.disconnect(a),t.iopubMessage.connect(s),this._iopubMessageHandlers[e.id]=s,this._activeWidget=e;let l=(e,t)=>{let{msg:n,direction:i}=t;"recv"===i&&"execute_reply"===n.header.msg_type&&this._executionDone.emit()},d=this._shellMessageHandlers[e.id];return d&&t.anyMessage.disconnect(d),t.anyMessage.connect(l),this._shellMessageHandlers[e.id]=l,this.updateWidget(e,t)}async updateContext(e,t){let n=()=>{let{session:n}=t;this.update(e,n)},i=this._contextKernelChangedHandlers[e.id];return i&&t.kernelChanged.disconnect(i),this._contextKernelChangedHandlers[e.id]=n,t.kernelChanged.connect(n),this.update(e,t.session)}async updateWidget(e,t){var n,i,o,r,s,l;if(!this._service.model||!t)return;let d=()=>this._shell.currentWidget===e,c=()=>{this._handlers[e.id]?e.node.setAttribute("data-jp-debugger","true"):e.node.removeAttribute("data-jp-debugger")},h=()=>{if(!this._handlers[e.id]){switch(this._type){case"notebook":this._handlers[e.id]=new D({debuggerService:this._service,widget:e,translator:this._translator||void 0});break;case"console":this._handlers[e.id]=new I({debuggerService:this._service,widget:e,translator:this._translator||void 0});break;case"file":this._handlers[e.id]=new k({debuggerService:this._service,widget:e,translator:this._translator||void 0});break;default:throw Error(`No handler for the type ${this._type}`)}c()}},u=()=>{var n,i,o,r;this._service.stopped.disconnect(p);let s=this._handlers[e.id];s&&(s.dispose(),delete this._handlers[e.id],delete this._kernelChangedHandlers[e.id],delete this._statusChangedHandlers[e.id],delete this._iopubMessageHandlers[e.id],delete this._contextKernelChangedHandlers[e.id],(null==(i=null==(n=this._service.session)?void 0:n.connection)?void 0:i.path)!==(null==t?void 0:t.path)&&(null==(r=null==(o=this._service.session)?void 0:o.connection)?void 0:r.kernel)||this._service.model.clear(),c())},p=()=>{let t=this._iconButtons[e.id];u(),t&&N(t,!1,!0)};this._service.stopped.connect(p);let m=(t=!0)=>{let n=this._iconButtons[e.id];n?N(n,this._service.isStarted,t,f):this._iconButtons[e.id]=L(e,f,t,this._service.isStarted)},g=()=>{var e;return this._service.isStarted&&(null==(e=this._previousConnection)?void 0:e.id)===(null==t?void 0:t.id)},A=async()=>{this._service.session.connection=t,await this._service.stop()},C=async()=>{var e,n;this._service.session.connection=t,this._previousConnection=t,await this._service.restoreState(!0),await this._service.displayDefinedVariables(),(null==(n=null==(e=this._service.session)?void 0:e.capabilities)?void 0:n.supportsModulesRequest)&&await this._service.displayModules()},f=async()=>{if(!d())return;let t=this._iconButtons[e.id];g()?(await A(),u(),N(t,!1)):(await C(),h(),N(t,!0))},b=null!=(i=null==(n=t.kernel)?void 0:n.id)?i:t.id,v=this._debuggerAvailability[e.id];m((null==v?void 0:v.kernelId)===b&&v.available),e.disposed.connect(async()=>{g()&&await A(),u(),delete this._iconButtons[e.id],delete this._debuggerAvailability[e.id],delete this._contextKernelChangedHandlers[e.id]});let _=await this._service.isAvailable(t);if(this._debuggerAvailability[e.id]={kernelId:b,available:_},!_){u(),N(this._iconButtons[e.id],!1,!1);return}if(this._service.session?(this._previousConnection=(null==(o=this._service.session.connection)?void 0:o.kernel)?this._service.session.connection:null,this._service.session.connection=t):this._service.session=new a.Session({connection:t,config:this._service.config}),g()?await this._service.restoreState(!0):await this._service.restoreState(!1),this._service.isStarted&&!this._service.hasStoppedThreads()&&(await this._service.displayDefinedVariables(),(null==(s=null==(r=this._service.session)?void 0:r.capabilities)?void 0:s.supportsModulesRequest)&&await this._service.displayModules()),N(this._iconButtons[e.id],this._service.isStarted,!0),!this._service.isStarted){u(),this._service.session.connection=null!=(l=this._previousConnection)?l:t,await this._service.restoreState(!1);return}h(),this._previousConnection=t}}var z=n(82402);class R{constructor(e){var t;this._breakpoints=new Map,this._changed=new y.Signal(this),this._restored=new y.Signal(this),this._clicked=new y.Signal(this),this._selectedChanged=new y.Signal(this),this._displayRegistry=null!=(t=e.displayRegistry)?t:new z.V}get changed(){return this._changed}get restored(){return this._restored}get clicked(){return this._clicked}get selectedChanged(){return this._selectedChanged}get selectedBreakpoint(){return this._selectedBreakpoint}set selectedBreakpoint(e){this._selectedBreakpoint=e,this._selectedChanged.emit(e)}get breakpoints(){return this._breakpoints}setBreakpoints(e,t){this._breakpoints.set(e,t),this._changed.emit(t)}getBreakpoints(e){var t;return null!=(t=this._breakpoints.get(e))?t:[]}restoreBreakpoints(e){this._breakpoints=e,this._restored.emit()}getDisplayName(e){return this._displayRegistry.getDisplayName(e.source)}}class O{constructor(e){var t;this._state=[],this._currentFrame=null,this._framesChanged=new y.Signal(this),this._currentFrameChanged=new y.Signal(this),this._displayRegistry=null!=(t=e.displayRegistry)?t:new z.V}get frames(){return this._state}set frames(e){this._state=e;let t=null!==this.frame?r.getFrameId(this.frame):"";e.find(e=>r.getFrameId(e)===t)||(this.frame=e[0]),this._framesChanged.emit(e)}get frame(){return this._currentFrame}set frame(e){this._currentFrame=e,this._currentFrameChanged.emit(e)}get framesChanged(){return this._framesChanged}get currentFrameChanged(){return this._currentFrameChanged}getDisplayName(e){let t=this._displayRegistry.getDisplayName(e.source);return void 0!==e.line&&(t+=`:${e.line}`),t}}!function(e){e.getFrameId=function(e){var t;return`${null==(t=null==e?void 0:e.source)?void 0:t.path}-${null==e?void 0:e.id}`}}(r||(r={}));var F=n(59807);let W=500,H=(e,t)=>e.name<t.name?-1:+(e.name>t.name);class U{constructor(){this._filteredKernelSources=null,this._filter="",this._isDisposed=!1,this._kernelSources=null,this._changed=new y.Signal(this),this._filterChanged=new y.Signal(this),this._kernelSourceOpened=new y.Signal(this),this.refresh=this.refresh.bind(this),this._refreshDebouncer=new F.Debouncer(this.refresh,W)}get filter(){return this._filter}set filter(e){this._filter=e,this._filterChanged.emit(e),this._refreshDebouncer.invoke()}get isDisposed(){return this._isDisposed}get kernelSources(){return this._kernelSources}set kernelSources(e){this._kernelSources=e,this.refresh()}get changed(){return this._changed}get filterChanged(){return this._filterChanged}get kernelSourceOpened(){return this._kernelSourceOpened}dispose(){this._isDisposed||(this._isDisposed=!0,this._refreshDebouncer.dispose(),y.Signal.clearData(this))}open(e){this._kernelSourceOpened.emit(e)}getFilteredKernelSources(){let e=RegExp(this._filter,"i");return this._kernelSources.filter(t=>e.test(t.name))}refresh(){this._kernelSources?(this._filteredKernelSources=this._filter?this.getFilteredKernelSources():this._kernelSources,this._filteredKernelSources.sort(H)):(this._kernelSources=[],this._filteredKernelSources=[]),this._changed.emit(this._filteredKernelSources)}}class Y{constructor(e){var t;this._currentSourceOpened=new y.Signal(this),this._currentSourceChanged=new y.Signal(this),this._mimeTypeService=null,this._currentSource=null,this._currentFrame=null,this._displayRegistry=null!=(t=e.displayRegistry)?t:new z.V,e.mimeTypeService&&(this._mimeTypeService=e.mimeTypeService),e.currentFrameChanged.connect(async(t,n)=>{var i,o,r,s;if(!n){this._currentFrame=null,this.currentSource=null;return}let a=this.getDisplayName(n),{content:l,mimeType:d}=await e.getSource({sourceReference:0,path:null==(i=null==n?void 0:n.source)?void 0:i.path}),c=d||(null==(o=this._mimeTypeService)?void 0:o.getMimeTypeByFilePath(null!=(s=null==(r=n.source)?void 0:r.path)?s:""));this._currentFrame=n,this.currentSource={content:l,mimeType:c,path:a}})}get currentSourceOpened(){return this._currentSourceOpened}get currentSourceChanged(){return this._currentSourceChanged}get currentSource(){return this._currentSource}set currentSource(e){this._currentSource=e,this._currentSourceChanged.emit(e)}get currentFrame(){return this._currentFrame}open(){this._currentSourceOpened.emit(this._currentSource)}getDisplayName(e){let t=this._displayRegistry.getDisplayName(e.source);return void 0!==e.line&&(t+=`:${e.line}`),t}}class V{constructor(){this._selectedVariable=null,this._state=[],this._variableExpanded=new y.Signal(this),this._changed=new y.Signal(this)}get scopes(){return this._state}set scopes(e){this._state=e,this._changed.emit()}get changed(){return this._changed}get variableExpanded(){return this._variableExpanded}get selectedVariable(){return this._selectedVariable}set selectedVariable(e){this._selectedVariable=e}expandVariable(e){this._variableExpanded.emit(e)}}class q{constructor(e){var t;this._disposed=new y.Signal(this),this._isDisposed=!1,this._hasRichVariableRendering=!1,this._supportCopyToGlobals=!1,this._stoppedThreads=new Set,this._title="-",this._titleChanged=new y.Signal(this);const n=null!=(t=e.displayRegistry)?t:new z.V;this.breakpoints=new R({displayRegistry:n}),this.callstack=new O({displayRegistry:n}),this.variables=new V,this.sources=new Y({currentFrameChanged:this.callstack.currentFrameChanged,mimeTypeService:e.mimeTypeService,getSource:e.getSource,displayRegistry:n}),this.kernelSources=new U}get disposed(){return this._disposed}get hasRichVariableRendering(){return this._hasRichVariableRendering}set hasRichVariableRendering(e){this._hasRichVariableRendering=e}get supportCopyToGlobals(){return this._supportCopyToGlobals}set supportCopyToGlobals(e){this._supportCopyToGlobals=e}get isDisposed(){return this._isDisposed}get stoppedThreads(){return this._stoppedThreads}set stoppedThreads(e){this._stoppedThreads=e}get title(){return this._title}set title(e){e!==this._title&&(this._title=null!=e?e:"-",this._titleChanged.emit(e))}get titleChanged(){return this._titleChanged}dispose(){this._isDisposed||(this._isDisposed=!0,this.kernelSources.dispose(),this._disposed.emit())}clear(){this._stoppedThreads.clear();let e=new Map;this.breakpoints.restoreBreakpoints(e),this.callstack.frames=[],this.variables.scopes=[],this.sources.currentSource=null,this.kernelSources.kernelSources=null,this.title="-"}}class G extends g.Panel{constructor(e){super(),this._filter=new Set,this._grid=null,this._pending=null,this.commands=e.commands,this.model=e.model,this.themeManager=e.themeManager,this.translator=e.translator,this.model.changed.connect(()=>this.update(),this),this.addClass("jp-DebuggerVariables-body")}get filter(){return this._filter}set filter(e){this._filter=e,this.update()}get scope(){return this._scope}set scope(e){this._scope=e,"Globals"!==e?this.addClass("jp-debuggerVariables-local"):this.removeClass("jp-debuggerVariables-local"),this.update()}async initialize(){if(this._grid||this._pending)return;let{Grid:e}=await (this._pending=Promise.all([n.e(5531),n.e(4571)]).then(n.bind(n,5011))),{commands:t,model:i,themeManager:o,translator:r}=this;this._grid=new e({commands:t,model:i,themeManager:o,translator:r}),this._grid.addClass("jp-DebuggerVariables-grid"),this._pending=null,this.addWidget(this._grid),this.update()}onBeforeShow(e){this._grid||this._pending||this.initialize(),super.onBeforeShow(e)}onUpdateRequest(e){var t;if(this._grid){let{dataModel:e}=this._grid;e.filter=this._filter,e.scope=this._scope,e.setData(null!=(t=this.model.scopes)?t:[])}super.onUpdateRequest(e)}}var $=n(31031),J=n(55187);let K="jp-VariableRendererPanel",Z="jp-VariableRendererPanel-renderer";class Q extends p.MainAreaWidget{constructor(e){const{dataLoader:t,rendermime:n,translator:i}=e,o=new g.Panel,r=new J.PromiseDelegate;super({content:o,reveal:Promise.all([t,r.promise])}),this.content.addClass(K),this.trans=(null!=i?i:v.nullTranslator).load("jupyterlab"),this.dataLoader=t,this.renderMime=n,this._dataHash=null,this.refresh().then(()=>{r.resolve()}).catch(e=>r.reject(e))}async refresh(e=!1){let t=await this.dataLoader();if(0===Object.keys(t.data).length&&(t={data:{"text/plain":this.trans.__("The variable is undefined in the active context.")},metadata:{}}),!t.data)return this._dataHash=null,Promise.reject("Unable to get a view on the variable.");{let n=h(JSON.stringify(t),17);if(e||this._dataHash!==n){this.content.layout&&this.content.widgets.forEach(e=>{this.content.layout.removeWidget(e)});let e=this.renderMime.preferredMimeType(t.data,"any");if(!e)return this._dataHash=null,Promise.reject("Unable to determine the preferred mime type.");{let i=this.renderMime.createRenderer(e);i.addClass(Z);let o=new $.MimeModel({...t,trusted:!0});this._dataHash=n,await i.renderModel(o),this.content.addWidget(i)}}}}}let X=500;class ee{constructor(e){var t,n;this._eventMessage=new y.Signal(this),this._isDisposed=!1,this._sessionChanged=new y.Signal(this),this._pauseOnExceptionChanged=new y.Signal(this),this._pendingKernelSources=null,this._stoppedSignal=new y.Signal(this),this._config=e.config,this._session=null,this._specsManager=null!=(t=e.specsManager)?t:null,this._model=new a.Model({displayRegistry:e.displayRegistry,getSource:this.getSource.bind(this),mimeTypeService:e.mimeTypeService||null}),this._debuggerSources=null!=(n=e.debuggerSources)?n:null,this._trans=(e.translator||v.nullTranslator).load("jupyterlab"),this.displayModules=this.displayModules.bind(this),this._displayModulesDebouncer=new F.Debouncer(this._applyKernelSources.bind(this),X)}get eventMessage(){return this._eventMessage}get config(){return this._config}get isDisposed(){return this._isDisposed}get isStarted(){var e,t;return null!=(t=null==(e=this._session)?void 0:e.isStarted)&&t}get pauseOnExceptionChanged(){return this._pauseOnExceptionChanged}get model(){return this._model}get session(){return this._session}set session(e){var t;this._session!==e&&(this._session&&this._session.dispose(),this._session=e,null==(t=this._session)||t.eventMessage.connect((e,t)=>{"stopped"===t.event?(this._model.stoppedThreads.clear(),this._model.stoppedThreads.add(t.body.threadId),this._getAllFrames()):"continued"===t.event&&(this._model.stoppedThreads.delete(t.body.threadId),this._clearModel(),this._clearSignals()),this._eventMessage.emit(t)}),this._sessionChanged.emit(e))}get sessionChanged(){return this._sessionChanged}dispose(){this.isDisposed||(this._isDisposed=!0,y.Signal.clearData(this))}getCodeId(e){var t,n,i,o;try{return this._config.getCodeId(e,null!=(o=null==(i=null==(n=null==(t=this.session)?void 0:t.connection)?void 0:n.kernel)?void 0:i.name)?o:"")}catch(e){return""}}hasStoppedThreads(){return this._model.stoppedThreads.size>0}async isAvailable(e){var t,n,i,o;if(!this._specsManager)return!0;await this._specsManager.ready;let r=null==e?void 0:e.kernel;if(!r)return!1;let s=r.name;return null==(t=this._specsManager.specs)||!t.kernelspecs[s]||!!(null!=(o=null==(i=null==(n=this._specsManager.specs.kernelspecs[s])?void 0:n.metadata)?void 0:i.debugger)&&o)}async clearBreakpoints(){var e;if((null==(e=this.session)?void 0:e.isStarted)!==!0)return;this._model.breakpoints.breakpoints.forEach((e,t,n)=>{this._setBreakpoints([],t)});let t=new Map;this._model.breakpoints.restoreBreakpoints(t)}async continue(){try{if(!this.session)throw Error("No active debugger session");this._model.stoppedThreads.delete(this._currentThread()),this._clearModel(),this._clearSignals(),await this.session.sendRequest("continue",{threadId:this._currentThread()})}catch(e){console.error("Error:",e.message)}}async getSource(e){var t,n;if(!this.session)throw Error("No active debugger session");return{...(await this.session.sendRequest("source",{source:e,sourceReference:null!=(t=e.sourceReference)?t:0})).body,path:null!=(n=e.path)?n:""}}async evaluate(e){var t;if(!this.session)throw Error("No active debugger session");let n=null==(t=this.model.callstack.frame)?void 0:t.id,i=await this.session.sendRequest("evaluate",{context:"repl",expression:e,frameId:n});return i.success?(this._model.variables.scopes=[],await this._getAllFrames(),i.body):null}async next(){try{if(!this.session)throw Error("No active debugger session");await this.session.sendRequest("next",{threadId:this._currentThread()})}catch(e){console.error("Error:",e.message)}}async inspectRichVariable(e,t){if(!this.session)throw Error("No active debugger session");let n=await this.session.sendRequest("richInspectVariables",{variableName:e,frameId:t});if(n.success)return n.body;throw Error(n.message)}async inspectVariable(e){if(!this.session)throw Error("No active debugger session");let t=await this.session.sendRequest("variables",{variablesReference:e});if(t.success)return t.body.variables;throw Error(t.message)}async copyToGlobals(e){if(!this.session)throw Error("No active debugger session");if(!this.model.supportCopyToGlobals)throw Error('The "copyToGlobals" request is not supported by the kernel');let t=this.model.callstack.frames;this.session.sendRequest("copyToGlobals",{srcVariableName:e,dstVariableName:e,srcFrameId:t[0].id}).then(async()=>{let e=await this._getScopes(t[0]),n=await Promise.all(e.map(e=>this._getVariables(e))),i=this._convertScopes(e,n);this._model.variables.scopes=i}).catch(e=>{console.error(e)})}async displayDefinedVariables(){if(!this.session)throw Error("No active debugger session");let e=(await this.session.sendRequest("inspectVariables",{})).body.variables,t=[{name:this._trans.__("Globals"),variables:e}];this._model.variables.scopes=t}async displayModules(){if(!this.session)throw Error("No active debugger session");let e=await this.session.sendRequest("modules",{});this._pendingKernelSources=e.body.modules.map(e=>({name:e.name,path:e.path})),this._displayModulesDebouncer.invoke()}_applyKernelSources(){this._pendingKernelSources&&(this._model.kernelSources.kernelSources=this._pendingKernelSources)}async restart(){let{breakpoints:e}=this._model.breakpoints;await this.stop(),await this.start(),await this._restoreBreakpoints(e)}async restoreState(e){var t,n,i,o,r,s,a,l,d,c,h;if(!this.model||!this.session)return;let{body:u}=await this.session.restoreState(),p=this._mapBreakpoints(u.breakpoints),m=new Set(u.stoppedThreads),g=this.getDebuggerState();this._model.hasRichVariableRendering=!0===u.richRendering,this._model.supportCopyToGlobals=!0===u.copyToGlobals,this._config.setHashParams({kernel:null!=(o=null==(i=null==(n=null==(t=this.session)?void 0:t.connection)?void 0:n.kernel)?void 0:i.name)?o:"",method:u.hashMethod,seed:u.hashSeed}),this._config.setTmpFileParams({kernel:null!=(l=null==(a=null==(s=null==(r=this.session)?void 0:r.connection)?void 0:s.kernel)?void 0:a.name)?l:"",prefix:u.tmpFilePrefix,suffix:u.tmpFileSuffix}),this._model.stoppedThreads=m,!this.isStarted&&(e||0!==m.size)&&await this.start(),(this.isStarted||e)&&(this._model.title=this.isStarted&&(null==(c=null==(d=this.session)?void 0:d.connection)?void 0:c.name)||"-");let A=await this._migrateBreakpoints(g);for(let[e,t]of p){let n=null!=(h=A.get(e))?h:[],i=t.filter(e=>!n.some(t=>t.line===e.line));A.set(e,[...n,...i])}await this._restoreBreakpoints(A),this._model.breakpoints.restoreBreakpoints(A),0!==m.size?await this._getAllFrames():this.isStarted&&(this._model.callstack.frames=[],this._clearSignals()),this.session.currentExceptionFilters&&await this.pauseOnExceptions(this.session.currentExceptionFilters)}start(){if(!this.session)throw Error("No active debugger session");return this.session.start()}async pause(){try{if(!this.session)throw Error("No active debugger session");await this.session.sendRequest("pause",{threadId:this._currentThread()})}catch(e){console.error("Error:",e.message)}}async stepIn(){try{if(!this.session)throw Error("No active debugger session");await this.session.sendRequest("stepIn",{threadId:this._currentThread()})}catch(e){console.error("Error:",e.message)}}async stepOut(){try{if(!this.session)throw Error("No active debugger session");await this.session.sendRequest("stepOut",{threadId:this._currentThread()})}catch(e){console.error("Error:",e.message)}}async stop(){if(!this.session)throw Error("No active debugger session");await this.session.stop(),this._model&&this._model.clear(),this._stoppedSignal.emit()}get stopped(){return this._stoppedSignal}async updateBreakpoints(e,t,n){var i;if(!(null==(i=this.session)?void 0:i.isStarted))return;n||(n=(await this._dumpCell(e)).body.sourcePath);let o=await this.session.restoreState(),r=t.filter(({line:e})=>"number"==typeof e).map(({line:e})=>({line:e})),s=this._mapBreakpoints(o.body.breakpoints);this._model.breakpoints.restoreBreakpoints(s);let a=new Set,l=(await this._setBreakpoints(r,n)).body.breakpoints.filter((e,t,n)=>{let i=n.findIndex(t=>t.line===e.line)>-1,o=!a.has(e.line);return a.add(e.line),i&&o});this._model.breakpoints.setBreakpoints(n,l)}pauseOnExceptionsIsValid(){var e,t;return!!this.isStarted&&(null==(t=null==(e=this.session)?void 0:e.exceptionBreakpointFilters)?void 0:t.length)!==0}async pauseOnExceptionsFilter(e){var t;if(!(null==(t=this.session)?void 0:t.isStarted))return;let n=this.session.currentExceptionFilters;if(this.session.isPausingOnException(e)){let t=n.indexOf(e);n.splice(t,1)}else null==n||n.push(e);await this.pauseOnExceptions(n)}async pauseOnExceptions(e){var t,n;if(!(null==(t=this.session)?void 0:t.isStarted))return;let i=(null==(n=this.session.exceptionBreakpointFilters)?void 0:n.map(e=>e.filter))||[],o={filters:[]};e.forEach(e=>{i.includes(e)&&o.filters.push(e)}),this.session.currentExceptionFilters=o.filters,await this.session.sendRequest("setExceptionBreakpoints",o),this._pauseOnExceptionChanged.emit()}getDebuggerState(){var e,t,n,i,o,r,s,a,l,d,c,h;let u=this._model.breakpoints.breakpoints,p=[],m=null!=(i=null==(n=null==(t=null==(e=this.session)?void 0:e.connection)?void 0:t.kernel)?void 0:n.name)?i:"",g=this._config.getTmpFileParams(m),A=null!=(o=null==g?void 0:g.prefix)?o:"";if(this._debuggerSources)for(let e of u.keys()){let t=this._debuggerSources.find({focus:!1,kernel:null!=(l=null==(a=null==(s=null==(r=this.session)?void 0:r.connection)?void 0:s.kernel)?void 0:a.name)?l:"",path:null!=(h=null==(c=null==(d=this._session)?void 0:d.connection)?void 0:c.path)?h:"",source:e}).map(e=>e.src.getSource());p=p.concat(t)}return{cells:p,breakpoints:u,tmpPrefix:A}}async restoreDebuggerState(e){let t=await this._migrateBreakpoints(e);await this._restoreBreakpoints(t);let n=await this.session.sendRequest("configurationDone",{});return await this.restoreState(!1),n.success}async _migrateBreakpoints(e){var t,n,i,o;let r=e.tmpPrefix,s=null!=(o=null==(i=null==(n=null==(t=this.session)?void 0:t.connection)?void 0:n.kernel)?void 0:i.name)?o:"",{prefix:a}=this._config.getTmpFileParams(s),{breakpoints:l}=e;if(r===a)return l;let d=new Map;for(let e of l){let[t,n]=e;if(r&&t.startsWith(r)&&r!==a){let e=t.replace(r,a);d.set(e,n.map(e=>{var t;return{...e,source:{...e.source,path:(null==(t=e.source)?void 0:t.path)?e.source.path.replace(r,a):void 0}}}))}else d.set(t,n)}for(let t of e.cells)await this._dumpCell(t);return d}_clearModel(){this._model.callstack.frames=[],this._model.variables.scopes=[]}_clearSignals(){this._model.callstack.currentFrameChanged.disconnect(this._onCurrentFrameChanged,this),this._model.variables.variableExpanded.disconnect(this._onVariableExpanded,this)}_convertScopes(e,t){return t&&e?e.map((e,n)=>({name:e.name,variables:t[n].map(e=>({...e}))})):[]}_currentThread(){var e;return null!=(e=this._model.stoppedThreads.values().next().value)?e:1}async _dumpCell(e){if(!this.session)throw Error("No active debugger session");return this.session.sendRequest("dumpCell",{code:e})}async _getAllFrames(){this._model.callstack.currentFrameChanged.connect(this._onCurrentFrameChanged,this),this._model.variables.variableExpanded.connect(this._onVariableExpanded,this);let e=await this._getFrames(this._currentThread());this._model.callstack.frames=e}async _getFrames(e){if(!this.session)throw Error("No active debugger session");return(await this.session.sendRequest("stackTrace",{threadId:e})).body.stackFrames}async _getScopes(e){if(!this.session)throw Error("No active debugger session");return e?(await this.session.sendRequest("scopes",{frameId:e.id})).body.scopes:[]}async _getVariables(e){if(!this.session)throw Error("No active debugger session");return e?(await this.session.sendRequest("variables",{variablesReference:e.variablesReference})).body.variables:[]}_mapBreakpoints(e){return e.length?e.reduce((e,t)=>{let{breakpoints:n,source:i}=t;return e.set(i,n.map(e=>({...e,source:{path:i},verified:!0}))),e},new Map):new Map}async _onCurrentFrameChanged(e,t){if(!t)return;let n=await this._getScopes(t),i=await Promise.all(n.map(e=>this._getVariables(e))),o=this._convertScopes(n,i);this._model.variables.scopes=o}async _onVariableExpanded(e,t){if(!this.session)throw Error("No active debugger session");let n=await this.session.sendRequest("variables",{variablesReference:t.variablesReference}),i={...t,expanded:!0};n.body.variables.forEach(e=>{i={[e.name]:e,...i}});let o=this._model.variables.scopes.map(e=>{let n=e.variables.findIndex(e=>e.variablesReference===t.variablesReference);return e.variables[n]=i,{...e}});return this._model.variables.scopes=[...o],n.body.variables}async _setBreakpoints(e,t){if(!this.session)throw Error("No active debugger session");return await this.session.sendRequest("setBreakpoints",{breakpoints:e,source:{path:t},sourceModified:!1})}async _restoreBreakpoints(e){for(let[t,n]of e)await this._setBreakpoints(n.filter(({line:e})=>"number"==typeof e).map(({line:e})=>({line:e})),t);this._model.breakpoints.restoreBreakpoints(e)}}class et{constructor(e){this._seq=0,this._ready=new J.PromiseDelegate,this._isDisposed=!1,this._isStarted=!1,this._exceptionPaths=[],this._exceptionBreakpointFilters=[],this._currentExceptionFilters={},this._disposed=new y.Signal(this),this._eventMessage=new y.Signal(this),this.connection=e.connection,this._config=e.config,this.translator=e.translator||v.nullTranslator}get isDisposed(){return this._isDisposed}get capabilities(){return this._capabilities}get disposed(){return this._disposed}get connection(){return this._connection}set connection(e){var t,n;if(this._connection&&this._connection.iopubMessage.disconnect(this._handleEvent,this),this._connection=e,!this._connection){this._isStarted=!1;return}this._connection.iopubMessage.connect(this._handleEvent,this),this._ready=new J.PromiseDelegate;let i=null==(n=null==(t=this.connection)?void 0:t.kernel)?void 0:n.requestDebug({type:"request",seq:0,command:"debugInfo"});i&&(i.onReply=e=>{this._ready.resolve(),i.dispose()})}get isStarted(){return this._isStarted}get exceptionPaths(){return this._exceptionPaths}get exceptionBreakpointFilters(){return this._exceptionBreakpointFilters}get currentExceptionFilters(){var e,t,n;let i=null!=(n=null==(t=null==(e=this.connection)?void 0:e.kernel)?void 0:t.name)?n:"";if(!i)return[];let o=this._config.getTmpFileParams(i);if(!o)return[];let r=o.prefix;return Object.keys(this._currentExceptionFilters).includes(r)?this._currentExceptionFilters[r]:[]}set currentExceptionFilters(e){var t,n,i;let o=null!=(i=null==(n=null==(t=this.connection)?void 0:t.kernel)?void 0:n.name)?i:"";if(!o)return;let r=this._config.getTmpFileParams(o);if(!r)return;let s=r.prefix;null===e?Object.keys(this._currentExceptionFilters).includes(s)&&delete this._currentExceptionFilters[s]:this._currentExceptionFilters[s]=e}get eventMessage(){return this._eventMessage}dispose(){this._isDisposed||(this._isDisposed=!0,this._disposed.emit(),y.Signal.clearData(this))}async start(){var e,t,n,i;let o=await this.sendRequest("initialize",{clientID:"jupyterlab",clientName:"JupyterLab",adapterID:null!=(n=null==(t=null==(e=this.connection)?void 0:e.kernel)?void 0:t.name)?n:"",pathFormat:"path",linesStartAt1:!0,columnsStartAt1:!0,supportsVariableType:!0,supportsVariablePaging:!0,supportsRunInTerminalRequest:!0,locale:document.documentElement.lang});if(!o.success)throw Error(`Could not start the debugger: ${o.message}`);this._capabilities=o.body,this._isStarted=!0,this._exceptionBreakpointFilters=null==(i=o.body)?void 0:i.exceptionBreakpointFilters,await this.sendRequest("attach",{})}async stop(){this._isStarted=!1,await this.sendRequest("disconnect",{restart:!1,terminateDebuggee:!1})}async restoreState(){var e;let t=await this.sendRequest("debugInfo",{});return this._isStarted=t.body.isStarted,this._exceptionPaths=null==(e=t.body)?void 0:e.exceptionPaths,t}isPausingOnException(e){var t,n;return e?null!=(n=null==(t=this.currentExceptionFilters)?void 0:t.includes(e))&&n:this.currentExceptionFilters.length>0}async sendRequest(e,t){return await this._ready.promise,(await this._sendDebugMessage({type:"request",seq:this._seq++,command:e,arguments:t})).content}_handleEvent(e,t){if("debug_event"!==t.header.msg_type)return;let n=t.content;this._eventMessage.emit(n)}async _sendDebugMessage(e){var t;let n=null==(t=this.connection)?void 0:t.kernel;if(!n)return Promise.reject(Error("A kernel is required to send debug messages."));let i=new J.PromiseDelegate,o=n.requestDebug(e);return o.onReply=e=>{i.resolve(e)},await o.done,i.promise}}var en=n(60721),ei=n.n(en);class eo extends l.ReactWidget{constructor(e,t=v.nullTranslator){super(),this._model=e,this._translator=t,this.addClass("jp-DebuggerBreakpoints-body")}render(){return ei().createElement(er,{model:this._model,translator:this._translator})}}let er=({model:e,translator:t})=>{let n=t.load("jupyterlab"),[i,o]=(0,en.useState)(Array.from(e.breakpoints.entries())),[r,s]=(0,en.useState)(null);return(0,en.useEffect)(()=>{let t=(t,n)=>{o(Array.from(e.breakpoints.entries()))},n=t=>{o(Array.from(e.breakpoints.entries()))},i=(t,n)=>{e.selectedBreakpoint=n},r=t=>{s(e.selectedBreakpoint)};return e.changed.connect(t),e.restored.connect(n),e.clicked.connect(i),e.selectedChanged.connect(r),()=>{e.changed.disconnect(t),e.restored.disconnect(n),e.clicked.disconnect(i),e.selectedChanged.disconnect(()=>r)}}),ei().createElement(ei().Fragment,null,i.map(t=>ei().createElement(es,{key:t[0],breakpoints:t[1],model:e,selectedBreakpoint:r,trans:n})))},es=({breakpoints:e,model:t,selectedBreakpoint:n,trans:i})=>ei().createElement(ei().Fragment,null,e.sort((e,t)=>{var n,i;return(null!=(n=e.line)?n:0)-(null!=(i=t.line)?i:0)}).map((e,o)=>{var r,s,a,l;return ei().createElement(ea,{key:(null!=(s=null==(r=e.source)?void 0:r.path)?s:"")+o,breakpoint:e,model:t,isSelected:(null==n?void 0:n.line)===e.line&&(null==(a=null==n?void 0:n.source)?void 0:a.path)===(null==(l=e.source)?void 0:l.path),trans:i})})),ea=({breakpoint:e,model:t,isSelected:n,trans:i})=>{var o;let r=t.getDisplayName(e);return ei().createElement("div",{className:"jp-DebuggerBreakpoint",onClick:()=>t.clicked.emit(e),title:null==(o=e.source)?void 0:o.path},ei().createElement("span",{className:"jp-DebuggerBreakpoint-container"},n?ei().createElement(l.selectedBreakpointIcon.react,{"aria-label":i.__("Selected breakpoint")}):ei().createElement(l.breakpointIcon.react,{"aria-label":i.__("Breakpoint")})),ei().createElement("span",{className:"jp-DebuggerBreakpoint-source jp-left-truncated"},r),ei().createElement("span",{className:"jp-DebuggerBreakpoint-line"},e.line))},el="jp-debugger-pauseOnExceptions",ed="jp-PauseOnExceptions",ec="jp-PauseOnExceptions-menu";class eh extends l.ToolbarButton{constructor(e){super(),this.onclick=()=>{this._menu.open(this.node.getBoundingClientRect().left,this.node.getBoundingClientRect().bottom)},this._menu=new eu({service:e.service,commands:{registry:e.commands.registry,pauseOnExceptions:e.commands.pauseOnExceptions}}),this.node.className=el,this._props=e,this._props.className=ed,this._props.service.eventMessage.connect((e,t)=>{("initialized"===t.event||"terminated"===t.event)&&this.onChange()},this),this._props.enabled=this._props.service.pauseOnExceptionsIsValid(),this._props.service.pauseOnExceptionChanged.connect(this.onChange,this)}onChange(){var e;let t=this._props.service.session,n=null==t?void 0:t.exceptionBreakpointFilters;this._props.className=ed,(null==(e=this._props.service.session)?void 0:e.isStarted)&&n?(this._props.pressed=t.isPausingOnException(),this._props.enabled=!0):this._props.enabled=!1,this.update()}render(){return en.createElement(l.ToolbarButtonComponent,{...this._props,onClick:this.onclick})}}class eu extends l.MenuSvg{constructor(e){super({commands:e.commands.registry}),this._service=e.service,this._command=e.commands.pauseOnExceptions,e.service.eventMessage.connect((e,t)=>{"initialized"===t.event&&this._build()},this),this._build(),this.addClass(ec)}_build(){var e,t;this.clearItems(),(null!=(t=null==(e=this._service.session)?void 0:e.exceptionBreakpointFilters)?t:[]).map((e,t)=>{this.addItem({command:this._command,args:{filter:e.filter,description:e.description}})})}}class ep extends l.PanelWithToolbar{constructor(e){var t;super(e),this.clicked=new y.Signal(this);const{model:n,service:i,commands:o}=e,r=(null!=(t=e.translator)?t:v.nullTranslator).load("jupyterlab");this.title.label=r.__("Breakpoints");const s=new eo(n);this.toolbar.node.setAttribute("aria-label",r.__("Breakpoints panel toolbar")),this.toolbar.addItem("pauseOnException",new eh({service:i,commands:o,icon:l.exceptionsIcon,tooltip:r.__("Pause on exception filter")})),this.toolbar.addItem("closeAll",new l.ToolbarButton({icon:l.closeAllIcon,onClick:async()=>{if(0!==n.breakpoints.size&&(await (0,p.showDialog)({title:r.__("Remove All Breakpoints"),body:r.__("Are you sure you want to remove all breakpoints?"),buttons:[p.Dialog.okButton({label:r.__("Remove breakpoints")}),p.Dialog.cancelButton()],hasClose:!0})).button.accept)return i.clearBreakpoints()},tooltip:r.__("Remove All Breakpoints")})),this.addWidget(s),this.addClass("jp-DebuggerBreakpoints")}}class em extends l.ReactWidget{constructor(e){super(),this._model=e,this.addClass("jp-DebuggerCallstack-body")}render(){return ei().createElement(eg,{model:this._model})}}let eg=({model:e})=>{let[t,n]=(0,en.useState)(e.frames),[i,o]=(0,en.useState)(e.frame),r=t=>{o(t),e.frame=t};return(0,en.useEffect)(()=>{let t=()=>{o(e.frame),n(e.frames)};return e.framesChanged.connect(t),()=>{e.framesChanged.disconnect(t)}},[e]),ei().createElement("ul",null,t.map(t=>{var n,o,s,a;return ei().createElement("li",{key:t.id,onClick:()=>r(t),className:(null==i?void 0:i.id)===t.id?"selected jp-DebuggerCallstackFrame":"jp-DebuggerCallstackFrame"},ei().createElement("span",{className:"jp-DebuggerCallstackFrame-name"},t.name),ei().createElement("span",{className:"jp-DebuggerCallstackFrame-location",title:null==(n=t.source)?void 0:n.path},null!=(s=null==(o=e.getDisplayName)?void 0:o.call(e,t))?s:null==(a=t.source)?void 0:a.path))}))};class eA extends l.PanelWithToolbar{constructor(e){var t;super(e);const{commands:n,model:i}=e,o=(null!=(t=e.translator)?t:v.nullTranslator).load("jupyterlab");this.title.label=o.__("Callstack");const r=new em(i);this.toolbar.node.setAttribute("aria-label",o.__("Callstack panel toolbar")),this.toolbar.addItem("continue",new l.CommandToolbarButton({commands:n.registry,id:n.continue,label:""})),this.toolbar.addItem("terminate",new l.CommandToolbarButton({commands:n.registry,id:n.terminate,label:""})),this.toolbar.addItem("step-over",new l.CommandToolbarButton({commands:n.registry,id:n.next,label:""})),this.toolbar.addItem("step-in",new l.CommandToolbarButton({commands:n.registry,id:n.stepIn,label:""})),this.toolbar.addItem("step-out",new l.CommandToolbarButton({commands:n.registry,id:n.stepOut,label:""})),this.toolbar.addItem("evaluate",new l.CommandToolbarButton({commands:n.registry,id:n.evaluate,label:""})),this.addWidget(r),this.addClass("jp-DebuggerCallstack")}}class eC extends g.Widget{constructor(e){super(),this._model=e.model,this._debuggerService=e.service;const t=new a.ReadOnlyEditorFactory({editorServices:e.editorServices});this._editor=t.createNewEditor({content:"",mimeType:"",path:""}),this._editor.hide(),this._showSource(),this._model.currentSourceChanged.connect(this._showSource.bind(this));const n=new g.PanelLayout;n.addWidget(this._editor),this.layout=n,this.addClass("jp-DebuggerSources-body")}dispose(){var e;this.isDisposed||(null==(e=this._editorHandler)||e.dispose(),y.Signal.clearData(this),super.dispose())}_clearEditor(){this._editor.hide()}async _showSource(){var e,t,n;let i=this._model.currentSource;if(!i||!(null==i?void 0:i.content))return void this._clearEditor();this._editorHandler&&this._editorHandler.dispose();let{content:o,mimeType:r}=i;this._editor.model.sharedModel.setSource(o),this._editor.model.mimeType=null!=r?r:"text/plain",this._editorHandler=new S({debuggerService:this._debuggerService,editorReady:()=>Promise.resolve(this._editor.editor),getEditor:()=>this._editor.editor,path:null!=(n=null==(t=null==(e=this._model.currentFrame)?void 0:e.source)?void 0:t.path)?n:"",src:this._editor.model.sharedModel}),requestAnimationFrame(()=>{let e=this._model.currentFrame,t=this._editor.editor;e&&t&&S.showCurrentLine(t,e.line,"start")}),this._editor.show()}}let ef=({model:e,trans:t})=>ei().createElement(l.UseSignal,{signal:e.currentSourceChanged,initialSender:e},e=>{var n,i;return ei().createElement("span",{onClick:t=>{t.ctrlKey&&(null==e||e.open())},title:t.__("Ctrl + click to open in the Main Area"),className:"jp-DebuggerSources-header-path"},null!=(i=null==(n=null==e?void 0:e.currentSource)?void 0:n.path)?i:"")});class eb extends l.PanelWithToolbar{constructor(e){var t;super();const{model:n,service:i,editorServices:o}=e,r=(null!=(t=e.translator)?t:v.nullTranslator).load("jupyterlab");this.title.label=r.__("Source"),this.toolbar.addClass("jp-DebuggerSources-header"),this.toolbar.node.setAttribute("aria-label",r.__("Sources preview panel toolbar"));const s=new eC({service:i,model:n,editorServices:o});this.toolbar.addItem("open",new l.ToolbarButton({icon:l.viewBreakpointIcon,onClick:()=>n.open(),tooltip:r.__("Open in the Main Area")}));const a=l.ReactWidget.create(ei().createElement(ef,{model:n,trans:r}));this.toolbar.addItem("sourcePath",a),this.addClass("jp-DebuggerSources-header"),this.addWidget(s),this.addClass("jp-DebuggerSources")}}let ev="jp-DebuggerKernelSource-source";class e_ extends l.ReactWidget{constructor(e){var t;super(),this._model=e.model,this._debuggerService=e.service,this._trans=(null!=(t=e.translator)?t:v.nullTranslator).load("jupyterlab"),this.addClass("jp-DebuggerKernelSources-body")}render(){return ei().createElement(ei().Fragment,null,ei().createElement(l.UseSignal,{signal:this._model.changed},(e,t)=>{let n={};return(null!=t?t:[]).map(e=>{var t;let i=e.name,o=e.path,r=i+(n[i]=(null!=(t=n[i])?t:0)+1).toString();return ei().createElement("div",{key:r,title:o,className:ev,onClick:()=>{this._debuggerService.getSource({sourceReference:0,path:o}).then(e=>{this._model.open(e)}).catch(e=>{(0,p.showErrorMessage)(this._trans.__("Fail to get source"),this._trans.__("Fail to get '%1' source:\n%2",o,e))})}},ei().createElement(l.LabIcon.resolveReact,{icon:l.openKernelSourceIcon,iconClass:(0,l.classes)("jp-Icon"),tag:null}),i)})}))}}var ey=n(75777);let eE=e=>{let t=t=>{let n=t.target.value;e.model.filter=n};return ei().createElement(ey.Search,{onInput:t,placeholder:e.trans.__("Filter sources"),value:e.model.filter,className:"jp-Debugger-KernelSources-Filter"})},ew=e=>ei().createElement(l.UseSignal,{signal:e.model.filterChanged,initialArgs:e.model.filter},t=>ei().createElement(eE,{model:e.model,trans:e.trans}));class ej extends l.PanelWithToolbar{constructor(e){var t;super();const{model:n,service:i}=e;this._model=n;const o=(null!=(t=e.translator)?t:v.nullTranslator).load("jupyterlab");this.title.label=o.__("Kernel Sources"),this.toolbar.addClass("jp-DebuggerKernelSources-header"),this.toolbar.node.setAttribute("aria-label",o.__("Kernel sources panel toolbar")),this._body=new e_({service:i,model:n,translator:e.translator}),this.toolbar.addItem("filter",p.ReactWidget.create(en.createElement(ew,{model:n,trans:o}))),this.addClass("jp-DebuggerKernelSources-header"),this.addWidget(this._body),this.addClass("jp-DebuggerKenelSources")}set filter(e){this._model.filter=e}}let ex=({model:e,tree:t,grid:n,trans:i})=>{let[o,r]=(0,en.useState)("-"),s=e.scopes,a=e=>{let i=e.target.value;r(i),t.scope=i,n.scope=i};return ei().createElement(l.HTMLSelect,{onChange:a,value:o,"aria-label":i.__("Scope")},s.map(e=>ei().createElement("option",{key:e.name,value:e.name},i.__(e.name))))};class eB extends l.ReactWidget{constructor(e){super();const{translator:t,model:n,tree:i,grid:o}=e;this._model=n,this._tree=i,this._grid=o,this._trans=(t||v.nullTranslator).load("jupyterlab")}render(){return ei().createElement(l.UseSignal,{signal:this._model.changed,initialSender:this._model},()=>ei().createElement(ex,{model:this._model,trans:this._trans,tree:this._tree,grid:this._grid}))}}var eS=n(65819);class eM extends l.ReactWidget{constructor(e){super(),this._scope="",this._scopes=[],this._filter=new Set,this._commands=e.commands,this._service=e.service,this._translator=e.translator,(this.model=e.model).changed.connect(this._updateScopes,this),this.addClass("jp-DebuggerVariables-body")}render(){var e;let t=null!=(e=this._scopes.find(e=>e.name===this._scope))?e:this._scopes[0],n=e=>{this.model.selectedVariable=e};return(null==t?void 0:t.name)!=="Globals"?this.addClass("jp-debuggerVariables-local"):this.removeClass("jp-debuggerVariables-local"),t?ei().createElement(ei().Fragment,null,ei().createElement(ey.TreeView,{className:"jp-TreeView"},ei().createElement(eI,{key:t.name,commands:this._commands,service:this._service,data:t.variables,filter:this._filter,translator:this._translator,handleSelectVariable:n}))):ei().createElement("div",null)}set filter(e){this._filter=e,this.update()}set scope(e){this._scope=e,this.update()}_updateScopes(e){eS.ArrayExt.shallowEqual(this._scopes,e.scopes)||(this._scopes=e.scopes,this.update())}}let eI=e=>{let{commands:t,data:n,service:i,filter:o,translator:r,handleSelectVariable:s}=e,[a,l]=(0,en.useState)(n);return(0,en.useEffect)(()=>{l(n)},[n]),ei().createElement(ei().Fragment,null,a.filter(e=>!(o||new Set).has(e.evaluateName||"")).map(e=>{let n=`${e.name}-${e.evaluateName}-${e.type}-${e.value}-${e.variablesReference}`;return ei().createElement(eD,{key:n,commands:t,data:e,service:i,filter:o,translator:r,onSelect:s})}))};function ek(e){if("float"===e.type&&("inf"==e.value||"-inf"==e.value))return e.value;let t=eL(e);return"float"===e.type&&isNaN(t)?"NaN":t}let eD=e=>{var t,n;let{commands:i,data:o,service:r,filter:s,translator:d,onSelect:c}=e,[h]=(0,en.useState)(o),[u,p]=(0,en.useState)(!1),[m,g]=(0,en.useState)(!1),[A,C]=(0,en.useState)(null),f=(0,en.useMemo)(()=>(null!=d?d:v.nullTranslator).load("jupyterlab"),[d]),b=null!=c?c:()=>void 0,_=(0,en.useMemo)(()=>0!==h.variablesReference||"function"===h.type,[h.variablesReference,h.type]),y=(0,en.useMemo)(()=>ek(h),[h]),E=(0,en.useMemo)(()=>!["special variables","protected variables","function variables","class variables"].includes(h.name),[h.name]),w=(0,en.useMemo)(()=>{var e;return!r.model.hasRichVariableRendering||!i.isEnabled(a.CommandIDs.renderMimeVariable,{name:h.name,frameID:null==(e=r.model.callstack.frame)?void 0:e.id})},[r.model.hasRichVariableRendering,h.name,null==(t=r.model.callstack.frame)?void 0:t.id]),j=(0,en.useCallback)(async()=>{_&&!A&&C(await r.inspectVariable(h.variablesReference))},[_,r,h.variablesReference,A]),x=(0,en.useCallback)(async e=>{let t=(0,l.getTreeItemElement)(e.target);e.currentTarget!==t||_&&g(!m)},[_,m]),B=(0,en.useCallback)(e=>{e.currentTarget===e.detail&&e.detail.selected&&b(h)},[h]),S=(0,en.useCallback)(()=>{var e;i.execute(a.CommandIDs.renderMimeVariable,{name:h.name,frameID:null==(e=r.model.callstack.frame)?void 0:e.id}).catch(e=>{console.error(`Failed to render variable ${null==h?void 0:h.name}`,e)})},[i,h.name,null==(n=r.model.callstack.frame)?void 0:n.id]),M=(0,en.useCallback)(e=>{let t=(0,l.getTreeItemElement)(e.target);e.currentTarget===t&&b(h)},[h]);return ei().createElement(ey.TreeItem,{className:"jp-TreeItem nested",expanded:m,onSelect:B,onExpand:j,onClick:e=>x(e),onContextMenu:M,onKeyDown:e=>{"Enter"==e.key&&E&&u&&(b(h),S())},onFocus:e=>{p(!e.defaultPrevented),e.preventDefault()},onBlur:e=>{p(!1)},onMouseOver:e=>{p(!e.defaultPrevented),e.preventDefault()},onMouseLeave:e=>{p(!1)}},ei().createElement("span",{className:"jp-DebuggerVariables-name"},h.name),null!=y&&ei().createElement("span",{className:"jp-DebuggerVariables-detail"},y),E&&u&&ei().createElement(ey.Button,{className:"jp-DebuggerVariables-renderVariable",appearance:"stealth",slot:"end",disabled:w,onClick:e=>{e.stopPropagation(),S()},title:f.__("Render variable: %1",null==h?void 0:h.name)},ei().createElement(l.searchIcon.react,{tag:null})),A?ei().createElement(eI,{key:h.name,commands:i,data:A,service:r,filter:s,translator:d,handleSelectVariable:c}):_&&ei().createElement(ey.TreeItem,null))};class eT extends l.PanelWithToolbar{constructor(e){super(e);const{model:t,service:n,commands:i,themeManager:o}=e,r=e.translator||v.nullTranslator,s=r.load("jupyterlab");this.title.label=s.__("Variables"),this.toolbar.addClass("jp-DebuggerVariables-toolbar"),this.toolbar.node.setAttribute("aria-label",s.__("Variables toolbar")),this._tree=new eM({model:t,service:n,commands:i,translator:r}),this._table=new G({model:t,commands:i,themeManager:o,translator:r}),this._table.hide(),this.toolbar.addItem("scope-switcher",new eB({translator:r,model:t,tree:this._tree,grid:this._table}));const a=()=>{this._table.isHidden?(this._tree.hide(),this._table.show(),this.node.setAttribute("data-jp-table","true"),h("table")):(this._tree.show(),this._table.hide(),this.node.removeAttribute("data-jp-table"),h("tree")),this.update()},d=new l.ToolbarButton({icon:l.treeViewIcon,className:"jp-TreeView-Button",onClick:a,tooltip:s.__("Tree View")}),c=new l.ToolbarButton({icon:l.tableRowsIcon,className:"jp-TableView-Button",onClick:a,tooltip:s.__("Table View")}),h=e=>{c.pressed="tree"!==e,d.pressed=!c.pressed};h(this._table.isHidden?"tree":"table"),this.toolbar.addItem("view-VariableTreeView",d),this.toolbar.addItem("view-VariableTableView",c),this.addWidget(this._tree),this.addWidget(this._table),this.addClass("jp-DebuggerVariables")}set filter(e){this._tree.filter=e,this._table.filter=e}onResize(e){super.onResize(e),this._resizeBody(e)}_resizeBody(e){let t=e.height-this.toolbar.node.offsetHeight;this._tree.node.style.height=`${t}px`}}let eL=e=>{var t,n;let{type:i,value:o}=e;switch(i){case"int":return parseInt(o,10);case"float":return parseFloat(o);case"bool":return o;case"str":if(null==(n=null==(t=e.presentationHint)?void 0:t.attributes)?void 0:n.includes("rawString"))return o.slice(1,o.length-1);return o;default:return null!=i?i:o}};class eN extends l.SidePanel{constructor(e){const t=e.translator||v.nullTranslator;super({translator:t}),this._showSourcesPanel=!1,this.id="jp-debugger-sidebar",this.title.icon=l.bugIcon,this.addClass("jp-DebuggerSidebar");const{callstackCommands:n,breakpointsCommands:i,editorServices:o,service:r,themeManager:s}=e,a=r.model;this._sourcesOptions={model:a.sources,service:r,editorServices:o,translator:t},this.variables=new eT({model:a.variables,commands:n.registry,service:r,themeManager:s,translator:t}),this.callstack=new eA({commands:n,model:a.callstack,translator:t}),this.breakpoints=new ep({service:r,commands:i,model:a.breakpoints,translator:t}),this.kernelSources=new ej({model:a.kernelSources,service:r,translator:t});const d=new eN.Header;this.header.addWidget(d),a.titleChanged.connect((e,t)=>{d.title.label=t}),this.content.addClass("jp-DebuggerSidebar-body"),this.addWidget(this.variables),this.addWidget(this.callstack),this.addWidget(this.breakpoints),this.addWidget(this.kernelSources)}get showSourcesPanel(){return this._showSourcesPanel}set showSourcesPanel(e){e!==this._showSourcesPanel&&(this._showSourcesPanel=e,e?(!this._sources||this._sources.isDisposed)&&(this._sources=new eb(this._sourcesOptions),this.insertWidget(3,this._sources)):this._sources&&!this._sources.isDisposed&&(this._sources.dispose(),this._sources=void 0))}get sources(){return this._sources}}!function(e){class t extends g.Widget{constructor(){super({node:s.createHeader()}),this.title.changed.connect(e=>{this.node.textContent=this.title.label})}}e.Header=t}(eN||(eN={})),function(e){e.createHeader=function(){let e=document.createElement("h2");return e.textContent="-",e.classList.add("jp-text-truncated"),e}}(s||(s={}));class eP{constructor(e){var t,n,i;this._config=e.config,this._shell=e.shell,this._notebookTracker=null!=(t=e.notebookTracker)?t:null,this._consoleTracker=null!=(n=e.consoleTracker)?n:null,this._editorTracker=null!=(i=e.editorTracker)?i:null,this._readOnlyEditorTracker=new p.WidgetTracker({namespace:"@jupyterlab/debugger"})}find(e){return[...this._findInConsoles(e),...this._findInEditors(e),...this._findInNotebooks(e),...this._findInReadOnlyEditors(e)]}open(e){let{editorWrapper:t,label:n,caption:i}=e,o=new p.MainAreaWidget({content:t});o.id=p.DOMUtils.createDomID(),o.title.label=n,o.title.closable=!0,o.title.caption=i,o.title.icon=l.textEditorIcon,this._shell.add(o,"main",{type:"Debugger Sources"}),this._readOnlyEditorTracker.add(o)}_findInNotebooks(e){if(!this._notebookTracker)return[];let{focus:t,kernel:n,path:i,source:o}=e,r=[];return this._notebookTracker.forEach(e=>{if(i!==e.sessionContext.path)return;let s=e.content;t&&(s.mode="command"),e.content.widgets.forEach((i,a)=>{let l=i.model.sharedModel.getSource(),d=this._getCodeId(l,n);d&&o===d&&(t&&(s.activeCellIndex=a,s.activeCell&&s.scrollToItem(s.activeCellIndex,"smart").catch(e=>{}),this._shell.activateById(e.id)),r.push(Object.freeze({get:()=>i.editor,reveal:()=>s.scrollToItem(a,"smart"),src:i.model.sharedModel})))})}),r}_findInConsoles(e){if(!this._consoleTracker)return[];let{focus:t,kernel:n,path:i,source:o}=e,r=[];return this._consoleTracker.forEach(e=>{if(i===e.sessionContext.path)for(let i of e.console.cells){let s=i.model.sharedModel.getSource(),a=this._getCodeId(s,n);if(!a||o!==a)break;r.push(Object.freeze({get:()=>i.editor,reveal:()=>Promise.resolve(this._shell.activateById(e.id)),src:i.model.sharedModel})),t&&this._shell.activateById(e.id)}}),r}_findInEditors(e){if(!this._editorTracker)return[];let{focus:t,kernel:n,path:i,source:o}=e,r=[];return this._editorTracker.forEach(e=>{let s=e.content;if(i!==s.context.path)return;let a=s.editor;if(!a)return;let l=a.model.sharedModel.getSource(),d=this._getCodeId(l,n);!d||o===d&&(r.push(Object.freeze({get:()=>a,reveal:()=>Promise.resolve(this._shell.activateById(e.id)),src:s.model.sharedModel})),t&&this._shell.activateById(e.id))}),r}_findInReadOnlyEditors(e){let{focus:t,kernel:n,source:i}=e,o=[];return this._readOnlyEditorTracker.forEach(e=>{var r;let s=null==(r=e.content)?void 0:r.editor;if(!s)return;let a=s.model.sharedModel.getSource(),l=this._getCodeId(a,n);!l||(e.title.caption===i||i===l)&&(o.push(Object.freeze({get:()=>s,reveal:()=>Promise.resolve(this._shell.activateById(e.id)),src:s.model.sharedModel})),t&&this._shell.activateById(e.id))}),o}_getCodeId(e,t){try{return this._config.getCodeId(e,t)}catch(e){return""}}}!function(e){let t,n,o;class r extends u{}e.Config=r;class s extends S{}e.EditorHandler=s;class a extends P{}e.Handler=a;class d extends q{}e.Model=d;class c extends b{}e.ReadOnlyEditorFactory=c;class h extends ee{}e.Service=h;class p extends et{}e.Session=p;class m extends eN{}e.Sidebar=m;class g extends eP{}e.Sources=g;class A extends G{}e.VariablesGrid=A;class C extends Q{}e.VariableRenderer=C,function(e){e.debugContinue="debugger:continue",e.terminate="debugger:terminate",e.next="debugger:next",e.showPanel="debugger:show-panel",e.stepIn="debugger:stepIn",e.stepOut="debugger:stepOut",e.inspectVariable="debugger:inspect-variable",e.renderMimeVariable="debugger:render-mime-variable",e.evaluate="debugger:evaluate",e.restartDebug="debugger:restart-debug",e.pauseOnExceptions="debugger:pause-on-exceptions",e.copyToClipboard="debugger:copy-to-clipboard",e.copyToGlobals="debugger:copy-to-globals",e.invokeConsole="debugger:invoke-console-completer",e.selectConsole="debugger:select-console-completion",e.executeConsole="debugger:run-in-console",e.openSource="debugger:open-source"}(t=e.CommandIDs||(e.CommandIDs={})),function(e){e.closeAllIcon=l.closeAllIcon,e.evaluateIcon=l.codeIcon,e.continueIcon=l.runIcon,e.pauseIcon=l.pauseIcon,e.stepIntoIcon=l.stepIntoIcon,e.stepOutIcon=l.stepOutIcon,e.stepOverIcon=l.stepOverIcon,e.terminateIcon=l.stopIcon,e.variableIcon=l.variableIcon,e.viewBreakpointIcon=l.viewBreakpointIcon,e.pauseOnExceptionsIcon=l.pauseIcon}(n=e.Icons||(e.Icons={})),function(e){e.getCode=i.getCode}(o=e.Dialogs||(e.Dialogs={}))}(a||(a={}))},82402(e,t,n){"use strict";n.d(t,{V:()=>i});class i{constructor(){this._providers=[]}register(e){this._providers.push(e)}getDisplayName(e){var t;let n=null!=(t=e.path)?t:"",i=n;for(let t of this._providers){if(!t.canHandle(e))continue;let o=t.getDisplayName(e);o&&o!==n&&(i=o)}return i}}},98231(e,t,n){"use strict";n.r(t),n.d(t,{Debugger:()=>i.s,DebuggerDisplayRegistry:()=>o.V,IDebugger:()=>s,IDebuggerConfig:()=>a,IDebuggerDisplayRegistry:()=>u,IDebuggerHandler:()=>c,IDebuggerSidebar:()=>d,IDebuggerSourceViewer:()=>h,IDebuggerSources:()=>l});var i=n(10583),o=n(82402),r=n(55187);let s=new r.Token("@jupyterlab/debugger:IDebugger","A debugger user interface."),a=new r.Token("@jupyterlab/debugger:IDebuggerConfig","A service to handle the debugger configuration."),l=new r.Token("@jupyterlab/debugger:IDebuggerSources","A service to display sources in debug mode."),d=new r.Token("@jupyterlab/debugger:IDebuggerSidebar","A service for the debugger sidebar."),c=new r.Token("@jupyterlab/debugger:IDebuggerHandler","A service for handling notebook debugger."),h=new r.Token("@jupyterlab/debugger:IDebuggerSourceViewer","A debugger source viewer."),u=new r.Token("@jupyterlab/debugger:IDebuggerDisplayRegistry","A service for registering display labels for cells/files in the debugger.")},5011(e,t,n){"use strict";n.r(t),n.d(t,{Grid:()=>d,GridModel:()=>c});var i,o=n(14486),r=n(20659),s=n(64001),a=n(2786),l=n(10583);class d extends s.Panel{constructor(e){super();const{commands:t,model:n,themeManager:r}=e;this.model=n;const s=new c(e.translator),a=new o.DataGrid,d=new i.MouseHandler;d.doubleClicked.connect((e,n)=>t.execute(l.s.CommandIDs.inspectVariable,{variableReference:s.getVariableReference(n.row),name:s.getVariableName(n.row)})),d.selected.connect((e,t)=>{let{row:n}=t;this.model.selectedVariable={name:s.getVariableName(n),value:s.data("body",n,1),type:s.data("body",n,2),variablesReference:s.getVariableReference(n)}}),a.dataModel=s,a.keyHandler=new o.BasicKeyHandler,a.mouseHandler=d,a.selectionModel=new o.BasicSelectionModel({dataModel:s}),a.stretchLastColumn=!0,a.node.style.height="100%",this._grid=a,r&&r.themeChanged.connect(this._updateStyles,this),this.addWidget(a)}set filter(e){this._grid.dataModel.filter=e,this.update()}set scope(e){this._grid.dataModel.scope=e,this.update()}get dataModel(){return this._grid.dataModel}onAfterAttach(e){super.onAfterAttach(e),this._updateStyles()}_updateStyles(){let{style:e,textRenderer:t}=i.computeStyle();this._grid.cellRenderers.update({},t),this._grid.style=e}}class c extends o.DataModel{constructor(e){super(),this._filter=new Set,this._scope="",this._data={name:[],type:[],value:[],variablesReference:[]},this._trans=(e||a.nullTranslator).load("jupyterlab")}get filter(){return this._filter}set filter(e){this._filter=e}get scope(){return this._scope}set scope(e){this._scope=e}rowCount(e){return"body"===e?this._data.name.length:1}columnCount(e){return"body"===e?2:1}data(e,t,n){return"row-header"===e?this._data.name[t]:"column-header"===e?1===n?this._trans.__("Value"):this._trans.__("Type"):"corner-header"===e?this._trans.__("Name"):1===n?this._data.value[t]:this._data.type[t]}getVariableReference(e){return this._data.variablesReference[e]}getVariableName(e){return this._data.name[e]}setData(e){var t,n;this._clearData(),this.emitChanged({type:"model-reset"});let i=null!=(t=e.find(e=>e.name===this._scope))?t:e[0],o=(null!=(n=null==i?void 0:i.variables)?n:[]).filter(e=>e.name&&!this._filter.has(e.name));o.forEach((e,t)=>{var n;this._data.name[t]=e.name,this._data.type[t]=null!=(n=e.type)?n:"",this._data.value[t]=e.value,this._data.variablesReference[t]=e.variablesReference}),this.emitChanged({type:"rows-inserted",region:"body",index:1,span:o.length})}_clearData(){this._data={name:[],type:[],value:[],variablesReference:[]}}}!function(e){function t(){let e=document.createElement("div");return e.className="jp-DebuggerVariables-colorPalette",e.innerHTML=`
        <div class="jp-mod-void"></div>
        <div class="jp-mod-background"></div>
        <div class="jp-mod-header-background"></div>
        <div class="jp-mod-grid-line"></div>
        <div class="jp-mod-header-grid-line"></div>
        <div class="jp-mod-selection"></div>
        <div class="jp-mod-text"></div>
      `,e}e.computeStyle=function(){let e,n=t();document.body.appendChild(n);let i=getComputedStyle(e=n.querySelector(".jp-mod-void")).color,r=getComputedStyle(e=n.querySelector(".jp-mod-background")).color,s=getComputedStyle(e=n.querySelector(".jp-mod-header-background")).color,a=getComputedStyle(e=n.querySelector(".jp-mod-grid-line")).color,l=getComputedStyle(e=n.querySelector(".jp-mod-header-grid-line")).color,d=getComputedStyle(e=n.querySelector(".jp-mod-selection")).color,c=getComputedStyle(e=n.querySelector(".jp-mod-text")),h=c.color,u=c.fontFamily,p=c.fontSize;return document.body.removeChild(n),{style:{voidColor:i,backgroundColor:r,headerBackgroundColor:s,gridLineColor:a,headerGridLineColor:l,rowBackgroundColor:e=>e%2==0?i:r,selectionFillColor:d},textRenderer:new o.TextRenderer({font:`${p} ${u}`,textColor:h,backgroundColor:"",verticalAlignment:"center",horizontalAlignment:"left"})}};class n extends o.BasicMouseHandler{constructor(){super(...arguments),this._doubleClicked=new r.Signal(this),this._selected=new r.Signal(this)}get doubleClicked(){return this._doubleClicked}get selected(){return this._selected}dispose(){this.isDisposed||(r.Signal.disconnectSender(this),super.dispose())}onMouseDoubleClick(e,t){let n=e.hitTest(t.clientX,t.clientY);this._doubleClicked.emit(n)}onMouseDown(e,t){let{clientX:n,clientY:i}=t,o=e.hitTest(n,i);this._selected.emit(o),super.onMouseDown(e,t)}onContextMenu(e,t){let{clientX:n,clientY:i}=t,o=e.hitTest(n,i);this._selected.emit(o)}}e.MouseHandler=n}(i||(i={}))},31849(e,t,n){"use strict";n.r(t),n.d(t,{ToolbarItems:()=>s,default:()=>T,downloadPlugin:()=>k,openBrowserTabPlugin:()=>D,pathStatusPlugin:()=>I,savingStatusPlugin:()=>M});var i,o,r,s,a,l=n(57941),d=n(97518),c=n(28951),h=n(18977),u=n(31031),p=n(46109),m=n(59057),g=n(2786),A=n(8989),C=n(65819),f=n(55187),b=n(20659),v=n(64001),_=n(60721),y=n(99873);!function(e){e.clearRecents="docmanager:clear-recents"}(i||(i={})),function(e){e.recentsManager="@jupyterlab/docmanager-extension:recents",e.reopenClosed="@jupyterlab/docmanager-extension:reopen-recently-closed",e.mainPlugin="@jupyterlab/docmanager-extension:plugin"}(o||(o={}));let E={id:o.recentsManager,description:"Provides a manager of recently opened and closed documents.",autoStart:!0,requires:[y.IStateDB],optional:[p.ISettingRegistry,g.ITranslator],provides:h.IRecentsManager,activate:(e,t,n,r)=>{let{serviceManager:s}=e,a=(null!=r?r:g.nullTranslator).load("jupyterlab"),l=new h.RecentsManager({stateDB:t,contents:s.contents}),d=e=>{l.maximalRecentsLength=e.get("maxNumberRecents").composite};return n&&Promise.all([e.restored,n.load(o.mainPlugin)]).then(([e,t])=>{t.changed.connect(d),d(t)}),e.commands.addCommand(i.clearRecents,{execute:()=>{l.clearRecents()},isEnabled:()=>0!=l.recentlyOpened.length||0!=l.recentlyClosed.length,label:a.__("Clear Recent Documents"),caption:a.__("Clear the list of recently opened items."),describedBy:{args:{type:"object",properties:{}}}}),l}};!function(e){e.clone="docmanager:clone",e.deleteFile="docmanager:delete-file",e.newUntitled="docmanager:new-untitled",e.open="docmanager:open",e.openBrowserTab="docmanager:open-browser-tab",e.reload="docmanager:reload",e.rename="docmanager:rename",e.del="docmanager:delete",e.duplicate="docmanager:duplicate",e.restoreCheckpoint="docmanager:restore-checkpoint",e.save="docmanager:save",e.saveAll="docmanager:save-all",e.saveAs="docmanager:save-as",e.download="docmanager:download",e.toggleAutosave="docmanager:toggle-autosave",e.showInFileBrowser="docmanager:show-in-file-browser"}(r||(r={}));let w="@jupyterlab/docmanager-extension:plugin",j={id:"@jupyterlab/docmanager-extension:opener",description:"Provides the widget opener.",autoStart:!0,provides:h.IDocumentWidgetOpener,activate:e=>{let{shell:t}=e;return new class{constructor(){this._opened=new b.Signal(this)}open(e,n){var i;e.id||(e.id=`document-manager-${++a.id}`),e.title.dataset={type:"document-title",...e.title.dataset},e.isAttached||t.add(e,"main",n||{}),(null==(i=null==n?void 0:n.activate)||i)&&t.activateById(e.id),this._opened.emit(e)}get opened(){return this._opened}}}},x={id:"@jupyterlab/docmanager-extension:contexts",description:"Adds the handling of opened documents dirty state.",autoStart:!0,requires:[h.IDocumentManager,h.IDocumentWidgetOpener],optional:[l.ILabStatus],activate:(e,t,n,i)=>{let o=new WeakSet;n.opened.connect((e,n)=>{let r=t.contextForWidget(n);r&&!o.has(r)&&(i&&R(i,r),o.add(r))})}},B={id:"@jupyterlab/docmanager-extension:manager",description:"Provides the document manager.",provides:h.IDocumentManager,requires:[h.IDocumentWidgetOpener],optional:[g.ITranslator,l.ILabStatus,d.ISessionContextDialogs,l.JupyterLab.IInfo,h.IRecentsManager,u.IUrlResolverFactory,h.IDocumentManagerDialogs],activate:(e,t,n,i,o,r,s,a,l)=>{var c;let{serviceManager:u,docRegistry:p}=e,m=null!=n?n:g.nullTranslator,A=null!=o?o:new d.SessionContextDialogs({translator:m}),C=null!=l?l:new h.DocumentManagerDialogs({translator:m}),f=e.restored.then(()=>void 0);return new h.DocumentManager({registry:p,manager:u,opener:t,when:f,setBusy:null!=(c=i&&(()=>i.setBusy()))?c:void 0,sessionDialogs:A,translator:null!=m?m:g.nullTranslator,isConnectedCallback:()=>!r||r.isConnected,recentsManager:null!=s?s:void 0,urlResolverFactory:null!=a?a:void 0,docManagerDialogs:C})}},S={id:w,description:"Adds commands and settings to the document manager.",autoStart:!0,requires:[h.IDocumentManager,h.IDocumentWidgetOpener,p.ISettingRegistry],optional:[g.ITranslator,d.ICommandPalette,l.ILabShell,h.IDocumentManagerDialogs],activate:(e,t,n,i,o,s,a,l)=>{let d=(o=null!=o?o:g.nullTranslator).load("jupyterlab"),c=e.docRegistry;P(e,t,n,i,o,a,s,l);let h=n=>{let i=n.get("autosave").composite;t.autosave=!0!==i&&!1!==i||i,e.commands.notifyCommandChanged(r.toggleAutosave);let o=n.get("confirmClosingDocument").composite;t.confirmClosingDocument=null==o||o,t.autosaveInterval=n.get("autosaveInterval").composite||120,t.lastModifiedCheckMargin=n.get("lastModifiedCheckMargin").composite||500;let s=n.get("renameUntitledFileOnSave").composite;t.renameUntitledFileOnSave=null==s||s;let a=n.get("defaultViewers").composite,l={};for(let e of(Object.keys(a).forEach(e=>{c.getFileType(e)?(c.getWidgetFactory(a[e])||console.warn(`Document viewer ${a[e]} not found`),l[e]=a[e]):console.warn(`File Type ${e} not found`)}),c.fileTypes()))try{c.setDefaultWidgetFactory(e.name,l[e.name])}catch(t){console.warn(`Failed to set default viewer ${l[e.name]} for file type ${e.name}`)}};Promise.all([i.load(w),e.restored]).then(([e])=>{e.changed.connect(h),h(e);let n=(t,n)=>{["autosave","autosaveInterval","confirmClosingDocument","lastModifiedCheckMargin","renameUntitledFileOnSave"].includes(n.name)&&e.get(n.name).composite!==n.newValue&&e.set(n.name,n.newValue).catch(e=>{console.error(`Failed to set the setting '${n.name}':
${e}`)})};t.stateChanged.connect(n)}).catch(e=>{console.error(e.message)}),i.transform(w,{fetch:e=>{let t=Array.from(c.fileTypes()).map(e=>e.name).join("    \n"),n=Array.from(c.widgetFactories()).map(e=>e.name).join("    \n"),i=d.__(`Overrides for the default viewers for file types.
Specify a mapping from file type name to document viewer name, for example:

defaultViewers: {
  markdown: "Markdown Preview"
}

If you specify non-existent file types or viewers, or if a viewer cannot
open a given file type, the override will not function.

Available viewers:
%1

Available file types:
%2`,n,t),o=f.JSONExt.deepCopy(e.schema);return o.properties.defaultViewers.description=i,{...e,schema:o}}}),c.changed.connect(()=>i.load(w,!0))}},M={id:"@jupyterlab/docmanager-extension:saving-status",description:"Adds a saving status indicator.",autoStart:!0,requires:[h.IDocumentManager,l.ILabShell],optional:[g.ITranslator,m.IStatusBar],activate:(e,t,n,i,o)=>{if(!o)return;let r=new h.SavingStatus({docManager:t,translator:null!=i?i:g.nullTranslator});r.model.widget=n.currentWidget,n.currentChanged.connect(()=>{r.model.widget=n.currentWidget}),o.registerStatusItem(M.id,{item:r,align:"middle",isActive:()=>null!==r.model&&null!==r.model.status,activeStateChanged:r.model.stateChanged})}},I={id:"@jupyterlab/docmanager-extension:path-status",description:"Adds a file path indicator in the status bar.",autoStart:!0,requires:[h.IDocumentManager,l.ILabShell],optional:[m.IStatusBar],activate:(e,t,n,i)=>{if(!i)return;let o=new h.PathStatus({docManager:t});o.model.widget=n.currentWidget,n.currentChanged.connect(()=>{o.model.widget=n.currentWidget}),i.registerStatusItem(I.id,{item:o,align:"right",rank:0})}},k={id:"@jupyterlab/docmanager-extension:download",description:"Adds command to download files.",autoStart:!0,requires:[h.IDocumentManager],optional:[g.ITranslator,d.ICommandPalette],activate:(e,t,n,i)=>{var o;let s=(null!=n?n:g.nullTranslator).load("jupyterlab"),{commands:a,shell:l}=e,c=()=>{let{currentWidget:e}=l;return!!(e&&t.contextForWidget(e))};a.addCommand(r.download,{label:s.__("Download"),caption:s.__("Download the file to your computer"),isEnabled:c,describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(c()){let e=t.contextForWidget(l.currentWidget);return e?e.download():(0,d.showDialog)({title:s.__("Cannot Download"),body:s.__("No context found for current widget!"),buttons:[d.Dialog.okButton()]})}}}),null==(o=e.shell.currentChanged)||o.connect(()=>{e.commands.notifyCommandChanged(r.download)});let h=s.__("File Operations");i&&i.addItem({command:r.download,category:h})}},D={id:"@jupyterlab/docmanager-extension:open-browser-tab",description:"Adds command to open a browser tab.",autoStart:!0,requires:[h.IDocumentManager],optional:[g.ITranslator],activate:(e,t,n)=>{let i=(null!=n?n:g.nullTranslator).load("jupyterlab"),{commands:o}=e;o.addCommand(r.openBrowserTab,{execute:e=>{let n=void 0===e.path?"":e.path;if(n)return t.services.contents.getDownloadUrl(n).then(e=>{let t=window.open();if(t)t.opener=null,t.location.href=e;else throw Error("Failed to open new browser tab.")})},iconClass:e=>e.icon||"",label:()=>i.__("Open in New Browser Tab"),describedBy:{args:{type:"object",properties:{path:{type:"string",description:i.__("The path of the file to open in browser tab")},icon:{type:"string",description:i.__("The icon class for the command")}},required:["path"]}}})}},T=[B,S,x,I,M,k,D,j,E,{id:"@jupyterlab/docmanager-extension:dialogs",description:"Provides default dialogs for document management operations.",autoStart:!0,provides:h.IDocumentManagerDialogs,requires:[g.ITranslator],activate:(e,t)=>new h.DocumentManagerDialogs({translator:t})}];!function(e){e.createSaveButton=function(e,t){return(0,d.addCommandToolbarButtonClass)(d.ReactWidget.create(_.createElement(d.UseSignal,{signal:t},()=>_.createElement(d.CommandToolbarButtonComponent,{commands:e,id:r.save,label:"",args:{toolbar:!0}}))))}}(s||(s={}));class L extends v.Widget{constructor(e,t,n="notebook"){super({node:a.createRevertConfirmNode(e,n,t)})}}function N(e,t){if(!e)return"File";let n=t.contextForWidget(e);if(!n)return"";let i=t.registry.getFileTypesForPath(n.path);return i.length&&i[0].displayName?i[0].displayName:"File"}function P(e,t,n,i,o,s,l,u){var p;let m=o.load("jupyterlab"),{commands:g,shell:f}=e,b=m.__("File Operations"),v=()=>{let{currentWidget:e}=f;return!!(e&&t.contextForWidget(e))},_=()=>{var e;let{currentWidget:n}=f;if(!n)return!1;let i=t.contextForWidget(n);return!!(null==(e=null==i?void 0:i.contentsModel)?void 0:e.writable)},y=e=>d.Notification.warning(m.__('%1 is read-only. Use "Save as…" instead.',e),{autoClose:5e3});s&&(u||(u=new h.DocumentManagerDialogs({translator:o})),z(e,t,s,n,o,u)),g.addCommand(r.deleteFile,{label:()=>`Delete ${N(f.currentWidget,t)}`,describedBy:{args:{type:"object",properties:{path:{type:"string",description:"The path of the file to delete"}},required:["path"]}},execute:e=>{let n=void 0===e.path?"":e.path;if(!n){let e=r.deleteFile;throw Error(`A non-empty path is required for ${e}.`)}return t.deleteFile(n)}}),g.addCommand(r.newUntitled,{execute:async e=>{let n=e.error||m.__("Error"),i=void 0===e.path?"":e.path,o={type:e.type,path:i};return"file"===e.type&&(o.ext=e.ext||".txt"),t.services.contents.newUntitled(o).catch(e=>(0,d.showErrorMessage)(n,e))},label:e=>e.label||`New ${e.type}`,describedBy:{args:{type:"object",properties:{error:{type:"string",description:"The error title to display"},path:{type:"string",description:"The path where to create the file"},type:{type:"string",description:"The type of content to create",enum:["file","directory","notebook"]},ext:{type:"string",description:"The file extension (for file type)"},label:{type:"string",description:"The label for the command"}}}}}),g.addCommand(r.open,{execute:async e=>{let n=void 0===e.path?"":e.path,i=e.factory||void 0,o=null==e?void 0:e.kernel,r=null==e?void 0:e.kernelPreference,s=e.options||void 0;return t.services.contents.get(n,{content:!1}).then(()=>t.openOrReveal(n,i,o,s,r))},iconClass:e=>e.icon||"",label:e=>{var t;return null!=(t=e.label||e.factory)?t:m.__("Open the provided `path`.")},mnemonic:e=>e.mnemonic||-1,describedBy:{args:{type:"object",properties:{path:{type:"string",description:"The path of the file to open"},factory:{type:"string",description:"The widget factory name"},kernel:{type:"object",description:"The kernel model to use. See the [Jupyter Server API](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/jupyter_server/services/api/api.yaml#!/kernels) for more information.",properties:{id:{type:"string",description:"Unique identifier of the kernel on the server"},name:{type:"string",description:"The name of the kernel"}}},kernelPreference:{type:"object",description:"Override kernel preferences, see [`IKernelPreference`](https://jupyterlab.readthedocs.io/en/stable/api/interfaces/apputils.ISessionContext.IKernelPreference.html) for possible values. Preferences are considered in the order `id`, `name`, `language`. If no matching kernels can be found and `autoStartDefault` is `true`, then the default kernel for the server is preferred.",properties:{id:{type:"string",description:"The id of an existing kernel"},name:{type:"string",description:"The name of the kernel"},language:{type:"string",description:"The preferred kernel language"},shouldStart:{type:"boolean",description:"A kernel should be started automatically (default `true`)"},canStart:{type:"boolean",description:"A kernel can be started (default `true`)"},shutdownOnDispose:{type:"boolean",description:"Shut down the session when session context is disposed (default `false`)"},autoStartDefault:{type:"boolean",description:"Automatically start the default kernel if no other matching kernel is found (default `false`)"},skipKernelRestartDialog:{type:"boolean",description:"Skip showing the kernel restart dialog if checked (default `false`)"}}},options:{type:"object",description:"Additional options for opening the widget",properties:{ref:{type:"string",description:"The reference widget id for the insert location (default `null`)"},mode:{type:"string",description:'The insertion mode relative to a reference widget ("split-top", "split-bottom", "split-left", "split-right", "tab-before", "tab-after")'},activate:{type:"boolean",description:"Whether to activate the widget (default `true`)"},rank:{type:"number",description:"The rank order of the widget among its siblings"},type:{type:"string",description:"Type of widget to open, used to load user customization (typically a factory name or widget id)"}}},icon:{type:"string",description:"The icon class for the command"},label:{type:"string",description:"The label for the command"},mnemonic:{type:"number",description:"The mnemonic index for the command"}}}}}),g.addCommand(r.reload,{label:()=>m.__("Reload %1 from Disk",N(f.currentWidget,t)),caption:m.__("Reload contents from disk"),isEnabled:v,describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(!v())return;let e=t.contextForWidget(f.currentWidget),n=N(f.currentWidget,t);return e?e.model.dirty?(0,d.showDialog)({title:m.__("Reload %1 from Disk",n),body:m.__("Are you sure you want to reload the %1 from the disk?",n),buttons:[d.Dialog.cancelButton(),d.Dialog.warnButton({label:m.__("Reload")})]}).then(t=>{if(t.button.accept&&!e.isDisposed)return e.revert()}):e.isDisposed?void 0:e.revert():(0,d.showDialog)({title:m.__("Cannot Reload"),body:m.__("No context found for current widget!"),buttons:[d.Dialog.okButton()]})}}),g.addCommand(r.restoreCheckpoint,{label:()=>m.__("Revert %1 to Checkpoint…",N(f.currentWidget,t)),caption:m.__("Revert contents to previous checkpoint"),isEnabled:v,describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(!v())return;let e=t.contextForWidget(f.currentWidget);return e?e.listCheckpoints().then(async n=>{let i=N(f.currentWidget,t);if(n.length<1)return void await (0,d.showErrorMessage)(m.__("No checkpoints"),m.__("No checkpoints are available for this %1.",i));let o=1===n.length?n[0]:await a.getTargetCheckpoint(n.reverse(),m);if(o)return(0,d.showDialog)({title:m.__("Revert %1 to checkpoint",i),body:new L(o,m,i),buttons:[d.Dialog.cancelButton(),d.Dialog.warnButton({label:m.__("Revert"),ariaLabel:m.__("Revert to Checkpoint")})]}).then(t=>{if(!e.isDisposed&&t.button.accept)return e.model.readOnly?e.revert():e.restoreCheckpoint(o.id).then(()=>e.revert())})}):(0,d.showDialog)({title:m.__("Cannot Revert"),body:m.__("No context found for current widget!"),buttons:[d.Dialog.okButton()]})}});let E=()=>f.currentWidget&&!_()?m.__('Document is read-only. "Save" is disabled; use "Save as…" instead'):m.__("Save and create checkpoint"),j=new WeakSet;g.addCommand(r.save,{label:()=>m.__("Save %1",N(f.currentWidget,t)),caption:E,icon:e=>e.toolbar?A.saveIcon:void 0,isEnabled:e=>e._luminoEvent&&"keybinding"===e._luminoEvent.type||_(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether executed from toolbar"},_luminoEvent:{type:"object",description:"The lumino event object"}}}},execute:async e=>{var n,o,r,s,a;let l=f.currentWidget,h=t.contextForWidget(l);if(v())if(!h)return(0,d.showDialog)({title:m.__("Cannot Save"),body:m.__("No context found for current widget!"),buttons:[d.Dialog.okButton()]});else{if(j.has(h))return;if(!(null==(n=h.contentsModel)?void 0:n.writable)){let t=null==(o=e._luminoEvent)?void 0:o.type;return e._luminoEvent&&"keybinding"===t?void y(h.path):(0,d.showDialog)({title:m.__("Cannot Save"),body:m.__("Document is read-only"),buttons:[d.Dialog.okButton()]})}j.add(h);let u=c.PathExt.basename(null!=(s=null==(r=h.contentsModel)?void 0:r.path)?s:""),p=u;if(t.renameUntitledFileOnSave&&!0===l.isUntitled){let e=await d.InputDialog.getText({title:m.__("Rename file"),okLabel:m.__("Rename and Save"),placeholder:m.__("File name"),text:u,selectionRange:u.length-c.PathExt.extname(u).length,checkbox:{label:m.__("Do not ask for rename on first save."),caption:m.__("If checked, you will not be asked to rename future untitled files when saving them.")}});if(e.button.accept&&(p=null!=(a=e.value)?a:u,l.isUntitled=!1,"boolean"==typeof e.isChecked)){let t=(await i.get(w,"renameUntitledFileOnSave")).composite;e.isChecked===t&&i.set(w,"renameUntitledFileOnSave",!e.isChecked).catch(e=>{console.error(`Fail to set 'renameUntitledFileOnSave:
${e}`)})}}try{await h.save(),p!==u&&await h.rename(p),(null==l?void 0:l.isDisposed)||await h.createCheckpoint()}catch(e){if("ModalCancelError"===e.name)return;throw e}finally{j.delete(h)}}}}),g.addCommand(r.saveAll,{label:()=>m.__("Save All"),caption:m.__("Save all open documents"),isEnabled:()=>(0,C.some)(f.widgets("main"),e=>{var n,i,o;return null!=(o=null==(i=null==(n=t.contextForWidget(e))?void 0:n.contentsModel)?void 0:i.writable)&&o}),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;let n=[],i=new Set;for(let o of f.widgets("main")){let r=t.contextForWidget(o);r&&!i.has(r.path)&&((null==(e=r.contentsModel)?void 0:e.writable)?(i.add(r.path),n.push(r.save())):y(r.path))}return Promise.all(n)}}),g.addCommand(r.saveAs,{label:()=>m.__("Save %1 As…",N(f.currentWidget,t)),caption:m.__("Save with new path"),isEnabled:v,describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(v()){let e=t.contextForWidget(f.currentWidget);if(!e)return(0,d.showDialog)({title:m.__("Cannot Save"),body:m.__("No context found for current widget!"),buttons:[d.Dialog.okButton()]});let n=(n,i)=>{"save"===i.type&&i.newValue&&i.newValue.path!==e.path&&(t.closeFile(e.path),g.execute(r.open,{path:i.newValue.path}))};t.services.contents.fileChanged.connect(n),e.saveAs().finally(()=>t.services.contents.fileChanged.disconnect(n))}}}),null==(p=e.shell.currentChanged)||p.connect(()=>{[r.reload,r.restoreCheckpoint,r.save,r.saveAll,r.saveAs].forEach(t=>{e.commands.notifyCommandChanged(t)})}),g.addCommand(r.toggleAutosave,{label:m.__("Autosave Documents"),isToggled:()=>t.autosave,execute:()=>{let e=!t.autosave,n="autosave";return i.set(w,n,e).catch(e=>{console.error(`Failed to set ${w}:${n} - ${e.message}`)})},describedBy:{args:{type:"object",properties:{}}}}),l&&[r.reload,r.restoreCheckpoint,r.save,r.saveAs,r.toggleAutosave,r.duplicate].forEach(e=>{l.addItem({command:e,category:b})})}function z(e,t,n,i,o,s){let a=o.load("jupyterlab"),{commands:l}=e,c=()=>{var i;let o=/[Pp]ath:\s?(.*)\n?/,r=e=>{var t;return!!(null==(t=e.title)?void 0:t.match(o))},s=e.contextMenuHitTest(r),a=null==s?void 0:s.title.match(o);return null!=(i=a&&t.findWidget(a[1],null))?i:n.currentWidget},h=()=>{let{currentWidget:e}=n;return!!(e&&t.contextForWidget(e))};l.addCommand(r.clone,{label:()=>a.__("New View for %1",N(c(),t)),isEnabled:h,execute:e=>{let n=c(),o=e.options||{mode:"split-right"};if(!n)return;let r=t.cloneWidget(n);r&&i.open(r,o)},describedBy:{args:{type:"object",properties:{options:{type:"object",description:a.__("Options for opening the cloned document")}}}}}),l.addCommand(r.rename,{label:()=>{let e=N(c(),t);return e&&(e=" "+e),a.__("Rename%1…",e)},isEnabled:h,execute:()=>{if(h()){let e=t.contextForWidget(c());return s.rename(e)}},describedBy:{args:{type:"object",properties:{}}}}),l.addCommand(r.duplicate,{label:()=>a.__("Duplicate %1",N(c(),t)),isEnabled:h,execute:()=>{if(h()){let e=t.contextForWidget(c());if(e)return t.duplicate(e.path)}},describedBy:{args:{type:"object",properties:{}}}}),l.addCommand(r.del,{label:()=>a.__("Delete %1",N(c(),t)),isEnabled:h,execute:async()=>{if(h()){let n=t.contextForWidget(c());n&&(await (0,d.showDialog)({title:a.__("Delete"),body:a.__("Are you sure you want to delete %1",n.path),buttons:[d.Dialog.cancelButton(),d.Dialog.warnButton({label:a.__("Delete")})]})).button.accept&&await e.commands.execute("docmanager:delete-file",{path:n.path})}},describedBy:{args:{type:"object",properties:{}}}}),l.addCommand(r.showInFileBrowser,{label:()=>a.__("Show in File Browser"),isEnabled:h,execute:async()=>{let e=c(),n=e&&t.contextForWidget(e);n&&(await l.execute("filebrowser:activate",{path:n.path}),await l.execute("filebrowser:go-to-path",{path:n.path}))},describedBy:{args:{type:"object",properties:{}}}}),n.currentChanged.connect(()=>{[r.clone,r.rename,r.duplicate,r.del,r.showInFileBrowser].forEach(t=>{e.commands.notifyCommandChanged(t)})})}function R(e,t){let n=null,i=(t,i)=>{"dirty"===i.name&&(!0===i.newValue?n||(n=e.setDirty()):n&&(n.dispose(),n=null))};t.ready.then(()=>{t.model.stateChanged.connect(i),t.model.dirty&&(n=e.setDirty())}),t.disposed.connect(()=>{n&&n.dispose()})}!function(e){e.id=0,e.createRevertConfirmNode=function(e,t,n){let i=document.createElement("div"),o=document.createElement("p"),r=document.createTextNode(n.__("Are you sure you want to revert the %1 to checkpoint? ",t)),s=document.createElement("strong");s.textContent=n.__("This cannot be undone."),o.appendChild(r),o.appendChild(s);let a=document.createElement("p"),l=document.createTextNode(n.__("The checkpoint was last updated at: ")),d=document.createElement("p"),h=new Date(e.last_modified);return d.style.textAlign="center",d.textContent=c.Time.format(h)+" ("+c.Time.formatHuman(h)+")",a.appendChild(l),a.appendChild(d),i.appendChild(o),i.appendChild(a),i},e.getTargetCheckpoint=async function(e,t){let n=".",i=e.map((e,t)=>{let i=c.Time.format(e.last_modified),o=c.Time.formatHuman(e.last_modified);return`${t}${n} ${i} (${o})`}),o=(await d.InputDialog.getItem({items:i,title:t.__("Choose a checkpoint")})).value;if(o)return e[parseInt(o.split(n,1)[0],10)]}}(a||(a={}))},87779(e,t,n){"use strict";n(82311),n(97777),n(82946),n(62971),n(22595),n(45350),n(67474),n(41603)},98094(e,t,n){"use strict";n.r(t),n.d(t,{DocumentManager:()=>M,DocumentManagerDialogs:()=>p,DocumentWidgetManager:()=>S,IDocumentManager:()=>O,IDocumentManagerDialogs:()=>H,IDocumentWidgetOpener:()=>F,IRecentsManager:()=>W,PathStatus:()=>N,RecentsManager:()=>Y,SaveHandler:()=>w,SavingStatus:()=>R,isValidFileName:()=>C,renameDialog:()=>m,renameFile:()=>g,shouldOverwrite:()=>A});var i,o,r,s,a=n(97518),l=n(28951),d=n(2786),c=n(64001);let h="jp-FileDialog",u="jp-new-name-title";class p{constructor(e={}){this._translator=e.translator||d.nullTranslator}async rename(e){let t=this._translator.load("jupyterlab"),n=e.localPath.split("/").pop()||e.localPath,i=new f(n,this._translator),o=await (0,a.showDialog)({title:t.__("Rename File"),body:i,buttons:[a.Dialog.cancelButton(),a.Dialog.okButton({label:t.__("Rename"),ariaLabel:t.__("Rename File")})],focusNodeSelector:"input"});if(!o.button.accept)return null;let r=o.value;return r&&r!==n?C(r)?e.rename(r):((0,a.showErrorMessage)(t.__("Rename Error"),Error(t.__('"%1" is not a valid name for a file. Names must have nonzero length, and cannot include "/", "\\", or ":"',o.value))),null):null}async confirmClose(e){let t=this._translator.load("jupyterlab"),{fileName:n,isDirty:i}=e,o=[a.Dialog.cancelButton(),a.Dialog.okButton({label:i?t.__("Close and save"):t.__("Close"),ariaLabel:i?t.__("Close and save Document"):t.__("Close Document")})];i&&o.splice(1,0,a.Dialog.warnButton({label:t.__("Close without saving"),ariaLabel:t.__("Close Document without saving")}));let r=await (0,a.showDialog)({title:t.__("Confirmation"),body:t.__('Please confirm you want to close "%1".',n),checkbox:i?null:{label:t.__("Do not ask me again."),caption:t.__("If checked, no confirmation to close a document will be asked in the future.")},buttons:o}),s=r.button.accept;return{shouldClose:s,ignoreSave:!i||"warn"===r.button.displayType,doNotAskAgain:!0===r.isChecked}}async saveBeforeClose(e){let t=this._translator.load("jupyterlab"),{fileName:n,writable:i}=e,o=i?t.__("Save"):t.__("Save as"),r=await (0,a.showDialog)({title:t.__("Save your work"),body:t.__('Save changes in "%1" before closing?',n),buttons:[a.Dialog.cancelButton(),a.Dialog.warnButton({label:t.__("Discard"),ariaLabel:t.__("Discard changes to file")}),a.Dialog.okButton({label:o})]});return{shouldClose:r.button.accept,ignoreSave:"warn"===r.button.displayType}}}function m(e,t,n,i){return i?i.rename(t):new p({translator:n}).rename(t)}function g(e,t,n){return e.rename(t,n).catch(i=>{if(409!==i.response.status)throw i;return A(n).then(i=>i?e.overwrite(t,n):Promise.reject("File not renamed"))})}function A(e,t){let n=(t=t||d.nullTranslator).load("jupyterlab"),i={title:n.__("Overwrite file?"),body:n.__('"%1" already exists, overwrite?',e),buttons:[a.Dialog.cancelButton(),a.Dialog.warnButton({label:n.__("Overwrite"),ariaLabel:n.__("Overwrite Existing File")})]};return(0,a.showDialog)(i).then(e=>Promise.resolve(e.button.accept))}function C(e){let t=/[/\\:]/;return e.length>0&&!t.test(e)}class f extends c.Widget{constructor(e,t){super({node:i.createRenameNode(e,t)}),this.addClass(h);const n=l.PathExt.extname(e),o=this.inputNode.value=l.PathExt.basename(e);this.inputNode.setSelectionRange(0,o.length-n.length)}get inputNode(){return this.node.getElementsByTagName("input")[0]}getValue(){return this.inputNode.value}}!function(e){e.createRenameNode=function(e,t){let n=(t=t||d.nullTranslator).load("jupyterlab"),i=document.createElement("div"),o=document.createElement("label");o.textContent=n.__("File Path");let r=document.createElement("span");r.textContent=e;let s=document.createElement("label");s.textContent=n.__("New Name"),s.className=u;let a=document.createElement("input");return i.appendChild(o),i.appendChild(r),i.appendChild(s),i.appendChild(a),i}}(i||(i={}));var b=n(31997),v=n(65819),_=n(55187),y=n(17981),E=n(20659);class w{constructor(e){this._autosaveTimer=-1,this._minInterval=-1,this._interval=-1,this._isActive=!1,this._inDialog=!1,this._isDisposed=!1,this._multiplier=10,this._context=e.context,this._isConnectedCallback=e.isConnectedCallback||(()=>!0);const t=e.saveInterval||120;this._minInterval=1e3*t,this._interval=this._minInterval,this._context.fileChanged.connect(this._setTimer,this),this._context.disposed.connect(this.dispose,this)}get saveInterval(){return this._interval/1e3}set saveInterval(e){this._minInterval=this._interval=1e3*e,this._isActive&&this._setTimer()}get isActive(){return this._isActive}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,clearTimeout(this._autosaveTimer),E.Signal.clearData(this))}start(){this._isActive=!0,this._setTimer()}stop(){this._isActive=!1,clearTimeout(this._autosaveTimer)}_setTimer(){clearTimeout(this._autosaveTimer),this._isActive&&(this._autosaveTimer=window.setTimeout(()=>{this._isConnectedCallback()?this._save():this._setTimer()},this._interval))}_save(){var e;let t=this._context;if(this._setTimer(),!t||!(null==(e=t.canSave)||e)||!t.model.dirty||this._inDialog)return;let n=new Date().getTime();t.save().then(()=>{if(this.isDisposed)return;let e=new Date().getTime()-n;this._interval=Math.max(this._multiplier*e,this._minInterval),this._setTimer()}).catch(e=>{let{name:t}=e;"ModalCancelError"!==t&&"ModalDuplicateError"!==t&&console.error("Error in Auto-Save",e.message)})}}var j=n(63995),x=n(93771);let B="jp-Document";class S{constructor(e){this._activateRequested=new E.Signal(this),this._confirmClosingTab=!1,this._isDisposed=!1,this._stateChanged=new E.Signal(this),this._registry=e.registry,this.translator=e.translator||d.nullTranslator,this._recentsManager=e.recentsManager||null,this._dialogs=e.dialogs||null}get activateRequested(){return this._activateRequested}get confirmClosingDocument(){return this._confirmClosingTab}set confirmClosingDocument(e){if(this._confirmClosingTab!==e){let t=this._confirmClosingTab;this._confirmClosingTab=e,this._stateChanged.emit({name:"confirmClosingDocument",oldValue:t,newValue:e})}}get stateChanged(){return this._stateChanged}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,E.Signal.disconnectReceiver(this))}createWidget(e,t){let n=e.createNew(t);return this._initializeWidget(n,e,t),n}_initializeWidget(e,t,n){o.factoryProperty.set(e,t);let i=new j.DisposableSet;for(let o of this._registry.widgetExtensions(t.name)){let t=o.createNew(e,n);t&&i.add(t)}o.disposablesProperty.set(e,i),e.disposed.connect(this._onWidgetDisposed,this),this.adoptWidget(n,e),n.fileChanged.connect(this._onFileChanged,this),n.pathChanged.connect(this._onPathChanged,this),n.ready.then(()=>{this.setCaption(e)})}adoptWidget(e,t){o.widgetsProperty.get(e).push(t),x.MessageLoop.installMessageHook(t,this),t.addClass(B),t.title.closable=!0,t.disposed.connect(this._widgetDisposed,this),o.contextProperty.set(t,e)}findWidget(e,t){let n=o.widgetsProperty.get(e);if(n)return(0,v.find)(n,e=>{let n=o.factoryProperty.get(e);return!!n&&n.name===t})}contextForWidget(e){return o.contextProperty.get(e)}cloneWidget(e){let t=o.contextProperty.get(e);if(!t)return;let n=o.factoryProperty.get(e);if(!n)return;let i=n.createNew(t,e);return this._initializeWidget(i,n,t),i}closeWidgets(e){return Promise.all(o.widgetsProperty.get(e).map(e=>this.onClose(e))).then(()=>void 0)}deleteWidgets(e){return Promise.all(o.widgetsProperty.get(e).map(e=>this.onDelete(e))).then(()=>void 0)}messageHook(e,t){switch(t.type){case"close-request":return this.onClose(e),!1;case"activate-request":{let t=e,n=this.contextForWidget(t);n&&(n.ready.then(()=>{this._recordAsRecentlyOpened(t,n.contentsModel)}).catch(()=>{console.warn("Could not record the recents status for",n)}),this._activateRequested.emit(n.path))}}return!0}async setCaption(e){let t=this.translator.load("jupyterlab"),n=o.contextProperty.get(e);if(!n)return;let i=n.contentsModel;if(!i){e.title.caption="";return}return n.listCheckpoints().then(o=>{if(e.isDisposed)return;let r=o[o.length-1],s=r?l.Time.format(r.last_modified):"None",a=t.__("Name: %1\nPath: %2\n",i.name,i.path);n.model.readOnly?a+=t.__("Read-only"):a+=t.__("Last Saved: %1\n",l.Time.format(i.last_modified))+t.__("Last Checkpoint: %1",s),e.title.caption=a})}async onClose(e){var t;let[n,i]=await this._maybeClose(e,this.translator);if(e.isDisposed)return!0;if(n){let n=o.contextProperty.get(e);if(!i){if(!n)return!0;if(null==(t=n.contentsModel)?void 0:t.writable)await n.save();else if(!await n.saveAs())return!1}if(n&&("timeout"===await Promise.race([n.ready,new Promise(e=>setTimeout(e,3e3,"timeout"))])?console.warn("Could not record the widget as recently closed because the context did not become ready in 3 seconds"):this._recordAsRecentlyClosed(e,n.contentsModel)),e.isDisposed)return!0;e.dispose()}return n}onDelete(e){return e.dispose(),Promise.resolve(void 0)}_recordAsRecentlyOpened(e,t){var n;let i=this._recentsManager;if(!i)return;let r=t.path,s=this._registry.getFileTypeForModel(t).contentType,a=null==(n=o.factoryProperty.get(e))?void 0:n.name;if(i.addRecent({path:r,contentType:s,factory:a},"opened"),"directory"!==s){let e=r.lastIndexOf("/")>0?r.slice(0,r.lastIndexOf("/")):"";i.addRecent({path:e,contentType:"directory"},"opened")}}_recordAsRecentlyClosed(e,t){var n;let i=this._recentsManager;if(!i)return;let r=t.path,s=this._registry.getFileTypeForModel(t).contentType,a=null==(n=o.factoryProperty.get(e))?void 0:n.name;i.addRecent({path:r,contentType:s,factory:a},"closed")}async _maybeClose(e,t){var n,i,r;t=t||d.nullTranslator;let s=o.contextProperty.get(e);if(!s)return Promise.resolve([!0,!0]);let a=o.widgetsProperty.get(s);if(!a)return Promise.resolve([!0,!0]);a=a.filter(e=>{let t=o.factoryProperty.get(e);return!!t&&!1===t.readOnly});let l=e.title.label,c=o.factoryProperty.get(e),h=s.model.dirty&&a.length<=1&&!(null==(n=null==c?void 0:c.readOnly)||n),u=null!=(i=this._dialogs)?i:new p({translator:t});if(this.confirmClosingDocument){let{shouldClose:e,ignoreSave:t,doNotAskAgain:n}=await u.confirmClose({fileName:l,isDirty:h});return n&&(this.confirmClosingDocument=!1),Promise.resolve([e,t])}{if(!h)return Promise.resolve([!0,!0]);let e=await (null==u?void 0:u.saveBeforeClose({fileName:l,writable:null==(r=s.contentsModel)?void 0:r.writable}));return[e.shouldClose,e.ignoreSave]}}_widgetDisposed(e){let t=o.contextProperty.get(e);if(!t)return;let n=o.widgetsProperty.get(t);n&&(v.ArrayExt.removeFirstOf(n,e),n.length||t.dispose())}_onWidgetDisposed(e){o.disposablesProperty.get(e).dispose()}_onFileChanged(e){for(let t of o.widgetsProperty.get(e))this.setCaption(t)}_onPathChanged(e){for(let t of o.widgetsProperty.get(e))this.setCaption(t)}}!function(e){e.contextProperty=new y.AttachedProperty({name:"context",create:()=>void 0}),e.factoryProperty=new y.AttachedProperty({name:"factory",create:()=>void 0}),e.widgetsProperty=new y.AttachedProperty({name:"widgets",create:()=>[]}),e.disposablesProperty=new y.AttachedProperty({name:"disposables",create:()=>new j.DisposableSet})}(o||(o={}));class M{constructor(e){var t,n;this._activateRequested=new E.Signal(this),this._contexts=[],this._isDisposed=!1,this._autosave=!0,this._autosaveInterval=120,this._lastModifiedCheckMargin=500,this._renameUntitledFileOnSave=!0,this._stateChanged=new E.Signal(this),this.translator=e.translator||d.nullTranslator,this.registry=e.registry,this.services=e.manager,this._docManagerDialogs=null!=(t=e.docManagerDialogs)?t:new p({translator:this.translator}),this._dialogs=null!=(n=e.sessionDialogs)?n:new a.SessionContextDialogs({translator:e.translator}),this._isConnectedCallback=e.isConnectedCallback||(()=>!0),this._opener=e.opener,this._when=e.when||e.manager.ready;const i=new S({registry:this.registry,translator:this.translator,recentsManager:e.recentsManager,dialogs:this._docManagerDialogs});i.activateRequested.connect(this._onActivateRequested,this),i.stateChanged.connect(this._onWidgetStateChanged,this),this._widgetManager=i,this._setBusy=e.setBusy,this._urlResolverFactory=e.urlResolverFactory}get activateRequested(){return this._activateRequested}get autosave(){return this._autosave}set autosave(e){if(this._autosave!==e){let t=this._autosave;this._autosave=e,this._contexts.forEach(t=>{let n=r.saveHandlerProperty.get(t);n&&(!0!==e||n.isActive?!1===e&&n.isActive&&n.stop():n.start())}),this._stateChanged.emit({name:"autosave",oldValue:t,newValue:e})}}get autosaveInterval(){return this._autosaveInterval}set autosaveInterval(e){if(this._autosaveInterval!==e){let t=this._autosaveInterval;this._autosaveInterval=e,this._contexts.forEach(t=>{let n=r.saveHandlerProperty.get(t);n&&(n.saveInterval=e||120)}),this._stateChanged.emit({name:"autosaveInterval",oldValue:t,newValue:e})}}get confirmClosingDocument(){return this._widgetManager.confirmClosingDocument}set confirmClosingDocument(e){if(this._widgetManager.confirmClosingDocument!==e){let t=this._widgetManager.confirmClosingDocument;this._widgetManager.confirmClosingDocument=e,this._stateChanged.emit({name:"confirmClosingDocument",oldValue:t,newValue:e})}}get lastModifiedCheckMargin(){return this._lastModifiedCheckMargin}set lastModifiedCheckMargin(e){if(this._lastModifiedCheckMargin!==e){let t=this._lastModifiedCheckMargin;this._lastModifiedCheckMargin=e,this._contexts.forEach(t=>{t.lastModifiedCheckMargin=e}),this._stateChanged.emit({name:"lastModifiedCheckMargin",oldValue:t,newValue:e})}}get renameUntitledFileOnSave(){return this._renameUntitledFileOnSave}set renameUntitledFileOnSave(e){if(this._renameUntitledFileOnSave!==e){let t=this._renameUntitledFileOnSave;this._renameUntitledFileOnSave=e,this._stateChanged.emit({name:"renameUntitledFileOnSave",oldValue:t,newValue:e})}}get stateChanged(){return this._stateChanged}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,E.Signal.clearData(this),this._contexts.forEach(e=>this._widgetManager.closeWidgets(e)),this._widgetManager.dispose(),this._contexts.length=0)}cloneWidget(e){return this._widgetManager.cloneWidget(e)}closeAll(){return Promise.all(this._contexts.map(e=>this._widgetManager.closeWidgets(e))).then(()=>void 0)}closeFile(e){return Promise.all(this._contextsForPath(e).map(e=>this._widgetManager.closeWidgets(e))).then(e=>void 0)}contextForWidget(e){return this._widgetManager.contextForWidget(e)}copy(e,t){return this.services.contents.copy(e,t)}createNew(e,t="default",n){return this._createOrOpenDocument("create",e,t,n)}deleteFile(e){return this.services.sessions.stopIfNeeded(e).then(()=>this.services.contents.delete(e)).then(()=>(this._contextsForPath(e).forEach(e=>this._widgetManager.deleteWidgets(e)),Promise.resolve(void 0)))}duplicate(e){let t=l.PathExt.dirname(e);return this.services.contents.copy(e,t)}findWidget(e,t="default"){let n=l.PathExt.normalize(e),i=[t];if("default"===t){let e=this.registry.defaultWidgetFactory(n);if(!e)return;i=[e.name]}else null===t&&(i=this.registry.preferredWidgetFactories(n).map(e=>e.name));for(let e of this._contextsForPath(n))for(let t of i)if(null!==t){let n=this._widgetManager.findWidget(e,t);if(n)return n}}newUntitled(e){return"file"===e.type&&(e.ext=e.ext||".txt"),this.services.contents.newUntitled(e)}open(e,t="default",n,i,o){return this._createOrOpenDocument("open",e,t,n,i,o)}openOrReveal(e,t=null,n,i,o){let r=this.findWidget(e,t);return r?(this._opener.open(r,{type:t||"default",...i}),r):this.open(e,t||"default",n,null!=i?i:{},o)}async overwrite(e,t){let n=`${t}.${_.UUID.uuid4()}`;return await this.rename(e,n),await this.deleteFile(t),await this.rename(n,t)}rename(e,t){return this.services.contents.rename(e,t)}_findContext(e,t){let n=this.services.contents.normalize(e);return(0,v.find)(this._contexts,e=>e.path===n&&e.factoryName===t)}_contextsForPath(e){let t=this.services.contents.normalize(e);return this._contexts.filter(e=>e.path===t)}_createContext(e,t,n,i){let o=(e,t)=>{this._widgetManager.adoptWidget(s,e),this._opener.open(e,t)},s=new b.Context({opener:o,manager:this.services,factory:t,path:e,kernelPreference:n,setBusy:this._setBusy,sessionDialogs:this._dialogs,lastModifiedCheckMargin:this._lastModifiedCheckMargin,translator:this.translator,contentProviderId:i,urlResolverFactory:this._urlResolverFactory}),a=new w({context:s,isConnectedCallback:this._isConnectedCallback,saveInterval:this.autosaveInterval});return r.saveHandlerProperty.set(s,a),s.ready.then(()=>{this.autosave&&a.start()}),s.disposed.connect(this._onContextDisposed,this),this._contexts.push(s),s}_onContextDisposed(e){v.ArrayExt.removeFirstOf(this._contexts,e)}_widgetFactoryFor(e,t){let{registry:n}=this;if("default"===t){let i=n.defaultWidgetFactory(e);if(!i)return;t=i.name}return n.getWidgetFactory(t)}_createOrOpenDocument(e,t,n="default",i,o,r){let s,a=this._widgetFactoryFor(t,n);if(!a)return;let l=a.modelName||"text",d=this.registry.getModelFactory(l);if(!d)return;let c={...this.registry.getKernelPreference(t,a.name,i),...r},h=Promise.resolve(void 0);if("open"===e)(s=this._findContext(t,d.name)||null)||(s=this._createContext(t,d,c,a.contentProviderId),h=this._when.then(()=>s.initialize(!1)));else if("create"===e)s=this._createContext(t,d,c,a.contentProviderId),h=this._when.then(()=>s.initialize(!0));else throw Error(`Invalid argument 'which': ${e}`);let u=this._widgetManager.createWidget(a,s);return this._opener.open(u,{type:a.name,...o}),h.catch(e=>{console.error(`Failed to initialize the context with '${d.name}' for ${t}`,e),u.close()}),u}_onActivateRequested(e,t){this._activateRequested.emit(t)}_onWidgetStateChanged(e,t){"confirmClosingDocument"===t.name&&this._stateChanged.emit(t)}}!function(e){e.saveHandlerProperty=new y.AttachedProperty({name:"saveHandler",create:()=>void 0})}(r||(r={}));var I=n(59057),k=n(8989),D=n(60721),T=n.n(D);function L(e){return T().createElement(I.TextItem,{source:e.name,title:e.fullPath})}class N extends k.VDomRenderer{constructor(e){super(new N.Model(e.docManager)),this.node.title=this.model.path}render(){return T().createElement(L,{fullPath:this.model.path,name:this.model.name})}}function P(e){return T().createElement(I.TextItem,{source:e.fileStatus})}!function(e){class t extends k.VDomModel{constructor(e){super(),this._onTitleChange=e=>{let t=this._getAllState();this._name=e.label,this._triggerChange(t,this._getAllState())},this._onPathChange=(e,t)=>{let n=this._getAllState();this._path=t,this._name=l.PathExt.basename(t),this._triggerChange(n,this._getAllState())},this._path="",this._name="",this._widget=null,this._docManager=e}get path(){return this._path}get name(){return this._name}get widget(){return this._widget}set widget(e){let t=this._widget;if(null!==t){let e=this._docManager.contextForWidget(t);e?e.pathChanged.disconnect(this._onPathChange):t.title.changed.disconnect(this._onTitleChange)}let n=this._getAllState();if(this._widget=e,null===this._widget)this._path="",this._name="";else{let e=this._docManager.contextForWidget(this._widget);e?(this._path=e.path,this._name=l.PathExt.basename(e.path),e.pathChanged.connect(this._onPathChange)):(this._path="",this._name=this._widget.title.label,this._widget.title.changed.connect(this._onTitleChange))}this._triggerChange(n,this._getAllState())}_getAllState(){return[this._path,this._name]}_triggerChange(e,t){(e[0]!==t[0]||e[1]!==t[1])&&this.stateChanged.emit(void 0)}}e.Model=t}(N||(N={}));let z=2e3;class R extends k.VDomRenderer{constructor(e){super(new R.Model(e.docManager));const t=(e.translator||d.nullTranslator).load("jupyterlab");this._statusMap={completed:t.__("Saving completed"),started:t.__("Saving started"),failed:t.__("Saving failed")}}render(){return null===this.model||null===this.model.status?null:T().createElement(P,{fileStatus:this._statusMap[this.model.status]})}}!function(e){class t extends k.VDomModel{constructor(e){super(),this._onStatusChange=(e,t)=>{this._status=t,"completed"===this._status&&setTimeout(()=>{this._status=null,this.stateChanged.emit(void 0)},z),this.stateChanged.emit(void 0)},this._status=null,this._widget=null,this._status=null,this.widget=null,this._docManager=e}get status(){return this._status}get widget(){return this._widget}set widget(e){var t,n;let i=this._widget;if(null!==i){let e=this._docManager.contextForWidget(i);e?e.saveState.disconnect(this._onStatusChange):(null==(t=this._widget.content)?void 0:t.saveStateChanged)&&this._widget.content.saveStateChanged.disconnect(this._onStatusChange)}if(this._widget=e,null===this._widget)this._status=null;else{let e=this._docManager.contextForWidget(this._widget);e?e.saveState.connect(this._onStatusChange):(null==(n=this._widget.content)?void 0:n.saveStateChanged)&&this._widget.content.saveStateChanged.connect(this._onStatusChange)}}}e.Model=t}(R||(R={}));let O=new _.Token("@jupyterlab/docmanager:IDocumentManager",`A service for the manager for all
  documents used by the application. Use this if you want to open and close documents,
  create and delete files, and otherwise interact with the file system.`),F=new _.Token("@jupyterlab/docmanager:IDocumentWidgetOpener","A service to open a widget."),W=new _.Token("@jupyterlab/docmanager:IRecentsManager","A service providing information about recently opened and closed documents"),H=new _.Token("@jupyterlab/docmanager:IDocumentManagerDialogs","A service for displaying dialogs related to document management.");var U=n(59807);class Y{constructor(e){this._recentsChanged=new E.Signal(this),this._recents={opened:[],closed:[]},this._isDisposed=!1,this._maxRecentsLength=10,this._saveDebouncer=new U.Debouncer(this._save.bind(this),500),this._stateDB=e.stateDB,this._contentsManager=e.contents,this.updateRootDir(),this._loadRecents().catch(e=>{console.error(`Failed to load recent list from state:
${e}`)})}get isDisposed(){return this._isDisposed}get recentlyOpened(){return(this._recents.opened||[]).filter(e=>e.root===this._serverRoot)}get recentlyClosed(){return(this._recents.closed||[]).filter(e=>e.root===this._serverRoot)}get changed(){return this._recentsChanged}get maximalRecentsLength(){return this._maxRecentsLength}set maximalRecentsLength(e){this._maxRecentsLength=Math.round(Math.max(1,e));let t=!1;for(let e of["opened","closed"])this._recents[e].length>this._maxRecentsLength&&(this._recents[e].length=this._maxRecentsLength,t=!0);t&&this._recentsChanged.emit(void 0)}dispose(){this.isDisposed||(this._isDisposed=!0,E.Signal.clearData(this),this._saveDebouncer.dispose())}addRecent(e,t){let n={...e,root:this._serverRoot},i=this._recents[t],o=i.findIndex(t=>t.path===e.path);o>=0&&i.splice(o,1),i.unshift(n),this._setRecents(i,t),this._recentsChanged.emit(void 0)}clearRecents(){this._setRecents([],"opened"),this._setRecents([],"closed"),this._recentsChanged.emit(void 0)}removeRecent(e,t){this._removeRecent(e.path,[t])}async validate(e){let t=await this._isValid(e);return t||this._removeRecent(e.path),t}updateRootDir(){this._serverRoot=l.PageConfig.getOption("serverRoot")}_removeRecent(e,t=["opened","closed"]){let n=!1;for(let i of t){let t=this._recents[i],o=t.filter(t=>e!==t.path);t.length!==o.length&&(this._setRecents(o,i),n=!0)}n&&this._recentsChanged.emit(void 0)}async _isValid(e){var t;try{await this._contentsManager.get(e.path,{content:!1})}catch(e){if((null==(t=e.response)?void 0:t.status)===404)return!1}return!0}_setRecents(e,t){this._recents[t]=e.slice(0,this.maximalRecentsLength).sort((e,t)=>e.root===t.root?0:e.root!==this._serverRoot?1:-1),this._saveDebouncer.invoke().catch(console.warn)}async _loadRecents(){let e=await this._stateDB.fetch(s.stateDBKey)||{opened:[],closed:[]},t=[...e.opened,...e.closed],n=new Set(await this._getInvalidPaths(t));for(let t of["opened","closed"])this._setRecents(e[t].filter(e=>!n.has(e.path)),t);this._recentsChanged.emit(void 0)}async _getInvalidPaths(e){return(await Promise.all(e.map(async e=>await this._isValid(e)?null:e.path))).filter(e=>"string"==typeof e)}async _save(){try{await this._stateDB.save(s.stateDBKey,this._recents)}catch(e){console.log("Saving recents failed",e)}}}!function(e){e.stateDBKey="docmanager:recents"}(s||(s={}))},41603(e,t,n){"use strict";n(82311),n(97777),n(62971),n(22595),n(45350)},70755(e,t,n){"use strict";n.r(t),n.d(t,{ABCWidgetFactory:()=>_,Base64ModelFactory:()=>v,Context:()=>m,DocumentModel:()=>f,DocumentRegistry:()=>I,DocumentWidget:()=>E,MimeContent:()=>j,MimeDocument:()=>x,MimeDocumentFactory:()=>B,TextModelFactory:()=>b,createReadonlyLabel:()=>C,getAvailableKernelFileTypes:()=>k});var i,o,r,s=n(97518),a=n(28951),l=n(31031),d=n(2786),c=n(55187),h=n(63995),u=n(20659),p=n(64001);class m{constructor(e){var t,n;this._isReady=!1,this._isDisposed=!1,this._isPopulated=!1,this._path="",this._lineEnding=null,this._contentsModel=null,this._populatedPromise=new c.PromiseDelegate,this._pathChanged=new u.Signal(this),this._fileChanged=new u.Signal(this),this._saveState=new u.Signal(this),this._disposed=new u.Signal(this),this._lastModifiedCheckMargin=500,this._conflictModalIsOpen=!1;const o=this._manager=e.manager;this.translator=e.translator||d.nullTranslator,this._contentProviderId=e.contentProviderId,this._trans=this.translator.load("jupyterlab"),this._factory=e.factory,this._dialogs=null!=(t=e.sessionDialogs)?t:new s.SessionContextDialogs({translator:e.translator}),this._opener=e.opener||i.noOp,this._path=this._manager.contents.normalize(e.path),this._lastModifiedCheckMargin=e.lastModifiedCheckMargin||500;const r=this._manager.contents.localPath(this._path),h=this._factory.preferredLanguage(a.PathExt.basename(r)),p=this._manager.contents.getSharedModelFactory(this._path,{contentProviderId:e.contentProviderId}),m=null==p?void 0:p.createNew({path:this._path,format:this._factory.fileFormat,contentType:this._factory.contentType,collaborative:this._factory.collaborative});this._model=this._factory.createNew({languagePreference:h,sharedModel:m,collaborationEnabled:null!=(n=null==p?void 0:p.collaborative)&&n}),this._readyPromise=o.ready.then(()=>this._populatedPromise.promise);const g=a.PathExt.extname(this._path);this.sessionContext=new s.SessionContext({kernelManager:o.kernels,sessionManager:o.sessions,specsManager:o.kernelspecs,path:this._path,type:".ipynb"===g?"notebook":"file",name:a.PathExt.basename(r),kernelPreference:e.kernelPreference||{shouldStart:!1},setBusy:e.setBusy}),this.sessionContext.propertyChanged.connect(this._onSessionChanged,this),o.contents.fileChanged.connect(this._onFileChanged,this);const A=e.urlResolverFactory?e.urlResolverFactory:{createResolver:e=>new l.RenderMimeRegistry.UrlResolver(e)};this._urlResolver=A.createResolver({path:this._path,contents:o.contents,getKernelId:()=>{var e,t;return null==(t=null==(e=this.sessionContext.session)?void 0:e.kernel)?void 0:t.id}})}get pathChanged(){return this._pathChanged}get fileChanged(){return this._fileChanged}get saveState(){return this._saveState}get disposed(){return this._disposed}get lastModifiedCheckMargin(){return this._lastModifiedCheckMargin}set lastModifiedCheckMargin(e){this._lastModifiedCheckMargin=e}get model(){return this._model}get path(){return this._path}get localPath(){return this._manager.contents.localPath(this._path)}get contentsModel(){return this._contentsModel?{...this._contentsModel}:null}get factoryName(){return this.isDisposed?"":this._factory.name}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this.sessionContext.dispose(),this._model.dispose(),this._model.sharedModel.dispose(),this._disposed.emit(void 0),u.Signal.clearData(this))}get isReady(){return this._isReady}get ready(){return this._readyPromise}get canSave(){var e;return!!((null==(e=this._contentsModel)?void 0:e.writable)&&!this._model.collaborative)}get urlResolver(){return this._urlResolver}async initialize(e){e?await this._save():await this._revert(),this.model.sharedModel.clearUndoHistory()}rename(e){return this.ready.then(()=>this._manager.ready.then(()=>this._rename(e)))}async save(){await this.ready,await this._save()}async saveAs(){await this.ready;let e=this._manager.contents.localPath(this.path),t=await i.getSavePath(e);if(this.isDisposed||!t)return!1;let n=this._manager.contents.driveName(this.path),o=""==n?t:`${n}:${t}`;if(o===this._path)return await this.save(),!0;try{await this._manager.ready,await this._manager.contents.get(o,{contentProviderId:this._contentProviderId,content:!1}),await this._maybeOverWrite(o)}catch(e){if(!e.response||404!==e.response.status){if(!e.response)return!1;throw e}}return await this._finishSaveAs(o),!0}async download(){let e=await this._manager.contents.getDownloadUrl(this._path),t=document.createElement("a");t.href=e,t.download="",document.body.appendChild(t),t.click(),document.body.removeChild(t)}async revert(){await this.ready,await this._revert()}createCheckpoint(){let e=this._manager.contents;return this._manager.ready.then(()=>e.createCheckpoint(this._path))}deleteCheckpoint(e){let t=this._manager.contents;return this._manager.ready.then(()=>t.deleteCheckpoint(this._path,e))}restoreCheckpoint(e){let t=this._manager.contents,n=this._path;return this._manager.ready.then(()=>e?t.restoreCheckpoint(n,e):this.listCheckpoints().then(i=>{if(!this.isDisposed&&i.length)return e=i[i.length-1].id,t.restoreCheckpoint(n,e)}))}listCheckpoints(){let e=this._manager.contents;return this._manager.ready.then(()=>e.listCheckpoints(this._path))}addSibling(e,t={}){let n=this._opener;return n&&n(e,t),new h.DisposableDelegate(()=>{e.close()})}_onFileChanged(e,t){var n,i,o;if("save"===t.type&&this._model.collaborative){if((null==(n=this._contentsModel)?void 0:n.path)!==(null==(i=t.newValue)?void 0:i.path))return;this._updateContentsModel({...this._contentsModel,...t.newValue});return}if("rename"!==t.type)return;let r=t.oldValue&&t.oldValue.path,s=t.newValue&&t.newValue.path;if(s&&0===this._path.indexOf(r||"")){let e=t.newValue;r!==this._path&&(s=this._path.replace(RegExp(`^${r}/`),`${s}/`),e={last_modified:null==(o=t.newValue)?void 0:o.created,path:s}),this._updateContentsModel({...this._contentsModel,...e}),this._updatePath(s)}}_onSessionChanged(e,t){if("path"!==t)return;let n=this._manager.contents.driveName(this.path),i=this._manager.contents.localPath(this.sessionContext.session.path);n&&(i=`${n}:${i}`),this._updatePath(i)}_updateContentsModel(e){var t,n,i,o;let r={path:e.path,name:e.name,type:e.type,writable:e.writable,created:e.created,last_modified:e.last_modified,mimetype:e.mimetype,format:e.format,hash:e.hash,hash_algorithm:e.hash_algorithm},s=null!=(n=null==(t=this._contentsModel)?void 0:t.last_modified)?n:null,a=null!=(o=null==(i=this._contentsModel)?void 0:i.hash)?o:null;this._contentsModel=r,(s||a)&&(a||r.last_modified===s)&&(!a||r.hash===a)||this._fileChanged.emit(r)}_updatePath(e){var t,n,i,o;if(this._path===e)return;this._path=e;let r=this._manager.contents.localPath(e),s=a.PathExt.basename(r);if((null==(t=this.sessionContext.session)?void 0:t.path)!==e&&(null==(n=this.sessionContext.session)||n.setPath(e)),(null==(i=this.sessionContext.session)?void 0:i.name)!==s&&(null==(o=this.sessionContext.session)||o.setName(s)),this._urlResolver.path!==e&&(this._urlResolver.path=e),this._contentsModel&&(this._contentsModel.path!==e||this._contentsModel.name!==s)){let t={...this._contentsModel,name:s,path:e};this._updateContentsModel(t)}this._pathChanged.emit(e)}async _populate(){if(this._isPopulated=!0,this._isReady=!0,this._populatedPromise.resolve(void 0),await this._maybeCheckpoint(!1),this.isDisposed)return;let e=this._model.defaultKernelName||this.sessionContext.kernelPreference.name;this.sessionContext.kernelPreference={...this.sessionContext.kernelPreference,name:e,language:this._model.defaultKernelLanguage},this.sessionContext.initialize().then(e=>{e&&this._dialogs.selectKernel(this.sessionContext)})}async _rename(e){let t=this.localPath.split("/");t[t.length-1]=e;let n=a.PathExt.join(...t),i=this._manager.contents.driveName(this.path);i&&(n=`${i}:${n}`),await this._manager.contents.rename(this.path,n)}async _save(){this._saveState.emit("started");let e=this._createSaveOptions();try{await this._manager.ready;let t=await this._maybeSave(e);if(this.isDisposed)return;this._model.dirty=!1,this._updateContentsModel(t),this._isPopulated||await this._populate(),this._saveState.emit("completed")}catch(i){let{name:e}=i;if("ModalCancelError"===e||"ModalDuplicateError"===e)throw i;let t=this._manager.contents.localPath(this._path),n=a.PathExt.basename(t);throw this._handleError(i,this._trans.__("File Save Error for %1",n)),this._saveState.emit("failed"),i}}_revert(e=!1){let t={type:this._factory.contentType,content:null!==this._factory.fileFormat,hash:null!==this._factory.fileFormat,...null!==this._factory.fileFormat?{format:this._factory.fileFormat}:{},contentProviderId:this._contentProviderId},n=this._path,i=this._model;return this._manager.ready.then(()=>this._manager.contents.get(n,t)).then(e=>{if(!this.isDisposed){if(e.content)if("json"===e.format)i.fromJSON(e.content);else{let t=e.content;-1!==t.indexOf("\r\n")?(this._lineEnding="\r\n",t=t.replace(/\r\n/g,"\n")):-1!==t.indexOf("\r")?(this._lineEnding="\r",t=t.replace(/\r/g,"\n")):this._lineEnding=null,i.fromString(t)}if(this._updateContentsModel(e),!this._isPopulated)return this._populate()}}).catch(async e=>{let t=this._manager.contents.localPath(this._path),n=a.PathExt.basename(t);throw this._handleError(e,this._trans.__("File Load Error for %1",n)),e})}_maybeSave(e){let t=this._path;return this._manager.contents.get(t,{content:!1,hash:!0,contentProviderId:this._contentProviderId}).then(n=>{var i,o,r,s;if(this.isDisposed)return Promise.reject(Error("Disposed"));let a=(null==(i=this.contentsModel)?void 0:i.hash)!==void 0&&(null==(o=this.contentsModel)?void 0:o.hash)!==null&&void 0!==n.hash&&null!==n.hash,l=null==(r=this.contentsModel)?void 0:r.hash,d=n.hash;if(a&&l!==d)return console.warn(`Different hash found for ${this.path}`),this._raiseConflict(n,e);let c=this._lastModifiedCheckMargin,h=null==(s=this.contentsModel)?void 0:s.last_modified,u=h?new Date(h):new Date,p=new Date(n.last_modified);return!a&&h&&p.getTime()-u.getTime()>c?(console.warn(`Last saving performed ${u} while the current file seems to have been saved ${p}`),this._raiseConflict(n,e)):this._manager.contents.save(t,{...e,contentProviderId:this._contentProviderId}).then(async e=>{let n=await this._manager.contents.get(t,{content:!1,hash:!0,contentProviderId:this._contentProviderId});return{...e,hash:n.hash,hash_algorithm:n.hash_algorithm}})},n=>{if(n.response&&404===n.response.status)return this._manager.contents.save(t,e).then(async e=>{let n=await this._manager.contents.get(t,{content:!1,hash:!0,contentProviderId:this._contentProviderId});return{...e,hash:n.hash,hash_algorithm:n.hash_algorithm}});throw n})}async _handleError(e,t){await (0,s.showErrorMessage)(t,e)}_maybeCheckpoint(e){let t=Promise.resolve(void 0);return this.canSave?(t=e?this.createCheckpoint().then():this.listCheckpoints().then(e=>{if(!this.isDisposed&&!e.length&&this.canSave)return this.createCheckpoint().then()})).catch(e=>{if(!e.response||403!==e.response.status)throw e}):t}_raiseConflict(e,t){if(this._conflictModalIsOpen){let e=Error("Modal is already displayed");return e.name="ModalDuplicateError",Promise.reject(e)}let n=this._trans.__(`"%1" has changed on disk since the last time it was opened or saved.
Do you want to overwrite the file on disk with the version open here,
or load the version on disk (revert)?`,this.path),i=s.Dialog.okButton({label:this._trans.__("Revert"),actions:["revert"]}),o=s.Dialog.warnButton({label:this._trans.__("Overwrite"),actions:["overwrite"]});return this._conflictModalIsOpen=!0,(0,s.showDialog)({title:this._trans.__("File Changed"),body:n,buttons:[s.Dialog.cancelButton(),i,o]}).then(n=>{if(this._conflictModalIsOpen=!1,this.isDisposed)return Promise.reject(Error("Disposed"));if(n.button.actions.includes("overwrite"))return this._manager.contents.save(this._path,{...t,contentProviderId:this._contentProviderId});if(n.button.actions.includes("revert"))return this.revert().then(()=>e);let i=Error("Cancel");return i.name="ModalCancelError",Promise.reject(i)})}_maybeOverWrite(e){let t=this._trans.__('"%1" already exists. Do you want to replace it?',e),n=s.Dialog.warnButton({label:this._trans.__("Overwrite"),accept:!0});return(0,s.showDialog)({title:this._trans.__("File Overwrite?"),body:t,buttons:[s.Dialog.cancelButton(),n]}).then(t=>this.isDisposed?Promise.reject(Error("Disposed")):t.button.accept?this._manager.contents.delete(e).then(()=>this._finishSaveAs(e)):Promise.reject(Error("Cancelled")))}async _finishSaveAs(e){this._saveState.emit("started");try{await this._manager.ready;let t=this._createSaveOptions();await this._manager.contents.save(e,t),await this._maybeCheckpoint(!0),this._saveState.emit("completed")}catch(n){if("Cancel"===n.message||"Modal is already displayed"===n.message)throw n;let e=this._manager.contents.localPath(this._path),t=a.PathExt.basename(e);this._handleError(n,this._trans.__("File Save Error for %1",t)),this._saveState.emit("failed");return}}_createSaveOptions(){let e;return"json"===this._factory.fileFormat?e=this._model.toJSON():(e=this._model.toString(),this._lineEnding&&(e=e.replace(/\n/g,this._lineEnding))),{type:this._factory.contentType,format:this._factory.fileFormat,content:e}}}!function(e){e.getSavePath=function(e,n){let i=(n=n||d.nullTranslator).load("jupyterlab"),o=s.Dialog.okButton({label:i.__("Save"),accept:!0});return(0,s.showDialog)({title:i.__("Save File As…"),body:new t(e),buttons:[s.Dialog.cancelButton(),o]}).then(e=>{var t;if(e.button.accept)return null!=(t=e.value)?t:void 0})},e.noOp=function(){};class t extends p.Widget{constructor(e){super({node:n(e)})}getValue(){return this.node.value}}function n(e){let t=document.createElement("input");return t.value=e,t}}(i||(i={}));var g=n(78071),A=n(60721);function C(e,t){var n;let i=(null!=t?t:d.nullTranslator).load("jupyterlab");return s.ReactWidget.create(A.createElement("div",null,A.createElement("span",{className:"jp-ToolbarLabelComponent",title:i.__('Document is read-only. "Save" is disabled; use "Save as…" instead')},i.__("%1 is read-only",null==(n=e.context.contentsModel)?void 0:n.type))))}class f extends g.CodeEditor.Model{constructor(e={}){var t;super({sharedModel:e.sharedModel}),this._defaultLang="",this._readOnly=!1,this._contentChanged=new u.Signal(this),this._stateChanged=new u.Signal(this),this._defaultLang=null!=(t=e.languagePreference)?t:"",this._collaborationEnabled=!!e.collaborationEnabled,this.sharedModel.changed.connect(this._onStateChanged,this)}get contentChanged(){return this._contentChanged}get stateChanged(){return this._stateChanged}get dirty(){return this.sharedModel.dirty}set dirty(e){e!==this.dirty&&(this.sharedModel.dirty=e)}get readOnly(){return this._readOnly}set readOnly(e){if(e===this._readOnly)return;let t=this._readOnly;this._readOnly=e,this.triggerStateChange({name:"readOnly",oldValue:t,newValue:e})}get defaultKernelName(){return""}get defaultKernelLanguage(){return this._defaultLang}get collaborative(){return this._collaborationEnabled}toString(){return this.sharedModel.getSource()}fromString(e){this.sharedModel.setSource(e)}toJSON(){return JSON.parse(this.sharedModel.getSource()||"null")}fromJSON(e){this.fromString(JSON.stringify(e))}initialize(){}triggerStateChange(e){this._stateChanged.emit(e)}triggerContentChange(){this._contentChanged.emit(void 0)}_onStateChanged(e,t){t.sourceChange&&this.triggerContentChange(),t.stateChange&&t.stateChange.forEach(e=>{e.oldValue!==e.newValue&&this.triggerStateChange({newValue:void 0,oldValue:void 0,...e})})}}class b{constructor(e){this._isDisposed=!1,this._collaborative=null==e||e}get name(){return"text"}get contentType(){return"file"}get fileFormat(){return"text"}get collaborative(){return this._collaborative}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed=!0}createNew(e={}){let t=e.collaborationEnabled&&this.collaborative;return new f({...e,collaborationEnabled:t})}preferredLanguage(e){return""}}class v extends b{get name(){return"base64"}get contentType(){return"file"}get fileFormat(){return"base64"}}class _{constructor(e){this._isDisposed=!1,this._widgetCreated=new u.Signal(this),this._translator=e.translator||d.nullTranslator,this._name=e.name,this._label=e.label||e.name,this._readOnly=void 0!==e.readOnly&&e.readOnly,this._defaultFor=e.defaultFor?e.defaultFor.slice():[],this._defaultRendered=(e.defaultRendered||[]).slice(),this._fileTypes=e.fileTypes.slice(),this._modelName=e.modelName||"text",this._preferKernel=!!e.preferKernel,this._canStartKernel=!!e.canStartKernel,this._shutdownOnClose=!!e.shutdownOnClose,this._autoStartDefault=!!e.autoStartDefault,this._toolbarFactory=e.toolbarFactory,this._contentProviderId=e.contentProviderId}get widgetCreated(){return this._widgetCreated}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,u.Signal.clearData(this))}get readOnly(){return this._readOnly}get name(){return this._name}get label(){return this._label}get fileTypes(){return this._fileTypes.slice()}get modelName(){return this._modelName}get defaultFor(){return this._defaultFor.slice()}get defaultRendered(){return this._defaultRendered.slice()}get preferKernel(){return this._preferKernel}get canStartKernel(){return this._canStartKernel}get translator(){return this._translator}get shutdownOnClose(){return this._shutdownOnClose}set shutdownOnClose(e){this._shutdownOnClose=e}get autoStartDefault(){return this._autoStartDefault}set autoStartDefault(e){this._autoStartDefault=e}createNew(e,t){var n;let i=this.createNewWidget(e,t);return(0,s.setToolbar)(i,null!=(n=this._toolbarFactory)?n:this.defaultToolbarFactory.bind(this)),this._widgetCreated.emit(i),i}get contentProviderId(){return this._contentProviderId}set contentProviderId(e){if(this._contentProviderId&&e!==this._contentProviderId)throw Error(`Cannot change content provider on factory with an existing provider: ${this._contentProviderId}`);this._contentProviderId=e}defaultToolbarFactory(e){return[]}}let y="jp-mod-dirty";class E extends s.MainAreaWidget{constructor(e){var t;e.reveal=Promise.all([e.reveal,e.context.ready]),super(e),this._trans=(null!=(t=e.translator)?t:d.nullTranslator).load("jupyterlab"),this.context=e.context,this.context.pathChanged.connect(this._onPathChanged,this),this._onPathChanged(this.context,this.context.path),this.context.model.stateChanged.connect(this._onModelStateChanged,this),this.context.ready.then(()=>{this._handleDirtyState(),this._handleReadOnlyState()}),this.title.changed.connect(this._onTitleChanged,this)}setFragment(e){}async _onTitleChanged(e){let t=/[/\\:]/,n=this.title.label,i=this.context.localPath.split("/").pop()||this.context.localPath;if(n!==i){if(n.length>0&&!t.test(n)){let e=this.context.path;if(await this.context.rename(n),this.context.path!==e)return}this.title.label=i}}_onPathChanged(e,t){let n=a.PathExt.basename(e.localPath);n!==this.title.label&&(this.isUntitled=!1),this.title.label=n}_onModelStateChanged(e,t){"dirty"===t.name&&this._handleDirtyState()}_handleDirtyState(){this.context.model.dirty?this.title.className.includes(y)||(this.title.className+=` ${y}`):this.title.className=this.title.className.replace(y,"")}_handleReadOnlyState(){var e;if((null==(e=this.context.contentsModel)?void 0:e.writable)===!1){let e=C(this);this.toolbar.insertBefore("kernelName","read-only-indicator",e)||this.toolbar.addItem("read-only-indicator",e)}}}var w=n(93771);class j extends p.Widget{constructor(e){super(),this._changeCallback=e=>{if(!e.data||!e.data[this.mimeType])return;let t=e.data[this.mimeType];"string"==typeof t?t!==this._context.model.toString()&&this._context.model.fromString(t):null==t||c.JSONExt.deepEqual(t,this._context.model.toJSON())||this._context.model.fromJSON(t)},this._fragment="",this._ready=new c.PromiseDelegate,this._isRendering=!1,this._renderRequested=!1,this.addClass("jp-MimeDocument"),this.translator=e.translator||d.nullTranslator,this._trans=this.translator.load("jupyterlab"),this.mimeType=e.mimeType,this._dataType=e.dataType||"string",this._context=e.context,this.renderer=e.renderer,(this.layout=new p.StackedLayout).addWidget(this.renderer),this._context.ready.then(()=>this._render()).then(()=>{this.node===document.activeElement&&w.MessageLoop.sendMessage(this.renderer,p.Widget.Msg.ActivateRequest),this._monitor=new a.ActivityMonitor({signal:this._context.model.contentChanged,timeout:e.renderTimeout}),this._monitor.activityStopped.connect(this.update,this),this._ready.resolve(void 0)}).catch(e=>{requestAnimationFrame(()=>{this.dispose()}),(0,s.showErrorMessage)(this._trans.__("Renderer Failure: %1",this._context.path),e)})}[s.Printing.symbol](){return s.Printing.getPrintFunction(this.renderer)}get ready(){return this._ready.promise}setFragment(e){this._fragment=e,this.update()}dispose(){this.isDisposed||(this._monitor&&this._monitor.dispose(),this._monitor=null,super.dispose())}onUpdateRequest(e){this._context.isReady&&(this._render(),this._fragment="")}async _render(){if(this.isDisposed)return;if(this._isRendering){this._renderRequested=!0;return}this._renderRequested=!1;let e=this._context,t=e.model,n={};"string"===this._dataType?n[this.mimeType]=t.toString():n[this.mimeType]=t.toJSON();let i=new l.MimeModel({data:n,callback:this._changeCallback,metadata:{fragment:this._fragment}});try{if(this._isRendering=!0,await this.renderer.renderModel(i),this._isRendering=!1,this._renderRequested)return this._render()}catch(t){requestAnimationFrame(()=>{this.dispose()}),(0,s.showErrorMessage)(this._trans.__("Renderer Failure: %1",e.path),t)}}}class x extends E{setFragment(e){this.content.setFragment(e)}}class B extends _{constructor(e){super(o.createRegistryOptions(e)),this._rendermime=e.rendermime,this._renderTimeout=e.renderTimeout||1e3,this._dataType=e.dataType||"string",this._fileType=e.primaryFileType,this._factory=e.factory}createNewWidget(e){var t,n;let i,o=this._fileType,r=(null==o?void 0:o.mimeTypes.length)?o.mimeTypes[0]:g.IEditorMimeTypeService.defaultMimeType,s=this._rendermime.clone({resolver:e.urlResolver}),a=new j({context:e,renderer:i=this._factory&&this._factory.mimeTypes.includes(r)?this._factory.createRenderer({mimeType:r,resolver:s.resolver,sanitizer:s.sanitizer,linkHandler:s.linkHandler,latexTypesetter:s.latexTypesetter,markdownParser:s.markdownParser}):s.createRenderer(r),mimeType:r,renderTimeout:this._renderTimeout,dataType:this._dataType});return a.title.icon=null==o?void 0:o.icon,a.title.iconClass=null!=(t=null==o?void 0:o.iconClass)?t:"",a.title.iconLabel=null!=(n=null==o?void 0:o.iconLabel)?n:"",new x({content:a,context:e})}}!function(e){e.createRegistryOptions=function(e){return{...e,readOnly:!0}}}(o||(o={}));var S=n(8989),M=n(65819);class I{constructor(e={}){this._modelFactories=Object.create(null),this._widgetFactories=Object.create(null),this._defaultWidgetFactory="",this._defaultWidgetFactoryOverrides=Object.create(null),this._defaultWidgetFactories=Object.create(null),this._defaultRenderedWidgetFactories=Object.create(null),this._widgetFactoriesForFileType=Object.create(null),this._fileTypes=[],this._extenders=Object.create(null),this._changed=new u.Signal(this),this._isDisposed=!1;const t=e.textModelFactory;if(this.translator=e.translator||d.nullTranslator,t&&"text"!==t.name)throw Error("Text model factory must have the name `text`");this._modelFactories.text=t||new b(!0),(e.initialFileTypes||I.getDefaultFileTypes(this.translator)).forEach(e=>{let t={...I.getFileTypeDefaults(this.translator),...e};this._fileTypes.push(t)})}get changed(){return this._changed}get isDisposed(){return this._isDisposed}dispose(){if(!this.isDisposed){for(let e in this._isDisposed=!0,this._modelFactories)this._modelFactories[e].dispose();for(let e in this._widgetFactories)this._widgetFactories[e].dispose();for(let e in this._extenders)this._extenders[e].length=0;this._fileTypes.length=0,u.Signal.clearData(this)}}addWidgetFactory(e){let t=e.name.toLowerCase();if(!t||"default"===t)throw Error("Invalid factory name");if(this._widgetFactories[t])return console.warn(`Duplicate registered factory ${t}`),new h.DisposableDelegate(r.noOp);for(let n of(this._widgetFactories[t]=e,e.defaultFor||[]))-1!==e.fileTypes.indexOf(n)&&("*"===n?this._defaultWidgetFactory=t:this._defaultWidgetFactories[n]=t);for(let n of e.defaultRendered||[])-1!==e.fileTypes.indexOf(n)&&(this._defaultRenderedWidgetFactories[n]=t);for(let n of e.fileTypes)this._widgetFactoriesForFileType[n]||(this._widgetFactoriesForFileType[n]=[]),this._widgetFactoriesForFileType[n].push(t);return this._changed.emit({type:"widgetFactory",name:t,change:"added"}),new h.DisposableDelegate(()=>{for(let e of(delete this._widgetFactories[t],this._defaultWidgetFactory===t&&(this._defaultWidgetFactory=""),Object.keys(this._defaultWidgetFactories)))this._defaultWidgetFactories[e]===t&&delete this._defaultWidgetFactories[e];for(let e of Object.keys(this._defaultRenderedWidgetFactories))this._defaultRenderedWidgetFactories[e]===t&&delete this._defaultRenderedWidgetFactories[e];for(let e of Object.keys(this._widgetFactoriesForFileType))M.ArrayExt.removeFirstOf(this._widgetFactoriesForFileType[e],t),0===this._widgetFactoriesForFileType[e].length&&delete this._widgetFactoriesForFileType[e];for(let e of Object.keys(this._defaultWidgetFactoryOverrides))this._defaultWidgetFactoryOverrides[e]===t&&delete this._defaultWidgetFactoryOverrides[e];this._changed.emit({type:"widgetFactory",name:t,change:"removed"})})}addModelFactory(e){let t=e.name.toLowerCase();return this._modelFactories[t]?(console.warn(`Duplicate registered factory ${t}`),new h.DisposableDelegate(r.noOp)):(this._modelFactories[t]=e,this._changed.emit({type:"modelFactory",name:t,change:"added"}),new h.DisposableDelegate(()=>{delete this._modelFactories[t],this._changed.emit({type:"modelFactory",name:t,change:"removed"})}))}addWidgetExtension(e,t){(e=e.toLowerCase())in this._extenders||(this._extenders[e]=[]);let n=this._extenders[e];return -1!==M.ArrayExt.firstIndexOf(n,t)?(console.warn(`Duplicate registered extension for ${e}`),new h.DisposableDelegate(r.noOp)):(this._extenders[e].push(t),this._changed.emit({type:"widgetExtension",name:e,change:"added"}),new h.DisposableDelegate(()=>{M.ArrayExt.removeFirstOf(this._extenders[e],t),this._changed.emit({type:"widgetExtension",name:e,change:"removed"})}))}addFileType(e,t){let n={...I.getFileTypeDefaults(this.translator),...e,...!(e.icon||e.iconClass)&&{icon:S.fileIcon}};if(this._fileTypes.push(n),t){let e=n.name.toLowerCase();t.map(e=>e.toLowerCase()).forEach(t=>{this._widgetFactoriesForFileType[e]||(this._widgetFactoriesForFileType[e]=[]),this._widgetFactoriesForFileType[e].includes(t)||this._widgetFactoriesForFileType[e].push(t)}),this._defaultWidgetFactories[e]||(this._defaultWidgetFactories[e]=this._widgetFactoriesForFileType[e][0])}return this._changed.emit({type:"fileType",name:n.name,change:"added"}),new h.DisposableDelegate(()=>{if(M.ArrayExt.removeFirstOf(this._fileTypes,n),t){let e=n.name.toLowerCase();for(let n of t.map(e=>e.toLowerCase()))M.ArrayExt.removeFirstOf(this._widgetFactoriesForFileType[e],n);this._defaultWidgetFactories[e]===t[0].toLowerCase()&&delete this._defaultWidgetFactories[e]}this._changed.emit({type:"fileType",name:e.name,change:"removed"})})}preferredWidgetFactories(e){let t=new Set,n=this.getFileTypesForPath(a.PathExt.basename(e));for(let e of(n.forEach(e=>{e.name in this._defaultWidgetFactoryOverrides&&t.add(this._defaultWidgetFactoryOverrides[e.name])}),n.forEach(e=>{e.name in this._defaultWidgetFactories&&t.add(this._defaultWidgetFactories[e.name])}),n.forEach(e=>{e.name in this._defaultRenderedWidgetFactories&&t.add(this._defaultRenderedWidgetFactories[e.name])}),this._defaultWidgetFactory&&t.add(this._defaultWidgetFactory),n))if(e.name in this._widgetFactoriesForFileType)for(let n of this._widgetFactoriesForFileType[e.name])t.add(n);if("*"in this._widgetFactoriesForFileType)for(let e of this._widgetFactoriesForFileType["*"])t.add(e);let i=[];for(let e of t){let t=this._widgetFactories[e];t&&(t.modelName||"text")in this._modelFactories&&i.push(t)}return i}defaultRenderedWidgetFactory(e){let t=this.getFileTypesForPath(a.PathExt.basename(e)).map(e=>e.name);for(let e in t)if(e in this._defaultWidgetFactoryOverrides)return this._widgetFactories[this._defaultWidgetFactoryOverrides[e]];for(let e in t)if(e in this._defaultRenderedWidgetFactories)return this._widgetFactories[this._defaultRenderedWidgetFactories[e]];return this.defaultWidgetFactory(e)}defaultWidgetFactory(e){return e?this.preferredWidgetFactories(e)[0]:this._widgetFactories[this._defaultWidgetFactory]}setDefaultWidgetFactory(e,t){if(e=e.toLowerCase(),!this.getFileType(e))throw Error(`Cannot find file type ${e}`);if(!t){this._defaultWidgetFactoryOverrides[e]&&delete this._defaultWidgetFactoryOverrides[e];return}if(!this.getWidgetFactory(t))throw Error(`Cannot find widget factory ${t}`);t=t.toLowerCase();let n=this._widgetFactoriesForFileType[e];if(t!==this._defaultWidgetFactory&&!(n&&n.includes(t)))throw Error(`Factory ${t} cannot view file type ${e}`);this._defaultWidgetFactoryOverrides[e]=t}*widgetFactories(){for(let e in this._widgetFactories)yield this._widgetFactories[e]}*modelFactories(){for(let e in this._modelFactories)yield this._modelFactories[e]}*widgetExtensions(e){if((e=e.toLowerCase())in this._extenders)for(let t of this._extenders[e])yield t}*fileTypes(){for(let e of this._fileTypes)yield e}getWidgetFactory(e){return this._widgetFactories[e.toLowerCase()]}getModelFactory(e){return this._modelFactories[e.toLowerCase()]}getFileType(e){return e=e.toLowerCase(),(0,M.find)(this._fileTypes,t=>t.name.toLowerCase()===e)}getKernelPreference(e,t,n){t=t.toLowerCase();let i=this._widgetFactories[t];if(!i)return;let o=this.getModelFactory(i.modelName||"text");if(!o)return;let r=o.preferredLanguage(a.PathExt.basename(e)),s=n&&n.name;return{id:n&&n.id,name:s,language:r,shouldStart:i.preferKernel,canStart:i.canStartKernel,shutdownOnDispose:i.shutdownOnClose,autoStartDefault:i.autoStartDefault}}getFileTypeForModel(e){let t=null;if(e.name||e.path){let n=e.name||a.PathExt.basename(e.path),i=this._getFileTypesForPath(n,e.type);i.length>0&&(t=i[0])}switch(e.type){case"directory":if(null!==t&&"directory"===t.contentType)return t;return(0,M.find)(this._fileTypes,e=>"directory"===e.contentType)||I.getDefaultDirectoryFileType(this.translator);case"notebook":if(null!==t&&"notebook"===t.contentType)return t;return(0,M.find)(this._fileTypes,e=>"notebook"===e.contentType)||I.getDefaultNotebookFileType(this.translator);default:if(null!==t)return t;return this.getFileType("text")||I.getDefaultTextFileType(this.translator)}}getFileTypesForPath(e){return this._getFileTypesForPath(e)}_getFileTypesForPath(e,t){let n=[],i=a.PathExt.basename(e),o=(0,M.find)(this._fileTypes,e=>!!((!t||e.contentType==t)&&e.pattern&&null!==i.match(e.pattern)));o&&n.push(o);let s=r.extname(i);for(;s.length>1;){let e=this._fileTypes.filter(e=>(!t||e.contentType==t)&&e.extensions.map(e=>e.toLowerCase()).includes(s));n.push(...e),s="."+s.split(".").slice(2).join(".")}return n}}async function k(e){var t,n;let i=new Map([["python",[{name:"Python",extensions:[".py"],icon:"ui-components:python",displayName:"Python",mimeTypes:["text/plain"]}]],["julia",[{name:"Julia",extensions:[".jl"],icon:"ui-components:julia",displayName:"Julia",mimeTypes:["text/plain"]}]],["R",[{name:"R",extensions:[".r"],icon:"ui-components:r-kernel",displayName:"R",mimeTypes:["text/plain"]}]]]);await e.ready;let o=new Set,r=null!=(n=null==(t=e.specs)?void 0:t.kernelspecs)?n:{};return Object.keys(r).forEach(e=>{let t=r[e];if(t){let e=i.get(t.language);null==e||e.forEach(e=>o.add(e))}}),o}!function(e){function t(e){return{name:"default",displayName:(null==(e=e||d.nullTranslator)?void 0:e.load("jupyterlab")).__("default"),extensions:[],mimeTypes:[],contentType:"file",fileFormat:"text"}}function n(e){let n=null==(e=e||d.nullTranslator)?void 0:e.load("jupyterlab");return{...t(e),name:"text",displayName:n.__("Text"),mimeTypes:["text/plain"],extensions:[".txt"],icon:S.fileIcon}}function i(e){let n=null==(e=e||d.nullTranslator)?void 0:e.load("jupyterlab");return{...t(e),name:"notebook",displayName:n.__("Notebook"),mimeTypes:["application/x-ipynb+json"],extensions:[".ipynb"],contentType:"notebook",fileFormat:"json",icon:S.notebookIcon}}function o(e){let n=null==(e=e||d.nullTranslator)?void 0:e.load("jupyterlab");return{...t(e),name:"directory",displayName:n.__("Directory"),extensions:[],mimeTypes:["text/directory"],contentType:"directory",icon:S.folderIcon}}e.getFileTypeDefaults=t,e.getDefaultTextFileType=n,e.getDefaultNotebookFileType=i,e.getDefaultDirectoryFileType=o,e.getDefaultFileTypes=function(e){let t=null==(e=e||d.nullTranslator)?void 0:e.load("jupyterlab");return[n(e),i(e),o(e),{name:"markdown",displayName:t.__("Markdown File"),extensions:[".md"],mimeTypes:["text/markdown"],icon:S.markdownIcon},{name:"PDF",displayName:t.__("PDF File"),extensions:[".pdf"],mimeTypes:["application/pdf"],icon:S.pdfIcon},{name:"python",displayName:t.__("Python File"),extensions:[".py"],mimeTypes:["text/x-python"],icon:S.pythonIcon},{name:"json",displayName:t.__("JSON File"),extensions:[".json"],mimeTypes:["application/json"],icon:S.jsonIcon},{name:"jsonl",displayName:t.__("JSONLines File"),extensions:[".jsonl",".ndjson"],mimeTypes:["text/jsonl","application/jsonl","application/json-lines"],icon:S.jsonIcon},{name:"julia",displayName:t.__("Julia File"),extensions:[".jl"],mimeTypes:["text/x-julia"],icon:S.juliaIcon},{name:"csv",displayName:t.__("CSV File"),extensions:[".csv"],mimeTypes:["text/csv"],icon:S.spreadsheetIcon},{name:"tsv",displayName:t.__("TSV File"),extensions:[".tsv"],mimeTypes:["text/csv"],icon:S.spreadsheetIcon},{name:"r",displayName:t.__("R File"),mimeTypes:["text/x-rsrc"],extensions:[".R"],icon:S.rKernelIcon},{name:"yaml",displayName:t.__("YAML File"),mimeTypes:["text/x-yaml","text/yaml"],extensions:[".yaml",".yml"],icon:S.yamlIcon},{name:"svg",displayName:t.__("Image"),mimeTypes:["image/svg+xml"],extensions:[".svg"],icon:S.imageIcon,fileFormat:"base64"},{name:"tiff",displayName:t.__("Image"),mimeTypes:["image/tiff"],extensions:[".tif",".tiff"],icon:S.imageIcon,fileFormat:"base64"},{name:"jpeg",displayName:t.__("Image"),mimeTypes:["image/jpeg"],extensions:[".jpg",".jpeg"],icon:S.imageIcon,fileFormat:"base64"},{name:"gif",displayName:t.__("Image"),mimeTypes:["image/gif"],extensions:[".gif"],icon:S.imageIcon,fileFormat:"base64"},{name:"png",displayName:t.__("Image"),mimeTypes:["image/png"],extensions:[".png"],icon:S.imageIcon,fileFormat:"base64"},{name:"bmp",displayName:t.__("Image"),mimeTypes:["image/bmp"],extensions:[".bmp"],icon:S.imageIcon,fileFormat:"base64"},{name:"webp",displayName:t.__("Image"),mimeTypes:["image/webp"],extensions:[".webp"],icon:S.imageIcon,fileFormat:"base64"},{name:"aac",displayName:t.__("Audio"),extensions:[".aac"],mimeTypes:["audio/aac"],icon:S.audioIcon,fileFormat:"base64"},{name:"midi",displayName:t.__("Audio"),extensions:[".midi",".mid"],mimeTypes:["audio/midi","audio/x-midi"],icon:S.audioIcon,fileFormat:"base64"},{name:"mp3",displayName:t.__("Audio"),extensions:[".mp3"],mimeTypes:["audio/mpeg"],icon:S.audioIcon,fileFormat:"base64"},{name:"wav",displayName:t.__("Audio"),extensions:[".wav"],mimeTypes:["audio/wav","audio/x-wav"],icon:S.audioIcon,fileFormat:"base64"},{name:"ogg",displayName:t.__("Audio"),extensions:[".ogg"],mimeTypes:["audio/ogg"],icon:S.audioIcon,fileFormat:"base64"},{name:"m4a",displayName:t.__("Audio"),extensions:[".m4a"],mimeTypes:["audio/mp4"],icon:S.audioIcon,fileFormat:"base64"},{name:"flac",displayName:t.__("Audio"),extensions:[".flac"],mimeTypes:["audio/flac"],icon:S.audioIcon,fileFormat:"base64"},{name:"opus",displayName:t.__("Audio"),extensions:[".opus"],mimeTypes:["audio/opus"],icon:S.audioIcon,fileFormat:"base64"},{name:"mp4",displayName:t.__("Video"),extensions:[".mp4"],mimeTypes:["video/mp4"],fileFormat:"base64",icon:S.videoIcon},{name:"mpeg",displayName:t.__("Video"),extensions:[".mpeg"],mimeTypes:["video/mpeg"],fileFormat:"base64",icon:S.videoIcon},{name:"webm",displayName:t.__("Video"),extensions:[".webm"],mimeTypes:["video/webm"],fileFormat:"base64",icon:S.videoIcon},{name:"ogv",displayName:t.__("Video"),extensions:[".ogv",".ogg"],mimeTypes:["video/ogg"],fileFormat:"base64",icon:S.videoIcon},{name:"avi",displayName:t.__("Video"),extensions:[".avi"],mimeTypes:["video/x-msvideo"],fileFormat:"base64",icon:S.videoIcon},{name:"mov",displayName:t.__("Video"),extensions:[".mov"],mimeTypes:["video/quicktime"],fileFormat:"base64",icon:S.videoIcon},{name:"m4v",displayName:t.__("Video"),extensions:[".m4v"],mimeTypes:["video/mp4","video/x-m4v"],fileFormat:"base64",icon:S.videoIcon},{name:"3gp",displayName:t.__("Video"),extensions:[".3gp"],mimeTypes:["video/3gpp"],fileFormat:"base64",icon:S.videoIcon},{name:"mkv",displayName:t.__("Video"),extensions:[".mkv"],mimeTypes:["video/x-matroska"],fileFormat:"base64",icon:S.videoIcon}]}}(I||(I={})),function(e){e.extname=function(e){let t=a.PathExt.basename(e).split(".");return t.shift(),("."+t.join(".")).toLowerCase()},e.noOp=function(){}}(r||(r={}))},45350(e,t,n){"use strict";n(82311),n(97777),n(62971);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(60702),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},68201(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>A});var i,o=n(57941),r=n(97518),s=n(86149),a=n(46109),l=n(2786),d=n(64001);let c="jp-mod-searchable",h="jp-mod-search-active",u="--jp-documentsearch-content-header";!function(e){e.search="documentsearch:start",e.searchAndReplace="documentsearch:startWithReplace",e.findNext="documentsearch:highlightNext",e.findPrevious="documentsearch:highlightPrevious",e.end="documentsearch:end",e.toggleSearchInSelection="documentsearch:toggleSearchInSelection"}(i||(i={}));let p={id:"@jupyterlab/documentsearch-extension:labShellWidgetListener",description:"Active search on valid document",requires:[o.ILabShell,s.ISearchProviderRegistry],autoStart:!0,activate:(e,t,n)=>{let i=e=>{e&&(n.hasProvider(e)?e.addClass(c):e.removeClass(c))};n.changed.connect(()=>i(t.activeWidget)),t.activeChanged.connect((e,t)=>{let n=t.oldValue;n&&n.removeClass(c),i(t.newValue)})}};class m{constructor(e){this._commandRegistry=e,this._cache=this._buildCache(),this._commandRegistry.keyBindingChanged.connect(this._rebuildCache,this)}get next(){return this._cache.next}get previous(){return this._cache.previous}get toggleSearchInSelection(){return this._cache.toggleSearchInSelection}_rebuildCache(){this._cache=this._buildCache()}_buildCache(){let e=this._commandRegistry.keyBindings.find(e=>e.command===i.findNext);return{next:e,previous:this._commandRegistry.keyBindings.find(e=>e.command===i.findPrevious),toggleSearchInSelection:this._commandRegistry.keyBindings.find(e=>e.command===i.toggleSearchInSelection)}}dispose(){this._commandRegistry.keyBindingChanged.disconnect(this._rebuildCache,this)}}let g={id:"@jupyterlab/documentsearch-extension:plugin",description:"Provides the document search registry.",provides:s.ISearchProviderRegistry,requires:[l.ITranslator],optional:[r.ICommandPalette,a.ISettingRegistry],autoStart:!0,activate:(e,t,n,o)=>{var a;let l=t.load("jupyterlab"),c=500,p="never",A=new s.SearchProviderRegistry(t),C=new Map;if(o){let t=o.load(g.id),n=e=>{c=e.get("searchDebounceTime").composite,p=e.get("autoSearchInSelection").composite};Promise.all([t,e.restored]).then(([e])=>{n(e),e.changed.connect(e=>{n(e)})}).catch(e=>{console.error(e.message)})}let f=()=>{let t=e.shell.currentWidget;return!!t&&A.hasProvider(t)},b=n=>{if(!n)return;let o=n.id,a=C.get(o);if(!a){let r=A.getProvider(n);if(!r)return;let l=new s.SearchDocumentModel(r,c),d=new m(e.commands),u=new s.SearchDocumentView(l,t,d);C.set(o,u),[i.findNext,i.findPrevious,i.end,i.toggleSearchInSelection].forEach(t=>{e.commands.notifyCommandChanged(t)}),u.closed.connect(()=>{n.isDisposed||(n.activate(),n.removeClass(h))}),u.disposed.connect(()=>{n.isDisposed||(n.activate(),n.removeClass(h)),C.delete(o),[i.findNext,i.findPrevious,i.end,i.toggleSearchInSelection].forEach(t=>{e.commands.notifyCommandChanged(t)})}),n.disposed.connect(()=>{u.dispose(),l.dispose(),r.dispose(),d.dispose()}),a=u}return!a.isAttached&&(d.Widget.attach(a,n.node),n.addClass(h),n instanceof r.MainAreaWidget&&(n.contentHeader.node.style.setProperty("anchor-name",u),n.node.style.setProperty("anchor-scope",u),a.node.style.top=`anchor(${u} bottom)`),a.model.searchExpression&&a.model.refresh()),a};return e.commands.addCommand(i.search,{label:l.__("Find…"),isEnabled:f,describedBy:{args:{type:"object",properties:{searchText:{type:"string",description:l.__("The text to search for")}}}},execute:async t=>{let n=b(e.shell.currentWidget);if(n){let e=t.searchText;e?n.setSearchText(e):n.setSearchText(n.model.suggestedInitialQuery);let i=n.model.selectionState,o=!1;switch(p){case"multiple-selected":o="multiple"===i;break;case"any-selected":o="multiple"===i||"single"===i}o&&await n.model.setFilter("selection",!0),n.focusSearchInput()}}}),e.commands.addCommand(i.searchAndReplace,{label:l.__("Find and Replace…"),isEnabled:f,describedBy:{args:{type:"object",properties:{searchText:{type:"string",description:l.__("The text to search for")},replaceText:{type:"string",description:l.__("The text to replace with")}}}},execute:t=>{let n=b(e.shell.currentWidget);if(n){let e=t.searchText;e?n.setSearchText(e):n.setSearchText(n.model.suggestedInitialQuery);let i=t.replaceText;i&&n.setReplaceText(i),n.showReplace(),n.focusSearchInput()}}}),e.commands.addCommand(i.findNext,{label:l.__("Find Next"),isEnabled:()=>!!e.shell.currentWidget&&C.has(e.shell.currentWidget.id),describedBy:{args:{type:"object",properties:{}}},execute:async()=>{var t;let n=e.shell.currentWidget;n&&await (null==(t=C.get(n.id))?void 0:t.model.highlightNext())}}),e.commands.addCommand(i.findPrevious,{label:l.__("Find Previous"),isEnabled:()=>!!e.shell.currentWidget&&C.has(e.shell.currentWidget.id),describedBy:{args:{type:"object",properties:{}}},execute:async()=>{var t;let n=e.shell.currentWidget;n&&await (null==(t=C.get(n.id))?void 0:t.model.highlightPrevious())}}),e.commands.addCommand(i.end,{label:l.__("End Search"),isEnabled:()=>!!e.shell.currentWidget&&C.has(e.shell.currentWidget.id),describedBy:{args:{type:"object",properties:{}}},execute:async()=>{var t;let n=e.shell.currentWidget;n&&(null==(t=C.get(n.id))||t.close())}}),e.commands.addCommand(i.toggleSearchInSelection,{label:l.__("Search in Selection"),isEnabled:()=>!!e.shell.currentWidget&&C.has(e.shell.currentWidget.id)&&"selection"in C.get(e.shell.currentWidget.id).model.filtersDefinition,describedBy:{args:{type:"object",properties:{}}},execute:async()=>{var t;let n=e.shell.currentWidget;if(!n)return;let i=null==(t=C.get(n.id))?void 0:t.model;if(!i)return;let o=i.filters.selection;return i.setFilter("selection",!o)}}),null==(a=e.shell.currentChanged)||a.connect(()=>{Object.values(i).forEach(t=>{e.commands.notifyCommandChanged(t)})}),n&&[i.search,i.searchAndReplace,i.findNext,i.findPrevious,i.end,i.toggleSearchInSelection].forEach(e=>{n.addItem({command:e,category:l.__("Main Area")})}),A}},A=[g,p]},13067(e,t,n){"use strict";n(82311),n(62971),n(67474),n(5241)},12757(e,t,n){"use strict";n.r(t),n.d(t,{FOUND_CLASSES:()=>l,GenericSearchProvider:()=>h,HTMLSearchEngine:()=>c,ISearchProviderRegistry:()=>ei,SearchDocumentModel:()=>A,SearchDocumentView:()=>ee,SearchProvider:()=>s,SearchProviderRegistry:()=>en,TextSearchEngine:()=>p});var i,o=n(64001),r=n(20659);class s{constructor(e){this.widget=e,this._stateChanged=new r.Signal(this),this._filtersChanged=new r.Signal(this),this._disposed=!1}get stateChanged(){return this._stateChanged}get filtersChanged(){return this._filtersChanged}get currentMatchIndex(){return null}get isDisposed(){return this._disposed}get matchesCount(){return null}dispose(){this._disposed||(this._disposed=!0,r.Signal.clearData(this))}getInitialQuery(){return""}getFilters(){return{}}static preserveCase(e,t){return e.toUpperCase()===e?t.toUpperCase():e.toLowerCase()===e?t.toLowerCase():a(e)===e?a(t):t}}function a([e="",...t]){return e.toUpperCase()+""+t.join("").toLowerCase()}let l=["cm-string","cm-overlay","cm-searching"],d=["CodeMirror-selectedtext","jp-current-match"];class c{static search(e,t){if(!(t instanceof Node))return console.warn("Unable to search with HTMLSearchEngine the provided object.",t),Promise.resolve([]);e.global||(e=RegExp(e.source,e.flags+"g"));let n=[],i=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,{acceptNode:n=>{let i=n.parentElement;for(;i!==t;){if(i.nodeName in c.UNSUPPORTED_ELEMENTS)return NodeFilter.FILTER_REJECT;i=i.parentElement}return e.test(n.textContent)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),o=null;for(;null!==(o=i.nextNode());){e.lastIndex=0;let t=null;for(;null!==(t=e.exec(o.textContent));)n.push({text:t[0],position:t.index,node:o})}return Promise.resolve(n)}}c.UNSUPPORTED_ELEMENTS={BASE:!0,HEAD:!0,LINK:!0,META:!0,STYLE:!0,TITLE:!0,BODY:!0,AREA:!0,AUDIO:!0,IMG:!0,MAP:!0,TRACK:!0,VIDEO:!0,APPLET:!0,EMBED:!0,IFRAME:!0,NOEMBED:!0,OBJECT:!0,PARAM:!0,PICTURE:!0,SOURCE:!0,CANVAS:!0,NOSCRIPT:!0,SCRIPT:!0,svg:!0,SVG:!0};class h extends s{constructor(){super(...arguments),this.isReadOnly=!0,this._matches=[],this._mutationObserver=new MutationObserver(this._onWidgetChanged.bind(this)),this._markNodes=[]}static isApplicable(e){return e instanceof o.Widget}static createNew(e,t,n){return new h(e)}get currentMatchIndex(){return this._currentMatchIndex>=0?this._currentMatchIndex:null}get currentMatch(){var e;return null!=(e=this._matches[this._currentMatchIndex])?e:null}get matches(){return this._matches?this._matches.map(e=>Object.assign({},e)):this._matches}get matchesCount(){return this._matches.length}clearHighlight(){return this._currentMatchIndex>=0&&this._markNodes[this._currentMatchIndex].classList.remove(...d),this._currentMatchIndex=-1,Promise.resolve()}dispose(){this.isDisposed||(this.endQuery().catch(e=>{console.error("Failed to end search query.",e)}),super.dispose())}async highlightNext(e){var t;return null!=(t=this._highlightNext(!1,null==e||e))?t:void 0}async highlightPrevious(e){var t;return null!=(t=this._highlightNext(!0,null==e||e))?t:void 0}async replaceCurrentMatch(e,t){return Promise.resolve(!1)}async replaceAllMatches(e){return Promise.resolve(!1)}async startQuery(e,t={}){if(await this.endQuery(),this._query=e,null===e)return Promise.resolve();let n=await c.search(e,this.widget.node),i=0;for(;i<n.length;){let e=n[i].node,t=e.parentNode,o=[n[i]];for(;++i<n.length&&n[i].node===e;)o.unshift(n[i]);let r=o.map(n=>{let i=document.createElement("mark");i.classList.add(...l),i.textContent=n.text;let o=e.splitText(n.position);return o.textContent=o.textContent.slice(n.text.length),t.insertBefore(i,o),i});for(let e=r.length-1;e>=0;e--)this._markNodes.push(r[e])}this._mutationObserver.observe(this.widget.node,{attributes:!1,characterData:!0,childList:!0,subtree:!0}),this._matches=n}async endQuery(){this._mutationObserver.disconnect(),this._markNodes.forEach(e=>{let t=e.parentNode;t.replaceChild(document.createTextNode(e.textContent),e),t.normalize()}),this._markNodes=[],this._matches=[],this._currentMatchIndex=-1}_highlightNext(e,t){if(0===this._matches.length)return null;if(-1===this._currentMatchIndex?this._currentMatchIndex=e?this.matches.length-1:0:(this._markNodes[this._currentMatchIndex].classList.remove(...d),this._currentMatchIndex=e?this._currentMatchIndex-1:this._currentMatchIndex+1,t&&(this._currentMatchIndex<0||this._currentMatchIndex>=this._matches.length)&&(this._currentMatchIndex=(this._currentMatchIndex+this._matches.length)%this._matches.length)),!(this._currentMatchIndex>=0)||!(this._currentMatchIndex<this._matches.length))return this._currentMatchIndex=-1,null;{let t=this._markNodes[this._currentMatchIndex];return t.classList.add(...d),u(t)||t.scrollIntoView(e),t.focus(),this._matches[this._currentMatchIndex]}}async _onWidgetChanged(e,t){this._currentMatchIndex=-1,await this.startQuery(this._query),this._stateChanged.emit()}}function u(e){let t=e.getBoundingClientRect();return t.top>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.left>=0&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}let p={search(e,t){if("string"!=typeof t)try{t=JSON.stringify(t)}catch(e){return console.warn("Unable to search with TextSearchEngine non-JSON serializable object.",e,t),Promise.resolve([])}e.global||(e=RegExp(e.source,e.flags+"g"));let n=[],i=null;for(;null!==(i=e.exec(t));)n.push({text:i[0],position:i.index});return Promise.resolve(n)}};var m=n(8989),g=n(59807);class A extends m.VDomModel{constructor(e,t){if(super(),this.searchProvider=e,this._caseSensitive=!1,this._disposed=new r.Signal(this),this._parsingError="",this._preserveCase=!1,this._initialQuery="",this._filters={},this._replaceText="",this._searchActive=!1,this._searchExpression="",this._useRegex=!1,this._wholeWords=!1,this._filters={},this.searchProvider.getFilters){const e=this.searchProvider.getFilters();for(const t in e)this._filters[t]=e[t].default}e.stateChanged.connect(this._onProviderStateChanged,this),this._searchDebouncer=new g.Debouncer(()=>{this._updateSearch().catch(e=>{console.error("Failed to update search on document.",e)})},t)}get caseSensitive(){return this._caseSensitive}set caseSensitive(e){this._caseSensitive!==e&&(this._caseSensitive=e,this.stateChanged.emit(),this.refresh())}get currentIndex(){return this.searchProvider.currentMatchIndex}get disposed(){return this._disposed}get filters(){return this._filters}get filtersDefinition(){var e,t,n;return null!=(n=null==(t=(e=this.searchProvider).getFilters)?void 0:t.call(e))?n:{}}get filtersDefinitionChanged(){return this.searchProvider.filtersChanged||null}get initialQuery(){return this._initialQuery}set initialQuery(e){this._initialQuery=e}get suggestedInitialQuery(){return this.searchProvider.getInitialQuery()}get selectionState(){return this.searchProvider.getSelectionState?this.searchProvider.getSelectionState():void 0}get isReadOnly(){return this.searchProvider.isReadOnly}get replaceOptionsSupport(){return this.searchProvider.replaceOptionsSupport}get parsingError(){return this._parsingError}get preserveCase(){return this._preserveCase}set preserveCase(e){this._preserveCase!==e&&(this._preserveCase=e,this.stateChanged.emit(),this.refresh())}get replaceText(){return this._replaceText}set replaceText(e){this._replaceText!==e&&(this._replaceText=e,this.stateChanged.emit())}get searchExpression(){return this._searchExpression}set searchExpression(e){this._searchExpression!==e&&(this._searchExpression=e,this.stateChanged.emit(),this.refresh())}get totalMatches(){return this.searchProvider.matchesCount}get useRegex(){return this._useRegex}set useRegex(e){this._useRegex!==e&&(this._useRegex=e,this.stateChanged.emit(),this.refresh())}get wholeWords(){return this._wholeWords}set wholeWords(e){this._wholeWords!==e&&(this._wholeWords=e,this.stateChanged.emit(),this.refresh())}dispose(){this.isDisposed||(this._searchExpression&&this.endQuery().catch(e=>{console.error(`Failed to end query '${this._searchExpression}.`,e)}),this.searchProvider.stateChanged.disconnect(this._onProviderStateChanged,this),this._searchDebouncer.dispose(),super.dispose())}async endQuery(){this._searchActive=!1,await this.searchProvider.endQuery(),this.stateChanged.emit()}async highlightNext(){await this.searchProvider.highlightNext(),this.stateChanged.emit()}async highlightPrevious(){await this.searchProvider.highlightPrevious(),this.stateChanged.emit()}refresh(){this._searchDebouncer.invoke().catch(e=>{console.error("Failed to invoke search document debouncer.",e)})}async replaceAllMatches(){await this.searchProvider.replaceAllMatches(this._replaceText,{preserveCase:this.preserveCase,regularExpression:this.useRegex}),this.stateChanged.emit()}async replaceCurrentMatch(){await this.searchProvider.replaceCurrentMatch(this._replaceText,!0,{preserveCase:this.preserveCase,regularExpression:this.useRegex}),this.stateChanged.emit()}async setFilter(e,t){this._filters[e]!==t&&(this.searchProvider.validateFilter?(this._filters[e]=await this.searchProvider.validateFilter(e,t),this._filters[e]===t&&(this.stateChanged.emit(),this.refresh())):(this._filters[e]=t,this.stateChanged.emit(),this.refresh()))}async _updateSearch(){this._parsingError&&(this._parsingError="",this.stateChanged.emit());try{let e=this.searchExpression?i.parseQuery(this.searchExpression,this.caseSensitive,this.useRegex,this.wholeWords):null;e?(this._searchActive=!0,await this.searchProvider.startQuery(e,this._filters)):(this._searchActive=!1,await this.searchProvider.endQuery()),this.stateChanged.emit()}catch(e){this._parsingError=e.toString(),this.stateChanged.emit(),console.error(`Failed to parse expression ${this.searchExpression}`,e)}}_onProviderStateChanged(){this._searchActive&&this.refresh()}}!function(e){e.parseQuery=function(e,t,n,i){let o=t?"gm":"gim",r=n?e:e.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&");i&&(r="\\b"+r+"\\b");let s=new RegExp(r,o);return s.test("")?null:s}}(i||(i={}));var C=n(2786),f=n(46976),b=n(97518),v=n(60721);let _="jp-DocumentSearch-overlay",y="jp-DocumentSearch-overlay-row",E="jp-DocumentSearch-input",w="jp-DocumentSearch-input-label",j="jp-DocumentSearch-input-wrapper",x="jp-DocumentSearch-input-button-off",B="jp-DocumentSearch-input-button-on",S="jp-DocumentSearch-index-counter",M="jp-DocumentSearch-up-down-wrapper",I="jp-DocumentSearch-up-down-button",k="jp-DocumentSearch-filter-button",D="jp-DocumentSearch-filter-button-enabled",T="jp-DocumentSearch-regex-error",L="jp-DocumentSearch-search-options",N="jp-DocumentSearch-search-filter-disabled",P="jp-DocumentSearch-search-filter",z="jp-DocumentSearch-replace-button",R="jp-DocumentSearch-replace-button-wrapper",O="jp-DocumentSearch-replace-wrapper-class",F="jp-DocumentSearch-replace-toggle",W="jp-DocumentSearch-toggle-wrapper",H="jp-DocumentSearch-toggle-placeholder",U="jp-DocumentSearch-button-content",Y="jp-DocumentSearch-button-wrapper",V="jp-DocumentSearch-spacer";function q(e){let[t,n]=(0,v.useState)(1),i=(0,v.useCallback)(t=>{var i;let o=t?t.target:null==(i=e.inputRef)?void 0:i.current;if(o){let e=o.value.split(/\n/),t=e.reduce((e,t)=>e.length>t.length?e:t,"");o.parentNode&&o.parentNode instanceof HTMLElement&&(o.parentNode.dataset.value=t),n(e.length)}},[]);return(0,v.useEffect)(()=>{var t,n;null==(n=null==(t=e.inputRef)?void 0:t.current)||n.select(),i()},[e.initialValue]),v.createElement("label",{className:w},v.createElement("textarea",{onChange:t=>{e.onChange(t),i(t)},onKeyDown:t=>{e.onKeyDown(t),i(t)},rows:t,placeholder:e.placeholder,className:E,key:e.autoUpdate?e.initialValue:null,tabIndex:0,ref:e.inputRef,title:e.title,defaultValue:e.initialValue||e.lastSearchText,autoFocus:e.autoFocus}))}function G(e){var t;let n=(null!=(t=e.translator)?t:C.nullTranslator).load("jupyterlab"),i=(0,m.classes)(e.caseSensitive?B:x,U),o=(0,m.classes)(e.useRegex?B:x,U),r=(0,m.classes)(e.wholeWords?B:x,U),s=j;return v.createElement("div",{className:s},v.createElement(q,{placeholder:n.__("Find"),onChange:t=>e.onChange(t),onKeyDown:t=>e.onKeydown(t),inputRef:e.inputRef,initialValue:e.initialSearchText,lastSearchText:e.lastSearchText,title:n.__("Find"),autoFocus:!0,autoUpdate:!0}),v.createElement("button",{className:Y,onClick:()=>{e.onCaseSensitiveToggled()},tabIndex:0,title:n.__("Match Case")},v.createElement(m.caseSensitiveIcon.react,{className:i,tag:"span"})),v.createElement("button",{className:Y,onClick:()=>e.onWordToggled(),tabIndex:0,title:n.__("Match Whole Word")},v.createElement(m.wordIcon.react,{className:r,tag:"span"})),v.createElement("button",{className:Y,onClick:()=>e.onRegexToggled(),tabIndex:0,title:n.__("Use Regular Expression")},v.createElement(m.regexIcon.react,{className:o,tag:"span"})))}function $(e){var t,n,i;let o=(null!=(t=e.translator)?t:C.nullTranslator).load("jupyterlab"),r=(0,m.classes)(e.preserveCase?B:x,U);return v.createElement("div",{className:O},v.createElement("div",{className:j},v.createElement(q,{placeholder:o.__("Replace"),initialValue:null!=(n=e.replaceText)?n:"",onKeyDown:t=>e.onReplaceKeydown(t),onChange:t=>e.onChange(t),title:o.__("Replace"),autoFocus:!1,autoUpdate:!1}),(null==(i=e.replaceOptionsSupport)?void 0:i.preserveCase)?v.createElement("button",{className:Y,onClick:()=>e.onPreserveCaseToggled(),title:o.__("Preserve Case")},v.createElement(m.caseSensitiveIcon.react,{className:r,tag:"span"})):null),v.createElement("button",{className:R,onClick:()=>e.onReplaceCurrent()},v.createElement("span",{className:`${z} ${U}`},o.__("Replace"))),v.createElement("button",{className:R,onClick:()=>e.onReplaceAll()},v.createElement("span",{className:`${z} ${U}`},o.__("Replace All"))))}function J(e){var t,n;let i=null==(t=e.keyBindings)?void 0:t.next,o=null==(n=e.keyBindings)?void 0:n.previous,r=i?f.CommandRegistry.formatKeystroke(i.keys):"",s=o?f.CommandRegistry.formatKeystroke(o.keys):"",a=s?` (${s})`:"",l=r?` (${r})`:"",d=v.createElement("button",{className:Y,onClick:()=>!!e.isEnabled&&e.onHighlightPrevious(),tabIndex:0,title:`${e.trans.__("Previous Match")}${a}`,disabled:!e.isEnabled},v.createElement(m.caretUpEmptyThinIcon.react,{className:(0,m.classes)(I,U),tag:"span"})),c=v.createElement("button",{className:Y,onClick:()=>!!e.isEnabled&&e.onHighlightNext(),tabIndex:0,title:`${e.trans.__("Next Match")}${l}`,disabled:!e.isEnabled},v.createElement(m.caretDownEmptyThinIcon.react,{className:(0,m.classes)(I,U),tag:"span"}));return v.createElement("div",{className:M},d,c)}function K(e){return v.createElement("div",{className:S},0===e.totalMatches?"-/-":`${null===e.currentIndex?"-":e.currentIndex+1}/${e.totalMatches}`)}function Z(e){let t=`${k} ${U}`;e.visible&&(t=`${t} ${D}`);let n=e.anyEnabled?m.filterDotIcon:m.filterIcon;return v.createElement("button",{className:Y,onClick:()=>e.toggleVisible(),tabIndex:0,title:e.visible?e.trans.__("Hide Search Filters"):e.trans.__("Show Search Filters")},v.createElement(n.react,{className:t,tag:"span"}))}function Q(e){return v.createElement("label",{className:e.isEnabled?P:`${P} ${N}`,title:e.description},v.createElement("input",{type:"checkbox",className:"jp-mod-styled",disabled:!e.isEnabled,checked:e.value,onChange:e.onToggle}),e.title)}class X extends v.Component{constructor(e){super(e),this.translator=e.translator||C.nullTranslator}_onSearchChange(e){let t=e.target.value;this.props.onSearchChanged(t)}_onSearchKeydown(e){if("Enter"===e.key)if(e.stopPropagation(),e.preventDefault(),e.ctrlKey){let t=e.target;this._insertNewLine(t),this.props.onSearchChanged(t.value)}else e.shiftKey?this.props.onHighlightPrevious():this.props.onHighlightNext()}_onReplaceKeydown(e){"Enter"===e.key&&(e.stopPropagation(),e.preventDefault(),e.ctrlKey?this._insertNewLine(e.target):this.props.onReplaceCurrent())}_insertNewLine(e){let[t,n]=[e.selectionStart,e.selectionEnd];e.setRangeText("\n",t,n,"end")}_onClose(){this.props.onClose()}_onReplaceToggled(){if(!this.props.replaceEntryVisible)for(let e in this.props.filtersDefinition){let t=this.props.filtersDefinition[e];t.supportReplace||this.props.onFilterChanged(e,!1).catch(e=>{console.error(`Fail to update filter value for ${t.title}:
${e}`)})}this.props.onReplaceEntryShown(!this.props.replaceEntryVisible)}_toggleFiltersVisibility(){this.props.onFiltersVisibilityChanged(!this.props.filtersVisible)}render(){var e,t,n;let i=this.translator.load("jupyterlab"),o=!this.props.isReadOnly&&this.props.replaceEntryVisible,r=this.props.filtersDefinition,s=Object.keys(r).length>0,a=s?v.createElement(Z,{visible:this.props.filtersVisible,anyEnabled:Object.keys(r).some(e=>{var t;let n=r[e];return null!=(t=this.props.filters[e])?t:n.default}),toggleVisible:()=>this._toggleFiltersVisibility(),trans:i}):null,l=null==(e=this.props.keyBindings)?void 0:e.toggleSearchInSelection,d=l?f.CommandRegistry.formatKeystroke(l.keys):"",c=d?` (${d})`:"",h=s?v.createElement("div",{className:L},Object.keys(r).map(e=>{var t,n;let i=r[e],s=!o||i.supportReplace,a=s?i.description:null!=(t=i.disabledDescription)?t:i.description;return v.createElement(Q,{key:e,title:i.title,description:a+("selection"==e?c:""),isEnabled:s,onToggle:async()=>{await this.props.onFilterChanged(e,!this.props.filters[e])},value:null!=(n=this.props.filters[e])?n:i.default})})):null,u=this.props.replaceEntryVisible?m.caretDownIcon:m.caretRightIcon;return v.createElement(v.Fragment,null,v.createElement("div",{className:y},this.props.isReadOnly?v.createElement("div",{className:H}):v.createElement("button",{className:W,onClick:()=>this._onReplaceToggled(),tabIndex:0,title:o?i.__("Hide Replace"):i.__("Show Replace")},v.createElement(u.react,{className:`${F} ${U}`,tag:"span",elementPosition:"center",height:"20px",width:"20px"})),v.createElement(G,{inputRef:this.props.searchInputRef,useRegex:this.props.useRegex,caseSensitive:this.props.caseSensitive,wholeWords:this.props.wholeWords,onCaseSensitiveToggled:this.props.onCaseSensitiveToggled,onRegexToggled:this.props.onRegexToggled,onWordToggled:this.props.onWordToggled,onKeydown:e=>this._onSearchKeydown(e),onChange:e=>this._onSearchChange(e),initialSearchText:this.props.initialSearchText,lastSearchText:this.props.lastSearchText,translator:this.translator}),a,v.createElement(K,{currentIndex:this.props.currentIndex,totalMatches:null!=(t=this.props.totalMatches)?t:0}),v.createElement(J,{onHighlightPrevious:()=>{this.props.onHighlightPrevious()},onHighlightNext:()=>{this.props.onHighlightNext()},trans:i,keyBindings:this.props.keyBindings,isEnabled:!!(null==(n=this.props.searchInputRef.current)?void 0:n.value)}),v.createElement("button",{className:Y,onClick:()=>this._onClose(),tabIndex:0,title:i.__("Close Search Box")},v.createElement(m.closeIcon.react,{className:"jp-icon-hover",elementPosition:"center",height:"16px",width:"16px"}))),v.createElement("div",{className:y},o?v.createElement(v.Fragment,null,v.createElement($,{onPreserveCaseToggled:this.props.onPreserveCaseToggled,onReplaceKeydown:e=>this._onReplaceKeydown(e),onChange:e=>this.props.onReplaceChanged(e.target.value),onReplaceCurrent:()=>this.props.onReplaceCurrent(),onReplaceAll:()=>this.props.onReplaceAll(),replaceOptionsSupport:this.props.replaceOptionsSupport,replaceText:this.props.replaceText,preserveCase:this.props.preserveCase,translator:this.translator}),v.createElement("div",{className:V})):null),this.props.filtersVisible?h:null,!!this.props.errorMessage&&v.createElement("div",{className:T},this.props.errorMessage))}}class ee extends m.VDomRenderer{constructor(e,t,n){super(e),this.translator=t,this._showReplace=!1,this._showFilters=!1,this._closed=new r.Signal(this),this.addClass(_),this._searchInput=v.createRef(),this._keyBindings=n}get closed(){return this._closed}focusSearchInput(){var e;null==(e=this._searchInput.current)||e.select()}setSearchText(e){this.model.initialQuery=e,e&&(this.model.searchExpression=e)}setReplaceText(e){this.model.replaceText=e}showReplace(){this.setReplaceInputVisibility(!0)}onCloseRequest(e){super.onCloseRequest(e),this.setReplaceInputVisibility(!1),this._closed.emit(),this.model.endQuery()}setReplaceInputVisibility(e){this._showReplace!==e&&(this._showReplace=e,this.update())}setFiltersVisibility(e){this._showFilters!==e&&(this._showFilters=e,this.update())}render(){return this.model.filtersDefinitionChanged?v.createElement(b.UseSignal,{signal:this.model.filtersDefinitionChanged},()=>this._renderOverlay()):this._renderOverlay()}_renderOverlay(){return v.createElement(X,{caseSensitive:this.model.caseSensitive,currentIndex:this.model.currentIndex,isReadOnly:this.model.isReadOnly,errorMessage:this.model.parsingError,filters:this.model.filters,filtersDefinition:this.model.filtersDefinition,preserveCase:this.model.preserveCase,replaceEntryVisible:this._showReplace,filtersVisible:this._showFilters,replaceOptionsSupport:this.model.replaceOptionsSupport,replaceText:this.model.replaceText,initialSearchText:this.model.initialQuery,lastSearchText:this.model.searchExpression,searchInputRef:this._searchInput,totalMatches:this.model.totalMatches,translator:this.translator,useRegex:this.model.useRegex,wholeWords:this.model.wholeWords,onCaseSensitiveToggled:()=>{this.model.caseSensitive=!this.model.caseSensitive},onRegexToggled:()=>{this.model.useRegex=!this.model.useRegex},onWordToggled:()=>{this.model.wholeWords=!this.model.wholeWords},onFilterChanged:async(e,t)=>{await this.model.setFilter(e,t)},onFiltersVisibilityChanged:e=>{this.setFiltersVisibility(e)},onHighlightNext:()=>{this.model.highlightNext()},onHighlightPrevious:()=>{this.model.highlightPrevious()},onPreserveCaseToggled:()=>{this.model.preserveCase=!this.model.preserveCase},onSearchChanged:e=>{this.model.searchExpression=e},onClose:()=>{this.close()},onReplaceEntryShown:e=>{this.setReplaceInputVisibility(e)},onReplaceChanged:e=>{this.model.replaceText=e},onReplaceCurrent:()=>{this.model.replaceCurrentMatch()},onReplaceAll:()=>{this.model.replaceAllMatches()},keyBindings:this._keyBindings})}}var et=n(63995);class en{constructor(e=C.nullTranslator){this.translator=e,this._changed=new r.Signal(this),this._providerMap=new Map}add(e,t){return this._providerMap.set(e,t),this._changed.emit(),new et.DisposableDelegate(()=>{this._providerMap.delete(e),this._changed.emit()})}getProvider(e){for(let t of this._providerMap.values())if(t.isApplicable(e))return t.createNew(e,this.translator)}hasProvider(e){for(let t of this._providerMap.values())if(t.isApplicable(e))return!0;return!1}get changed(){return this._changed}}let ei=new(n(55187)).Token("@jupyterlab/documentsearch:ISearchProviderRegistry",`A service for a registry of search
  providers for the application. Plugins can register their UI elements with this registry
  to provide find/replace support.`)},5241(e,t,n){"use strict";n(82311),n(97777),n(62971);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(65642),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},53316(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>p});var i,o,r=n(57941),s=n(97518),a=n(62047),l=n(46109),d=n(2786),c=n(8989);let h="@jupyterlab/extensionmanager-extension:plugin";!function(e){e.showPanel="extensionmanager:show-panel",e.toggle="extensionmanager:toggle"}(i||(i={}));let u={id:h,description:"Adds the extension manager plugin.",autoStart:!0,requires:[l.ISettingRegistry],optional:[d.ITranslator,r.ILayoutRestorer,s.ICommandPalette],activate:async(e,t,n,r,s)=>{let{commands:l,shell:p,serviceManager:m}=e,g=(n=null!=n?n:d.nullTranslator).load("jupyterlab"),A=new a.ListModel(m,n),C=()=>{let e=new a.ExtensionsPanel({model:A,translator:n});return e.id="extensionmanager.main-view",e.title.icon=c.extensionIcon,e.title.dataset={...e.title.dataset,jpTabLabel:g.__("Extension Manager")},e.title.caption=g.__("Extension Manager"),e.node.setAttribute("role","region"),e.node.setAttribute("aria-label",g.__("Extension Manager section")),r&&r.add(e,e.id),p.add(e,"left",{rank:1e3}),e},f=C();Promise.all([e.restored,t.load(h)]).then(([,t])=>{A.isDisclaimed=t.get("disclaimed").composite,A.isEnabled=t.get("enabled").composite,A.stateChanged.connect(()=>{A.isDisclaimed!==t.get("disclaimed").composite&&t.set("disclaimed",A.isDisclaimed).catch(e=>{console.error(`Failed to set setting 'disclaimed'.
${e}`)}),A.isEnabled!==t.get("enabled").composite&&t.set("enabled",A.isEnabled).catch(e=>{console.error(`Failed to set setting 'enabled'.
${e}`)})}),A.isEnabled?f=null!=f?f:C():(null==f||f.dispose(),f=null),t.changed.connect(async()=>{if(A.isDisclaimed=t.get("disclaimed").composite,A.isEnabled=t.get("enabled").composite,e.commands.notifyCommandChanged(i.toggle),A.isEnabled){if((null===f||!f.isAttached)&&!await o.showWarning(g))return void t.set("enabled",!1);f=null!=f?f:C()}else null==f||f.dispose(),f=null})}).catch(e=>{console.error(`Something went wrong when reading the settings.
${e}`)}),l.addCommand(i.showPanel,{label:g.__("Extension Manager"),execute:e=>{f&&(p.activateById(f.id),void 0!==e.query&&f.setQuery(e.query))},isVisible:()=>A.isEnabled,describedBy:{args:{type:"object",properties:{query:{type:"string",description:g.__("Search query to pre-fill in the extension manager")}}}}}),l.addCommand(i.toggle,{label:g.__("Enable Extension Manager"),execute:()=>{t&&t.set(u.id,"enabled",!A.isEnabled)},isToggled:()=>A.isEnabled,describedBy:{args:{type:"object",properties:{}}}}),s&&s.addItem({command:i.toggle,category:g.__("Extension Manager")})}},p=u;!function(e){e.showWarning=async function(e){return(await (0,s.showDialog)({title:e.__("Enable Extension Manager?"),body:e.__(`Thanks for trying out JupyterLab's extension manager.
The JupyterLab development team is excited to have a robust
third-party extension community.
However, we cannot vouch for every extension,
and some may introduce security risks.
Do you want to continue?`),buttons:[s.Dialog.cancelButton({label:e.__("Disable")}),s.Dialog.warnButton({label:e.__("Enable")})]})).button.accept}}(o||(o={}))},40256(e,t,n){"use strict";n(97777),n(62971),n(67474),n(82311);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(75863),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},25695(e,t,n){"use strict";n.r(t),n.d(t,{ExtensionsPanel:()=>S,ListModel:()=>m});var i,o=n(97518),r=n(28951),s=n(53040),a=n(2786),l=n(8989),d=n(59807),c=n(99589),h=n(60721);function u(e,t,n){let i=(n=n||a.nullTranslator).load("jupyterlab"),r=[];r.push(h.createElement("p",null,i.__(`An error occurred installing "${e}".`))),t&&r.push(h.createElement("p",null,h.createElement("span",{className:"jp-extensionmanager-dialog-subheader"},i.__("Error message:"))),h.createElement("pre",null,t.trim()));let s=h.createElement("div",{className:"jp-extensionmanager-dialog"},r);(0,o.showDialog)({title:i.__("Extension Installation Error"),body:s,buttons:[o.Dialog.warnButton({label:i.__("Ok")})]})}let p="lab/api/extensions";class m extends l.VDomModel{constructor(e,t){super(),this.actionError=null,this.installedError=null,this.searchError=null,this.promptReload=!1,this._isDisclaimed=!1,this._isEnabled=!1,this._isLoadingInstalledExtensions=!1,this._isSearching=!1,this._query="",this._page=1,this._pagination=30,this._lastPage=1,this._pendingActions=[];const n=JSON.parse(r.PageConfig.getOption("extensionManager")||"{}");this.name=n.name,this.canInstall=n.can_install,this.installPath=n.install_path,this.translator=t||a.nullTranslator,this._installed=[],this._lastSearchResult=[],this.serviceManager=e,this._debouncedSearch=new d.Debouncer(this.search.bind(this),1e3)}get installed(){return this._installed}get isDisclaimed(){return this._isDisclaimed}set isDisclaimed(e){e!==this._isDisclaimed&&(this._isDisclaimed=e,this.stateChanged.emit(),this._debouncedSearch.invoke())}get isEnabled(){return this._isEnabled}set isEnabled(e){e!==this._isEnabled&&(this._isEnabled=e,this.stateChanged.emit())}get isLoadingInstalledExtensions(){return this._isLoadingInstalledExtensions}get isSearching(){return this._isSearching}get searchResult(){return this._lastSearchResult}get query(){return this._query}set query(e){this._query!==e&&(this._query=e,this._page=1,this._debouncedSearch.invoke())}get page(){return this._page}set page(e){this._page!==e&&(this._page=e,this._debouncedSearch.invoke())}get pagination(){return this._pagination}set pagination(e){this._pagination!==e&&(this._pagination=e,this._debouncedSearch.invoke())}get lastPage(){return this._lastPage}dispose(){this.isDisposed||(this._debouncedSearch.dispose(),super.dispose())}hasPendingActions(){return this._pendingActions.length>0}async install(e,t={}){await this.performAction("install",e,t).then(t=>("ok"!==t.status&&u(e.name,t.message,this.translator),this.update(!0)))}async uninstall(e){if(!e.installed)throw Error(`Not installed, cannot uninstall: ${e.name}`);return await this.performAction("uninstall",e),this.update(!0)}async enable(e){if(e.enabled)throw Error(`Already enabled: ${e.name}`);await this.performAction("enable",e),await this.refreshInstalled(!0)}async disable(e){if(!e.enabled)throw Error(`Already disabled: ${e.name}`);await this.performAction("disable",e),await this.refreshInstalled(!0)}async refreshInstalled(e=!1){this.installedError=null,this._isLoadingInstalledExtensions=!0,this.stateChanged.emit();try{let[t]=await i.requestAPI({refresh:+!!e});this._installed=t.sort(i.installedComparator)}catch(e){this.installedError=e.toString()}finally{this._isLoadingInstalledExtensions=!1,this.stateChanged.emit()}}async search(e=!1){var t,n;if(!this.isDisclaimed)return Promise.reject("Installation warning is not disclaimed.");this.searchError=null,this._isSearching=!0,this.stateChanged.emit();try{let[o,s]=await i.requestAPI({query:null!=(t=this.query)?t:"",page:this.page,per_page:this.pagination,refresh:+!!e}),a=s.last;if(a){let e=r.URLExt.queryStringToObject(null!=(n=r.URLExt.parse(a).search)?n:"").page;e&&(this._lastPage=parseInt(e,10))}let l=this._installed.map(e=>e.name);this._lastSearchResult=o.filter(e=>!l.includes(e.name))}catch(e){this.searchError=e.toString()}finally{this._isSearching=!1,this.stateChanged.emit()}}async update(e=!1){this.isDisclaimed&&(await this.refreshInstalled(e),await this.search())}performAction(e,t,n={}){let r={cmd:e,extension_name:t.name};n.useVersion&&(r.extension_version=n.useVersion);let s=i.requestAPI({},{method:"POST",body:JSON.stringify(r)});return s.then(([e])=>{let t=this.translator.load("jupyterlab");if(e.needs_restart.includes("server"))(0,o.showDialog)({title:t.__("Information"),body:t.__("You will need to restart JupyterLab to apply the changes."),buttons:[o.Dialog.okButton({label:t.__("Ok")})]});else{let n=[];e.needs_restart.includes("frontend")&&n.push(window.isElectron?t.__("reload JupyterLab"):t.__("refresh the web page")),e.needs_restart.includes("kernel")&&n.push(t.__("install the extension in all kernels and restart them")),(0,o.showDialog)({title:t.__("Information"),body:t.__("You will need to %1 to apply the changes.",n.join(t.__(" and "))),buttons:[o.Dialog.okButton({label:t.__("Ok")})]})}this.actionError=null},e=>{this.actionError=e.toString()}),this.addPendingAction(s),s.then(([e])=>e)}addPendingAction(e){this._pendingActions.push(e);let t=()=>{let t=this._pendingActions.indexOf(e);this._pendingActions.splice(t,1),this.stateChanged.emit(void 0)};e.then(t,t),this.stateChanged.emit(void 0)}}!function(e){e.entryHasUpdate=function(e){return!!e.installed&&!!e.latest_version&&c.lt(e.installed_version,e.latest_version)}}(m||(m={})),function(e){e.installedComparator=function(e,t){return e.name.localeCompare(t.name)};let t=/<([^>]+)>; rel="([^"]+)",?/g;e.requestAPI=async function(e={},n={},i){var o;let a,l=null!=i?i:s.ServerConnection.makeSettings(),d=r.URLExt.join(l.baseUrl,p);try{a=await s.ServerConnection.makeRequest(d+r.URLExt.objectToQueryString(e),n,l)}catch(e){throw new s.ServerConnection.NetworkError(e)}let c=await a.text();if(c.length>0)try{c=JSON.parse(c)}catch(e){console.log("Not a JSON response body.",a)}if(!a.ok)throw new s.ServerConnection.ResponseError(a,c.message||c);let h=null!=(o=a.headers.get("Link"))?o:"",u={},m=null;for(;null!==(m=t.exec(h));)u[m[2]]=m[1];return[c,u]}}(i||(i={}));var g=n(49764),A=n.n(g);let C=32,f=Math.floor(32*devicePixelRatio);function b(e){return e.homepage_url&&e.homepage_url.startsWith("https://github.com/")?e.homepage_url.split("/")[3]:e.repository_url&&e.repository_url.startsWith("https://github.com/")?e.repository_url.split("/")[3]:null}function v(e){try{let t=new URL(e).protocol.toLowerCase();return["http:","https:"].includes(t)}catch(e){return!1}}function _(e){let{canFetch:t,entry:n,supportInstallation:i,trans:o}=e,r=[];n.status&&-1!==["ok","warning","error"].indexOf(n.status)&&r.push(`jp-extensionmanager-entry-${n.status}`);let s=t?b(n):null;return n.allowed||r.push("jp-extensionmanager-entry-should-be-uninstalled"),h.createElement("li",{className:`jp-extensionmanager-entry ${r.join(" ")}`,style:{display:"flex"}},h.createElement("div",{style:{marginRight:"8px"}},s?h.createElement("img",{src:`https://github.com/${s}.png?size=${f}`,style:{width:"32px",height:"32px"}}):h.createElement("div",{style:{width:`${C}px`,height:`${C}px`}})),h.createElement("div",{className:"jp-extensionmanager-entry-description"},h.createElement("div",{className:"jp-extensionmanager-entry-title"},h.createElement("div",{className:"jp-extensionmanager-entry-name"},n.homepage_url&&v(n.homepage_url)?h.createElement("a",{href:n.homepage_url,target:"_blank",rel:"noopener noreferrer",title:o.__("%1 extension home page",n.name)},n.name):h.createElement("div",null,n.name)),h.createElement("div",{className:"jp-extensionmanager-entry-version"},h.createElement("div",{title:o.__("Version: %1",n.installed_version)},n.installed_version)),n.installed&&!n.allowed&&h.createElement(l.ToolbarButtonComponent,{icon:l.infoIcon,iconLabel:o.__("%1 extension is not allowed anymore. Please uninstall it immediately or contact your administrator.",n.name),onClick:()=>window.open("https://jupyterlab.readthedocs.io/en/stable/user/extensions.html")}),n.approved&&h.createElement(l.jupyterIcon.react,{className:"jp-extensionmanager-is-approved",top:"1px",height:"auto",width:"1em",title:o.__("This extension is approved by your security team.")})),h.createElement("div",{className:"jp-extensionmanager-entry-content"},h.createElement("div",{className:"jp-extensionmanager-entry-description"},n.description),e.performAction&&h.createElement("div",{className:"jp-extensionmanager-entry-buttons"},n.installed?h.createElement(h.Fragment,null,i&&h.createElement(h.Fragment,null,m.entryHasUpdate(n)&&h.createElement(l.Button,{onClick:()=>e.performAction("install",n,{useVersion:n.latest_version}),title:o.__('Update "%1" to "%2"',n.name,n.latest_version),minimal:!0,small:!0},o.__("Update to %1",n.latest_version)),h.createElement(l.Button,{onClick:()=>e.performAction("uninstall",n),title:o.__('Uninstall "%1"',n.name),minimal:!0,small:!0},o.__("Uninstall"))),n.enabled?h.createElement(l.Button,{onClick:()=>e.performAction("disable",n),title:o.__('Disable "%1"',n.name),minimal:!0,small:!0},o.__("Disable")):h.createElement(l.Button,{onClick:()=>e.performAction("enable",n),title:o.__('Enable "%1"',n.name),minimal:!0,small:!0},o.__("Enable"))):i&&h.createElement(l.Button,{onClick:()=>e.performAction("install",n),title:o.__('Install "%1"',n.name),minimal:!0,small:!0},o.__("Install"))))))}function y(e){var t;let{canFetch:n,performAction:i,supportInstallation:o,trans:r}=e;return h.createElement("div",{className:"jp-extensionmanager-listview-wrapper"},e.entries.length>0?h.createElement("ul",{className:"jp-extensionmanager-listview"},e.entries.map(e=>h.createElement(_,{key:e.name,canFetch:n,entry:e,performAction:i,supportInstallation:o,trans:r}))):h.createElement("div",{key:"message",className:"jp-extensionmanager-listview-message"},r.__("No entries")),e.numPages>1&&h.createElement("div",{className:"jp-extensionmanager-pagination"},h.createElement(A(),{previousLabel:"<",nextLabel:">",breakLabel:"...",breakClassName:"break",initialPage:(null!=(t=e.initialPage)?t:1)-1,pageCount:e.numPages,marginPagesDisplayed:2,pageRangeDisplayed:3,onPageChange:t=>e.onPage(t.selected+1),activeClassName:"active"})))}function E(e){return h.createElement("div",{className:"jp-extensionmanager-error"},e.children)}class w extends l.ReactWidget{constructor(e,t,n){super(),this.model=e,this.trans=t,this.searchInputRef=n,e.stateChanged.connect(this.update,this),this.addClass("jp-extensionmanager-header")}render(){return h.createElement(h.Fragment,null,h.createElement("div",{className:"jp-extensionmanager-title"},h.createElement("span",null,this.trans.__("%1 Manager",this.model.name)),this.model.installPath&&h.createElement(l.infoIcon.react,{className:"jp-extensionmanager-path",tag:"span",title:this.trans.__("Extension installation path: %1",this.model.installPath)})),h.createElement(l.FilterBox,{initialQuery:this.model.query||void 0,placeholder:this.trans.__("Search extensions"),disabled:!this.model.isDisclaimed,updateFilter:(e,t)=>{this.model.query=null!=t?t:""},useFuzzyFilter:!1,inputRef:this.searchInputRef}),h.createElement("div",{className:`jp-extensionmanager-pending ${this.model.hasPendingActions()?"jp-mod-hasPending":""}`}),this.model.actionError&&h.createElement(E,null,h.createElement("p",null,this.trans.__("Error when performing an action.")),h.createElement("p",null,this.trans.__("Reason given:")),h.createElement("pre",null,this.model.actionError)))}}class j extends l.ReactWidget{constructor(e,t){super(),this.model=e,this.trans=t,this.addClass("jp-extensionmanager-disclaimer"),e.stateChanged.connect(this.update,this)}render(){return h.createElement(h.Fragment,null,h.createElement("p",null,this.trans.__(`The JupyterLab development team is excited to have a robust
third-party extension community. However, we do not review
third-party extensions, and some extensions may introduce security
risks or contain malicious code that runs on your machine. Moreover in order
to work, this panel needs to fetch data from web services. Do you agree to
activate this feature?`),h.createElement("br",null),h.createElement("a",{href:"https://jupyterlab.readthedocs.io/en/stable/privacy_policies.html",target:"_blank",rel:"noreferrer"},this.trans.__("Please read the privacy policy."))),this.model.isDisclaimed?h.createElement(l.Button,{className:"jp-extensionmanager-disclaimer-disable",onClick:e=>{this.model.isDisclaimed=!1},title:this.trans.__("This will withdraw your consent.")},this.trans.__("No")):h.createElement("div",null,h.createElement(l.Button,{className:"jp-extensionmanager-disclaimer-enable",onClick:()=>{this.model.isDisclaimed=!0}},this.trans.__("Yes")),h.createElement(l.Button,{className:"jp-extensionmanager-disclaimer-disable",onClick:()=>{this.model.isEnabled=!1},title:this.trans.__("This will disable the extension manager panel; including the listing of installed extension.")},this.trans.__("No, disable"))))}}class x extends l.ReactWidget{constructor(e,t){super(),this.model=e,this.trans=t,e.stateChanged.connect(this.update,this)}render(){return h.createElement(h.Fragment,null,null!==this.model.installedError?h.createElement(E,null,`Error querying installed extensions${this.model.installedError?`: ${this.model.installedError}`:"."}`):this.model.isLoadingInstalledExtensions?h.createElement("div",{className:"jp-extensionmanager-loader"},this.trans.__("Updating extensions list…")):h.createElement(y,{canFetch:this.model.isDisclaimed,entries:this.model.installed.filter(e=>new RegExp(this.model.query.toLowerCase()).test(e.name)),numPages:1,trans:this.trans,onPage:e=>{},performAction:this.model.isDisclaimed?this.onAction.bind(this):void 0,supportInstallation:this.model.canInstall&&this.model.isDisclaimed}))}onAction(e,t,n={}){switch(e){case"install":return this.model.install(t,n);case"uninstall":return this.model.uninstall(t);case"enable":return this.model.enable(t);case"disable":return this.model.disable(t);default:throw Error(`Invalid action: ${e}`)}}}class B extends l.ReactWidget{constructor(e,t){super(),this.model=e,this.trans=t,e.stateChanged.connect(this.update,this)}onPage(e){this.model.page=e}onAction(e,t,n={}){switch(e){case"install":return this.model.install(t,n);case"uninstall":return this.model.uninstall(t);case"enable":return this.model.enable(t);case"disable":return this.model.disable(t);default:throw Error(`Invalid action: ${e}`)}}render(){return h.createElement(h.Fragment,null,null!==this.model.searchError?h.createElement(E,null,`Error searching for extensions${this.model.searchError?`: ${this.model.searchError}`:"."}`):this.model.isSearching?h.createElement("div",{className:"jp-extensionmanager-loader"},this.trans.__("Updating extensions list…")):h.createElement(y,{canFetch:this.model.isDisclaimed,entries:this.model.searchResult,initialPage:this.model.page,numPages:this.model.lastPage,onPage:e=>{this.onPage(e)},performAction:this.model.isDisclaimed?this.onAction.bind(this):void 0,supportInstallation:this.model.canInstall&&this.model.isDisclaimed,trans:this.trans}))}update(){this.title.label=this.model.query?this.trans.__("Search Results"):this.trans.__("Discover"),super.update()}}class S extends l.SidePanel{constructor(e){const{model:t,translator:n}=e;super({translator:n}),this._wasInitialized=!1,this._wasDisclaimed=!0,this.model=t,this._searchInputRef=h.createRef(),this.addClass("jp-extensionmanager-view"),this.trans=n.load("jupyterlab"),this.header.addWidget(new w(t,this.trans,this._searchInputRef));const i=new j(t,this.trans);i.title.label=this.trans.__("Warning"),this.addWidget(i);const o=new l.PanelWithToolbar;if(o.addClass("jp-extensionmanager-installedlist"),o.toolbar.node.setAttribute("aria-label",this.trans.__("Extensions panel toolbar")),o.title.label=this.trans.__("Installed"),o.toolbar.addItem("refresh",new l.ToolbarButton({icon:l.refreshIcon,onClick:()=>{t.refreshInstalled(!0).catch(e=>{console.error(`Failed to refresh the installed extensions list:
${e}`)})},tooltip:this.trans.__("Refresh extensions list")})),o.addWidget(new x(t,this.trans)),this.addWidget(o),this.model.canInstall){const e=new B(t,this.trans);e.addClass("jp-extensionmanager-searchresults"),this.addWidget(e)}this._wasDisclaimed=this.model.isDisclaimed,this.model.isDisclaimed?(this.content.collapse(0),this.content.layout.setRelativeSizes([0,1,1])):(this.content.expand(0),this.content.collapse(1),this.content.collapse(2)),this.model.stateChanged.connect(this._onStateChanged,this)}dispose(){this.isDisposed||(this.model.stateChanged.disconnect(this._onStateChanged,this),super.dispose())}handleEvent(e){switch(e.type){case"focus":case"blur":this._toggleFocused()}}onBeforeAttach(e){this.node.addEventListener("focus",this,!0),this.node.addEventListener("blur",this,!0),super.onBeforeAttach(e)}onBeforeShow(e){this._wasInitialized||(this._wasInitialized=!0,this.model.refreshInstalled().catch(e=>{console.log(`Failed to refresh installed extension list:
${e}`)}))}onAfterDetach(e){super.onAfterDetach(e),this.node.removeEventListener("focus",this,!0),this.node.removeEventListener("blur",this,!0)}onActivateRequest(e){if(this.isAttached){let e=this._searchInputRef.current;e&&(e.focus&&e.focus(),e.select&&e.select())}super.onActivateRequest(e)}setQuery(e){let t=this._searchInputRef.current;t?(t.value=e,t.dispatchEvent(new Event("input",{bubbles:!0}))):this.model.query=e}_onStateChanged(){!this._wasDisclaimed&&this.model.isDisclaimed&&(this.content.collapse(0),this.content.expand(1),this.content.expand(2)),this._wasDisclaimed=this.model.isDisclaimed}_toggleFocused(){let e=document.activeElement===this._searchInputRef.current;this.toggleClass("lm-mod-focused",e)}}},48934(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>L,fileUploadStatus:()=>D});var i,o,r=n(63995),s=n(57941),a=n(97518),l=n(28951),d=n(18977),c=n(31997),h=n(56573),u=n(46109),p=n(99873),m=n(59057),g=n(2786),A=n(8989),C=n(65819),f=n(46976);let b="FileBrowser",v="@jupyterlab/filebrowser-extension:browser";!function(e){e.copy="filebrowser:copy",e.copyDownloadLink="filebrowser:copy-download-link",e.cut="filebrowser:cut",e.del="filebrowser:delete",e.download="filebrowser:download",e.duplicate="filebrowser:duplicate",e.selectAll="filebrowser:select-all",e.hideBrowser="filebrowser:hide-main",e.goToPath="filebrowser:go-to-path",e.goUp="filebrowser:go-up",e.openPath="filebrowser:open-path",e.openUrl="filebrowser:open-url",e.open="filebrowser:open",e.openBrowserTab="filebrowser:open-browser-tab",e.paste="filebrowser:paste",e.createNewDirectory="filebrowser:create-new-directory",e.createNewFile="filebrowser:create-new-file",e.createNewMarkdownFile="filebrowser:create-new-markdown-file",e.refresh="filebrowser:refresh",e.rename="filebrowser:rename",e.copyShareableLink="filebrowser:share-main",e.copyPath="filebrowser:copy-path",e.showBrowser="filebrowser:activate",e.shutdown="filebrowser:shutdown",e.toggleBrowser="filebrowser:toggle-main",e.toggleFileFilter="filebrowser:toggle-file-filter",e.toggleNavigateToCurrentDirectory="filebrowser:toggle-navigate-to-current-directory",e.toggleLastModified="filebrowser:toggle-last-modified",e.toggleShowFullPath="filebrowser:toggle-show-full-path",e.toggleDateCreated="filebrowser:toggle-date-created",e.toggleFileSize="filebrowser:toggle-file-size",e.toggleSortNotebooksFirst="filebrowser:toggle-sort-notebooks-first",e.toggleHiddenFiles="filebrowser:toggle-hidden-files",e.toggleSingleClick="filebrowser:toggle-single-click-navigation",e.toggleFileCheckboxes="filebrowser:toggle-file-checkboxes",e.editPath="filebrowser:edit-path"}(i||(i={}));let _="filebrowser",y={id:v,description:"Set up the default file browser commands and state restoration",requires:[h.IDefaultFileBrowser,h.IFileBrowserFactory,g.ITranslator],optional:[s.ILayoutRestorer,u.ISettingRegistry,s.ITreePathUpdater,a.ICommandPalette],provides:h.IFileBrowserCommands,autoStart:!0,activate:async(e,t,n,o,r,s,a,d)=>{let c=t;r&&r.add(c,_);let h=l.PageConfig.getOption("preferredPath");return h&&await c.model.cd(h),T(e,c,n,o,s,d),Promise.all([e.restored,c.model.restored]).then(()=>{a&&c.model.pathChanged.connect((e,t)=>{a(t.newValue)})}),{openPath:i.openPath}}},E={id:"@jupyterlab/filebrowser-extension:settings",description:"Set up the default file browser settings",requires:[h.IDefaultFileBrowser],optional:[u.ISettingRegistry],autoStart:!0,activate:(e,t,n)=>{n&&n.load(v).then(e=>{let n={navigateToCurrentDirectory:!1,singleClickNavigation:!1,showLastModifiedColumn:!0,showDateCreatedColumn:!1,showFileSizeColumn:!1,showHiddenFiles:!1,showFileCheckboxes:!1,sortNotebooksFirst:!1,sortFileNamesNaturally:!0,showFullPath:!1,allowFileUploads:!0};function i(e){let i;for(i in n){let n=e.get(i).composite;t[i]=n}let o=e.get("breadcrumbs").composite;t.minimumBreadcrumbsLeftItems=o.minimumLeftItems,t.minimumBreadcrumbsRightItems=o.minimumRightItems;let r=e.get("filterDirectories").composite,s=e.get("useFuzzyFilter").composite;t.model.filterDirectories=r,t.model.useFuzzyFilter=s,t.clearFilterOnNavigation=e.get("clearFilterOnNavigation").composite}t.showFileFilter=e.get("showFileFilter").composite,e.changed.connect(i),i(e)})}},w={id:"@jupyterlab/filebrowser-extension:factory",description:"Provides the file browser factory.",provides:h.IFileBrowserFactory,requires:[d.IDocumentManager,g.ITranslator],optional:[p.IStateDB,s.JupyterLab.IInfo],activate:async(e,t,n,i,o)=>{let r=new a.WidgetTracker({namespace:_});return{createFileBrowser:(e,s={})=>{var a,l;let d=null===s.state?void 0:s.state||i||void 0,c=new h.FilterFileBrowserModel({translator:n,auto:null==(a=s.auto)||a,manager:t,driveName:s.driveName||"",refreshInterval:s.refreshInterval,refreshStandby:()=>o&&!o.isConnected||"when-hidden",state:d,allowFileUploads:null==(l=s.allowFileUploads)||l}),u=s.restore,p=new h.FileBrowser({id:e,model:c,restore:u,translator:n,state:d,renderer:s.renderer});return r.add(p),p},tracker:r}}},j={id:"@jupyterlab/filebrowser-extension:default-file-browser",description:"Provides the default file browser",provides:h.IDefaultFileBrowser,requires:[h.IFileBrowserFactory],optional:[s.IRouter,s.JupyterFrontEnd.ITreeResolver,s.ILabShell,g.ITranslator,h.IDefaultFileBrowserRenderer,a.IMovableSectionRegistry,p.IStateDB],activate:async(e,t,n,r,s,a,l,d,c)=>{let{commands:h}=e,u=(null!=a?a:g.nullTranslator).load("jupyterlab"),p=t.createFileBrowser("filebrowser",{auto:!1,restore:!1,renderer:null!=l?l:void 0});p.node.setAttribute("role","region"),p.node.setAttribute("aria-label",u.__("File Browser Section")),p.title.icon=A.folderIcon,p.title.dataset={...p.title.dataset,jpTabLabel:u.__("File Browser")};let m=()=>{let t=e.commands.keyBindings.find(e=>e.command===i.toggleBrowser);if(t){let e=t.keys.map(f.CommandRegistry.formatKeystroke).join(", ");p.title.caption=u.__("File Browser (%1)",e)}else p.title.caption=u.__("File Browser")};if(m(),e.commands.keyBindingChanged.connect(()=>{m()}),d&&d.registerTarget("@jupyterlab/filebrowser-extension:default-file-browser",u.__("File Browser"),p),c){let e="filebrowser:section-sizes",t=null,n=()=>{let n=p.accordionPanel;if(!n||t===n)return;t=n;let i=async()=>{await c.save(e,n.relativeSizes())};n.handleMoved.connect(i),c.fetch(e).then(e=>{Array.isArray(e)&&n.setRelativeSizes(e)})};p.sectionChanged.connect(()=>{n(),t&&c.save(e,t.relativeSizes())})}return o.restoreBrowser(p,h,n,r,e,s),p}},x={id:"@jupyterlab/filebrowser-extension:download",description:"Adds the download file commands. Disabling this plugin will NOT disable downloading files from the server, if the user enters the appropriate download URLs.",requires:[h.IFileBrowserFactory,g.ITranslator],autoStart:!0,activate:(e,t,n)=>{let o=n.load("jupyterlab"),{commands:r}=e,{tracker:s}=t;r.addCommand(i.download,{execute:()=>{let e=s.currentWidget;if(e)return e.download()},icon:A.downloadIcon.bindprops({stylesheet:"menuItem"}),label:o.__("Download"),describedBy:{args:{type:"object",properties:{}}}}),r.addCommand(i.copyDownloadLink,{execute:()=>{let e=s.currentWidget;if(e)return e.model.manager.services.contents.getDownloadUrl(e.selectedItems().next().value.path).then(e=>{a.Clipboard.copyToSystem(e)})},isVisible:()=>!!s.currentWidget&&1===Array.from(s.currentWidget.selectedItems()).length,icon:A.copyIcon.bindprops({stylesheet:"menuItem"}),label:o.__("Copy Download Link"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}})}},B={id:"@jupyterlab/filebrowser-extension:create-new-language-file",description:"Adds context menu entries for creating Python/R/Julia files",requires:[g.ITranslator],autoStart:!0,activate:async(e,t)=>{let n=t.load("jupyterlab"),o=new r.DisposableSet,s=e.serviceManager.kernelspecs,a=async()=>{var t,a;for(let l of(o&&(o.dispose(),o=new r.DisposableSet),await (0,c.getAvailableKernelFileTypes)(s)))o.add(e.contextMenu.addItem({command:i.createNewFile,selector:".jp-DirListing-content",args:{ext:l.extensions[0],label:n.__("New %1 File",l.displayName),iconName:null!=(a=null==(t=l.icon)?void 0:t.toString())?a:""},rank:52}))};s.specsChanged.connect(a),a().catch(console.warn)}},S={id:"@jupyterlab/filebrowser-extension:widget",description:"Adds the file browser to the application shell.",requires:[d.IDocumentManager,h.IDefaultFileBrowser,h.IFileBrowserFactory,u.ISettingRegistry,a.IToolbarWidgetRegistry,g.ITranslator,s.ILabShell,h.IFileBrowserCommands],optional:[a.ICommandPalette],autoStart:!0,activate:(e,t,n,r,s,l,d,c,u,p)=>{let{commands:m}=e,{tracker:g}=r,A=d.load("jupyterlab");l.addFactory(b,"uploader",e=>new h.Uploader({model:e.model,translator:d})),(0,a.setToolbar)(n,(0,a.createToolbarFactory)(l,s,b,S.id,d)),c.add(n,"left",{rank:100,type:"File Browser"}),m.addCommand(i.toggleBrowser,{label:A.__("File Browser"),describedBy:{args:{type:"object",properties:{}}},execute:()=>n.isHidden?m.execute(i.showBrowser,void 0):m.execute(i.hideBrowser,void 0)}),m.addCommand(i.showBrowser,{label:A.__("Open the file browser for the provided `path`."),describedBy:{args:{type:"object",properties:{path:{type:"string",description:A.__("The path to open in the file browser")}}}},execute:e=>{let t=e.path||"",i=o.getBrowserForPath(t,n,r);if(i){if(n===i)return void c.activateById(n.id);else for(let e of["left","right"])for(let t of c.widgets(e))if(t.contains(i))return void c.activateById(t.id)}}}),m.addCommand(i.hideBrowser,{label:A.__("Hide the file browser."),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let e=g.currentWidget;e&&!e.isHidden&&c.collapseLeft()}}),m.addCommand(i.toggleNavigateToCurrentDirectory,{label:A.__("Show Active File in File Browser"),isToggled:()=>n.navigateToCurrentDirectory,execute:()=>{let e=!n.navigateToCurrentDirectory,t="navigateToCurrentDirectory";return s.set(v,t,e).catch(e=>{console.error("Failed to set navigateToCurrentDirectory setting")})},describedBy:{args:{type:"object",properties:{}}}}),p&&p.addItem({command:i.toggleNavigateToCurrentDirectory,category:A.__("File Operations")}),c.restored.then(e=>{e.fresh&&"single-document"!==c.mode&&m.execute(i.showBrowser,void 0)}),Promise.all([e.restored,n.model.restored]).then(()=>{c.currentChanged.connect(async(e,s)=>{if(n.navigateToCurrentDirectory&&s.newValue){let{newValue:e}=s,a=t.contextForWidget(e);if(a){let{path:e}=a;try{await o.navigateToPath(e,n,r,d)}catch(t){console.warn(`${i.goToPath} failed to open: ${e}`,t)}}}})})}},M={id:"@jupyterlab/filebrowser-extension:share-file",description:'Adds the "Copy Shareable Link" command; useful for JupyterHub deployment for example.',requires:[h.IFileBrowserFactory,g.ITranslator],autoStart:!0,activate:(e,t,n)=>{let o=n.load("jupyterlab"),{commands:r}=e,{tracker:s}=t;r.addCommand(i.copyShareableLink,{execute:()=>{let e=s.currentWidget,t=null==e?void 0:e.selectedItems().next();void 0===t||t.done||a.Clipboard.copyToSystem(l.PageConfig.getUrl({workspace:l.PageConfig.defaultWorkspace,treePath:t.value.path,toShare:!0}))},isVisible:()=>!!s.currentWidget&&1===Array.from(s.currentWidget.selectedItems()).length,icon:A.linkIcon.bindprops({stylesheet:"menuItem"}),label:o.__("Copy Shareable Link"),describedBy:{args:{type:"object",properties:{}}}})}},I={id:"@jupyterlab/filebrowser-extension:open-with",description:"Adds the open-with feature allowing an user to pick the non-preferred document viewer.",requires:[h.IFileBrowserFactory],autoStart:!0,activate:(e,t)=>{let{docRegistry:n}=e,{tracker:r}=t,s=[];function a(e){var t,a;let l=null!=(a=null==(t=e.menu.items.find(e=>{var t;return"submenu"===e.type&&(null==(t=e.submenu)?void 0:t.id)==="jp-contextmenu-open-with"}))?void 0:t.submenu)?a:null;l&&(s.forEach(e=>e.dispose()),s.length=0,l.clearItems(),s=[...r.currentWidget?o.OpenWith.intersection((0,C.map)(r.currentWidget.selectedItems(),e=>o.OpenWith.getFactories(n,e))):new Set].map(e=>l.addItem({args:{factory:e.name,label:e.label||e.name},command:i.open})))}e.contextMenu.opened.connect(a)}},k={id:"@jupyterlab/filebrowser-extension:open-browser-tab",description:"Adds the open-in-new-browser-tab features.",requires:[h.IFileBrowserFactory,g.ITranslator],autoStart:!0,activate:(e,t,n)=>{let{commands:o}=e,r=n.load("jupyterlab"),{tracker:s}=t;o.addCommand(i.openBrowserTab,{execute:e=>{let t=s.currentWidget;if(!t)return;let n=e.mode;return Promise.all(Array.from((0,C.map)(t.selectedItems(),e=>{if("single-document"!==n)return o.execute("docmanager:open-browser-tab",{path:e.path});{let t=l.PageConfig.getUrl({mode:"single-document",treePath:e.path}),n=window.open();if(n)n.opener=null,n.location.href=t;else throw Error("Failed to open new browser tab.")}})))},icon:A.addIcon.bindprops({stylesheet:"menuItem"}),label:e=>"single-document"===e.mode?r.__("Open in Simple Mode"):r.__("Open in New Browser Tab"),mnemonic:0,describedBy:{args:{type:"object",properties:{mode:{type:"string",description:r.__("Mode for opening files (e.g., single-document)")}}}}})}},D={id:"@jupyterlab/filebrowser-extension:file-upload-status",description:"Adds a file upload status widget.",autoStart:!0,requires:[h.IFileBrowserFactory,g.ITranslator],optional:[m.IStatusBar],activate:(e,t,n,i)=>{if(!i)return;let o=new h.FileUploadStatus({tracker:t.tracker,translator:n});i.registerStatusItem("@jupyterlab/filebrowser-extension:file-upload-status",{item:o,align:"middle",isActive:()=>!!o.model&&o.model.items.length>0,activeStateChanged:o.model.stateChanged})}};function T(e,t,n,r,s,d){let c=r.load("jupyterlab"),{docRegistry:h,commands:u}=e,{tracker:p}=n,m="true"===l.PageConfig.getOption("delete_to_trash");u.addCommand(i.del,{execute:()=>{let e=p.currentWidget;if(e)return e.delete()},icon:A.closeIcon.bindprops({stylesheet:"menuItem"}),label:m?c.__("Move to Trash"):c.__("Delete"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.copy,{execute:()=>{let e=p.currentWidget;if(e)return e.copy()},icon:A.copyIcon.bindprops({stylesheet:"menuItem"}),label:c.__("Copy"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.cut,{execute:()=>{let e=p.currentWidget;if(e)return e.cut()},icon:A.cutIcon.bindprops({stylesheet:"menuItem"}),label:c.__("Cut"),describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.duplicate,{execute:()=>{let e=p.currentWidget;if(e)return e.duplicate()},icon:A.copyIcon.bindprops({stylesheet:"menuItem"}),label:c.__("Duplicate"),describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.selectAll,{execute:()=>{let e=p.currentWidget;if(e)return e.selectAll()},label:c.__("Select All"),describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.goToPath,{label:c.__("Update the file browser to display the provided `path`."),describedBy:{args:{type:"object",properties:{path:{type:"string",description:c.__("The path to navigate to")},dontShowBrowser:{type:"boolean",description:c.__("Whether to avoid showing the browser")}}}},execute:async e=>{var s;let a=e.path||"",l=!(null!=(s=null==e?void 0:e.dontShowBrowser)&&s);try{let e=await o.navigateToPath(a,t,n,r);if("directory"!==e.type&&l){let e=o.getBrowserForPath(a,t,n);if(e){e.clearSelectedItems();let t=a.split("/"),n=t[t.length-1];n&&await e.selectItemByName(n)}}}catch(e){console.warn(`${i.goToPath} failed to go to: ${a}`,e)}if(l)return u.execute(i.showBrowser,{path:a})}}),u.addCommand(i.goUp,{label:c.__("Go Up"),execute:async()=>{let e=o.getBrowserForPath("",t,n);if(!e)return;let{model:i}=e;await i.restored,e.goUp()},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.openPath,{label:e=>e.path?c.__("Open %1",e.path):c.__("Open from Path…"),caption:e=>e.path?c.__("Open %1",e.path):c.__("Open from path"),execute:async e=>{var r;let s;if(s=(null==e?void 0:e.path)?e.path:null!=(r=(await a.InputDialog.getText({label:c.__("Path"),placeholder:"/path/relative/to/jlab/root",title:c.__("Open Path"),okLabel:c.__("Open")})).value)?r:void 0)try{let r="/"!==s&&s.endsWith("/");r&&(s=s.slice(0,s.length-1));let{services:a}=o.getBrowserForPath(s,t,n).model.manager,l=await a.contents.get(s,{content:!1});if(r&&"directory"!==l.type)throw Error(`Path ${s}/ is not a directory`);if(await u.execute(i.goToPath,{path:s,dontShowBrowser:e.dontShowBrowser}),"directory"===l.type)return;return u.execute("docmanager:open",{path:s})}catch(e){return e.response&&404===e.response.status&&(e.message=c.__("Could not find path: %1",s)),(0,a.showErrorMessage)(c.__("Cannot open"),e)}},describedBy:{args:{type:"object",properties:{path:{type:"string",description:c.__("Path to the file or directory to open")},dontShowBrowser:{type:"boolean",description:c.__("Whether to avoid showing the file browser")}}}}}),d&&d.addItem({command:i.openPath,category:c.__("File Operations")}),u.addCommand(i.open,{execute:e=>{let t=e.factory||void 0,n=p.currentWidget;if(!n)return;let{contents:i}=n.model.manager.services;return Promise.all(Array.from((0,C.map)(n.selectedItems(),o=>{if("directory"===o.type){let e=i.localPath(o.path);return n.model.cd(`/${e}`)}return u.execute("docmanager:open",{factory:t,path:o.path,kernelPreference:e.kernelPreference})})))},icon:e=>{var t;let n=e.factory||void 0;if(!n)return A.folderIcon.bindprops({stylesheet:"menuItem"});{let e=h.getFileType(n);return null==(t=null==e?void 0:e.icon)?void 0:t.bindprops({stylesheet:"menuItem"})}},label:e=>e.label||e.factory||c.__("Open"),mnemonic:0,describedBy:{args:{type:"object",properties:{factory:{type:"string",description:c.__("The name of the widget factory to use")},label:{type:"string",description:c.__("The label to display for the command")}}}}}),u.addCommand(i.paste,{execute:()=>{let e=p.currentWidget;if(e)return e.paste()},icon:A.pasteIcon.bindprops({stylesheet:"menuItem"}),label:c.__("Paste"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.createNewDirectory,{execute:()=>{let e=p.currentWidget;if(e)return e.createNewDirectory()},icon:A.newFolderIcon.bindprops({stylesheet:"menuItem"}),label:c.__("New Folder"),describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.createNewFile,{execute:e=>{var t;let n=p.currentWidget;if(n)return n.createNewFile({ext:null!=(t=e.ext)?t:"txt"})},icon:e=>e.iconName?A.LabIcon.resolve({icon:e.iconName}):A.textEditorIcon.bindprops({stylesheet:"menuItem"}),label:e=>{var t;return c.__(null!=(t=e.label)?t:"New File")},describedBy:{args:{type:"object",properties:{label:{type:"string",default:"New File",description:c.__("The command label.")},iconName:{type:"string",description:c.__("The command icon.")},ext:{type:"string",default:"txt",description:c.__("The file extension.")}}}}}),u.addCommand(i.createNewMarkdownFile,{execute:()=>{let e=p.currentWidget;if(e)return e.createNewFile({ext:"md"})},icon:A.markdownIcon.bindprops({stylesheet:"menuItem"}),label:c.__("New Markdown File"),describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.refresh,{execute:async()=>{let e=p.currentWidget;if(e){e.node.classList.add("jp-mod-refreshing");try{await e.model.refresh()}finally{e.node.classList.remove("jp-mod-refreshing")}}},icon:A.refreshIcon.bindprops({stylesheet:"menuItem"}),caption:c.__("Refresh the file browser."),label:c.__("Refresh File List"),describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.rename,{execute:e=>{let t=p.currentWidget;if(t)return t.rename()},isVisible:()=>!!p.currentWidget&&1===Array.from(p.currentWidget.selectedItems()).length,icon:A.editIcon.bindprops({stylesheet:"menuItem"}),label:c.__("Rename"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.copyPath,{execute:()=>{var e;let t=p.currentWidget;if(!t)return;let n=t.selectedItems().next();if(!n.done)if("true"===l.PageConfig.getOption("copyAbsolutePath")){let t=l.PathExt.joinWithLeadingSlash(null!=(e=l.PageConfig.getOption("serverRoot"))?e:"",n.value.path);a.Clipboard.copyToSystem(t)}else a.Clipboard.copyToSystem(n.value.path)},isVisible:()=>!!p.currentWidget&&1===Array.from(p.currentWidget.selectedItems()).length,icon:A.fileIcon.bindprops({stylesheet:"menuItem"}),label:c.__("Copy Path"),describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.shutdown,{execute:()=>{let e=p.currentWidget;if(e)return e.shutdownKernels()},icon:A.stopIcon.bindprops({stylesheet:"menuItem"}),label:c.__("Shut Down Kernel"),describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.toggleFileFilter,{execute:()=>{t.showFileFilter=!t.showFileFilter,u.notifyCommandChanged(i.toggleFileFilter)},isToggled:()=>t.showFileFilter,icon:A.filterIcon.bindprops({stylesheet:"menuItem"}),label:c.__("Toggle File Filter"),describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.toggleLastModified,{label:c.__("Show Last Modified Column"),isToggled:()=>t.showLastModifiedColumn,execute:()=>{let e=!t.showLastModifiedColumn,n="showLastModifiedColumn";if(s)return s.set(v,n,e).catch(e=>{console.error(`Failed to set ${n} setting`)})},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.toggleShowFullPath,{label:c.__("Show Full Path"),isToggled:()=>t.showFullPath,execute:()=>{let e=!t.showFullPath,n="showFullPath";if(s)return s.set(v,n,e).catch(e=>{console.error(`Failed to set ${n} setting`)})},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.toggleSortNotebooksFirst,{label:c.__("Sort Notebooks Above Files"),isToggled:()=>t.sortNotebooksFirst,execute:()=>{let e=!t.sortNotebooksFirst,n="sortNotebooksFirst";if(s)return s.set(v,n,e).catch(e=>{console.error(`Failed to set ${n} setting`)})},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.toggleDateCreated,{label:c.__("Show Date Created Column"),isToggled:()=>t.showDateCreatedColumn,execute:()=>{let e=!t.showDateCreatedColumn,n="showDateCreatedColumn";if(s)return s.set(v,n,e).catch(e=>{console.error(`Failed to set ${n} setting`)})},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.toggleFileSize,{label:c.__("Show File Size Column"),isToggled:()=>t.showFileSizeColumn,execute:()=>{let e=!t.showFileSizeColumn,n="showFileSizeColumn";if(s)return s.set(v,n,e).catch(e=>{console.error(`Failed to set ${n} setting`)})},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.toggleSingleClick,{label:c.__("Enable Single Click Navigation"),isToggled:()=>t.singleClickNavigation,execute:()=>{let e=!t.singleClickNavigation,n="singleClickNavigation";if(s)return s.set(v,n,e).catch(e=>{console.error("Failed to set singleClickNavigation setting")})},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.toggleHiddenFiles,{label:c.__("Show Hidden Files"),isToggled:()=>t.showHiddenFiles,isVisible:()=>"true"===l.PageConfig.getOption("allow_hidden_files"),execute:()=>{let e=!t.showHiddenFiles,n="showHiddenFiles";if(s)return s.set(v,n,e).catch(e=>{console.error("Failed to set showHiddenFiles setting")})},describedBy:{args:{type:"object",properties:{}}}}),d&&d.addItem({command:i.toggleHiddenFiles,category:c.__("File Operations")}),u.addCommand(i.toggleFileCheckboxes,{label:c.__("Show File Checkboxes"),isToggled:()=>t.showFileCheckboxes,execute:()=>{let e=!t.showFileCheckboxes,n="showFileCheckboxes";if(s)return s.set(v,n,e).catch(e=>{console.error("Failed to set showFileCheckboxes setting")})},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.editPath,{execute:async()=>{var e;"function"!=typeof t.editPath?console.error("`editPath` is not available on the current file browser"):(await u.execute(i.showBrowser),(null!=(e=p.currentWidget)?e:t).editPath())},label:c.__("Edit File Browser Path"),isVisible:()=>"function"==typeof t.editPath,describedBy:{args:{type:"object",properties:{}}}}),d&&d.addItem({command:i.editPath,category:c.__("File Operations")})}let L=[w,j,y,E,M,D,x,S,I,k,{id:"@jupyterlab/filebrowser-extension:open-url",description:'Adds the feature "Open files from remote URLs".',autoStart:!0,requires:[h.IDefaultFileBrowser,g.ITranslator],optional:[a.ICommandPalette],activate:(e,t,n,o)=>{let{commands:r}=e,s=n.load("jupyterlab"),d=i.openUrl;r.addCommand(d,{label:e=>e.url?s.__("Open %1",e.url):s.__("Open from URL…"),caption:e=>e.url?s.__("Open %1",e.url):s.__("Open from URL"),execute:async e=>{var n,i,o;let d,c=null!=(n=null==e?void 0:e.url)?n:"";if(c||(c=null!=(i=(await a.InputDialog.getText({label:s.__("URL"),placeholder:"https://example.com/path/to/file",title:s.__("Open URL"),okLabel:s.__("Open")})).value)?i:void 0),!c)return;let h="";try{let e=await fetch(c);d=await e.blob(),h=null!=(o=e.headers.get("Content-Type"))?o:""}catch(e){return e.response&&200!==e.response.status&&(e.message=s.__("Could not open URL: %1",c)),(0,a.showErrorMessage)(s.__("Cannot fetch"),e)}try{let e=l.PathExt.basename(c),n=new File([d],e,{type:h}),i=await t.model.upload(n);return r.execute("docmanager:open",{path:i.path})}catch(e){return(0,a.showErrorMessage)(s._p("showErrorMessage","Upload Error"),e)}},describedBy:{args:{type:"object",properties:{url:{type:"string",description:s.__("URL of the file to open")}}}}}),o&&o.addItem({command:d,category:s.__("File Operations")})}},{id:"@jupyterlab/filebrowser-extension:notify-upload",requires:[h.IDefaultFileBrowser,u.ISettingRegistry,g.ITranslator],description:"Adds feature to auto-open supported files after upload",autoStart:!0,activate:async(e,t,n,i)=>{let o=i.load("jupyterlab"),r=await n.load(v),s=r.get("autoOpenUploads").composite,l=1024*r.get("maxAutoOpenSizeMB").composite*1024;r.changed.connect(()=>{s=r.get("autoOpenUploads").composite,l=1024*r.get("maxAutoOpenSizeMB").composite*1024}),e.restored.then(()=>{let n=Array.from(t.toolbar.children()).find(e=>e instanceof h.Uploader);n?n.filesUploaded.connect((t,n)=>{let i=Array.from(e.docRegistry.fileTypes()).reduce((e,t)=>{if(t.extensions)for(let n of t.extensions)e.push(n.toLowerCase());return e},[]),r=n[0].name.toLowerCase(),d=i.some(e=>r.endsWith(e));if(1===n.length&&("notebook"===n[0].type||"file"===n[0].type)){let t=n[0];s&&t.size&&t.size<=l&&d?e.commands.execute("docmanager:open",{path:t.path}).catch(e=>{(0,a.showErrorMessage)(`Opening ${t.name} failed`,e)}):a.Notification.emit(o.__("Uploaded %1%2",t.name,t.size?` (${(0,h.formatFileSize)(t.size,1,1024)})`:""),"info",{autoClose:5e3,actions:[{label:o.__("Open File"),callback:()=>{e.commands.execute("docmanager:open",{path:t.path}).catch(e=>{(0,a.showErrorMessage)(`Could not open ${t.name}`,e)})}}]})}else a.Notification.emit(o.__("Upload complete (%1 files)",n.length),"info",{autoClose:5e3,actions:[{label:o.__("Open All"),callback:()=>{n.forEach(t=>void e.commands.execute("docmanager:open",{path:t.path}).catch(e=>{(0,a.showErrorMessage)(`Could not open ${t.path}`,e)}))}}]})}):console.warn("Uploader widget not found")})}},B];!function(e){let t;async function n(t,n,i,o){let r=o.load("jupyterlab"),s=e.getBrowserForPath(t,n,i);if(!s)throw Error(r.__("No browser for path"));let{services:a}=s.model.manager,d=a.contents.localPath(t);await a.ready;let c=await a.contents.get(t,{content:!1}),{model:h}=s;return await h.restored,"directory"===c.type?await h.cd(`/${d}`):await h.cd(`/${l.PathExt.dirname(d)}`),c}e.getBrowserForPath=function(e,t,n){let{tracker:o}=n,r=t.model.manager.services.contents.driveName(e);if(r){let t=o.find(e=>e.model.driveName===r);return t||void console.warn(`${i.goToPath} failed to find filebrowser for path: ${e}`)}return t},e.navigateToPath=n,e.restoreBrowser=async function(e,t,n,o,r,s){let a="jp-mod-restoring";if(e.addClass(a),!n){await e.model.restore(e.id),await e.model.refresh(),e.removeClass(a);return}let l=async()=>{n.routed.disconnect(l);let r=await (null==o?void 0:o.paths);(null==r?void 0:r.file)||(null==r?void 0:r.browser)?(await e.model.restore(e.id,!1),r.file&&await t.execute(i.openPath,{path:r.file,dontShowBrowser:!0}),r.browser&&await t.execute(i.openPath,{path:r.browser,dontShowBrowser:!0})):(await e.model.restore(e.id),await e.model.refresh()),e.removeClass(a),(null==s?void 0:s.isEmpty("main"))&&t.execute("launcher:create")};n.routed.connect(l)},function(e){e.getFactories=function(e,t){let n=e.preferredWidgetFactories(t.path),i=e.getWidgetFactory("notebook");return i&&"notebook"===t.type&&-1===n.indexOf(i)&&n.unshift(i),n},e.intersection=function(e){let t;for(let n of e){if(void 0===t){t=new Set(n);continue}if(0===t.size)return t;let e=new Set;for(let i of n)t.has(i)&&e.add(i);t=e}return null!=t?t:new Set}}(t=e.OpenWith||(e.OpenWith={}))}(o||(o={}))},74953(e,t,n){"use strict";n(82311),n(97777),n(82946),n(62971),n(45350),n(67474),n(41603),n(29099);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(19037),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},40459(e,t,n){"use strict";n.r(t),n.d(t,{BreadCrumbs:()=>N,CHUNK_SIZE:()=>eR,DirListing:()=>ej,FileBrowser:()=>eN,FileBrowserModel:()=>eO,FileDialog:()=>r,FileUploadStatus:()=>e1,FilterFileBrowserModel:()=>eW,IDefaultFileBrowser:()=>eG,IDefaultFileBrowserRenderer:()=>e$,IFileBrowserCommands:()=>eJ,IFileBrowserFactory:()=>eq,LARGE_FILE_SIZE:()=>ez,TogglableHiddenFileBrowserModel:()=>eF,Uploader:()=>eK,formatFileSize:()=>ex});var i,o,r,s,a,l=n(97518),d=n(28951),c=n(53040),h=n(2786),u=n(8989),p=n(20659),m=n(64001),g=n(60721),A=n.n(g),C=n(18977);let f=5e3,b="jp-PathNavigator",v="jp-PathNavigator-suggestions";class _ extends m.Widget{constructor(e){var t;super({node:document.createElement("span")}),this._closed=new p.Signal(this),this._isOpen=!1,this._suggestions=[],this._currentFilteredSuggestions=[],this._activeSuggestionIndex=-1,this._suggestionDirPath="",this._suggestionFetchTime=0,this._fetchId=0,this._submittedLocalPath=null,this.addClass(b),this._model=e.model,this._trans=(null!=(t=e.translator)?t:h.nullTranslator).load("jupyterlab"),this._inputNode=document.createElement("input"),this._inputNode.type="text",this._inputNode.placeholder=this._trans.__("Type a path…"),this._suggestionsNode=document.createElement("ul"),this._suggestionsNode.className=v,this._suggestionsNode.style.display="none",this.node.appendChild(this._inputNode),this.node.appendChild(this._suggestionsNode),this._model.refreshed.connect(this._onModelRefreshed,this)}get closed(){return this._closed}dispose(){this.isDisposed||(this._model.refreshed.disconnect(this._onModelRefreshed,this),p.Signal.clearData(this),super.dispose())}open(){this._isOpen=!0;let e=this._model.manager.services.contents.localPath(this._model.path),t=e?e+"/":"";this._inputNode.value=t,requestAnimationFrame(()=>{this._isOpen&&!this.isDisposed&&(this._inputNode.focus(),this._inputNode.setSelectionRange(t.length,t.length))}),this._updateSuggestions(t)}onAfterAttach(e){super.onAfterAttach(e),this._inputNode.addEventListener("input",this),this._inputNode.addEventListener("keydown",this),this._inputNode.addEventListener("blur",this),this._suggestionsNode.addEventListener("mousedown",this)}onBeforeDetach(e){this._inputNode.removeEventListener("input",this),this._inputNode.removeEventListener("keydown",this),this._inputNode.removeEventListener("blur",this),this._suggestionsNode.removeEventListener("mousedown",this),super.onBeforeDetach(e)}handleEvent(e){switch(e.type){case"input":this._updateSuggestions(this._inputNode.value);break;case"keydown":this._evtKeydown(e);break;case"blur":this._close();break;case"mousedown":this._evtSuggestionMousedown(e)}}_close(){this._isOpen&&!this.isDisposed&&(this._isOpen=!1,this._submittedLocalPath=null,this._suggestionsNode.style.display="none",this._closed.emit())}_commitNavigation(e){let t=e.endsWith("/")&&e.length>1?e.slice(0,-1):e;t.startsWith("/")||(t="/"+t),t=t.replace(/\/{2,}/g,"/"),this._submittedLocalPath=this._model.manager.services.contents.localPath(t||"/"),this._suggestionsNode.style.display="none",this._model.cd(t||"/").then(()=>this._close()).catch(e=>{this._submittedLocalPath=null,(0,l.showErrorMessage)(this._trans.__("Open Error"),e),this._close()})}matchesSubmittedPath(e){return this._submittedLocalPath===e}async _updateSuggestions(e){if(!this._isOpen)return;let t=e.lastIndexOf("/"),n=t>=0?e.slice(0,t):"",i=n.startsWith("/")?n.slice(1):n,o=t>=0?e.slice(t+1):e,r=Date.now()-this._suggestionFetchTime>f;if(i!==this._suggestionDirPath||r){let e=++this._fetchId;try{let t=this._model.manager.services.contents,n=await t.get(i||"",{content:!0});if(e!==this._fetchId||!this._isOpen)return;this._suggestionDirPath=i,this._suggestionFetchTime=Date.now();let o="directory"===n.type?n.content:[];this._suggestions=o.filter(e=>"directory"===e.type).map(e=>i?`${i}/${e.name}`:e.name)}catch(e){this._suggestionDirPath=i,this._suggestionFetchTime=Date.now(),this._suggestions=[]}}let s=o.toLowerCase(),a=o.startsWith(".")||"includeHiddenFiles"in this._model&&this._model.includeHiddenFiles,l=this._suggestions.filter(e=>{let t=e.slice(e.lastIndexOf("/")+1);return!(!a&&t.startsWith("."))&&t.toLowerCase().startsWith(s)});this._activeSuggestionIndex=-1,this._renderSuggestions(l.slice().sort((e,t)=>{let n=e.slice(e.lastIndexOf("/")+1),i=t.slice(t.lastIndexOf("/")+1);return n.localeCompare(i)}))}_renderSuggestions(e){if(this._suggestionsNode.replaceChildren(),this._currentFilteredSuggestions=e,0===e.length){this._suggestionsNode.style.display="none";return}for(let t of e){let e=document.createElement("li"),n=t.slice(t.lastIndexOf("/")+1);e.textContent=n,e.dataset.path=t,n.startsWith(".")&&(e.dataset.isDot=""),this._suggestionsNode.appendChild(e)}this._suggestionsNode.style.display=""}_evtKeydown(e){var t;switch(e.key){case"Enter":this._commitNavigation(this._inputNode.value);break;case"Escape":this._close();break;case"Tab":(null==(t=this._currentFilteredSuggestions)?void 0:t.length)&&(e.preventDefault(),this._acceptSuggestion());break;case"ArrowDown":e.preventDefault(),this._navigateSuggestions(1);break;case"ArrowUp":e.preventDefault(),this._navigateSuggestions(-1)}}_evtSuggestionMousedown(e){e.preventDefault();let t=e.target;for(;t&&t!==this._suggestionsNode;){if("LI"===t.tagName){let e=t.dataset.path;e&&this._commitNavigation(e);return}t=t.parentElement}}_navigateSuggestions(e){let t=Array.from(this._suggestionsNode.children);if(0===t.length)return;this._activeSuggestionIndex>=0&&t[this._activeSuggestionIndex].classList.remove("jp-mod-active"),this._activeSuggestionIndex+=e,this._activeSuggestionIndex<0?this._activeSuggestionIndex=t.length-1:this._activeSuggestionIndex>=t.length&&(this._activeSuggestionIndex=0);let n=t[this._activeSuggestionIndex];n.classList.add("jp-mod-active"),n.scrollIntoView({block:"nearest"});let i=n.dataset.path;i&&(this._inputNode.value=i)}_acceptSuggestion(){let e=Array.from(this._suggestionsNode.children);if(this._activeSuggestionIndex>=0&&e[this._activeSuggestionIndex]){let t=e[this._activeSuggestionIndex].dataset.path;t&&(this._inputNode.value=t+"/",this._updateSuggestions(this._inputNode.value))}else if(1===this._currentFilteredSuggestions.length)this._inputNode.value=this._currentFilteredSuggestions[0]+"/",this._updateSuggestions(this._inputNode.value);else if(this._currentFilteredSuggestions.length>1){let e=this._currentFilteredSuggestions.map(e=>e.slice(e.lastIndexOf("/")+1)),t=e[0];for(let n of e.slice(1)){let e=0;for(;e<t.length&&e<n.length&&t[e]===n[e];)e++;t=t.slice(0,e)}if(t){let e=this._inputNode.value.lastIndexOf("/"),n=e>=0?this._inputNode.value.slice(0,e+1):"";this._inputNode.value=n+t,this._updateSuggestions(this._inputNode.value)}}}_onModelRefreshed(){this._suggestionFetchTime=0,this._isOpen&&this._updateSuggestions(this._inputNode.value)}}var y=n(55187),E=n(59807);let w="jp-BreadCrumbs",j="jp-BreadCrumbs-home",x="jp-BreadCrumbs-preferred",B="jp-BreadCrumbs-item",S="jp-BreadCrumbs-ellipsis",M="jp-BreadCrumbs-separator",I="application/x-jupyter-icontents",k="jp-mod-dropTarget",D="jp-BreadCrumbs-container",T="jp-BreadCrumbs-content",L="jp-mod-editMode";class N extends m.Widget{constructor(e){var t,n;super(),this._previousState=null,this._cachedWidths=null,this._lastRenderedWidth=0,this._isEditMode=!1,this._lastPath="",this._restoreBreadcrumbFocusAfterUpdate=!1,this.translator=e.translator||h.nullTranslator,this._trans=this.translator.load("jupyterlab"),this._model=e.model,this._fullPath=e.fullPath||!1,this._minimumLeftItems=null!=(t=e.minimumLeftItems)?t:0,this._minimumRightItems=null!=(n=e.minimumRightItems)?n:2,this._onPathEdited=e.onPathEdited,this._onPathActivated=e.onPathActivated,this.addClass(w),this._crumbs=i.createCrumbs();const o=d.PageConfig.getOption("preferredPath");this._hasPreferred=!!o&&"/"!==o,this._crumbContainer=document.createElement("span"),this._crumbContainer.className=D,this._crumbContent=document.createElement("span"),this._crumbContent.className=T,this._crumbContainer.appendChild(this._crumbContent),this.node.appendChild(this._crumbContainer),this._model.refreshed.connect(this._onModelRefreshed,this),this._resizeThrottler=new E.Throttler(()=>this._onResize(),50),this._resizeObserver=new ResizeObserver(e=>{let t=e[0];if(!t)return;let n=t.contentRect.width;this._lastRenderedWidth>0&&n<this._lastRenderedWidth?this._onResize():this._resizeThrottler.invoke()}),this._pathNavigator=new _({model:this._model,translator:e.translator}),this._pathNavigator.closed.connect(this._exitEditMode,this)}handleEvent(e){switch(e.type){case"keydown":this._evtKeyDown(e);break;case"click":this._evtClick(e);break;case"lm-dragenter":this._evtDragEnter(e);break;case"lm-dragleave":this._evtDragLeave(e);break;case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e);break;default:return}}get fullPath(){return this._fullPath}set fullPath(e){this._fullPath=e}get minimumLeftItems(){return this._minimumLeftItems}set minimumLeftItems(e){this._minimumLeftItems=e}get minimumRightItems(){return this._minimumRightItems}set minimumRightItems(e){this._minimumRightItems=e}dispose(){this.isDisposed||(this._model.refreshed.disconnect(this._onModelRefreshed,this),this._pathNavigator.closed.disconnect(this._exitEditMode,this),this._pathNavigator.dispose(),this._resizeObserver.disconnect(),this._resizeThrottler.dispose(),super.dispose())}onAfterAttach(e){super.onAfterAttach(e),this.update();let t=this.node;t.addEventListener("keydown",this),t.addEventListener("click",this),t.addEventListener("lm-dragenter",this),t.addEventListener("lm-dragleave",this),t.addEventListener("lm-dragover",this),this._resizeObserver.observe(t),t.addEventListener("lm-drop",this),m.Widget.attach(this._pathNavigator,this.node)}onBeforeDetach(e){m.Widget.detach(this._pathNavigator),super.onBeforeDetach(e);let t=this.node;t.removeEventListener("keydown",this),t.removeEventListener("click",this),t.removeEventListener("lm-dragenter",this),t.removeEventListener("lm-dragleave",this),t.removeEventListener("lm-dragover",this),t.removeEventListener("lm-drop",this),this._resizeObserver.unobserve(t)}onUpdateRequest(e){if(this._isEditMode)return;let t=this._model.manager.services.contents.localPath(this._model.path);this._lastPath=t,this._previousState&&this._previousState.path!==t&&(this._cachedWidths=null);let n=this._calculateAdaptiveItems(t),o={path:t,root:this._model.root,hasPreferred:this._hasPreferred,fullPath:this._fullPath,minimumLeftItems:n.left,minimumRightItems:n.right};null!==this._previousState&&y.JSONExt.deepEqual(o,this._previousState)||(this._previousState=o,i.updateCrumbs(this._crumbContent,this._crumbs,o),this._syncCrumbTabIndices()),this._runPostActivationFocus()}_runPostActivationFocus(){this._restoreBreadcrumbFocusAfterUpdate&&(this._restoreBreadcrumbFocusAfterUpdate=!1,requestAnimationFrame(()=>{var e;this.isDisposed||this._isEditMode||null==(e=this._onPathActivated)||e.call(this)}))}_getFocusableCrumbElements(){let e=[],t=this._crumbContent.children;for(let n=0;n<t.length;n++){let i=t[n];(i.classList.contains(x)||i.classList.contains(j)||i.classList.contains(B))&&e.push(i)}return e}_syncCrumbTabIndices(){let e=this._getFocusableCrumbElements();for(let t=0;t<e.length;t++)e[t].tabIndex=0===t?0:-1}_focusCrumb(e){let t=this._getFocusableCrumbElements(),n=t.indexOf(e);if(-1!==n){for(let e=0;e<t.length;e++)t[e].tabIndex=e===n?0:-1;e.focus()}}_focusTrailingCrumb(){let e=this._getFocusableCrumbElements();if(0===e.length){this.node.tabIndex=-1,this.node.focus();return}this._focusCrumb(e[e.length-1])}_resolveCrumbFromEventTarget(e){let t=e;for(;t&&t!==this.node;){if(t.classList.contains(x)||t.classList.contains(j)||t.classList.contains(B))return t;t=t.parentElement}return null}_isCurrentDirectoryCrumb(e){if(!e.classList.contains(B)||e.classList.contains(S))return!1;let t=this._model.manager.services.contents.localPath(this._model.path);return e.dataset.path===t}_activateCrumbSegment(e){this._focusCrumb(e);let t=this._destinationForCrumb(e);t&&(this._restoreBreadcrumbFocusAfterUpdate=!0,this._model.cd(t).catch(e=>{this._restoreBreadcrumbFocusAfterUpdate=!1,(0,l.showErrorMessage)(this._trans.__("Open Error"),e)}))}_destinationForCrumb(e){if(e.classList.contains(x)){let e=d.PageConfig.getOption("preferredPath");return e?"/"+e:"/"}return e.classList.contains(j)?"/":e.classList.contains(B)?`/${e.dataset.path}`:null}_evtKeyDown(e){if(this._isEditMode)return;let t="Enter"===e.key||" "===e.key,n=this._resolveCrumbFromEventTarget(e.target),i=this._model.manager.services.contents.localPath(this._model.path);if(t&&n&&this._crumbContent.contains(n)){let t=" "===e.key&&n.classList.contains(j)&&""===i;this._isCurrentDirectoryCrumb(n)||t?this.enterEditMode():this._activateCrumbSegment(n),e.preventDefault(),e.stopPropagation();return}if("ArrowLeft"!==e.key&&"ArrowRight"!==e.key||!n||!this._crumbContent.contains(n))return;let o=this._getFocusableCrumbElements(),r=o.indexOf(n);if(-1===r)return;let s=r+("ArrowLeft"===e.key?-1:1);s<0||s>=o.length||(this._focusCrumb(o[s]),e.preventDefault(),e.stopPropagation())}_evtClick(e){if(0!==e.button||this._isEditMode)return;let t=e.target;for(;t&&t!==this.node;){if(t.classList.contains(x)||t.classList.contains(B)||t.classList.contains(j)){this._activateCrumbSegment(t),e.preventDefault(),e.stopPropagation();return}t=t.parentElement}this.enterEditMode()}_evtDragEnter(e){if(e.mimeData.hasData(I)){let t=this._getBreadcrumbElements(),n=-1,i=e.target;for(;i&&i!==this.node&&-1===(n=t.indexOf(i));)i=i.parentElement;if(-1!==n){let i=t[n],o=this._model.manager.services.contents.localPath(this._model.path);i.dataset.path!==o&&(i.classList.add(k),e.preventDefault(),e.stopPropagation())}}}_evtDragLeave(e){e.preventDefault(),e.stopPropagation();let t=l.DOMUtils.findElement(this.node,k);t&&t.classList.remove(k)}_evtDragOver(e){e.preventDefault(),e.stopPropagation(),e.dropAction=e.proposedAction;let t=l.DOMUtils.findElement(this.node,k);t&&t.classList.remove(k);let n=this._getBreadcrumbElements(),i=-1,o=e.target;for(;o&&o!==this.node&&-1===(i=n.indexOf(o));)o=o.parentElement;-1!==i&&n[i].classList.add(k)}_evtDrop(e){if(e.preventDefault(),e.stopPropagation(),"none"===e.proposedAction){e.dropAction="none";return}if(!e.mimeData.hasData(I))return;e.dropAction=e.proposedAction;let t=e.target;for(;t&&t.parentElement;){if(t.classList.contains(k)){t.classList.remove(k);break}t=t.parentElement}let n=null;if(t.classList.contains(j))n="/";else if(t.classList.contains(x)){let e=d.PageConfig.getOption("preferredPath");n=e?"/"+e:"/"}else t.dataset.path&&(n=t.dataset.path);if(!n)return;let i=this._model.manager,o=[];for(let t of e.mimeData.getData(I)){let e=d.PathExt.basename(t),r=d.PathExt.join(n,e);o.push((0,C.renameFile)(i,t,r))}Promise.all(o).catch(e=>(0,l.showErrorMessage)(this._trans.__("Move Error"),e))}_getBreadcrumbElements(){let e=[],t=this._crumbContent.children;for(let n=0;n<t.length;n++){let i=t[n];(i.classList.contains(B)||i.classList.contains(j)||i.classList.contains(x))&&!i.classList.contains(S)&&e.push(i)}return e}_onResize(){!this.isDisposed&&this.isAttached&&(this._previousState=null,this.update())}_measureAllItemWidths(e){let t=this._crumbContent,n=this._crumbs[i.Crumb.Home],o=this._crumbs[i.Crumb.Ellipsis],r=this._crumbs[i.Crumb.Preferred],s=t.getElementsByClassName(M),a=s.length>0?s[0]:null,l=document.createElement("div");l.style.position="absolute",l.style.visibility="hidden",l.style.height="0",l.style.overflow="hidden",l.style.whiteSpace="nowrap",l.className=w,t.appendChild(l);let d=[];for(let t=0;t<e.length;t++){let n=document.createElement("span");n.className=B,n.textContent=e[t],l.appendChild(n);let i=n.getBoundingClientRect().width;d.push((i>0?i:Math.max(8*e[t].length,20))+4)}t.removeChild(l),this._cachedWidths={home:(n.getBoundingClientRect().width||22)+4,ellipsis:(o.getBoundingClientRect().width||28)+4,separator:(null==a?void 0:a.getBoundingClientRect().width)||4,preferred:this._hasPreferred?(r.getBoundingClientRect().width||22)+4:0,itemWidths:d}}_calculateAdaptiveItems(e){this._lastRenderedWidth=0;let t=e.split("/").filter(e=>""!==e),n=t.length;if(this._fullPath||0===n||n<=this._minimumLeftItems+this._minimumRightItems)return{left:this._minimumLeftItems,right:this._minimumRightItems};let i=this.node.clientWidth;if(0===i)return{left:this._minimumLeftItems,right:this._minimumRightItems};this._cachedWidths&&this._cachedWidths.itemWidths.length===n||this._measureAllItemWidths(t);let o=this._cachedWidths.home,r=this._cachedWidths.separator,s=this._cachedWidths.ellipsis,a=this._cachedWidths.preferred,l=this._cachedWidths.itemWidths,d=o+r;this._hasPreferred&&(d+=a);let c=i-d,h=0;for(let e=0;e<n;e++)h+=l[e]+r;if(h<=c)return this._lastRenderedWidth=d+h,{left:n,right:0};let u=s+r,p=c-u,m=0;for(let e=0;e<this._minimumLeftItems&&e<n;e++)m+=l[e]+r;let g=p-m,A=0,C=0;for(let e=n-1;e>=this._minimumLeftItems;e--){let t=l[e]+r;if(C+t<=g)C+=t,A++;else break}let f=Math.max(A,this._minimumRightItems),b=C;if(f>A){b=0;for(let e=n-f;e<n;e++)b+=l[e]+r}return this._lastRenderedWidth=d+u+m+b,{left:this._minimumLeftItems,right:f}}enterEditMode(){this._isEditMode=!0;let e=this._model.manager.services.contents;this._lastPath=e.localPath(this._model.path),this.node.classList.add(L),this._previousState=null,this._pathNavigator.open()}focusLastCrumb(){requestAnimationFrame(()=>{this._focusTrailingCrumb()})}_exitEditMode(){this._isEditMode&&(this._isEditMode=!1,this.node.classList.remove(L),this._previousState=null,this.update())}_onModelRefreshed(){var e;let t=this._model.manager.services.contents.localPath(this._model.path);if(this._isEditMode){(this._pathNavigator.matchesSubmittedPath(t)||t!==this._lastPath)&&(this._exitEditMode(),null==(e=this._onPathEdited)||e.call(this));return}this.update()}}!function(e){let t;function n(n,r,s){let a=[],l=(s.root?s.root.split("/").filter(e=>""!==e):[]).length;s.root?a.push(o()):(s.hasPreferred&&a.push(r[e.Crumb.Preferred]),a.push(r[t.Home],o()));let d=s.path.split("/").filter(e=>""!==e),c=s.root?d.slice(l):d,h=l;if(!s.fullPath&&c.length>0){let e=s.minimumLeftItems,n=s.minimumRightItems;if(c.length>e+n){for(let t=0;t<e;t++){let e=h+t,n=d.slice(0,e+1).join("/");a.push(i(c[t],n)),a.push(o())}let s=e,l=c.length-n,u=c.slice(s,l),p=r[t.Ellipsis];p.title=u.join("/"),p.dataset.path=u.length>0?d.slice(0,h+l).join("/"):d.slice(0,h+e).join("/"),a.push(p,o());let m=c.length-n;for(let e=m;e<c.length;e++){let t=h+e,n=d.slice(0,t+1).join("/");a.push(i(c[e],n)),a.push(o())}}else for(let e=0;e<c.length;e++){let t=h+e,n=d.slice(0,t+1).join("/");a.push(i(c[e],n)),a.push(o())}}else if(s.fullPath&&c.length>0)for(let e=0;e<c.length;e++){let t=h+e,n=d.slice(0,t+1).join("/");a.push(i(c[e],n)),a.push(o())}n.replaceChildren(...a)}function i(e,t){let n=document.createElement("span");return n.className=B,n.textContent=e,n.title=t,n.dataset.path=t,n.tabIndex=-1,n}function o(){let e=document.createElement("span");return e.className=M,e.textContent="/",e}!function(e){e[e.Home=0]="Home",e[e.Ellipsis=1]="Ellipsis",e[e.Preferred=2]="Preferred"}(t=e.Crumb||(e.Crumb={})),e.updateCrumbs=n,e.createCrumbs=function(){let e=u.folderIcon.element({className:j,tag:"span",title:d.PageConfig.getOption("serverRoot")||"Jupyter Server Root",stylesheet:"breadCrumb"});e.dataset.path="/",e.tabIndex=-1;let t=u.ellipsesIcon.element({className:`${B} ${S}`,tag:"span",stylesheet:"breadCrumb"});t.tabIndex=-1;let n=d.PageConfig.getOption("preferredPath"),i=n?"/"+n:n,o=u.folderFavoriteIcon.element({className:x,tag:"span",title:i||"Jupyter Preferred Path",stylesheet:"breadCrumb"});return o.dataset.path=i||"/",o.tabIndex=-1,[e,t,o]},e.createCrumbSeparator=o}(i||(i={}));var P=n(31997),z=n(65819),R=n(53193),O=n(63995),F=n(11957),W=n(93771),H=n(19953);let U="jp-DirListing",Y="jp-DirListing-header",V="jp-DirListing-headerItem",q="jp-DirListing-headerItemText",G="jp-DirListing-headerItemIcon",$="jp-DirListing-content",J="jp-DirListing-item",K="jp-DirListing-itemText",Z="jp-DirListing-itemName",Q="jp-DirListing-itemIcon",X="jp-DirListing-itemModified",ee="jp-DirListing-itemFileSize",et="jp-DirListing-itemCreated",en="jp-DirListing-checkboxWrapper",ei="jp-DirListing-editor",eo="jp-id-name",er="jp-id-modified",es="jp-id-filesize",ea="jp-id-created",el="application/x-jupyter-icontents",ed="application/x-jupyter-icontentsrich",ec="jp-mod-dropTarget",eh="jp-mod-selected",eu="jp-DragIcon",ep="jp-DirListing-resizeHandle",em="jp-mod-clipboard",eg="jp-mod-cut",eA="jp-mod-multiSelected",eC="jp-mod-running",ef="jp-mod-active",eb="jp-mod-descending",ev=1e3,e_=5,ey=5,eE=!!navigator.platform.match(/Mac/i),ew="application/vnd.lumino.widget-factory";class ej extends m.Widget{constructor(e){var t;super({node:(e.renderer||ej.defaultRenderer).createNode()}),this._items=[],this._sortedItems=[],this._sortState={direction:"ascending",key:"name"},this._onItemOpened=new p.Signal(this),this._selectionChanged=new p.Signal(this),this._drag=null,this._dragData=null,this._resizeData=null,this._selectTimer=-1,this._isCut=!1,this._prevPath="",this._clipboard=[],this._softSelection="",this.selection=Object.create(null),this._searchPrefix="",this._searchPrefixTimer=-1,this._inRename=!1,this._isDirty=!1,this._hiddenColumns=new Set,this._columnSizes={name:null,file_size:null,is_selected:null,last_modified:null,date_created:null},this._sortNotebooksFirst=!1,this._sortFileNamesNaturally=!0,this._allowSingleClick=!1,this._allowDragDropUpload=!0,this._focusIndex=0,this._focusPath="",this._modifiedStyle="short",this._createdStyle="short",this._allUploaded=new p.Signal(this),this._width=null,this._state=null,this._contentScrollbarWidth=0,this._contentSizeObserver=new ResizeObserver(this._onContentResize.bind(this)),this._paddingWidth=0,this._handleWidth=e_,this._lastRenderedState=new WeakMap,this.addClass(U),this.translator=e.translator||h.nullTranslator,this._trans=this.translator.load("jupyterlab"),this._model=e.model,this._model.fileChanged.connect(this._onFileChanged,this),this._model.refreshed.connect(this._onModelRefreshed,this),this._model.pathChanged.connect(this._onPathChanged,this),this._editNode=document.createElement("input"),this._editNode.className=ei,this._manager=this._model.manager,this._renderer=e.renderer||ej.defaultRenderer,this._state=e.state||null,this._allowDragDropUpload=null==(t=e.allowDragDropUpload)||t,this._handleOpenFile=e.handleOpenFile||(e=>{this._manager.openOrReveal(e)}),this._updateModifiedSize(this.node),this._updateCreatedSize(this.node);const n=l.DOMUtils.findElement(this.node,Y);this._hiddenColumns.add("file_size"),this._hiddenColumns.add("date_created"),this._renderer.populateHeaderNode(n,this.translator,this._hiddenColumns,this._columnSizes),this._manager.activateRequested.connect(this._onActivateRequested,this)}dispose(){this._items.length=0,this._sortedItems.length=0,this._clipboard.length=0,super.dispose()}get model(){return this._model}get headerNode(){return l.DOMUtils.findElement(this.node,Y)}get contentNode(){return l.DOMUtils.findElement(this.node,$)}get renderer(){return this._renderer}get sortState(){return this._sortState}get onItemOpened(){return this._onItemOpened}get selectionChanged(){return this._selectionChanged}selectedItems(){let e=this._sortedItems;return(0,z.filter)(e,e=>this.selection[e.path])}sortedItems(){return this._sortedItems[Symbol.iterator]()}sort(e){this._sortedItems=o.sort(this.model.items(),e,this._sortNotebooksFirst,this._sortFileNamesNaturally,this.translator),this._sortState=e,this.update(),this._saveState()}rename(){return this._doRename()}cut(){this._isCut=!0,this._copy(),this.update()}copy(){this._copy()}paste(){if(!this._clipboard.length)return this._isCut=!1,Promise.resolve(void 0);let e=this._model.path,t=[];for(let n of this._clipboard)if(this._isCut){let i=this._manager.services.contents.localPath(n).split("/"),o=i[i.length-1],r=d.PathExt.join(e,o);t.push(this._model.manager.rename(n,r))}else t.push(this._model.manager.copy(n,e));for(let e of this._items)e.classList.remove(eg);return this._clipboard.length=0,this._isCut=!1,this.removeClass(em),Promise.all(t).then(()=>{}).catch(e=>{(0,l.showErrorMessage)(this._trans._p("showErrorMessage","Paste Error"),e)})}async delete(){let e="true"===d.PageConfig.getOption("delete_to_trash"),t=this._sortedItems.filter(e=>this.selection[e.path]);if(!t.length)return;let n=this._trans.__("Are you sure you want to move to trash: %1?",t[0].name),i=this._trans.__("Are you sure you want to permanently delete: %1?",t[0].name),o=this._trans._n("Are you sure you want to move to trash the %1 selected item?","Are you sure you want to move to trash the %1 selected items?",t.length),r=this._trans._n("Are you sure you want to permanently delete the %1 selected item?","Are you sure you want to permanently delete the %1 selected items?",t.length),s=e?n:i,a=e?o:r,c=e?this._trans.__("Move to Trash"):this._trans.__("Delete"),h=1===t.length?s:a,u=await (0,l.showDialog)({title:c,body:h,buttons:[l.Dialog.cancelButton({label:this._trans.__("Cancel")}),l.Dialog.warnButton({label:c})],defaultButton:0});!this.isDisposed&&u.button.accept&&await this._delete(t.map(e=>e.path));let p=this._focusIndex,m=this._sortedItems.length-t.length-1;p>m&&(p=Math.max(0,m)),this._focusItem(p)}duplicate(){let e=this._model.path,t=[];for(let n of this.selectedItems())"directory"!==n.type&&t.push(this._model.manager.copy(n.path,e));return Promise.all(t).then(()=>{}).catch(e=>{(0,l.showErrorMessage)(this._trans._p("showErrorMessage","Duplicate file"),e)})}async selectAll(){let e=this._model.items(),t={};for(let n of e)t[n.path]=!0;this.selection=t,this._selectionChanged.emit(),this.update()}async download(){await Promise.all(Array.from(this.selectedItems()).filter(e=>"directory"!==e.type).map(e=>this._model.download(e.path)))}async restore(e){let t=`file-browser-${e}:columns`,n=this._state;if(this._stateColumnsKey=t,n)try{let e=await n.fetch(t);if(!e)return;let i=e.sizes,r=e.sortState;if(r&&(this._sortState=r),i){for(let[e,t]of Object.entries(i))this._columnSizes[e]=t;this._updateColumnSizes()}r&&(this._sortedItems=o.sort(this.model.items(),r,this._sortNotebooksFirst,this._sortFileNamesNaturally,this.translator),this.headerNode.innerHTML="",this._renderer.populateHeaderNode(this.headerNode,this.translator,this._hiddenColumns,this._columnSizes,r),this.update())}catch(e){await n.remove(t)}}_saveState(){this._state&&this._stateColumnsKey&&this._state.save(this._stateColumnsKey,{sizes:this._columnSizes,sortState:{...this._sortState}})}shutdownKernels(){let e=this._model,t=this._sortedItems,n=t.map(e=>e.path);return Promise.all(Array.from(this._model.sessions()).filter(e=>{let i=z.ArrayExt.firstIndexOf(n,e.path);return this.selection[t[i].path]}).map(t=>e.manager.services.sessions.shutdown(t.id))).then(()=>{}).catch(e=>{(0,l.showErrorMessage)(this._trans._p("showErrorMessage","Shut down kernel"),e)})}selectNext(e=!1){let t=-1,n=Object.keys(this.selection),i=this._sortedItems;if(1===n.length||e){let e=n[n.length-1];(t=z.ArrayExt.findFirstIndex(i,t=>t.path===e)+1)===this._items.length&&(t=0)}else if(0===n.length)t=0;else{let e=n[n.length-1];t=z.ArrayExt.findFirstIndex(i,t=>t.path===e)}-1!==t&&(this._selectItem(t,e),R.ElementExt.scrollIntoViewIfNeeded(this.contentNode,this._items[t]))}selectPrevious(e=!1){let t=-1,n=Object.keys(this.selection),i=this._sortedItems;if(1===n.length||e){let e=n[0];-1==(t=z.ArrayExt.findFirstIndex(i,t=>t.path===e)-1)&&(t=this._items.length-1)}else if(0===n.length)t=this._items.length-1;else{let e=n[0];t=z.ArrayExt.findFirstIndex(i,t=>t.path===e)}-1!==t&&(this._selectItem(t,e),R.ElementExt.scrollIntoViewIfNeeded(this.contentNode,this._items[t]))}selectByPrefix(){let e=this._searchPrefix.toLowerCase(),t=this._sortedItems,n=z.ArrayExt.findFirstIndex(t,t=>t.name.toLowerCase().substr(0,e.length)===e);-1!==n&&(this._selectItem(n,!1),R.ElementExt.scrollIntoViewIfNeeded(this.contentNode,this._items[n]))}isSelected(e){let t=this._sortedItems;return 0!==Array.from((0,z.filter)(t,t=>t.name===e&&this.selection[t.path])).length}modelForClick(e){let t=this._sortedItems,n=o.hitTestNodes(this._items,e);if(-1!==n)return t[n]}clearSelectedItems(e=!0){this.selection=Object.create(null),e&&this._selectionChanged.emit()}_focusContent(){let e=this._sortedItems;if(0===e.length)return void this._focusItem(0);let t=""!==this._focusPath?z.ArrayExt.findFirstIndex(e,e=>e.path===this._focusPath):-1;-1===t&&(t=Math.min(Math.max(this._focusIndex,0),e.length-1)),this._selectItem(t,!1,!0)}onActivateRequest(e){this._focusContent()}async selectItemByName(e,t=!1){return this._selectItemByName(e,t)}async _selectItemByName(e,t=!1,n=!1){if(!n&&this.isSelected(e))return;if(await this.model.refresh(),this.isDisposed)throw Error("File browser is disposed.");let i=this._sortedItems,o=z.ArrayExt.findFirstIndex(i,t=>t.name===e);if(-1===o)throw Error("Item does not exist.");this._selectItem(o,!1,t),W.MessageLoop.sendMessage(this,m.Widget.Msg.UpdateRequest),R.ElementExt.scrollIntoViewIfNeeded(this.contentNode,this._items[o])}handleEvent(e){switch(e.type){case"mousedown":this._evtMousedown(e);break;case"mouseup":this._evtMouseup(e);break;case"mousemove":this._evtMousemove(e);break;case"keydown":this.evtKeydown(e);break;case"click":this._evtClick(e);break;case"dblclick":this.evtDblClick(e);break;case"dragenter":case"dragover":this._allowDragDropUpload&&this.addClass("jp-mod-native-drop"),e.preventDefault();break;case"dragleave":case"dragend":this.removeClass("jp-mod-native-drop");break;case"drop":this.removeClass("jp-mod-native-drop"),this.evtNativeDrop(e);break;case"scroll":this._evtScroll(e);break;case"lm-dragenter":this.evtDragEnter(e);break;case"lm-dragleave":this.evtDragLeave(e);break;case"lm-dragover":this.evtDragOver(e);break;case"lm-drop":this.evtDrop(e)}}onAfterAttach(e){super.onAfterAttach(e);let t=this.node;this._width=this._computeContentWidth();let n=l.DOMUtils.findElement(t,$);t.addEventListener("mousedown",this),t.addEventListener("keydown",this),t.addEventListener("click",this),t.addEventListener("dblclick",this),this._contentSizeObserver.observe(n),n.addEventListener("dragenter",this),n.addEventListener("dragover",this),n.addEventListener("dragleave",this),n.addEventListener("dragend",this),n.addEventListener("drop",this),n.addEventListener("scroll",this),n.addEventListener("lm-dragenter",this),n.addEventListener("lm-dragleave",this),n.addEventListener("lm-dragover",this),n.addEventListener("lm-drop",this),this._updateColumnSizes()}onBeforeDetach(e){super.onBeforeDetach(e);let t=this.node,n=l.DOMUtils.findElement(t,$);t.removeEventListener("mousedown",this),t.removeEventListener("keydown",this),t.removeEventListener("click",this),t.removeEventListener("dblclick",this),this._contentSizeObserver.disconnect(),n.removeEventListener("scroll",this),n.removeEventListener("dragover",this),n.removeEventListener("dragover",this),n.removeEventListener("dragleave",this),n.removeEventListener("dragend",this),n.removeEventListener("drop",this),n.removeEventListener("lm-dragenter",this),n.removeEventListener("lm-dragleave",this),n.removeEventListener("lm-dragover",this),n.removeEventListener("lm-drop",this),document.removeEventListener("mousemove",this,!0),document.removeEventListener("mouseup",this,!0)}onAfterShow(e){this._isDirty&&(this.sort(this.sortState),this.update())}_onContentResize(){let e=l.DOMUtils.findElement(this.node,$),t=e.offsetWidth-e.clientWidth;t!=this._contentScrollbarWidth&&(this._contentScrollbarWidth=t,this._width=this._computeContentWidth(),this._updateColumnSizes())}_computeContentWidth(e=null){e||(e=this.node.getBoundingClientRect().width),this._paddingWidth=parseFloat(window.getComputedStyle(this.node).getPropertyValue("--jp-dirlisting-padding-width"));let t=this.node.querySelector(`.${ep}`);return this._handleWidth=t?t.getBoundingClientRect().width:e_,e-2*this._paddingWidth-this._contentScrollbarWidth}_updateModifiedSize(e){this._modifiedStyle=this._computeDateColumnStyle(e,er,"last_modified")}_updateCreatedSize(e){this._createdStyle=this._computeDateColumnStyle(e,ea,"date_created")}_computeDateColumnStyle(e,t,n){var i,o;let r=l.DOMUtils.findElement(e,t),s=null!=(o=null!=(i=this._columnSizes[n])?i:null==r?void 0:r.getBoundingClientRect().width)?o:83;return s<100?"narrow":s>120?"long":"short"}_updateModifiedStyleAndSize(){let e=this._modifiedStyle;this._updateModifiedSize(this.node),e!==this._modifiedStyle&&this.updateModified(this._sortedItems,this._items)}_updateCreatedStyleAndSize(){let e=this._createdStyle;this._updateCreatedSize(this.node),e!==this._createdStyle&&this.updateCreated(this._sortedItems,this._items)}updateModified(e,t){e.forEach((e,n)=>{let i=t[n];if(i&&e.last_modified){let t=l.DOMUtils.findElement(i,X);if(!t)return;void 0!==this.renderer.updateItemModified?this.renderer.updateItemModified(t,e.last_modified,this._modifiedStyle):ej.defaultRenderer.updateItemModified(t,e.last_modified,this._modifiedStyle)}})}updateCreated(e,t){e.forEach((e,n)=>{let i=t[n];if(i&&e.created){let t=l.DOMUtils.findElement(i,et);if(!t)return;void 0!==this.renderer.updateItemCreated?this.renderer.updateItemCreated(t,e.created,this._createdStyle):ej.defaultRenderer.updateItemCreated(t,e.created,this._createdStyle)}})}updateNodes(e,t,n=!1){var i;e.forEach((e,i)=>{let o=t[i];if(n&&this.renderer.updateItemSize){if(!o)return;return this.renderer.updateItemSize(o,e,this._modifiedStyle,this._columnSizes,this._createdStyle)}let r=this._manager.registry.getFileTypeForModel(e);this.renderer.updateItemNode(o,e,r,this.translator,this._hiddenColumns,this.selection[e.path],this._modifiedStyle,this._columnSizes,this._createdStyle),this.selection[e.path]&&this._isCut&&this._model.path===this._prevPath&&o.classList.add(eg),o.setAttribute("data-isdir","directory"===e.type?"true":"false")});let o=Object.keys(this.selection).length;o&&(this.addClass(eh),o>1&&this.addClass(eA));let r=e.map(e=>e.path);for(let e of this._model.sessions()){let n=t[z.ArrayExt.firstIndexOf(r,e.path)];if(n){let t=null==(i=e.kernel)?void 0:i.name,o=this._model.specs;if(n.classList.add(eC),o&&t){let e=o.kernelspecs[t];t=e?e.display_name:this._trans.__("unknown")}this._lastRenderedState.get(n)!==n.title&&(n.title=this._trans.__("%1\nKernel: %2",n.title,t),this._lastRenderedState.set(n,n.title))}}}onUpdateRequest(e){this._isDirty=!1;let t=this._sortedItems,n=this._items,i=0===n.length,o=l.DOMUtils.findElement(this.node,$),r=this._renderer;for(this.removeClass(eA),this.removeClass(eh);n.length>t.length;)o.removeChild(n.pop());for(;n.length<t.length;){let e=r.createItemNode(this._hiddenColumns,this._columnSizes);e.classList.add(J),n.push(e),o.appendChild(e)}n.forEach((e,t)=>{e.classList.remove(eh),e.classList.remove(eC),e.classList.remove(eg);let n=r.getCheckboxNode(e);n&&(n.checked=!1);let i=r.getNameNode(e);i&&(t===this._focusIndex?(i.setAttribute("tabIndex","0"),i.setAttribute("role","button")):(i.setAttribute("tabIndex","-1"),i.removeAttribute("role")))});let s=r.getCheckboxNode(this.headerNode);if(s){let e=Object.keys(this.selection).length,n=t.length>0&&e===t.length,i=!n&&e>0;s.checked=n,s.indeterminate=i,s.dataset.checked=String(n),s.dataset.indeterminate=String(i);let o=this.translator.load("jupyterlab");null==s||s.setAttribute("aria-label",n||i?o.__("Deselect all files and directories"):o.__("Select all files and directories"))}this.updateNodes(t,n),i&&(this._width=this._computeContentWidth(),this._updateColumnSizes()),this._prevPath=this._model.path}onResize(e){let{width:t}=-1===e.width?this.node.getBoundingClientRect():e;this._width=this._computeContentWidth(t),this._updateColumnSizes()}setColumnVisibility(e,t){t?this._hiddenColumns.delete(e):this._hiddenColumns.add(e),this.headerNode.innerHTML="",this._renderer.populateHeaderNode(this.headerNode,this.translator,this._hiddenColumns,this._columnSizes,this._sortState),this._updateColumnSizes()}_updateColumnSizes(e=null){let t=this._visibleColumns.map(e=>({...e,element:l.DOMUtils.findElement(this.node,e.className)})).filter(e=>e.element),n=0;for(let e of t){let i=this._columnSizes[e.id];if(null===i&&(i=e.element.getBoundingClientRect().width),i=Math.max(i,e.minWidth),this._width){let n=0;for(let i of t)i.id!==e.id&&(n+=i.minWidth);i=Math.min(i,this._width-n)}this._columnSizes[e.id]=i,n+=i}if(this._width){let i=this._width-n,o=null===e,r=t.filter(t=>!!o||(t.id===e&&(o=!0),!1)),s=r.map(e=>e.grow).reduce((e,t)=>e+t,0);for(let e of r){let t=i*e.grow/s;this._columnSizes[e.id]=this._columnSizes[e.id]+t}}let i=this.node.getElementsByClassName(ep),r=t.map(e=>o.isResizable(e)),s=0;for(let e of t){let t=this._columnSizes[e.id];o.isResizable(e)&&t&&(t-=this._handleWidth*i.length/r.length,(0===s||s===r.length-1)&&(t+=this._paddingWidth),s+=1),e.element.style.width=null===t?"":t+"px"}this._updateModifiedStyleAndSize(),this._updateCreatedStyleAndSize(),this.isVisible&&0!==this._items.length&&this.updateNodes(this._sortedItems,this._items,!0),this._saveState()}get _visibleColumns(){return ej.columns.filter(e=>{var t;return"name"===e.id||!(null==(t=this._hiddenColumns)?void 0:t.has(e.id))})}_setColumnSize(e,t){var n;let i=this._columnSizes[e];if(i&&t&&t>i){let i=0,o=!0;for(let r of this._visibleColumns){if(r.id===e){i+=t,o=!1;continue}if(o){let e=l.DOMUtils.findElement(this.node,r.className);i+=null!=(n=this._columnSizes[r.id])?n:e.getBoundingClientRect().width}else i+=r.minWidth}if(this._width&&i>this._width)return}this._columnSizes[e]=t,this._updateColumnSizes(e)}setNotebooksFirstSorting(e){let t=this._sortNotebooksFirst;this._sortNotebooksFirst=e,this._sortNotebooksFirst!==t&&this.sort(this._sortState)}setSortFileNamesNaturally(e){let t=this._sortFileNamesNaturally;this._sortFileNamesNaturally=e,this._sortFileNamesNaturally!==t&&this.sort(this._sortState)}setAllowSingleClickNavigation(e){this._allowSingleClick=e}setAllowDragDropUpload(e){this._allowDragDropUpload=e}isWithinCheckboxHitArea(e){let t=e.target;for(;t;){if(t.classList.contains(en))return!0;t=t.parentElement}return!1}_evtClick(e){let t=e.target,n=this.headerNode,i=this._renderer;if(n.contains(t)){let t=i.getCheckboxNode(n);if(t&&this.isWithinCheckboxHitArea(e))"false"===t.dataset.indeterminate&&"false"===t.dataset.checked?(this._sortedItems.forEach(e=>this.selection[e.path]=!0),this._selectionChanged.emit()):this.clearSelectedItems(),this.update();else{let t=this.renderer.handleHeaderClick(n,e);t&&this.sort(t)}return}this._focusItem(this._focusIndex),this._allowSingleClick&&this.evtDblClick(e)}_evtScroll(e){this.headerNode.scrollLeft=this.contentNode.scrollLeft}_evtMousedown(e){if(e.target===this._editNode)return;if(this._editNode.parentNode)if(this._editNode===e.target)return;else this._editNode.focus(),this._editNode.blur(),clearTimeout(this._selectTimer);let t=o.hitTestNodes(this._items,e);if(-1===t){if(0===e.button){let t=e.target;if(t instanceof HTMLElement&&t.classList.contains(ep)){let n=t.dataset.column;if(!n)throw Error("Column resize handle is missing data-column attribute");let i=ej.columns.find(e=>e.id===n);if(!i)throw Error(`Column with identifier ${n} not found`);let o=l.DOMUtils.findElement(this.node,i.className);t.classList.add(ef);let r=F.Drag.overrideCursor("col-resize");this._resizeData={pressX:e.clientX,column:n,initialSize:o.getBoundingClientRect().width,overrides:new O.DisposableDelegate(()=>{r.dispose(),t.classList.remove(ef)})},document.addEventListener("mouseup",this,!0),document.addEventListener("mousemove",this,!0)}}return}this.handleFileSelect(e),0!==e.button&&clearTimeout(this._selectTimer),eE&&e.ctrlKey||2===e.button||0===e.button&&(this._dragData={pressX:e.clientX,pressY:e.clientY,index:t},document.addEventListener("mouseup",this,!0),document.addEventListener("mousemove",this,!0))}_evtMouseup(e){if(this._softSelection&&(e.metaKey||e.shiftKey||e.ctrlKey||0!==e.button||(this.clearSelectedItems(),this.selection[this._softSelection]=!0,this._selectionChanged.emit(),this.update()),this._softSelection=""),0===e.button&&this._focusItem(this._focusIndex),this._resizeData){this._resizeData.overrides.dispose(),this._resizeData=null,document.removeEventListener("mousemove",this,!0),document.removeEventListener("mouseup",this,!0);return}if(0!==e.button||!this._drag){document.removeEventListener("mousemove",this,!0),document.removeEventListener("mouseup",this,!0);return}e.preventDefault(),e.stopPropagation()}_evtMousemove(e){if(e.preventDefault(),e.stopPropagation(),this._resizeData){let{initialSize:t,column:n,pressX:i}=this._resizeData;this._setColumnSize(n,t+e.clientX-i);return}if(this._drag||!this._dragData)return;let t=this._dragData,n=Math.abs(e.clientX-t.pressX),i=Math.abs(e.clientY-t.pressY);n<ey&&i<ey||this._startDrag(t.index,e.clientX,e.clientY)}handleOpen(e){if(this._onItemOpened.emit(e),"directory"===e.type){let t=this._manager.services.contents.localPath(e.path);this._model.cd(`/${t}`).catch(e=>(0,l.showErrorMessage)(this._trans._p("showErrorMessage","Open directory"),e))}else{let t=e.path;this._handleOpenFile(t)}}_getNextFocusIndex(e,t){let n=e+t;return -1===n||n===this._items.length?e:n}_handleArrowY(e,t){if(e.altKey||e.metaKey||!this._items.length||!e.target.classList.contains(K))return;e.stopPropagation(),e.preventDefault();let n=this._focusIndex,i=this._getNextFocusIndex(n,t);t>0&&0===n&&!e.ctrlKey&&0===Object.keys(this.selection).length&&(i=0),e.shiftKey?this._handleMultiSelect(i):e.ctrlKey||this._selectItem(i,e.shiftKey,!1),this._focusItem(i),this.update()}async goUp(){let e=this.model;if(e.path!==e.rootPath&&(!e.root||e.path!==e.root))try{await e.cd("..")}catch(t){console.warn(`Failed to go to parent directory of ${e.path}`,t)}}evtKeydown(e){if(!this._inRename){switch(e.key){case"Enter":if(e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)return;for(let t of(e.preventDefault(),e.stopPropagation(),this.selectedItems()))this.handleOpen(t);return;case"ArrowUp":this._handleArrowY(e,-1);return;case"ArrowDown":this._handleArrowY(e,1);return;case" ":case"Spacebar":if(e.ctrlKey){if(e.metaKey||e.shiftKey||e.altKey)return;let t=this._items[this._focusIndex];if(!(t.contains(e.target)&&t.contains(document.activeElement)))return;e.stopPropagation(),e.preventDefault();let{path:n}=this._sortedItems[this._focusIndex];this.selection[n]?delete this.selection[n]:this.selection[n]=!0,this._selectionChanged.emit(),this.update();return}}if(void 0!==e.key&&1===e.key.length&&(" "!==e.key&&"Spacebar"!==e.key||"checkbox"!==e.target.type)){if(e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)return;this._searchPrefix+=e.key,clearTimeout(this._searchPrefixTimer),this._searchPrefixTimer=window.setTimeout(()=>{this._searchPrefix=""},ev),this.selectByPrefix(),e.stopPropagation(),e.preventDefault()}}}evtDblClick(e){if(0!==e.button||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey||this.isWithinCheckboxHitArea(e))return;e.preventDefault(),e.stopPropagation(),clearTimeout(this._selectTimer),this._editNode.blur();let t=e.target,n=z.ArrayExt.findFirstIndex(this._items,e=>e.contains(t));if(-1===n)return;let i=this._sortedItems[n];this.handleOpen(i)}evtNativeDrop(e){var t,n,i;if(e.preventDefault(),!this._allowDragDropUpload)return;let r=null==(t=e.dataTransfer)?void 0:t.items;if(!r){let t=null==(n=e.dataTransfer)?void 0:n.files;if(!t||0===t.length)return;let i=[];for(let e of t){let t=this._model.upload(e);i.push(t)}Promise.all(i).then(()=>this._allUploaded.emit()).catch(e=>{console.error("Error while uploading files: ",e)});return}let s=async(e,t)=>{if(o.isDirectoryEntry(e)){let n=await o.createDirectory(this._model.manager,t,e.name),i=e.createReader();for(let e of(await o.collectEntries(i)))await s(e,n)}else if(o.isFileEntry(e)){let n=await o.readFile(e);await this._model.upload(n,t)}},a=[];for(let e of r){let t=o.defensiveGetAsEntry(e);if(!t)continue;let n=s(t,null!=(i=this._model.path)?i:"/");a.push(n)}Promise.all(a).then(()=>this._allUploaded.emit()).catch(e=>{console.error("Error while uploading files: ",e)})}get allUploaded(){return this._allUploaded}evtDragEnter(e){if(e.mimeData.hasData(el)){let t=o.hitTestNodes(this._items,e);if(-1===t)return;let n=this._sortedItems[t];"directory"!==n.type||this.selection[n.path]||(e.target.classList.add(ec),e.preventDefault(),e.stopPropagation())}}evtDragLeave(e){e.preventDefault(),e.stopPropagation();let t=l.DOMUtils.findElement(this.node,ec);t&&t.classList.remove(ec)}evtDragOver(e){e.preventDefault(),e.stopPropagation(),e.dropAction=e.proposedAction;let t=l.DOMUtils.findElement(this.node,ec);t&&t.classList.remove(ec);let n=o.hitTestNodes(this._items,e);this._items[n].classList.add(ec)}evtDrop(e){if(e.preventDefault(),e.stopPropagation(),clearTimeout(this._selectTimer),"none"===e.proposedAction){e.dropAction="none";return}if(!e.mimeData.hasData(el))return;let t=e.target;for(;t&&t.parentElement;){if(t.classList.contains(ec)){t.classList.remove(ec);break}t=t.parentElement}let n=z.ArrayExt.firstIndexOf(this._items,t),i=this._sortedItems,o=this._model.path;"directory"===i[n].type&&(o=d.PathExt.join(o,i[n].name));let r=this._manager,s=[],a=e.mimeData.getData(el);for(let t of(e.ctrlKey&&"move"===e.proposedAction?e.dropAction="copy":e.dropAction=e.proposedAction,a)){let n=r.services.contents.localPath(t),i=d.PathExt.basename(n),a=d.PathExt.join(o,i);a!==t&&("copy"===e.dropAction?s.push(r.copy(t,o)):s.push((0,C.renameFile)(r,t,a)))}Promise.all(s).catch(e=>{(0,l.showErrorMessage)(this._trans._p("showErrorMessage","Error while copying/moving files"),e)})}_startDrag(e,t,n){let i,o,r=Object.keys(this.selection),s=this._items[e],a=this._sortedItems;if(s.classList.contains(eh)){let e=r[0];o=a.find(t=>t.path===e),i=this.selectedItems()}else r=[(o=a[e]).path],i=[o];if(!o)return;let l=this._manager.registry.getFileTypeForModel(o),d=this.renderer.createDragImage(s,r.length,this._trans,l);this._drag=new F.Drag({dragImage:d,mimeData:new y.MimeData,supportedActions:"move",proposedAction:"move"}),this._drag.mimeData.setData(el,r);let c=this.model.manager.services;for(let e of i)this._drag.mimeData.setData(ed,{model:e,withContent:async()=>await c.contents.get(e.path)});if("directory"!==o.type){let e=r.slice(1).reverse();this._drag.mimeData.setData(ew,()=>{if(!o)return;let t=o.path,n=this._manager.findWidget(t);if(n||(n=this._manager.open(o.path)),e.length){let t=new y.PromiseDelegate;t.promise.then(()=>{let t=n;e.forEach(e=>{let n={ref:null==t?void 0:t.id,mode:"tab-after"};t=this._manager.openOrReveal(e,void 0,void 0,n),this._manager.openOrReveal(o.path)})}),t.resolve(void 0)}return n})}document.removeEventListener("mousemove",this,!0),document.removeEventListener("mouseup",this,!0),clearTimeout(this._selectTimer),this._drag.start(t,n).then(e=>{this._drag=null,clearTimeout(this._selectTimer)})}handleFileSelect(e){let t=this._sortedItems,n=o.hitTestNodes(this._items,e);if(clearTimeout(this._selectTimer),-1===n)return;this._softSelection="";let i=t[n].path,r=Object.keys(this.selection),s=0===e.button&&!(eE&&e.ctrlKey)&&this.isWithinCheckboxHitArea(e);if(eE&&e.metaKey||!eE&&e.ctrlKey||s)this.selection[i]?delete this.selection[i]:this.selection[i]=!0,this._selectionChanged.emit(),this._focusItem(n);else if(e.shiftKey)this._handleMultiSelect(n),this._focusItem(n);else{if(!(i in this.selection)||!(r.length>1))return this._selectItem(n,!1,!0);this._softSelection=i}this.update()}_focusItem(e){var t,n;let i=this._items;if(0===i.length){this._focusIndex=0,this._focusPath="",this.node.focus();return}let o=Math.min(Math.max(e,0),i.length-1);this._focusIndex=o,this._focusPath=null!=(n=null==(t=this._sortedItems[o])?void 0:t.path)?n:"";let r=i[o],s=this.renderer.getNameNode(r);s&&(s.tabIndex=0,s.focus())}_allSelectedBetween(e,t){if(e===t)return;let[n,i]=e<t?[e+1,t]:[t+1,e];return this._sortedItems.slice(n,i).reduce((e,t)=>e&&this.selection[t.path],!0)}_handleMultiSelect(e){let t=this._sortedItems,n=this._focusIndex,i=t[e],o=!0;if(e===n){this.selection[i.path]||(this.selection[i.path]=!0,this._selectionChanged.emit());return}if(this.selection[i.path])if(1===Math.abs(e-n)){let i=t[n],o=t[n+(e<n?1:-1)];!this.selection[i.path]||o&&this.selection[o.path]||(delete this.selection[i.path],this._selectionChanged.emit())}else this._allSelectedBetween(n,e)&&(o=!1);let r=n<e?1:-1,s=!1;for(let i=n;i!==e+r;i+=r)if(o){if(i===n)continue;this.selection[t[i].path]||(this.selection[t[i].path]=!0,s=!0)}else{if(i===e)continue;this.selection[t[i].path]&&(delete this.selection[t[i].path],s=!0)}s&&this._selectionChanged.emit()}_copy(){for(let e of(this._clipboard.length=0,this.selectedItems()))this._clipboard.push(e.path)}async _delete(e){await Promise.all(e.map(e=>this._model.manager.deleteFile(e).catch(e=>{(0,l.showErrorMessage)(this._trans._p("showErrorMessage","Delete Failed"),e)})))}async _doRename(){this._inRename=!0;let e=Object.keys(this.selection);if(0===e.length)return this._inRename=!1,Promise.resolve("");let t=this._sortedItems,{path:n}=t[this._focusIndex];this.selection[n]||(n=e.slice(-1)[0]);let i=z.ArrayExt.findFirstIndex(t,e=>e.path===n),r=this._items[i],s=t[i],a=this.renderer.getNameNode(r),c=s.name;this._editNode.value=c,this._selectItem(i,!1,!0);let h=await o.userInputForRename(a,this._editNode,c);if(this.isDisposed)throw this._inRename=!1,Error("File browser is disposed.");let u=h;if(h&&h!==c)if((0,C.isValidFileName)(h)){let e=this._manager,t=d.PathExt.join(this._model.path,c),n=d.PathExt.join(this._model.path,h);try{await (0,C.renameFile)(e,t,n)}catch(e){"File not renamed"!==e&&(0,l.showErrorMessage)(this._trans._p("showErrorMessage","Rename Error"),e),u=c}if(this.isDisposed)throw this._inRename=!1,Error("File browser is disposed.")}else(0,l.showErrorMessage)(this._trans.__("Rename Error"),Error(this._trans._p("showErrorMessage",'"%1" is not a valid name for a file. Names must have nonzero length, and cannot include "/", "\\", or ":"',h))),u=c;else u=c;if(!this.isDisposed&&1===Object.keys(this.selection).length&&this.selection[s.path])try{await this._selectItemByName(u,!0,!0)}catch(e){console.warn("After rename, failed to select file",u)}return this._inRename=!1,u}_selectItem(e,t,n=!0){let i=this._sortedItems;t||this.clearSelectedItems();let o=i[e].path;this.selection[o]=!0,this._selectionChanged.emit(),n&&this._focusItem(e),this.update()}_onModelRefreshed(){let e=Object.keys(this.selection);for(let t of(this.clearSelectedItems(!1),this._model.items())){let n=t.path;-1!==e.indexOf(n)&&(this.selection[n]=!0)}this.isVisible?this.sort(this.sortState):this._isDirty=!0}_onPathChanged(){let e=this.node.contains(document.activeElement);this.clearSelectedItems(),this.sort(this.sortState),requestAnimationFrame(()=>{this.isDisposed||(e?this._focusItem(0):this._focusIndex=0)})}_onFileChanged(e,t){let n=t.newValue;if(!n)return;let i=n.name;"new"===t.type&&i&&this.selectItemByName(i).catch(()=>{})}_onActivateRequested(e,t){if(d.PathExt.dirname(t)!==this._model.path)return;let n=d.PathExt.basename(t);this.selectItemByName(n).catch(()=>{})}}function ex(e,t,n){if(0===e)return"0 B";let i=t||2,o=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],r=Math.floor(Math.log(e)/Math.log(n));return r>=0&&r<o.length?parseFloat((e/Math.pow(n,r)).toFixed(i))+" "+o[r]:String(e)}!function(e){e.columns=[{id:"is_selected",className:en,itemClassName:en,minWidth:18,resizable:!1,sortable:!1,grow:0},{id:"name",className:eo,itemClassName:Z,minWidth:60,resizable:!0,sortable:!0,caretSide:"right",grow:3},{id:"last_modified",className:er,itemClassName:X,minWidth:60,resizable:!0,sortable:!0,caretSide:"left",grow:1},{id:"date_created",className:ea,itemClassName:et,minWidth:60,resizable:!0,sortable:!0,caretSide:"left",grow:1},{id:"file_size",className:es,itemClassName:ee,minWidth:60,resizable:!0,sortable:!0,caretSide:"left",grow:.5}];class t{constructor(){this.itemFactories={name:()=>{let e=document.createElement("span"),t=document.createElement("span"),n=document.createElement("span");return t.className=Q,n.className=K,e.className=Z,e.appendChild(t),e.appendChild(n),e},last_modified:()=>{let e=document.createElement("span");return e.className=X,e},file_size:()=>{let e=document.createElement("span");return e.className=ee,e},date_created:()=>{let e=document.createElement("span");return e.className=et,e},is_selected:()=>this.createCheckboxWrapperNode()},this._modifiedColumnLastUpdate=new WeakMap,this._createdColumnLastUpdate=new WeakMap,this._lastRenderedState=new WeakMap}createNode(){let e=document.createElement("div"),t=document.createElement("div"),n=document.createElement("ul");return n.setAttribute("data-lm-dragscroll","true"),n.className=$,t.className=Y,e.appendChild(t),e.appendChild(n),e.tabIndex=-1,e}populateHeaderNode(t,n,i,r,s){let a=(n=n||h.nullTranslator).load("jupyterlab"),l={name:()=>this.createHeaderItemNode(a.__("Name")),last_modified:()=>this._createHeaderItemNodeWithSizes({small:a.__("Modified"),large:a.__("Last Modified")}),file_size:()=>this._createHeaderItemNodeWithSizes({small:a.__("Size"),large:a.__("File Size")}),date_created:()=>this._createHeaderItemNodeWithSizes({small:a.__("Created"),large:a.__("Date Created")}),is_selected:()=>this.createCheckboxWrapperNode({alwaysVisible:!0,headerNode:!0})},d=e.columns.filter(e=>"name"===e.id||!(null==i?void 0:i.has(e.id)));for(let e of d){let n=(0,l[e.id])();n.classList.add(e.className);let i=e.id===d[d.length-1].id;if(r){let t=r[e.id];i||(n.style.width=t+"px")}if(t.appendChild(n),o.isResizable(e)&&!i){let n=document.createElement("div");n.classList.add(ep),n.dataset.column=e.id,t.appendChild(n)}}this._updateSortIndicator(t,null!=s?s:{direction:"ascending",key:"name"})}handleHeaderClick(t,n){let i=n.target;for(let n of e.columns.filter(o.isSortable)){let e=t.querySelector(`.${n.className}`);if(e&&e.contains(i)){let i=e.classList.contains(eh),o=e.classList.contains(eb),r="ascending";i&&!o&&(r="descending");let s={direction:r,key:n.id};return this._updateSortIndicator(t,s),s}}return{direction:"ascending",key:"name"}}_updateSortIndicator(t,n){for(let i of e.columns.filter(o.isSortable)){let e=t.querySelector(`.${i.className}`);if(!e)continue;let r=l.DOMUtils.findElement(e,G);i.id===n.key?(e.classList.add(eh),"descending"===n.direction?(e.classList.add(eb),o.updateCaret(r,i.caretSide,"down")):(e.classList.remove(eb),o.updateCaret(r,i.caretSide,"up"))):(e.classList.remove(eh),e.classList.remove(eb),o.updateCaret(r,i.caretSide))}}createItemNode(t,n){let i=document.createElement("li");for(let o of e.columns){if("name"!=o.id&&(null==t?void 0:t.has(o.id)))continue;let e=(0,this.itemFactories[o.id])();if(i.appendChild(e),n){let t=n[o.id];e.style.width=t+"px"}}return i}createCheckboxWrapperNode(e){let t=document.createElement("label");t.classList.add(en);let n=document.createElement("input");return n.type="checkbox",(null==e?void 0:e.headerNode)||n.addEventListener("click",e=>{e.preventDefault()}),(null==e?void 0:e.alwaysVisible)?t.classList.add("jp-mod-visible"):n.tabIndex=-1,t.appendChild(n),t}updateItemModified(e,t,n){this._updateItemDate(e,t,n,this._modifiedColumnLastUpdate)}updateItemCreated(e,t,n){this._updateItemDate(e,t,n,this._createdColumnLastUpdate)}_updateItemDate(e,t,n,i){let o=i.get(e);if((null==o?void 0:o.date)===t&&(null==o?void 0:o.style)===n)return;let r=new Date(t);e.textContent=d.Time.formatHuman(r,n),e.title=d.Time.format(r),i.set(e,{date:t,style:n})}updateItemNode(e,t,n,i,o,r,s,a,c){var p;r&&e.classList.add(eh);let{icon:m,iconClass:g,name:A}=n=n||P.DocumentRegistry.getDefaultTextFileType(i),C=(i=i||h.nullTranslator).load("jupyterlab"),f=this._lastRenderedState.get(e),b=JSON.stringify({name:t.name,selected:r,lastModified:t.last_modified,created:t.created,modifiedStyle:s,createdStyle:c,hiddenColumns:Array.from(null!=o?o:[]).sort(),columnsSizes:a,fileSize:t.size}),v=l.DOMUtils.findElement(e,en),_=null==v?void 0:v.querySelector('input[type="checkbox"]');if(_&&(_.checked=null!=r&&r),f===b)return;this._lastRenderedState.set(e,b);let y=l.DOMUtils.findElement(e,Q),E=l.DOMUtils.findElement(e,K),w=l.DOMUtils.findElement(e,Z),j=l.DOMUtils.findElement(e,X),x=l.DOMUtils.findElement(e,ee),B=l.DOMUtils.findElement(e,et),S=!(null==o?void 0:o.has("is_selected"));if(v&&!S)e.removeChild(v);else if(S&&!v){let e=this.createCheckboxWrapperNode();w.insertAdjacentElement("beforebegin",e)}let M=!(null==o?void 0:o.has("last_modified"));j&&!M?(e.removeChild(j),j=void 0):M&&!j&&(j=this.itemFactories.last_modified(),w.insertAdjacentElement("afterend",j));let I=!(null==o?void 0:o.has("date_created"));B&&!I?(e.removeChild(B),B=void 0):I&&!B&&(B=this.itemFactories.date_created(),(null!=j?j:w).insertAdjacentElement("afterend",B));let k=!(null==o?void 0:o.has("file_size"));if(x&&!k)e.removeChild(x);else if(k&&!x){x=this.itemFactories.file_size();let e=null!=(p=null!=B?B:j)?p:w;e&&e.insertAdjacentElement("afterend",x)}requestAnimationFrame(()=>{u.LabIcon.resolveElement({icon:m,iconClass:(0,u.classes)(g,"jp-Icon"),container:y,className:Q,stylesheet:"listing"})});let D=C.__("Name: %1",t.name);if(null!==t.size&&void 0!==t.size){let e=ex(t.size,1,1024);x&&(x.textContent=e),D+=C.__("\nSize: %1",ex(t.size,1,1024))}else x&&(x.textContent="");if(t.path){let e=d.PathExt.dirname(t.path);e&&(D+=C.__("\nPath: %1",e.substr(0,50)),e.length>50&&(D+="..."))}t.created&&(D+=C.__("\nCreated: %1",d.Time.format(new Date(t.created)))),t.last_modified&&(D+=C.__("\nModified: %1",d.Time.format(new Date(t.last_modified)))),e.title=D+=C.__("\nWritable: %1",t.writable),e.setAttribute("data-file-type",A),t.name.startsWith(".")?e.setAttribute("data-is-dot","true"):e.removeAttribute("data-is-dot");let T=t.indices?t.indices:[],L=z.StringExt.highlight(t.name,T,H.h.mark);if(E&&H.VirtualDOM.render(H.h.span(L),E),_){let e;e="directory"===n.contentType?r?C.__('Deselect directory "%1"',L):C.__('Select directory "%1"',L):r?C.__('Deselect file "%1"',L):C.__('Select file "%1"',L),_.setAttribute("aria-label",e),_.checked=null!=r&&r}this.updateItemSize(e,t,s,a,c)}updateItemSize(t,n,i,o,r){if(o)for(let n of e.columns){let e=l.DOMUtils.findElement(t,n.itemClassName);if(!e)continue;let i=o[n.id],r=null===i?"":i+"px";r!==e.style.width&&(e.style.width=r)}let s=l.DOMUtils.findElement(t,X);n.last_modified&&s&&this.updateItemModified(s,n.last_modified,null!=i?i:"short");let a=l.DOMUtils.findElement(t,et);n.created&&a&&this.updateItemCreated(a,n.created,null!=r?r:"short")}getNameNode(e){return l.DOMUtils.findElement(e,K)}getCheckboxNode(e){return e.querySelector(`.${en} input[type=checkbox]`)}createDragImage(t,n,i,o){let r=t.cloneNode(!0),s=l.DOMUtils.findElement(r,Q);for(let t of e.columns.filter(e=>"name"!==e.id)){let e=l.DOMUtils.findElement(r,t.itemClassName);e&&r.removeChild(e)}return o?(s.textContent=o.iconLabel||"",s.className=o.iconClass||""):(s.textContent="",s.className=""),s.classList.add(eu),n>1&&(l.DOMUtils.findElement(r,K).textContent=i._n("%1 Item","%1 Items",n)),r}createHeaderItemNode(e){let t=document.createElement("div"),n=document.createElement("span"),i=document.createElement("span");return t.className=V,n.className=q,i.className=G,n.textContent=e,t.appendChild(n),t.appendChild(i),t}_createHeaderItemNodeWithSizes(e){let t=document.createElement("div");t.className=V;let n=document.createElement("span");for(let i of(n.className=G,Object.keys(e))){let n=document.createElement("span");n.classList.add(q,q+"-"+i),n.textContent=e[i],t.appendChild(n)}return t.appendChild(n),t}}e.Renderer=t,e.defaultRenderer=new t}(ej||(ej={})),function(e){function t(e){return new Promise((t,n)=>e.readEntries(t,n))}e.userInputForRename=function(e,t,n){let i=e.parentElement;i.replaceChild(t,e),t.focus();let o=t.value.lastIndexOf(".");return -1===o?t.setSelectionRange(0,t.value.length):t.setSelectionRange(0,o),new Promise(o=>{t.onblur=()=>{i.replaceChild(e,t),o(t.value)},t.onkeydown=i=>{switch(i.key){case"Enter":i.stopPropagation(),i.preventDefault(),t.blur();break;case"Escape":i.stopPropagation(),i.preventDefault(),t.value=n,t.blur(),e.focus()}}})},e.sort=function(e,t,n=!1,i=!0,o){let r=Array.from(e),s="descending"===t.direction?1:-1;function a(e,t){return n?e.type!==t.type:"directory"===e.type!=("directory"===t.type)}function l(e){return"directory"===e.type?2:"notebook"===e.type&&n?1:0}function d(e,t){var n;let r=navigator.language.split("@")[0],s=(null!=(n=o.languageCode)?n:r).replace("_","-"),a={numeric:i,sensitivity:"base"};try{return e.name.localeCompare(t.name,s,a)}catch(n){return console.warn(`localeCompare failed to compare ${e.name} and ${t.name} under languageCode: ${s}`),e.name.localeCompare(t.name,r,a)}}function c(e){return(t,n)=>{if(a(t,n))return l(n)-l(t);let i=e(t,n);return 0!==i?i*s:d(t,n)}}return"last_modified"===t.key?r.sort(c((e,t)=>new Date(e.last_modified).getTime()-new Date(t.last_modified).getTime())):"file_size"===t.key?r.sort(c((e,t)=>{var n,i;return(null!=(n=t.size)?n:0)-(null!=(i=e.size)?i:0)})):"date_created"===t.key?r.sort(c((e,t)=>{var n,i;return new Date(null!=(n=e.created)?n:"").getTime()-new Date(null!=(i=t.created)?i:"").getTime()})):r.sort(c((e,t)=>d(t,e))),r},e.isResizable=e=>"resizable"in e&&e.resizable,e.isSortable=e=>"sortable"in e&&e.sortable,e.hitTestNodes=function(e,t){return z.ArrayExt.findFirstIndex(e,e=>R.ElementExt.hitTest(e,t.clientX,t.clientY)||t.target===e)},e.updateCaret=function(e,t,n){n?(("down"===n?u.caretDownIcon:u.caretUpIcon).element({container:e,tag:"span",stylesheet:"listingHeaderItem"}),"left"===t?e.style.order="-1":e.style.order=""):(u.LabIcon.remove(e),e.className=G)},e.createDirectory=async function(e,t,n){let i=await e.newUntitled({path:t,type:"directory"}),o=d.PathExt.join(t,i.name),r=d.PathExt.join(t,n);try{await e.rename(o,r)}catch(t){await e.deleteFile(o)}return r},e.isDirectoryEntry=function(e){return e.isDirectory},e.isFileEntry=function(e){return e.isFile},e.defensiveGetAsEntry=function(e){return e.webkitGetAsEntry?e.webkitGetAsEntry():"getAsEntry"in e?e.getAsEntry():null},e.readFile=function(e){return new Promise((t,n)=>e.file(t,n))},e.collectEntries=async function(e){let n=[],i=!1;for(;!i;){let o=await t(e);0===o.length?i=!0:n.push(...o)}return n}}(o||(o={}));let eB="jp-FileBrowser",eS="jp-FileBrowser-Panel",eM="jp-FileBrowser-accordion",eI="jp-FileBrowser-crumbs",ek="jp-FileBrowser-toolbar",eD="jp-FileBrowser-filterToolbar",eT="jp-FileBrowser-listing",eL="jp-FileBrowser-filterBox";class eN extends u.SidePanel{constructor(e){var t;super({content:new m.Panel,translator:e.translator}),this._directoryPending=null,this._filePending=null,this._fileFilterRef=(0,g.createRef)(),this._clearFilterOnNavigation=!0,this._allowSingleClick=!1,this._showFileCheckboxes=!1,this._showFileFilter=!1,this._showDateCreatedColumn=!1,this._showFileSizeColumn=!1,this._showHiddenFiles=!1,this._showLastModifiedColumn=!0,this._sortNotebooksFirst=!1,this._sortFileNamesNaturally=!0,this._allowFileUploads=!0,this._selectionChanged=new p.Signal(this),this._sectionChanged=new p.Signal(this),this._accordion=null,this.addClass(eB),this.toolbar.addClass(ek),this.id=e.id;const n=this.translator=null!=(t=e.translator)?t:h.nullTranslator,i=this.model=e.model,o=e.renderer;i.connectionFailure.connect(this._onConnectionFailure,this),i.pathChanged.connect(this._onPathChanged,this),this._manager=i.manager,this.toolbar.node.setAttribute("aria-label",this._trans.__("file browser")),this.mainPanel=new m.Panel,this.mainPanel.addClass(eS),this.mainPanel.title.label=this._trans.__("File Browser"),this.crumbs=new N({model:i,translator:n,onPathEdited:()=>{requestAnimationFrame(()=>{this._focusListingContentOrCrumb()})},onPathActivated:()=>{requestAnimationFrame(()=>{this._focusListingContentOrCrumb()})}}),this.crumbs.addClass(eI);const r=(0,u.FilenameSearcher)({updateFilter:(e,t)=>{this.model.setFilter(t=>e(t.name.toLowerCase()))},useFuzzyFilter:this.model.useFuzzyFilter,placeholder:this._trans.__("Filter files by name"),forceRefresh:!1,showIcon:!1,inputRef:this._fileFilterRef,filterSettingsChanged:this.model.filterSettingsChanged});r.addClass(eL),this.filterToolbar=new u.Toolbar,this.filterToolbar.addClass(eD),this.filterToolbar.node.setAttribute("aria-label",this._trans.__("File browser toolbar")),this.filterToolbar.addItem("fileNameSearcher",r),this.filterToolbar.setHidden(!this.showFileFilter),this.listing=this.createDirListing({model:i,renderer:o,translator:n,state:e.state,handleOpenFile:e.handleOpenFile}),this.listing.addClass(eT),this.listing.selectionChanged.connect(()=>{this._selectionChanged.emit()}),this.mainPanel.addWidget(this.crumbs),this.mainPanel.addWidget(this.filterToolbar),this.mainPanel.addWidget(this.listing),this.addWidget(this.mainPanel),!1!==e.restore&&i.restore(this.id),this.listing.restore(this.id)}get navigateToCurrentDirectory(){return this._navigateToCurrentDirectory}set navigateToCurrentDirectory(e){this._navigateToCurrentDirectory=e}get showLastModifiedColumn(){return this._showLastModifiedColumn}set showLastModifiedColumn(e){this.listing.setColumnVisibility?(this.listing.setColumnVisibility("last_modified",e),this._showLastModifiedColumn=e):console.warn("Listing does not support toggling column visibility")}get minimumBreadcrumbsLeftItems(){return this.crumbs.minimumLeftItems}set minimumBreadcrumbsLeftItems(e){this.crumbs.minimumLeftItems=e}get minimumBreadcrumbsRightItems(){return this.crumbs.minimumRightItems}set minimumBreadcrumbsRightItems(e){this.crumbs.minimumRightItems=e}get showFullPath(){return this.crumbs.fullPath}set showFullPath(e){this.crumbs.fullPath=e}editPath(){this.crumbs.enterEditMode()}get showDateCreatedColumn(){return this._showDateCreatedColumn}set showDateCreatedColumn(e){this.listing.setColumnVisibility?(this.listing.setColumnVisibility("date_created",e),this._showDateCreatedColumn=e):console.warn("Listing does not support toggling column visibility")}get showFileSizeColumn(){return this._showFileSizeColumn}set showFileSizeColumn(e){this.listing.setColumnVisibility?(this.listing.setColumnVisibility("file_size",e),this._showFileSizeColumn=e):console.warn("Listing does not support toggling column visibility")}get showHiddenFiles(){return this._showHiddenFiles}set showHiddenFiles(e){this.model.showHiddenFiles(e),this._showHiddenFiles=e}get showFileCheckboxes(){return this._showFileCheckboxes}set showFileCheckboxes(e){this.listing.setColumnVisibility?(this.listing.setColumnVisibility("is_selected",e),this._showFileCheckboxes=e):console.warn("Listing does not support toggling column visibility")}get showFileFilter(){return this._showFileFilter}set showFileFilter(e){var t;this.showFileFilter&&!e&&(this._fileFilterRef.current&&(this._fileFilterRef.current.value=""),this.model.setFilter(e=>({})),this.model.refresh().catch(console.warn)),this._showFileFilter=e,this.filterToolbar.setHidden(!this.showFileFilter),this.showFileFilter&&(null==(t=this._fileFilterRef.current)||t.focus())}get clearFilterOnNavigation(){return this._clearFilterOnNavigation}set clearFilterOnNavigation(e){this._clearFilterOnNavigation=e}get sortNotebooksFirst(){return this._sortNotebooksFirst}set sortNotebooksFirst(e){this.listing.setNotebooksFirstSorting?(this.listing.setNotebooksFirstSorting(e),this._sortNotebooksFirst=e):console.warn("Listing does not support sorting notebooks first")}get sortFileNamesNaturally(){return this._sortFileNamesNaturally}set sortFileNamesNaturally(e){this.listing.setSortFileNamesNaturally?(this.listing.setSortFileNamesNaturally(e),this._sortFileNamesNaturally=e):console.warn("Listing does not support natural file name sorting")}get singleClickNavigation(){return this._allowSingleClick}set singleClickNavigation(e){this.listing.setAllowSingleClickNavigation?(this.listing.setAllowSingleClickNavigation(e),this._allowSingleClick=e):console.warn("Listing does not support single click navigation")}get allowFileUploads(){return this._allowFileUploads}set allowFileUploads(e){this.model.allowFileUploads=e,this.listing.setAllowDragDropUpload?(this.listing.setAllowDragDropUpload(e),this._allowFileUploads=e):console.warn("Listing does not support setting upload")}selectedItems(){return this.listing.selectedItems()}get selectionChanged(){return this._selectionChanged}get sectionChanged(){return this._sectionChanged}async selectItemByName(e){await this.listing.selectItemByName(e)}clearSelectedItems(){this.listing.clearSelectedItems()}_focusListingContentOrCrumb(){var e;null!=(e=this.listing.sortedItems().next().done)&&e?this.crumbs.focusLastCrumb():this.listing.activate()}rename(){return this.listing.rename()}cut(){this.listing.cut()}copy(){this.listing.copy()}paste(){return this.listing.paste()}_onPathChanged(){if(this._clearFilterOnNavigation){let e=this._fileFilterRef.current,t=e?e.value:"";t&&""!==t.trim()&&(this.model.setFilter(e=>({})),e&&(e.value=""))}}async _createNew(e){if(e.path){let t=this._manager.services.contents.localPath(e.path);e.path=this._toDrivePath(this.model.driveName,t)}try{let t=await this._manager.newUntitled(e);return await this.listing.selectItemByName(t.name,!0),await this.rename(),t}catch(e){throw(0,l.showErrorMessage)(this._trans.__("Error"),e),e}}async createNewDirectory(){if(this._directoryPending)return this._directoryPending;this._directoryPending=this._createNew({path:this.model.path,type:"directory"});try{return await this._directoryPending}finally{this._directoryPending=null}}async createNewFile(e){if(this._filePending)return this._filePending;this._filePending=this._createNew({path:this.model.path,type:"file",ext:e.ext});try{return await this._filePending}finally{this._filePending=null}}delete(){return this.listing.delete()}duplicate(){return this.listing.duplicate()}selectAll(){return this.listing.selectAll()}download(){return this.listing.download()}async goUp(){return this.listing.goUp()}shutdownKernels(){return this.listing.shutdownKernels()}selectNext(){this.listing.selectNext()}selectPrevious(){this.listing.selectPrevious()}modelForClick(e){return this.listing.modelForClick(e)}createDirListing(e){return new ej(e)}_onConnectionFailure(e,t){if(t instanceof c.ServerConnection.ResponseError&&404===t.response.status){let e=this._trans.__("Directory not found");t.message=this._trans.__('Directory not found: "%1"',this.model.path),(0,l.showErrorMessage)(e,t)}}addSection(e){if(this._accordion)this._accordion.addWidget(e);else{let t=new m.AccordionPanel({layout:u.AccordionToolbar.createLayout({})});t.addClass(eM),t.addWidget(this.mainPanel),t.addWidget(e),this._accordion=t,this.content.addWidget(t)}this._sectionChanged.emit()}removeSectionWidget(e){this._accordion&&e.parent===this._accordion&&(e.parent=null,1===this._accordion.widgets.length&&this._accordion.widgets[0]===this.mainPanel&&(this.mainPanel.isHidden&&this.mainPanel.show(),this.content.addWidget(this.mainPanel),this._accordion.dispose(),this._accordion=null),this._sectionChanged.emit())}get sections(){return this._accordion?this._accordion.widgets.filter(e=>e!==this.mainPanel):[]}get accordionPanel(){return this._accordion}_toDrivePath(e,t){return""===e?t:`${e}:${d.PathExt.removeSlash(t)}`}}let eP=1e4,ez=0xf00000,eR=1048576;class eO{constructor(e){var t,n;this._connectionFailure=new p.Signal(this),this._fileChanged=new p.Signal(this),this._items=[],this._key="",this._pathChanged=new p.Signal(this),this._paths=new Set,this._pending=null,this._pendingPath=null,this._refreshed=new p.Signal(this),this._sessions=[],this._state=null,this._isDisposed=!1,this._restored=new y.PromiseDelegate,this._uploads=[],this._uploadChanged=new p.Signal(this),this.manager=e.manager,this.translator=e.translator||h.nullTranslator,this._trans=this.translator.load("jupyterlab"),this._driveName=e.driveName||"",this._root=e.root||"",this._allowFileUploads=null==(t=e.allowFileUploads)||t,this._model={path:this.rootPath,name:d.PathExt.basename(this.rootPath),type:"directory",content:void 0,writable:!1,created:"unknown",last_modified:"unknown",mimetype:"text/plain",format:"text"},this._state=e.state||null;const i=e.refreshInterval||eP,{services:o}=e.manager;o.contents.fileChanged.connect(this.onFileChanged,this),o.sessions.runningChanged.connect(this.onRunningChanged,this),this._unloadEventListener=e=>{if(this._uploads.length>0){let t=this._trans.__("Files still uploading");return e.returnValue=t,t}},window.addEventListener("beforeunload",this._unloadEventListener),this._poll=new E.Poll({auto:null==(n=e.auto)||n,name:"@jupyterlab/filebrowser:Model",factory:()=>this.cd("."),frequency:{interval:i,backoff:!0,max:3e5},standby:e.refreshStandby||"when-hidden"})}get connectionFailure(){return this._connectionFailure}get driveName(){return this._driveName}get restored(){return this._restored.promise}get fileChanged(){return this._fileChanged}get path(){return this._model?this._model.path:""}get rootPath(){return this._driveName?this._driveName+":":""}get root(){return this._root}get pathChanged(){return this._pathChanged}get refreshed(){return this._refreshed}get specs(){return this.manager.services.kernelspecs.specs}get isDisposed(){return this._isDisposed}get uploadChanged(){return this._uploadChanged}uploads(){return this._uploads[Symbol.iterator]()}dispose(){this.isDisposed||(window.removeEventListener("beforeunload",this._unloadEventListener),this._isDisposed=!0,this._poll.dispose(),this._sessions.length=0,this._items.length=0,p.Signal.clearData(this))}items(){return this._items[Symbol.iterator]()}sessions(){return this._sessions[Symbol.iterator]()}async refresh(){await this._poll.refresh(),await this._poll.tick,this._refreshed.emit(void 0)}async cd(e="."){let t="."===e;if(e="."!==e?this.manager.services.contents.resolvePath(this._model.path,e):this._pendingPath||this._model.path,this._root&&!this._isPathWithinRoot(e))if(!t)return;else e=this._root;if(this._pending){if(e===this._pendingPath)return this._pending;await this._pending}let n=this.path,i={content:!0};this._pendingPath=e,n!==e&&(this._sessions.length=0);let o=this.manager.services;return this._pending=o.contents.get(e,i).then(t=>{this.isDisposed||(this.handleContents(t),this._pendingPath=null,this._pending=null,n!==e&&(this._state&&this._key&&this._state.save(this._key,{path:e}),this._pathChanged.emit({name:"path",oldValue:n,newValue:e})),this.onRunningChanged(o.sessions,o.sessions.running()),this._refreshed.emit(void 0))}).catch(t=>{this._pendingPath=null,this._pending=null;let n=this._root||"/";if(t.response&&404===t.response.status&&e!==n)return t.message=this._trans.__('Directory not found: "%1"',this._model.path),console.error(t),this._connectionFailure.emit(t),this.cd(n);this._connectionFailure.emit(t)}),this._pending}async download(e){let t=await this.manager.services.contents.getDownloadUrl(e),n=document.createElement("a");n.href=t,n.download="",document.body.appendChild(n),n.click(),document.body.removeChild(n)}async restore(e,t=!0){let{manager:n}=this,i=`file-browser-${e}:cwd`,o=this._state;if(!this._key){if(this._key=i,!t||!o)return void this._restored.resolve(void 0);await n.services.ready;try{let e=await o.fetch(i);if(!e)return void this._restored.resolve(void 0);let t=e.path;t&&await this.cd("/");let r=n.services.contents.localPath(t);await n.services.contents.get(t),await this.cd(r)}catch(e){await o.remove(i)}this._restored.resolve(void 0)}}get allowFileUploads(){return this._allowFileUploads}set allowFileUploads(e){this._allowFileUploads=e}async upload(e,t){if(!this._allowFileUploads)throw Error(this._trans.__("File uploads are disabled"));let n=d.PageConfig.getNotebookVersion(),i=0>(0,d.compareVersions)(n,[4,0,0])||(0,d.compareVersions)(n,[5,1,0])>=0,o=e.size>ez;if(o&&!i){let t=this._trans.__("Cannot upload file (>%1 MB). %2",ez/1048576,e.name);throw console.warn(t),t}let r="File not uploaded";if(o&&!await this._shouldUploadLarge(e))throw"Cancelled large file upload";if(await this._uploadCheckDisposed(),await this.refresh(),await this._uploadCheckDisposed(),this._items.find(t=>t.name===e.name)&&!await (0,C.shouldOverwrite)(e.name))throw r;await this._uploadCheckDisposed();let s=i&&e.size>eR;return await this._upload(e,s,t)}async _shouldUploadLarge(e){let{button:t}=await (0,l.showDialog)({title:this._trans.__("Large file size warning"),body:this._trans.__("The file size is %1 MB. Do you still want to upload it?",Math.round(e.size/1048576)),buttons:[l.Dialog.cancelButton({label:this._trans.__("Cancel")}),l.Dialog.warnButton({label:this._trans.__("Upload")})]});return t.accept}async _upload(e,t,n){let i,o=void 0===n?this._model.path:n;o=o?o+"/"+e.name:e.name;let r=e.name,s="file",a="base64",l=async(t,n)=>{await this._uploadCheckDisposed();let i=new FileReader;i.readAsDataURL(t),await new Promise((t,n)=>{i.onload=t,i.onerror=t=>n(`Failed to upload "${e.name}":`+t)}),await this._uploadCheckDisposed();let l={type:s,format:a,name:r,chunk:n,content:i.result.split(",")[1]};return await this.manager.services.contents.save(o,l)};if(!t)try{return await l(e)}catch(t){throw z.ArrayExt.removeFirstWhere(this._uploads,t=>e.name===t.path),t}let d={path:o,progress:0};this._uploadChanged.emit({name:"start",newValue:d,oldValue:null});for(let t=0;!i;t+=eR){let n,r=t+eR,s=r>=e.size,a=s?-1:r/eR,c={path:o,progress:t/e.size};this._uploads.splice(this._uploads.indexOf(d)),this._uploads.push(c),this._uploadChanged.emit({name:"update",newValue:c,oldValue:d}),d=c;try{n=await l(e.slice(t,r),a)}catch(t){throw z.ArrayExt.removeFirstWhere(this._uploads,t=>e.name===t.path),this._uploadChanged.emit({name:"failure",newValue:d,oldValue:null}),t}s&&(i=n)}return this._uploads.splice(this._uploads.indexOf(d)),this._uploadChanged.emit({name:"finish",newValue:null,oldValue:d}),i}_uploadCheckDisposed(){return this.isDisposed?Promise.reject("Filemanager disposed. File upload canceled"):Promise.resolve()}handleContents(e){this._model={name:e.name,path:e.path,type:e.type,content:void 0,writable:e.writable,created:e.created,last_modified:e.last_modified,size:e.size,mimetype:e.mimetype,format:e.format},this._items=e.content,this._paths.clear(),e.content.forEach(e=>{this._paths.add(e.path)})}onRunningChanged(e,t){this._populateSessions(t),this._refreshed.emit(void 0)}onFileChanged(e,t){let n=this._model.path,{sessions:i}=this.manager.services,{oldValue:o,newValue:r}=t,s=this.driveName.length>0?this.driveName+":":"";if(o&&o.path&&s+d.PathExt.dirname(o.path)===n?o:r&&r.path&&s+d.PathExt.dirname(r.path)===n?r:void 0){this._poll.refresh(),this._populateSessions(i.running()),this._fileChanged.emit(t);return}}_isPathWithinRoot(e){if(!this._root)return!0;let t=d.PathExt.removeSlash(e),n=d.PathExt.removeSlash(this._root);return t===n||t.startsWith(n+"/")}_populateSessions(e){for(let t of(this._sessions.length=0,e))this._paths.has(t.path)&&this._sessions.push(t)}}class eF extends eO{constructor(e){super(e),this._includeHiddenFiles=e.includeHiddenFiles||!1}items(){return this._includeHiddenFiles?super.items():(0,z.filter)(super.items(),e=>!e.name.startsWith("."))}get includeHiddenFiles(){return this._includeHiddenFiles}showHiddenFiles(e){this._includeHiddenFiles=e,this.refresh()}}class eW extends eF{constructor(e){var t,n,i;super(e),this._filterSettingsChanged=new p.Signal(this),this._filter=null!=(t=e.filter)?t:e=>({}),this._filterDirectories=null==(n=e.filterDirectories)||n,this._useFuzzyFilter=null==(i=e.useFuzzyFilter)||i}get filterDirectories(){return this._filterDirectories}set filterDirectories(e){this._filterDirectories=e}get useFuzzyFilter(){return this._useFuzzyFilter}set useFuzzyFilter(e){this._useFuzzyFilter!==e&&(this._useFuzzyFilter=e,this._filterSettingsChanged.emit({useFuzzyFilter:e}))}get filterSettingsChanged(){return this._filterSettingsChanged}items(){return(0,z.filter)(super.items(),e=>{if(!this._filterDirectories&&"directory"===e.type)return!0;{let t=this._filter(e);return e.indices=null==t?void 0:t.indices,!!t}})}setFilter(e){this._filter=e,this.refresh()}}let eH="jp-Open-Dialog",eU="jp-Open-Dialog-label";!function(e){async function t(e){return new eY(e).launch()}e.getOpenFiles=t,e.getExistingDirectory=function(e){return t({...e,filter:e=>"directory"===e.type?{}:null})}}(r||(r={}));class eY extends l.Dialog{constructor(e){const t=e.translator||h.nullTranslator,n=t.load("jupyterlab"),i=()=>{this.resolve()},o=new eV(e.manager,e.filter,t,e.defaultPath,e.root,e.label,!0,i);super({title:e.title,buttons:[l.Dialog.cancelButton(),l.Dialog.okButton({label:n.__("Select")})],focusNodeSelector:e.focusNodeSelector,host:e.host,renderer:e.renderer,body:o})}}class eV extends m.Widget{constructor(e,t,n,i,o,r,a,d){super(),this._ready=new y.PromiseDelegate;const c=(n=null!=n?n:h.nullTranslator).load("jupyterlab");this.addClass(eH),s.createFilteredFileBrowser("filtered-file-browser-dialog",e,t,{},n,i,o,a,d).then(e=>{this._browser=e,(0,l.setToolbar)(this._browser,e=>[{name:"new-folder",widget:new l.ToolbarButton({icon:u.newFolderIcon,onClick:()=>{e.createNewDirectory()},tooltip:c.__("New Folder")})},{name:"refresher",widget:new l.ToolbarButton({icon:u.refreshIcon,onClick:()=>{e.model.refresh().catch(e=>{console.error("Failed to refresh file browser in open dialog.",e)})},tooltip:c.__("Refresh File List")})}]);let t=new m.PanelLayout;if(r){let e=new m.Widget;e.addClass(eU),e.node.textContent=r,t.addWidget(e)}t.addWidget(this._browser),this.dispose=()=>{this.isDisposed||(this._browser.model.dispose(),super.dispose())},this.layout=t,this._ready.resolve()}).catch(e=>{console.error("Error while creating file browser in open dialog",e),this._ready.reject(void 0)})}getValue(){let e=Array.from(this._browser.selectedItems());return 0===e.length?[{path:this._browser.model.path,name:d.PathExt.basename(this._browser.model.path),type:"directory",content:void 0,writable:!1,created:"unknown",last_modified:"unknown",mimetype:"text/plain",format:"text"}]:e}get ready(){return this._ready.promise}}!function(e){e.createFilteredFileBrowser=async(e,t,n,i={},o,r,s,a,l)=>{let d=new eN({id:e,model:new eW({manager:t,filter:n,translator:o=o||h.nullTranslator,driveName:i.driveName,refreshInterval:i.refreshInterval,root:s,filterDirectories:a}),translator:o,handleOpenFile:l});return d.clearFilterOnNavigation=!1,r&&await d.model.cd(r),d}}(s||(s={}));let eq=new y.Token("@jupyterlab/filebrowser:IFileBrowserFactory",`A factory object that creates file browsers.
  Use this if you want to create your own file browser (e.g., for a custom storage backend),
  or to interact with other file browsers that have been created by extensions.`),eG=new y.Token("@jupyterlab/filebrowser:IDefaultFileBrowser","A service for the default file browser."),e$=new y.Token("@jupyterlab/filebrowser:IDefaultFileBrowserRenderer","A service for overriding the default file browser directory listing renderer."),eJ=new y.Token("@jupyterlab/filebrowser:IFileBrowserCommands","A token to ensure file browser commands are loaded.");class eK extends u.ToolbarButton{constructor(e){super({icon:u.fileUploadIcon,label:e.label,onClick:()=>{this._input.click()},tooltip:a.translateToolTip(e.translator),enabled:e.model.allowFileUploads}),this._onInputChanged=()=>{Promise.all(Array.prototype.slice.call(this._input.files).map(e=>this.fileBrowserModel.upload(e))).then(e=>{this._filesUploaded.emit(e)}).catch(e=>{(0,l.showErrorMessage)(this._trans._p("showErrorMessage","Upload Error"),e)})},this._onInputClicked=()=>{this._input.value=""},this._input=a.createUploadInput(),this._filesUploaded=new p.Signal(this),this.fileBrowserModel=e.model,this.translator=e.translator||h.nullTranslator,this._trans=this.translator.load("jupyterlab"),this._input.onclick=this._onInputClicked,this._input.onchange=this._onInputChanged,this.addClass("jp-id-upload")}get filesUploaded(){return this._filesUploaded}}!function(e){e.createUploadInput=function(){let e=document.createElement("input");return e.type="file",e.multiple=!0,e},e.translateToolTip=function(e){return(e=e||h.nullTranslator).load("jupyterlab").__("Upload Files")}}(a||(a={}));var eZ=n(59057);let eQ=4;function eX(e){let t=(e.translator||h.nullTranslator).load("jupyterlab");return A().createElement(eZ.GroupItem,{spacing:eQ},A().createElement(eZ.TextItem,{source:t.__("Uploading…")}),A().createElement(eZ.ProgressBar,{percentage:e.upload}))}let e0=2e3;class e1 extends u.VDomRenderer{constructor(e){super(new e1.Model(e.tracker.currentWidget&&e.tracker.currentWidget.model)),this._onBrowserChange=(e,t)=>{null===t?this.model.browserModel=null:this.model.browserModel=t.model},this.translator=e.translator||h.nullTranslator,this._trans=this.translator.load("jupyterlab"),this._tracker=e.tracker,this._tracker.currentChanged.connect(this._onBrowserChange)}render(){return this.model.items.length>0?this.model.items[0].complete?A().createElement(eZ.TextItem,{source:this._trans.__("Complete!")}):A().createElement(eX,{upload:this.model.items[0].progress,translator:this.translator}):A().createElement(eX,{upload:100,translator:this.translator})}dispose(){super.dispose(),this._tracker.currentChanged.disconnect(this._onBrowserChange)}}!function(e){class t extends u.VDomModel{constructor(e){super(),this._uploadChanged=(e,t)=>{if("start"===t.name)this._items.push({path:t.newValue.path,progress:100*t.newValue.progress,complete:!1});else if("update"===t.name){let e=z.ArrayExt.findFirstIndex(this._items,e=>e.path===t.oldValue.path);-1!==e&&(this._items[e].progress=100*t.newValue.progress)}else if("finish"===t.name){let e=z.ArrayExt.findFirstValue(this._items,e=>e.path===t.oldValue.path);e&&(e.complete=!0,setTimeout(()=>{z.ArrayExt.removeFirstOf(this._items,e),this.stateChanged.emit(void 0)},e0))}else{if("failure"!==t.name)return;z.ArrayExt.removeFirstWhere(this._items,e=>e.path===t.newValue.path)}this.stateChanged.emit(void 0)},this._items=[],this._browserModel=null,this.browserModel=e}get items(){return this._items}get browserModel(){return this._browserModel}set browserModel(e){let t=this._browserModel;t&&t.uploadChanged.disconnect(this._uploadChanged),this._browserModel=e,this._items=[],null!==this._browserModel&&this._browserModel.uploadChanged.connect(this._uploadChanged),this.stateChanged.emit(void 0)}}e.Model=t}(e1||(e1={}))},29099(e,t,n){"use strict";n(82311),n(97777),n(62971),n(13443),n(45350),n(41603);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(23421),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},65894(e,t,n){"use strict";n.r(t),n.d(t,{Commands:()=>o,default:()=>O,tabSpaceStatus:()=>N});var i,o,r=n(57941),s=n(97518),a=n(78071),l=n(22735),d=n(96933),c=n(23965),h=n(31997),u=n(86149),p=n(56573),m=n(40885),g=n(90291),A=n(62861),C=n(95615),f=n(31031),b=n(46109),v=n(59057),_=n(45251),y=n(2786),E=n(8989),w=n(65819),j=n(92286),x=n(35285),B=n(28951),S=n(63995);let M="notebook:toggle-autoclosing-brackets",I="console:toggle-autoclosing-brackets";!function(e){e.createNew="fileeditor:create-new",e.createNewMarkdown="fileeditor:create-new-markdown-file",e.changeFontSize="fileeditor:change-font-size",e.lineNumbers="fileeditor:toggle-line-numbers",e.currentLineNumbers="fileeditor:toggle-current-line-numbers",e.lineWrap="fileeditor:toggle-line-wrap",e.currentLineWrap="fileeditor:toggle-current-line-wrap",e.changeTabs="fileeditor:change-tabs",e.matchBrackets="fileeditor:toggle-match-brackets",e.currentMatchBrackets="fileeditor:toggle-current-match-brackets",e.autoClosingBrackets="fileeditor:toggle-autoclosing-brackets",e.autoClosingBracketsUniversal="fileeditor:toggle-autoclosing-brackets-universal",e.createConsole="fileeditor:create-console",e.replaceSelection="fileeditor:replace-selection",e.restartConsole="fileeditor:restart-console",e.runCode="fileeditor:run-code",e.runAllCode="fileeditor:run-all",e.markdownPreview="fileeditor:markdown-preview",e.undo="fileeditor:undo",e.redo="fileeditor:redo",e.cut="fileeditor:cut",e.copy="fileeditor:copy",e.paste="fileeditor:paste",e.selectAll="fileeditor:select-all",e.invokeCompleter="completer:invoke-file",e.selectCompleter="completer:select-file",e.openCodeViewer="code-viewer:open",e.changeTheme="fileeditor:change-theme",e.changeLanguage="fileeditor:change-language",e.find="fileeditor:find",e.goToLine="fileeditor:go-to-line"}(i||(i={}));let k="Editor";!function(e){let t={},n=!0;function o(e,t){return async function(n,i){var o,r,s;let a=i||{},l=await e.execute("console:create",{activate:a.activate,name:null==(o=n.context.contentsModel)?void 0:o.name,path:n.context.path,preferredLanguage:n.context.model.defaultKernelLanguage||(null!=(s=null==(r=t.findByFileName(n.context.path))?void 0:r.name)?s:""),ref:n.id,insertMode:"split-bottom"});n.context.pathChanged.connect((e,t)=>{var i;l.session.setPath(t),l.session.setName(null==(i=n.context.contentsModel)?void 0:i.name)})}}function r(e){e.editor.setOptions({...t,scrollPastEnd:n}),e.toggleClass("jp-mod-scrollPastEnd",n)}function l(e){let{start:t,end:n}=e.getSelection();return t.column!==n.column||t.line!==n.line}function d(e){let t=e.getSelection(),n=e.getOffsetAt(t.start),i=e.getOffsetAt(t.end);return e.model.sharedModel.getSource().substring(n,i)}async function c(e,t,n="txt"){let i=await e.execute("docmanager:new-untitled",{path:t,type:"file",ext:n});if(void 0!=i){let t=await e.execute("docmanager:open",{path:i.path,factory:k});return t.isUntitled=!0,t}}function h(e,t){e.add({command:i.createNew,category:t.__("Other"),rank:1})}function u(e,t){e.add({command:i.createNewMarkdown,category:t.__("Other"),rank:2})}function p(e,t){let n=t.__("Text Editor"),o={size:4},r=i.changeTabs;for(let t of(e.addItem({command:r,args:o,category:n}),[1,2,4,8])){let i={size:t};e.addItem({command:r,args:i,category:n})}}function m(e,t){let n=t.__("Text Editor");e.addItem({command:i.createNew,args:{isPalette:!0},category:n})}function g(e,t){let n=t.__("Text Editor");e.addItem({command:i.createNewMarkdown,args:{isPalette:!0},category:n})}function A(e,t){let n=t.__("Text Editor"),o=i.changeFontSize,r={delta:1};e.addItem({command:o,args:r,category:n}),r={delta:-1},e.addItem({command:o,args:r,category:n})}function C(e,t,n){let o=e=>n()&&e.context&&!!t.find(t=>{var n;return(null==(n=t.sessionContext.session)?void 0:n.path)===e.context.path});e.runMenu.codeRunners.restart.add({id:i.restartConsole,isEnabled:o}),e.runMenu.codeRunners.run.add({id:i.runCode,isEnabled:o}),e.runMenu.codeRunners.runAll.add({id:i.runAllCode,isEnabled:o})}e.updateSettings=function(e,o){var r;t=null!=(r=e.get("editorConfig").composite)?r:{},n=e.get("scrollPastEnd").composite,o.notifyCommandChanged(i.lineNumbers),o.notifyCommandChanged(i.currentLineNumbers),o.notifyCommandChanged(i.lineWrap),o.notifyCommandChanged(i.currentLineWrap),o.notifyCommandChanged(i.changeTabs),o.notifyCommandChanged(i.matchBrackets),o.notifyCommandChanged(i.currentMatchBrackets),o.notifyCommandChanged(i.autoClosingBrackets),o.notifyCommandChanged(i.changeLanguage)},e.updateTracker=function(e){e.forEach(e=>{r(e.content)})},e.updateWidget=r,e.addCommands=function(e,n,r,h,u,p,m,g,A,C,f,b){var v;e.addCommand(i.changeFontSize,{execute:e=>{var o;let r=Number(e.delta);if(Number.isNaN(r))return void console.error(`${i.changeFontSize}: delta arg must be a number`);let s=parseInt(window.getComputedStyle(document.documentElement).getPropertyValue("--jp-code-font-size"),10);t.customStyles||(t.customStyles={});let a=(null!=(o=t.customStyles.fontSize)?o:g.baseConfiguration.customStyles.fontSize)||s;return t.customStyles.fontSize=a+r,n.set(h,"editorConfig",t).catch(e=>{console.error(`Failed to set ${h}: ${e.message}`)})},label:e=>{var t;let n=Number(null!=(t=e.delta)?t:0);return n>0?e.isMenu?r.__("Increase Text Editor Font Size"):r.__("Increase Font Size"):n<0?e.isMenu?r.__("Decrease Text Editor Font Size"):r.__("Decrease Font Size"):r.__("Change Font Size")},describedBy:{args:{type:"object",properties:{delta:{type:"number",description:r.__("The font size change delta (positive to increase, negative to decrease)")},isMenu:{type:"boolean",description:r.__("Whether the command is called from a menu context")}},required:["delta"]}}}),e.addCommand(i.lineNumbers,{execute:async()=>{var e;t.lineNumbers=!(null!=(e=t.lineNumbers)?e:g.baseConfiguration.lineNumbers);try{return await n.set(h,"editorConfig",t)}catch(e){console.error(`Failed to set ${h}: ${e.message}`)}},isEnabled:u,isToggled:()=>{var e;return null!=(e=t.lineNumbers)?e:g.baseConfiguration.lineNumbers},label:r.__("Show Line Numbers"),describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.currentLineNumbers,{label:r.__("Show Line Numbers"),caption:r.__("Show the line numbers for the current file."),execute:()=>{let e=p.currentWidget;if(!e)return;let t=!e.content.editor.getOption("lineNumbers");e.content.editor.setOption("lineNumbers",t)},isEnabled:u,isToggled:()=>{var e;let t=p.currentWidget;return null!=(e=null==t?void 0:t.content.editor.getOption("lineNumbers"))&&e},describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.lineWrap,{execute:async e=>{var i;t.lineWrap=null!=(i=e.mode)&&i;try{return await n.set(h,"editorConfig",t)}catch(e){console.error(`Failed to set ${h}: ${e.message}`)}},isEnabled:u,isToggled:e=>{var n,i;return(null!=(n=e.mode)&&n)===(null!=(i=t.lineWrap)?i:g.baseConfiguration.lineWrap)},label:r.__("Word Wrap"),describedBy:{args:{type:"object",properties:{mode:{type:"boolean",description:r.__("Whether to enable word wrap")}}}}}),e.addCommand(i.currentLineWrap,{label:r.__("Wrap Words"),caption:r.__("Wrap words for the current file."),execute:()=>{let e=p.currentWidget;if(!e)return;let t=e.content.editor.getOption("lineWrap");e.content.editor.setOption("lineWrap",!t)},isEnabled:u,isToggled:()=>{var e;let t=p.currentWidget;return null!=(e=null==t?void 0:t.content.editor.getOption("lineWrap"))&&e},describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.changeTabs,{label:e=>{var t;return e.size?r._p("v4","Spaces: %1",null!=(t=e.size)?t:""):r.__("Indent with Tab")},execute:async e=>{var i;t.indentUnit=void 0!==e.size?(null!=(i=e.size)?i:"4").toString():"Tab";try{return await n.set(h,"editorConfig",t)}catch(e){console.error(`Failed to set ${h}: ${e.message}`)}},isToggled:e=>{var n;let i=null!=(n=t.indentUnit)?n:g.baseConfiguration.indentUnit;return e.size?e.size===i:"Tab"==i},describedBy:{args:{type:"object",properties:{size:{type:"string",description:r.__("The number of spaces for indentation (or Tab for tab indentation)")}}}}}),e.addCommand(i.matchBrackets,{execute:async()=>{var e;t.matchBrackets=!(null!=(e=t.matchBrackets)?e:g.baseConfiguration.matchBrackets);try{return await n.set(h,"editorConfig",t)}catch(e){console.error(`Failed to set ${h}: ${e.message}`)}},label:r.__("Match Brackets"),isEnabled:u,isToggled:()=>{var e;return null!=(e=t.matchBrackets)?e:g.baseConfiguration.matchBrackets},describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.currentMatchBrackets,{label:r.__("Match Brackets"),caption:r.__("Change match brackets for the current file."),execute:()=>{let e=p.currentWidget;if(!e)return;let t=!e.content.editor.getOption("matchBrackets");e.content.editor.setOption("matchBrackets",t)},isEnabled:u,isToggled:()=>{var e;let t=p.currentWidget;return null!=(e=null==t?void 0:t.content.editor.getOption("matchBrackets"))&&e},describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.autoClosingBrackets,{execute:async e=>{var i,o;t.autoClosingBrackets=!!(null!=(i=e.force)?i:!(null!=(o=t.autoClosingBrackets)?o:g.baseConfiguration.autoClosingBrackets));try{return await n.set(h,"editorConfig",t)}catch(e){console.error(`Failed to set ${h}: ${e.message}`)}},label:r.__("Auto Close Brackets in Text Editor"),isToggled:()=>{var e;return null!=(e=t.autoClosingBrackets)?e:g.baseConfiguration.autoClosingBrackets},describedBy:{args:{type:"object",properties:{force:{type:"boolean",description:r.__("Force enable/disable auto closing brackets")}}}}}),e.addCommand(i.autoClosingBracketsUniversal,{execute:()=>{e.isToggled(i.autoClosingBrackets)||e.isToggled(M)||e.isToggled(I)?(e.execute(i.autoClosingBrackets,{force:!1}),e.execute(M,{force:!1}),e.execute(I,{force:!1})):(e.execute(i.autoClosingBrackets,{force:!0}),e.execute(M,{force:!0}),e.execute(I,{force:!0}))},label:r.__("Auto Close Brackets"),isToggled:()=>e.isToggled(i.autoClosingBrackets)||e.isToggled(M)||e.isToggled(I),describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.changeTheme,{label:e=>{var n,i,o,s;return null!=(s=null!=(o=null!=(i=null!=(n=e.displayName)?n:e.theme)?i:t.theme)?o:g.baseConfiguration.theme)?s:r.__("Editor Theme")},execute:async e=>{var i;t.theme=null!=(i=e.theme)?i:t.theme;try{return await n.set(h,"editorConfig",t)}catch(e){console.error(`Failed to set theme - ${e.message}`)}},isToggled:e=>{var n;return e.theme===(null!=(n=t.theme)?n:g.baseConfiguration.theme)},describedBy:{args:{type:"object",properties:{theme:{type:"string",description:r.__("The theme name to change to")},displayName:{type:"string",description:r.__("The display name of the theme")}}}}}),e.addCommand(i.find,{label:r.__("Find…"),execute:()=>{let e=p.currentWidget;e&&e.content.editor.execCommand(x.findNext)},isEnabled:u,describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.goToLine,{label:r.__("Go to Line…"),execute:e=>{let t=p.currentWidget;if(!t)return;let n=t.content.editor,i=e.line,o=e.column;void 0!==i||void 0!==o?n.setCursorPosition({line:(null!=i?i:1)-1,column:(null!=o?o:1)-1}):n.execCommand(x.gotoLine)},isEnabled:u,describedBy:{args:{type:"object",properties:{line:{type:"number",description:r.__("The line number to go to (1-indexed)")},column:{type:"number",description:r.__("The column number to go to (1-indexed)")}}}}}),e.addCommand(i.changeLanguage,{label:e=>{var t,n;return null!=(n=null!=(t=e.displayName)?t:e.name)?n:r.__("Change editor language.")},execute:e=>{var t;let n=e.name,i=p.currentWidget;if(n&&i){let e=A.findByName(n);e&&(Array.isArray(e.mime)?i.content.model.mimeType=null!=(t=e.mime[0])?t:a.IEditorMimeTypeService.defaultMimeType:i.content.model.mimeType=e.mime)}},isEnabled:u,isToggled:e=>{let t=p.currentWidget;if(!t)return!1;let n=t.content.model.mimeType,i=A.findByMIME(n),o=i&&i.name;return e.name===o},describedBy:{args:{type:"object",properties:{name:{type:"string",description:r.__("The language name to change to")},displayName:{type:"string",description:r.__("The display name of the language")}}}}}),e.addCommand(i.replaceSelection,{execute:e=>{var t,n;let i=e.text||"",o=p.currentWidget;o&&(null==(n=(t=o.content.editor).replaceSelection)||n.call(t,i))},isEnabled:u,label:r.__("Replace Selection in Editor"),describedBy:{args:{type:"object",properties:{text:{type:"string",description:r.__("The text to replace the current selection with")}}}}}),e.addCommand(i.createConsole,{execute:t=>{let n=p.currentWidget;if(n)return o(e,A)(n,t)},isEnabled:u,icon:E.consoleIcon,label:r.__("Create Console for Editor"),describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.restartConsole,{execute:async()=>{var e;let t=null==(e=p.currentWidget)?void 0:e.content;if(!t||null===C)return;let n=C.find(e=>{var n;return(null==(n=e.sessionContext.session)?void 0:n.path)===t.context.path});if(n)return f.restart(n.sessionContext)},label:r.__("Restart Kernel"),isEnabled:()=>null!==C&&u(),describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.runCode,{execute:()=>{var t,n;let i=null==(t=p.currentWidget)?void 0:t.content;if(!i)return;let o="",r=i.editor,s=i.context.path,a=B.PathExt.extname(s),l=r.getSelection(),{start:d,end:c}=l,h=d.column!==c.column||d.line!==c.line;if(h){let e=r.getOffsetAt(l.start),t=r.getOffsetAt(l.end);o=r.model.sharedModel.getSource().substring(e,t)}else if(B.MarkdownCodeBlocks.isMarkdown(a)){let e=r.model.sharedModel.getSource();for(let t of B.MarkdownCodeBlocks.findMarkdownCodeBlocks(e))if(t.startLine<=d.line&&d.line<=t.endLine){o=t.code,h=!0;break}}if(!h){o=r.getLine(l.start.line);let e=r.getCursorPosition(),t=r.getLine(e.line+1);if(e.line+1===r.lineCount){let e=r.model.sharedModel.getSource();r.model.sharedModel.setSource(e+"\n")}r.setCursorPosition({line:e.line+1,column:null!=(n=null==t?void 0:t.length)?n:0})}let u=!1;return o?e.execute("console:inject",{activate:u,code:o,path:s}):Promise.resolve(void 0)},isEnabled:u,label:r.__("Run Selected Code"),describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.runAllCode,{execute:()=>{var t;let n=null==(t=p.currentWidget)?void 0:t.content;if(!n)return;let i="",o=n.editor.model.sharedModel.getSource(),r=n.context.path,s=B.PathExt.extname(r);if(B.MarkdownCodeBlocks.isMarkdown(s))for(let e of B.MarkdownCodeBlocks.findMarkdownCodeBlocks(o))i+=e.code;else i=o;let a=!1;return i?e.execute("console:inject",{activate:a,code:i,path:r}):Promise.resolve(void 0)},isEnabled:u,label:r.__("Run All Code"),describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.markdownPreview,{execute:()=>{let t=p.currentWidget;if(!t)return;let n=t.context.path;return e.execute("markdownviewer:open",{path:n,options:{mode:"split-right"}})},isVisible:()=>{let e=p.currentWidget;return e&&".md"===B.PathExt.extname(e.context.path)||!1},icon:E.markdownIcon,label:r.__("Show Markdown Preview"),describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.createNew,{label:e=>{var t,n;return e.isPalette?null!=(t=e.paletteLabel)?t:r.__("New Text File"):null!=(n=e.launcherLabel)?n:r.__("Text File")},caption:e=>{var t;return null!=(t=e.caption)?t:r.__("Create a new text file")},icon:e=>{var t;return e.isPalette?void 0:E.LabIcon.resolve({icon:null!=(t=e.iconName)?t:E.textEditorIcon})},execute:t=>{var n,i;return c(e,t.cwd||(null!=(n=null==m?void 0:m.model.path)?n:"."),null!=(i=t.fileExt)?i:"txt")},describedBy:{args:{type:"object",properties:{cwd:{type:"string",description:r.__("The current working directory path")},fileExt:{type:"string",description:r.__("The file extension for the new file")},isPalette:{type:"boolean",description:"Whether the command is being called from the command palette"},paletteLabel:{type:"string",description:r.__("The label to show in the command palette")},launcherLabel:{type:"string",description:r.__("The label to show in the launcher")},caption:{type:"string",description:r.__("The caption for the command")},iconName:{type:"string",description:r.__("The name of the icon to use")}}}}}),e.addCommand(i.createNewMarkdown,{label:e=>e.isPalette?r.__("New Markdown File"):r.__("Markdown File"),caption:r.__("Create a new markdown file"),icon:e=>e.isPalette?void 0:E.markdownIcon,execute:t=>{var n;return c(e,t.cwd||(null!=(n=null==m?void 0:m.model.path)?n:"."),"md")},describedBy:{args:{type:"object",properties:{cwd:{type:"string",description:r.__("The current working directory path")},isPalette:{type:"boolean",description:"Whether the command is being called from the command palette"}}}}}),e.addCommand(i.undo,{execute:()=>{var e;let t=null==(e=p.currentWidget)?void 0:e.content;t&&t.editor.undo()},isEnabled:()=>{var e;if(!u())return!1;let t=null==(e=p.currentWidget)?void 0:e.content;return!!t&&t.editor.model.sharedModel.canUndo()},icon:E.undoIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Undo"),describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.redo,{execute:()=>{var e;let t=null==(e=p.currentWidget)?void 0:e.content;t&&t.editor.redo()},isEnabled:()=>{var e;if(!u())return!1;let t=null==(e=p.currentWidget)?void 0:e.content;return!!t&&t.editor.model.sharedModel.canRedo()},icon:E.redoIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Redo"),describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.cut,{execute:()=>{var e;let t=null==(e=p.currentWidget)?void 0:e.content;if(!t)return;let n=t.editor,i=d(n);s.Clipboard.copyToSystem(i),n.replaceSelection&&n.replaceSelection("")},isEnabled:()=>{var e;if(!u())return!1;let t=null==(e=p.currentWidget)?void 0:e.content;return!!t&&l(t.editor)},icon:E.cutIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Cut"),describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.copy,{execute:()=>{var e;let t=null==(e=p.currentWidget)?void 0:e.content;if(!t)return;let n=d(t.editor);s.Clipboard.copyToSystem(n)},isEnabled:()=>{var e;if(!u())return!1;let t=null==(e=p.currentWidget)?void 0:e.content;return!!t&&l(t.editor)},icon:E.copyIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Copy"),describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.paste,{execute:async()=>{var e;let t=null==(e=p.currentWidget)?void 0:e.content;if(!t)return;let n=t.editor,i=window.navigator.clipboard;try{let e=await i.readText();e&&n.replaceSelection&&n.replaceSelection(e)}catch(e){s.Clipboard.showPasteUnavailableDialog(r)}},isEnabled:()=>{var e;return!!(u()&&(null==(e=p.currentWidget)?void 0:e.content))},icon:E.pasteIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Paste"),describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.selectAll,{execute:()=>{var e;let t=null==(e=p.currentWidget)?void 0:e.content;t&&t.editor.execCommand(j.selectAll)},isEnabled:()=>{var e;return!!(u()&&(null==(e=p.currentWidget)?void 0:e.content))},label:r.__("Select All"),describedBy:{args:{type:"object",properties:{}}}});let _=[i.lineNumbers,i.currentLineNumbers,i.lineWrap,i.currentLineWrap,i.matchBrackets,i.currentMatchBrackets,i.find,i.goToLine,i.changeLanguage,i.replaceSelection,i.createConsole,i.restartConsole,i.runCode,i.runAllCode,i.undo,i.redo,i.cut,i.copy,i.paste,i.selectAll,i.createConsole],y=()=>{_.forEach(t=>e.notifyCommandChanged(t))};p.currentChanged.connect(y),null==(v=b.currentChanged)||v.connect(y)},e.addCompleterCommands=function(e,t,n,o){let r=(null!=o?o:y.nullTranslator).load("jupyterlab");e.addCommand(i.invokeCompleter,{label:r.__("Display the completion helper."),execute:()=>{let e=t.currentWidget&&t.currentWidget.id;if(e)return n.invoke(e)},describedBy:{args:{type:"object",properties:{}}}}),e.addCommand(i.selectCompleter,{label:r.__("Select the completion suggestion."),execute:()=>{let e=t.currentWidget&&t.currentWidget.id;if(e)return n.select(e)},describedBy:{args:{type:"object",properties:{}}}}),e.addKeyBinding({command:i.selectCompleter,keys:["Enter"],selector:".jp-FileEditor .jp-mod-completer-active"})},e.addLauncherItems=function(e,t){h(e,t),u(e,t)},e.addCreateNewToLauncher=h,e.addCreateNewMarkdownToLauncher=u,e.addKernelLanguageLauncherItems=function(e,t,n){var o,r;let s=new S.DisposableSet;for(let a of n)s.add(e.add({command:i.createNew,category:t.__("Other"),rank:3,args:{fileExt:a.extensions[0],iconName:null!=(r=null==(o=a.icon)?void 0:o.toString())?r:"",launcherLabel:t.__("%1 File",a.displayName),paletteLabel:t.__("New %1 File",a.displayName),caption:t.__("Create a new %1 File",a.displayName)}}));return s},e.addPaletteItems=function(e,t){p(e,t),m(e,t),g(e,t),A(e,t)},e.addChangeTabsCommandsToPalette=p,e.addCreateNewCommandToPalette=m,e.addCreateNewMarkdownCommandToPalette=g,e.addChangeFontSizeCommandsToPalette=A,e.addKernelLanguagePaletteItems=function(e,t,n){var o,r;let s=new S.DisposableSet,a=t.__("Text Editor");for(let l of n)s.add(e.addItem({command:i.createNew,args:{fileExt:l.extensions[0],iconName:null!=(r=null==(o=l.icon)?void 0:o.toString())?r:"",launcherLabel:t.__("%1 File",l.displayName),paletteLabel:t.__("New %1 File",l.displayName),caption:t.__("Create a new %1 File",l.displayName),isPalette:!0},category:a}));return s},e.addMenuItems=function(e,t,n,o){e.editMenu.undoers.redo.add({id:i.redo,isEnabled:o}),e.editMenu.undoers.undo.add({id:i.undo,isEnabled:o}),e.viewMenu.editorViewers.toggleLineNumbers.add({id:i.currentLineNumbers,isEnabled:o}),e.viewMenu.editorViewers.toggleMatchBrackets.add({id:i.currentMatchBrackets,isEnabled:o}),e.viewMenu.editorViewers.toggleWordWrap.add({id:i.currentLineWrap,isEnabled:o}),e.fileMenu.consoleCreators.add({id:i.createConsole,isEnabled:o}),n&&C(e,n,o)},e.addKernelLanguageMenuItems=function(e,t,n){var o,r;let s=new S.DisposableSet;for(let a of n)s.add(e.fileMenu.newMenu.addItem({command:i.createNew,args:{fileExt:a.extensions[0],iconName:null!=(r=null==(o=a.icon)?void 0:o.toString())?r:"",launcherLabel:t.__("%1 File",a.displayName),paletteLabel:t.__("New %1 File",a.displayName),caption:t.__("Create a new %1 File",a.displayName)},rank:31}));return s},e.addCodeRunnersToRunMenu=C,e.addOpenCodeViewerCommand=function(e,t,n,o){let r=async i=>{var r;let l=t.factoryService.newDocumentEditor,d=e=>l(e),c=i.mimeType;!c&&i.extension&&(c=t.mimeTypeService.getMimeTypeByFilePath(`temp.${i.extension.replace(/\\.$/,"")}`));let h=a.CodeViewerWidget.createCodeViewer({factory:d,content:i.content,mimeType:c});h.title.label=i.label||o.__("Code Viewer"),h.title.caption=h.title.label;let u=(0,w.find)(e.docRegistry.fileTypes(),e=>!!c&&e.mimeTypes.includes(c));h.title.icon=null!=(r=null==u?void 0:u.icon)?r:E.textEditorIcon,i.widgetId&&(h.id=i.widgetId);let p=new s.MainAreaWidget({content:h});return await n.add(p),e.shell.add(p,"main"),h};e.commands.addCommand(i.openCodeViewer,{label:o.__("Open Code Viewer"),execute:e=>r(e),describedBy:{args:{type:"object",properties:{content:{type:"string",description:o.__("The content to display in the code viewer")},label:{type:"string",description:o.__("The label for the code viewer")},mimeType:{type:"string",description:o.__("The MIME type of the content")},extension:{type:"string",description:o.__("The file extension to derive MIME type from")},widgetId:{type:"string",description:o.__("The ID to assign to the widget")}},required:["content"]}}})}}(o||(o={}));let D={id:"@jupyterlab/fileeditor-extension:editor-syntax-status",description:"Adds a file editor syntax status widget.",autoStart:!0,requires:[m.IEditorTracker,l.IEditorLanguageRegistry,r.ILabShell,y.ITranslator],optional:[v.IStatusBar],activate:(e,t,n,i,o,r)=>{if(!r)return;let s=new m.EditorSyntaxStatus({commands:e.commands,languages:n,translator:o});i.currentChanged.connect(()=>{let e=i.currentWidget;e&&t.has(e)&&s.model&&(s.model.editor=e.content.editor)}),r.registerStatusItem(D.id,{item:s,align:"left",rank:0,isActive:()=>!!i.currentWidget&&!!t.currentWidget&&i.currentWidget===t.currentWidget})}},T={activate:F,id:"@jupyterlab/fileeditor-extension:plugin",description:"Provides the file editor widget tracker.",requires:[m.IEditorWidgetFactory,a.IEditorServices,l.IEditorExtensionRegistry,l.IEditorLanguageRegistry,l.IEditorThemeRegistry,b.ISettingRegistry],optional:[p.IDefaultFileBrowser,c.IConsoleTracker,s.ICommandPalette,g.ILauncher,C.IMainMenu,r.ILayoutRestorer,s.ISessionContextDialogs,_.ITableOfContentsRegistry,y.ITranslator,E.IFormRendererRegistry,f.IMarkdownParser],provides:m.IEditorTracker,autoStart:!0},L={id:"@jupyterlab/fileeditor-extension:widget-factory",description:"Provides the factory for creating file editors.",autoStart:!0,requires:[a.IEditorServices,b.ISettingRegistry],optional:[s.IToolbarWidgetRegistry,y.ITranslator],provides:m.IEditorWidgetFactory,activate:(e,t,n,i,o)=>{let r,a=T.id,l=null!=o?o:y.nullTranslator,d=l.load("jupyterlab");i&&(r=(0,s.createToolbarFactory)(i,n,k,a,l));let c=new m.FileEditorFactory({editorServices:t,factoryOptions:{name:k,label:d.__("Editor"),fileTypes:["markdown","*"],defaultFor:["markdown","*"],toolbarFactory:r,translator:l}});return e.docRegistry.addWidgetFactory(c),c}},N={id:"@jupyterlab/fileeditor-extension:tab-space-status",description:"Adds a file editor indentation status widget.",autoStart:!0,requires:[m.IEditorTracker,l.IEditorExtensionRegistry,b.ISettingRegistry,y.ITranslator],optional:[v.IStatusBar],activate:(e,t,n,i,o,r)=>{let s=o.load("jupyterlab");if(!r)return;let a=new E.MenuSvg({commands:e.commands}),l="fileeditor:change-tabs",{shell:d}=e,c={name:s.__("Indent with Tab")};for(let e of(a.addItem({command:l,args:c}),["1","2","4","8"])){let t={size:e,name:s._p("v4","Spaces: %1",e)};a.addItem({command:l,args:t})}let h=new m.TabSpaceStatus({menu:a,translator:o}),u=e=>{var t,i,o;h.model.indentUnit=null!=(o=null!=(i=null==(t=e.get("editorConfig").composite)?void 0:t.indentUnit)?i:n.baseConfiguration.indentUnit)?o:null};Promise.all([i.load("@jupyterlab/fileeditor-extension:plugin"),e.restored]).then(([e])=>{u(e),e.changed.connect(u)}),r.registerStatusItem("@jupyterlab/fileeditor-extension:tab-space-status",{item:h,align:"right",rank:1,isActive:()=>!!d.currentWidget&&t.has(d.currentWidget)})}},P={id:"@jupyterlab/fileeditor-extension:cursor-position",description:"Adds a file editor cursor position status widget.",activate:(e,t,n)=>{n.addEditorProvider(e=>Promise.resolve(e&&t.has(e)?e.content.editor:null))},requires:[m.IEditorTracker,a.IPositionModel],autoStart:!0},z={id:"@jupyterlab/fileeditor-extension:completer",description:"Adds the completer capability to the file editor.",requires:[m.IEditorTracker],optional:[d.ICompletionProviderManager,y.ITranslator,s.ISanitizer],activate:W,autoStart:!0},R={id:"@jupyterlab/fileeditor-extension:search",description:"Adds search capability to the file editor.",requires:[u.ISearchProviderRegistry],autoStart:!0,activate:(e,t)=>{t.add("jp-fileeditorSearchProvider",m.FileEditorSearchProvider)}},O=[L,T,P,z,{id:"@jupyterlab/fileeditor-extension:language-server",description:"Adds Language Server capability to the file editor.",requires:[m.IEditorTracker,A.ILSPDocumentConnectionManager,A.ILSPFeatureManager,A.ILSPCodeExtractorsManager,A.IWidgetLSPAdapterTracker],activate:H,autoStart:!0},R,D,N];function F(e,t,n,r,a,l,d,c,u,p,g,A,C,f,b,v,_,E){let w=T.id,j=null!=v?v:y.nullTranslator,x=null!=f?f:new s.SessionContextDialogs({translator:j}),B=j.load("jupyterlab"),S="editor",{commands:M,restored:I,shell:D}=e,L=new s.WidgetTracker({namespace:S}),N=()=>null!==L.currentWidget&&L.currentWidget===D.currentWidget,P=null,z=null,R=null,O=e=>{P&&(P.dispose(),P=null),z&&(z.dispose(),z=null),R&&(R.dispose(),R=null),g&&(P=o.addKernelLanguageLauncherItems(g,B,e)),p&&(z=o.addKernelLanguagePaletteItems(p,B,e)),A&&(R=o.addKernelLanguageMenuItems(A,B,e))};if(e.serviceManager.kernelspecs.specsChanged.connect(async()=>{try{let t=await (0,h.getAvailableKernelFileTypes)(e.serviceManager.kernelspecs);O(t)}catch(e){console.error("Error updating kernel file types:",e)}}),C&&C.restore(L,{command:"docmanager:open",args:e=>({path:e.context.path,factory:k}),name:e=>e.context.path}),Promise.all([d.load(w),I]).then(([e])=>{var t,n,r;if(A){let e=null==(t=A.viewMenu.items.find(e=>{var t;return"submenu"===e.type&&(null==(t=e.submenu)?void 0:t.id)==="jp-mainmenu-view-codemirror-language"}))?void 0:t.submenu;e&&a.getLanguages().sort((e,t)=>{let n=e.name,i=t.name;return n.localeCompare(i)}).forEach(t=>{0!==t.name.toLowerCase().indexOf("brainf")&&e.addItem({command:i.changeLanguage,args:{...t}})});let o=null==(n=A.settingsMenu.items.find(e=>{var t;return"submenu"===e.type&&(null==(t=e.submenu)?void 0:t.id)==="jp-mainmenu-settings-codemirror-theme"}))?void 0:n.submenu;if(o)for(let e of l.themes)o.addItem({command:i.changeTheme,args:{theme:e.name,displayName:null!=(r=e.displayName)?r:e.name}});A.editMenu.goToLiners.add({id:i.goToLine,isEnabled:e=>null!==L.currentWidget&&L.has(e)})}o.updateSettings(e,M),o.updateTracker(L),e.changed.connect(()=>{o.updateSettings(e,M),o.updateTracker(L)})}).catch(e=>{console.error(e.message),o.updateTracker(L)}),_){let e=_.getRenderer("@jupyterlab/codemirror-extension:plugin.defaultConfig");e&&_.addRenderer("@jupyterlab/fileeditor-extension:plugin.editorConfig",e)}t.widgetCreated.connect((e,t)=>{t.context.pathChanged.connect(()=>{L.save(t)}),L.add(t),o.updateWidget(t.content)}),L.widgetAdded.connect((e,t)=>{o.updateWidget(t.content)}),o.addCommands(e.commands,d,B,w,N,L,c,r,a,u,x,e.shell);let F=new s.WidgetTracker({namespace:"codeviewer"});return C&&C.restore(F,{command:i.openCodeViewer,args:e=>({content:e.content.content,label:e.content.title.label,mimeType:e.content.mimeType,widgetId:e.content.id}),name:e=>e.content.id}),o.addOpenCodeViewerCommand(e,n,F,B),g&&o.addLauncherItems(g,B),p&&o.addPaletteItems(p,B),A&&o.addMenuItems(A,L,u,N),(0,h.getAvailableKernelFileTypes)(e.serviceManager.kernelspecs).then(O).catch(e=>{console.error(e.message)}),b&&(b.add(new m.LaTeXTableOfContentsFactory(L)),b.add(new m.MarkdownTableOfContentsFactory(L,E)),b.add(new m.PythonTableOfContentsFactory(L))),L}function W(e,t,n,i,r){if(!n)return;o.addCompleterCommands(e.commands,t,n,i);let a=e.serviceManager.sessions,l=null!=r?r:new s.Sanitizer,d=new Map,c=async(e,t)=>{let i={editor:t.content.editor,widget:t};await n.updateCompleter(i);let o=(e,i)=>{let o=d.get(t.id),r=(0,w.find)(i,e=>e.path===t.context.path);if(r){if(o&&o.id===r.id)return;o&&(d.delete(t.id),o.dispose());let e=a.connectTo({model:r}),i={editor:t.content.editor,widget:t,session:e,sanitizer:l};n.updateCompleter(i).catch(console.error),d.set(t.id,e)}else o&&(d.delete(t.id),o.dispose())};o(a,Array.from(a.running())),a.runningChanged.connect(o),t.disposed.connect(()=>{a.runningChanged.disconnect(o);let e=d.get(t.id);e&&(d.delete(t.id),e.dispose())})};t.widgetAdded.connect(c),n.activeProvidersChanged.connect(()=>{t.forEach(e=>{c(t,e).catch(console.error)})})}function H(e,t,n,i,o,r){t.widgetAdded.connect(async(t,s)=>{let a=new m.FileEditorAdapter(s,{connectionManager:n,featureManager:i,foreignCodeExtractorsManager:o,docRegistry:e.docRegistry});r.add(a)})}},61689(e,t,n){"use strict";n(82311),n(97777),n(82946),n(62971),n(38415),n(22595),n(45350),n(67474),n(5241),n(92508),n(47040),n(29099),n(74047),n(3839),n(13137),n(58944),n(14037),n(67996)},34240(e,t,n){"use strict";let i;n.r(t),n.d(t,{EditorSyntaxStatus:()=>w,EditorTableOfContentsFactory:()=>S,FileEditor:()=>g,FileEditorAdapter:()=>a,FileEditorFactory:()=>C,FileEditorSearchProvider:()=>f,FileEditorWidget:()=>A,IEditorTracker:()=>z,IEditorWidgetFactory:()=>R,LaTeXTableOfContentsFactory:()=>D,LaTeXTableOfContentsModel:()=>k,MarkdownTableOfContentsFactory:()=>L,MarkdownTableOfContentsModel:()=>T,PythonTableOfContentsFactory:()=>P,PythonTableOfContentsModel:()=>N,TabSpaceStatus:()=>x});var o=n(78071),r=n(62861),s=n(55187);class a extends r.WidgetLSPAdapter{constructor(e,t){const{docRegistry:n,...i}=t;super(e,i),this._readyDelegate=new s.PromiseDelegate,this.editor=e.content,this._docRegistry=n,this._virtualEditor=Object.freeze({getEditor:()=>this.editor.editor,ready:()=>Promise.resolve(this.editor.editor),reveal:()=>Promise.resolve(this.editor.editor)}),Promise.all([this.editor.context.ready,this.connectionManager.ready]).then(async()=>{await this.initOnceReady(),this._readyDelegate.resolve(),this._editorAdded.emit({editor:this._virtualEditor})}).catch(console.error)}get ready(){return this._readyDelegate.promise}get documentPath(){return this.widget.context.path}get mimeType(){var e;let t=this.editor.model.mimeType,n=Array.isArray(t)?null!=(e=t[0])?e:o.IEditorMimeTypeService.defaultMimeType:t,i=this.editor.context.contentsModel;return n!=o.IEditorMimeTypeService.defaultMimeType?n:i?this._docRegistry.getFileTypeForModel(i).mimeTypes[0]:n}get languageFileExtension(){let e=this.documentPath.split(".");return e[e.length-1]}get ceEditor(){return this.editor.editor}get activeEditor(){return this._virtualEditor}get wrapperElement(){return this.widget.node}get path(){return this.widget.context.path}get editors(){var e,t;return[{ceEditor:this._virtualEditor,type:"code",value:null!=(t=null==(e=this.editor)?void 0:e.model.sharedModel.getSource())?t:""}]}dispose(){this.isDisposed||(this._editorRemoved.emit({editor:this._virtualEditor}),this.editor.model.mimeTypeChanged.disconnect(this.reloadConnection),super.dispose())}createVirtualDocument(){return new r.VirtualDocument({language:this.language,foreignCodeExtractors:this.options.foreignCodeExtractorsManager,path:this.documentPath,fileExtension:this.languageFileExtension,standalone:!0,hasLspSupportedFile:!0})}getEditorIndexAt(e){return 0}getEditorIndex(e){return 0}getEditorWrapper(e){return this.wrapperElement}async initOnceReady(){this.initVirtual(),await this.connectDocument(this.virtualDocument,!1),this.editor.model.mimeTypeChanged.connect(this.reloadConnection,this)}}var l=n(97518),d=n(22735),c=n(31997),h=n(8989),u=n(64001);let p="jpCodeRunner",m="jpUndoer";class g extends u.Widget{constructor(e){super(),this._ready=new s.PromiseDelegate,this.addClass("jp-FileEditor");const t=this._context=e.context;this._mimeTypeService=e.mimeTypeService;const n=this._editorWidget=new o.CodeEditorWrapper({factory:e.factory,model:t.model,editorOptions:{config:g.defaultEditorConfig}});this._editorWidget.addClass("jp-FileEditorCodeWrapper"),this._editorWidget.node.dataset[p]="true",this._editorWidget.node.dataset[m]="true",this.editor=n.editor,this.model=n.model;const i=g.defaultEditorConfig.scrollPastEnd;this.toggleClass("jp-mod-scrollPastEnd",i),t.ready.then(()=>{this._onContextReady()}),this._onPathChanged(),t.pathChanged.connect(this._onPathChanged,this),(this.layout=new u.StackedLayout).addWidget(n)}get context(){return this._context}get ready(){return this._ready.promise}handleEvent(e){this.model&&"mousedown"===e.type&&this._ensureFocus()}onAfterAttach(e){super.onAfterAttach(e),this.node.addEventListener("mousedown",this)}onBeforeDetach(e){this.node.removeEventListener("mousedown",this)}onActivateRequest(e){this._ensureFocus()}_ensureFocus(){this.editor.hasFocus()||this.editor.focus()}_onContextReady(){this.isDisposed||(this.editor.clearHistory(),this._ready.resolve(void 0))}_onPathChanged(){let e=this.editor,t=this._context.localPath;e.model.mimeType=this._mimeTypeService.getMimeTypeByFilePath(t)}}!function(e){e.defaultEditorConfig={lineNumbers:!0,scrollPastEnd:!0}}(g||(g={}));class A extends c.DocumentWidget{async setFragment(e){let t,n=e.split("=");if("#line"!==n[0])return;let i=n[1];return t=i.includes(",")?i.split(",")[0]||"0":i,this.context.ready.then(()=>{let e={line:parseInt(t,10),column:0};this.content.editor.setCursorPosition(e),this.content.editor.revealPosition(e)})}}class C extends c.ABCWidgetFactory{constructor(e){super(e.factoryOptions),this._services=e.editorServices}createNewWidget(e){let t=this._services.factoryService.newDocumentEditor,n=new g({factory:e=>t(e),context:e,mimeTypeService:this._services.mimeTypeService});return n.title.icon=h.textEditorIcon,new A({content:n,context:e})}}class f extends d.EditorSearchProvider{constructor(e){super(),this.widget=e,this._searchActive=!1}get isReadOnly(){return this.editor.getOption("readOnly")}get replaceOptionsSupport(){return{preserveCase:!0}}get editor(){return this.widget.content.editor}get model(){return this.widget.content.model}async startQuery(e,t){this._searchActive=!0,await super.startQuery(e,t),await this.highlightNext(!0,{from:"selection-start",scroll:!1,select:!1})}async endQuery(){this._searchActive=!1,await super.endQuery()}async onSharedModelChanged(e,t){if(this._searchActive)return super.onSharedModelChanged(e,t)}static createNew(e,t){return new f(e)}static isApplicable(e){return e instanceof l.MainAreaWidget&&e.content instanceof g&&e.content.editor instanceof d.CodeMirrorEditor}getInitialQuery(){let e=this.editor;return e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to)}}var b=n(59057),v=n(2786),_=n(60721),y=n.n(_);function E(e){return y().createElement(b.TextItem,{role:"button","aria-haspopup":!0,tabIndex:0,source:e.language,onClick:e.handleClick,onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&e.handleClick()}})}class w extends h.VDomRenderer{constructor(e){var t;super(new w.Model(e.languages)),this._handleClick=()=>{let e=new u.Menu({commands:this._commands}),t="fileeditor:change-language";this._popup&&this._popup.dispose(),this.model.languages.getLanguages().sort((e,t)=>{var n,i;let o=null!=(n=e.displayName)?n:e.name,r=null!=(i=t.displayName)?i:t.name;return o.localeCompare(r)}).forEach(n=>{var i;if(0===n.name.toLowerCase().indexOf("brainf"))return;let o={name:n.name,displayName:null!=(i=n.displayName)?i:n.name};e.addItem({command:t,args:o})}),this._popup=(0,b.showPopup)({body:e,anchor:this,align:"left"})},this._popup=null,this._commands=e.commands,this.translator=null!=(t=e.translator)?t:v.nullTranslator;const n=this.translator.load("jupyterlab");this.addClass("jp-mod-highlighted"),this.title.caption=n.__("Change text editor syntax highlighting")}render(){return this.model?y().createElement(E,{language:this.model.language,handleClick:this._handleClick}):null}}function j(e){let t=(e.translator||v.nullTranslator).load("jupyterlab"),n="number"==typeof e.tabSpace?t.__("Spaces"):t.__("Tab Indent");return y().createElement(b.TextItem,{role:"button","aria-haspopup":!0,tabIndex:0,onClick:e.handleClick,onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&e.handleClick()},source:"number"==typeof e.tabSpace?`${n}: ${e.tabSpace}`:n,title:t.__("Change the indentation…")})}!function(e){class t extends h.VDomModel{constructor(e){super(),this.languages=e,this._onMIMETypeChange=(e,t)=>{var n;let i=this._language,r=this.languages.findByMIME(t.newValue);this._language=null!=(n=null==r?void 0:r.name)?n:o.IEditorMimeTypeService.defaultMimeType,this._triggerChange(i,this._language)},this._language="",this._editor=null}get language(){return this._language}get editor(){return this._editor}set editor(e){var t;let n=this._editor;null!==n&&n.model.mimeTypeChanged.disconnect(this._onMIMETypeChange);let i=this._language;if(this._editor=e,null===this._editor)this._language="";else{let e=this.languages.findByMIME(this._editor.model.mimeType);this._language=null!=(t=null==e?void 0:e.name)?t:o.IEditorMimeTypeService.defaultMimeType,this._editor.model.mimeTypeChanged.connect(this._onMIMETypeChange)}this._triggerChange(i,this._language)}_triggerChange(e,t){e!==t&&this.stateChanged.emit(void 0)}}e.Model=t}(w||(w={}));class x extends h.VDomRenderer{constructor(e){super(new x.Model),this._popup=null,this._menu=e.menu,this.translator=e.translator||v.nullTranslator,this.addClass("jp-mod-highlighted")}render(){var e;if(!(null==(e=this.model)?void 0:e.indentUnit))return null;{let e="Tab"===this.model.indentUnit?null:parseInt(this.model.indentUnit,10);return y().createElement(j,{tabSpace:e,handleClick:()=>this._handleClick(),translator:this.translator})}}_handleClick(){let e=this._menu;this._popup&&this._popup.dispose(),e.aboutToClose.connect(this._menuClosed,this),this._popup=(0,b.showPopup)({body:e,anchor:this,align:"right"}),e.update()}_menuClosed(){this.removeClass("jp-mod-clicked")}}!function(e){class t extends h.VDomModel{get indentUnit(){return this._indentUnit}set indentUnit(e){e!==this._indentUnit&&(this._indentUnit=e,this.stateChanged.emit())}}e.Model=t}(x||(x={}));var B=n(45251);class S extends B.TableOfContentsFactory{createNew(e,t){let n=super.createNew(e,t),i=(t,n)=>{n&&e.content.editor.setCursorPosition({line:n.line,column:0})};return n.activeHeadingChanged.connect(i),e.disposed.connect(()=>{n.activeHeadingChanged.disconnect(i)}),n}}let M={part:1,chapter:1,section:1,subsection:2,subsubsection:3,paragraph:4,subparagraph:5},I=/^\s*\\(section|subsection|subsubsection)\{(.+)\}/;class k extends B.TableOfContentsModel{get documentType(){return"latex"}get supportedOptions(){return["maximalDepth","numberHeaders"]}getHeadings(){if(!this.isActive)return Promise.resolve(null);let e=this.widget.content.model.sharedModel.getSource().split("\n"),t=[],n=t.length,i=[];for(let o=0;o<e.length;o++){let r=e[o].match(I);if(r){let e=M[r[1]];if(e<=this.configuration.maximalDepth){let s=B.TableOfContentsUtils.getPrefix(e,n,t,{...this.configuration,baseNumbering:1,numberingH1:!0});n=e,i.push({text:r[2],prefix:s,level:e,line:o})}}}return Promise.resolve(i)}}class D extends S{isApplicable(e){var t,n;if(super.isApplicable(e)){let i=null==(n=null==(t=e.content)?void 0:t.model)?void 0:n.mimeType;return i&&("text/x-latex"===i||"text/x-stex"===i)}return!1}_createNew(e,t){return new k(e,t)}}class T extends B.TableOfContentsModel{constructor(e,t,n=null){super(e,t),this.widget=e,this.parser=n}get documentType(){return"markdown"}async getHeadings(){if(!this.isActive)return Promise.resolve(null);let e=this.widget.content.model.sharedModel.getSource();return B.TableOfContentsUtils.filterHeadings(await B.TableOfContentsUtils.Markdown.parseHeadings(e,this.parser),{...this.configuration,numberHeaders:!1})}}class L extends S{constructor(e,t=null){super(e),this.parser=t}isApplicable(e){var t,n;if(super.isApplicable(e)){let i=null==(n=null==(t=e.content)?void 0:t.model)?void 0:n.mimeType;return i&&B.TableOfContentsUtils.Markdown.isMarkdown(i)}return!1}_createNew(e,t){return new T(e,t,this.parser)}}try{i=RegExp("^\\s*(class |def |async def |from |import )","d")}catch(e){i=RegExp("^\\s*(class |def |async def |from |import )")}class N extends B.TableOfContentsModel{get documentType(){return"python"}async getHeadings(){if(!this.isActive)return Promise.resolve(null);let e=this.widget.content.model.sharedModel.getSource().split("\n"),t=[],o=!1,r=1,s=-1;for(let a of e){let e;if(s++,i.flags.includes("d"))e=i.exec(a);else{let{default:t}=await n.e(8901).then(n.t.bind(n,9892,23));e=t(i,a)}if(e){let[n]=e.indices[1];1===r&&n>0&&(r=n);let i=["from ","import "].includes(e[1]);if(i&&o)continue;o=i;let l=1+n/r;if(l>this.configuration.maximalDepth)continue;t.push({text:a.slice(n),level:l,line:s})}}return Promise.resolve(t)}}class P extends S{isApplicable(e){var t,n;if(super.isApplicable(e)){let i=null==(n=null==(t=e.content)?void 0:t.model)?void 0:n.mimeType;return i&&("application/x-python-code"===i||"text/x-python"===i)}return!1}_createNew(e,t){return new N(e,t)}}let z=new s.Token("@jupyterlab/fileeditor:IEditorTracker",`A widget tracker for file editors.
  Use this if you want to be able to iterate over and interact with file editors
  created by the application.`),R=new s.Token("@jupyterlab/fileeditor:IEditorWidgetFactory","A factory for creating file editors.")},58944(e,t,n){"use strict";n(82311),n(97777),n(62971),n(38415),n(5241),n(92508),n(22595),n(45350),n(13137),n(74047);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(4276),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},97491(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>m});var i,o=n(57941),r=n(97518),s=n(28951),a=n(95615),l=n(2786),d=n(8989),c=n(60721);!function(e){e.open="help:open",e.about="help:about",e.activate="help:activate",e.close="help:close",e.show="help:show",e.hide="help:hide",e.jupyterForum="help:jupyter-forum",e.licenses="help:licenses",e.licenseReport="help:license-report",e.refreshLicenses="help:licenses-refresh"}(i||(i={}));let h="https:"===window.location.protocol,u="jp-Help",p={id:"@jupyterlab/help-extension:licenses-commands",autoStart:!0,optional:[l.ITranslator],description:"Add licenses commands for backwards compatibility.",activate:(e,t)=>{let{commands:n}=e,o=(null!=t?t:l.nullTranslator).load("jupyterlab"),r=o.__("Licenses"),s=o.__("Download All Licenses"),a=o.__("Refresh Licenses"),d="apputils:licenses";n.addCommand(i.licenses,{label:r,describedBy:{args:{type:"object",properties:{}}},execute:e=>(console.warn(`The command ${i.licenses} is deprecated, use ${d} instead.`),n.execute(d,e))});let c="apputils:license-report";n.addCommand(i.licenseReport,{label:s,describedBy:{args:{type:"object",properties:{}}},execute:e=>(console.warn(`The command ${i.licenseReport} is deprecated, use ${c} instead.`),n.execute(c,e))});let h="apputils:licenses-refresh";n.addCommand(i.refreshLicenses,{label:a,describedBy:{args:{type:"object",properties:{}}},execute:e=>(console.warn(`The command ${i.refreshLicenses} is deprecated, use ${h} instead.`),n.execute(h,e))})}},m=[{id:"@jupyterlab/help-extension:about",description:'Adds a "About" dialog feature.',autoStart:!0,requires:[l.ITranslator],optional:[r.ICommandPalette],activate:(e,t,n)=>{let{commands:o}=e,s=t.load("jupyterlab"),a=s.__("Help");o.addCommand(i.about,{label:s.__("About %1",e.name),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let t=s.__("Version %1",e.version),n=c.createElement("span",{className:"jp-About-version-info"},c.createElement("span",{className:"jp-About-version"},t)),i=c.createElement("span",{className:"jp-About-header"},c.createElement(d.jupyterIcon.react,{margin:"7px 9.5px",height:"auto",width:"58px"}),c.createElement("div",{className:"jp-About-header-info"},c.createElement(d.jupyterlabWordmarkIcon.react,{height:"auto",width:"196px"}),n)),o="https://jupyter.org/about.html",a="https://github.com/jupyterlab/jupyterlab/graphs/contributors",l=c.createElement("span",{className:"jp-About-externalLinks"},c.createElement("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"jp-Button-flat"},s.__("CONTRIBUTOR LIST")),c.createElement("a",{href:o,target:"_blank",rel:"noopener noreferrer",className:"jp-Button-flat"},s.__("ABOUT PROJECT JUPYTER"))),h=c.createElement("span",{className:"jp-About-copyright"},s.__("\xa9 %1-%2 Project Jupyter Contributors",2015,2025)),u=c.createElement("div",{className:"jp-About-body"},l,h);return(0,r.showDialog)({title:i,body:u,buttons:[r.Dialog.cancelButton({label:s.__("Close")})]})}}),n&&n.addItem({command:i.about,category:a})}},{id:"@jupyterlab/help-extension:jupyter-forum",description:"Adds command to open the Jupyter Forum website.",autoStart:!0,requires:[l.ITranslator],optional:[r.ICommandPalette],activate:(e,t,n)=>{let{commands:o}=e,r=t.load("jupyterlab"),s=r.__("Help");o.addCommand(i.jupyterForum,{label:r.__("Jupyter Forum"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{window.open("https://discourse.jupyter.org/c/jupyterlab")}}),n&&n.addItem({command:i.jupyterForum,category:s})}},p,{id:"@jupyterlab/help-extension:open",description:"Add command to open websites as panel or browser tab.",autoStart:!0,requires:[l.ITranslator],optional:[o.ILayoutRestorer],activate:(e,t,n)=>{let{commands:o,shell:a}=e,l=t.load("jupyterlab"),c="help-doc",p=new r.WidgetTracker({namespace:c}),m=0;function g(e,t){let n=new d.IFrame({sandbox:["allow-scripts","allow-forms"],loading:"lazy"});n.url=e,n.addClass(u),n.title.label=t,n.id=`${c}-${++m}`;let i=new r.MainAreaWidget({content:n});return i.addClass("jp-Help"),i}function A(e){try{let t=new URL(e,window.location.href).protocol.toLowerCase();return["http:","https:","mailto:"].includes(t)}catch(e){return!1}}o.addCommand(i.open,{label:e=>{var t;return null!=(t=e.text)?t:l.__("Open the provided `url` in a tab.")},describedBy:{args:{type:"object",properties:{url:{type:"string",description:"The URL to open"},text:{type:"string",description:"The text label for the tab"},newBrowserTab:{type:"boolean",description:"Whether to open in a new browser tab"}},required:["url"]}},execute:e=>{let t=e.url,n=e.text,i=e.newBrowserTab||!1;if(!A(t))return void console.warn(`Blocked unsafe URL: ${t}`);if(i||h&&"https:"!==s.URLExt.parse(t).protocol)return void window.open(t);let o=g(t,n);return p.add(o),a.add(o,"main"),o}}),n&&n.restore(p,{command:i.open,args:e=>({url:e.content.url,text:e.content.title.label}),name:e=>e.content.url})}},{id:"@jupyterlab/help-extension:resources",description:"Adds menu entries to Jupyter reference documentation websites.",autoStart:!0,requires:[a.IMainMenu,l.ITranslator],optional:[o.ILabShell,r.ICommandPalette],activate:(e,t,n,o,s)=>{let a=n.load("jupyterlab"),l=a.__("Help"),{commands:d,serviceManager:h}=e,u=[{text:a.__("JupyterLab Reference"),url:"https://jupyterlab.readthedocs.io/en/stable/"},{text:a.__("JupyterLab FAQ"),url:"https://jupyterlab.readthedocs.io/en/stable/getting_started/faq.html"},{text:a.__("Jupyter Reference"),url:"https://jupyter.org/documentation"},{text:a.__("Markdown Reference"),url:"https://commonmark.org/help/"}];u.sort((e,t)=>e.text.localeCompare(t.text));let p=t.helpMenu,m=u.map(e=>({args:e,command:i.open}));p.addGroup(m,10);let g=new Map,A=(e,t)=>{var n;if(!t.length)return;let s=t[t.length-1];if(!s.kernel||g.has(s.kernel.name))return;let l=h.sessions.connectTo({model:s,kernelConnectionOptions:{handleComms:!1}});null==(n=l.kernel)||n.info.then(e=>{var t,n;let s=l.kernel.name;if(g.has(s))return;let u=null==(n=null==(t=h.kernelspecs)?void 0:t.specs)?void 0:n.kernelspecs[s];if(!u)return;g.set(s,e);let m=!1,A=async()=>{let e=await d.execute("helpmenu:get-kernel");m=(null==e?void 0:e.name)===s};A().catch(e=>{console.error("Failed to get the kernel for the current widget.",e)}),o&&o.currentChanged.connect(A);let C=()=>m,f=`help-menu-${s}:banner`,b=u.display_name,v=u.resources["logo-svg"]||u.resources["logo-64x64"];d.addCommand(f,{label:a.__("About the %1 Kernel",b),describedBy:{args:{type:"object",properties:{}}},isVisible:C,isEnabled:C,execute:()=>{let t=c.createElement("img",{src:v,alt:a.__("Kernel Icon")}),n=c.createElement("span",{className:"jp-About-header"},t,c.createElement("div",{className:"jp-About-header-info"},b)),i=c.createElement("pre",null,e.banner),o=c.createElement("div",{className:"jp-About-body"},i);return(0,r.showDialog)({title:n,body:o,buttons:[r.Dialog.cancelButton({label:a.__("Close")})]})}}),p.addGroup([{command:f}],20);let _=[];(e.help_links||[]).forEach(e=>{let t=`help-menu-${s}:${e.text}`;d.addCommand(t,{describedBy:{args:{type:"object",properties:{}}},label:d.label(i.open,e),isVisible:C,isEnabled:C,execute:()=>d.execute(i.open,e)}),_.push({command:t})}),p.addGroup(_,21)}).then(()=>{l.dispose()})};for(let e of h.sessions.running())A(h.sessions,[e]);h.sessions.runningChanged.connect(A),s&&(u.forEach(e=>{s.addItem({args:e,command:i.open,category:l})}),s.addItem({args:{reload:!0},command:"apputils:reset",category:l}))}}]},83381(e,t,n){"use strict";n(82311),n(97777),n(62971),n(67996);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(90844),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},1951(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>m});var i,o=n(57941),r=n(97518),s=n(72613),a=n(46109),l=n(2786),d=n(8989);let c="@jupyterlab/htmlviewer-extension:plugin",h="HTML Viewer";!function(e){e.trustHTML="htmlviewer:trust-html"}(i||(i={}));let u={activate:p,id:c,description:"Adds HTML file viewer and provides its tracker.",provides:s.IHTMLViewerTracker,requires:[l.ITranslator],optional:[r.ICommandPalette,o.ILayoutRestorer,a.ISettingRegistry,r.IToolbarWidgetRegistry],autoStart:!0};function p(e,t,n,o,a,l){let p,m=t.load("jupyterlab");l&&(l.addFactory(h,"refresh",e=>s.ToolbarItems.createRefreshButton(e,t)),l.addFactory(h,"trust",e=>s.ToolbarItems.createTrustButton(e,t)),a&&(p=(0,r.createToolbarFactory)(l,a,h,u.id,t)));let g={name:"html",contentType:"file",fileFormat:"text",displayName:m.__("HTML File"),extensions:[".html"],mimeTypes:["text/html"],icon:d.html5Icon};e.docRegistry.addFileType(g);let A=new s.HTMLViewerFactory({name:h,label:m.__("HTML Viewer"),fileTypes:["html"],defaultFor:["html"],readOnly:!0,toolbarFactory:p,translator:t}),C=new r.WidgetTracker({namespace:"htmlviewer"});o&&o.restore(C,{command:"docmanager:open",args:e=>({path:e.context.path,factory:"HTML Viewer"}),name:e=>e.context.path});let f=!1;if(a){let t=a.load(c),n=e=>{f=e.get("trustByDefault").composite};Promise.all([t,e.restored]).then(([e])=>{n(e),e.changed.connect(e=>{n(e)})}).catch(e=>{console.error(e.message)})}return e.docRegistry.addWidgetFactory(A),A.widgetCreated.connect((t,n)=>{var o,r;C.add(n),n.context.pathChanged.connect(()=>{C.save(n)}),n.trustedChanged.connect(()=>{e.commands.notifyCommandChanged(i.trustHTML)}),n.trusted=f,n.title.icon=g.icon,n.title.iconClass=null!=(o=g.iconClass)?o:"",n.title.iconLabel=null!=(r=g.iconLabel)?r:""}),e.commands.addCommand(i.trustHTML,{label:m.__("Trust HTML File"),caption:m.__(`Whether the HTML file is trusted.
    Trusting the file allows scripts to run in it,
    which may result in security risks.
    Only enable for files you trust.`),isEnabled:()=>!!C.currentWidget,isToggled:()=>{let e=C.currentWidget;return!!e&&-1!==e.content.sandbox.indexOf("allow-scripts")},describedBy:{args:{type:"object",properties:{}}},execute:()=>{let e=C.currentWidget;e&&(e.trusted=!e.trusted)}}),C.currentChanged.connect(()=>{e.commands.notifyCommandChanged(i.trustHTML)}),n&&n.addItem({command:i.trustHTML,category:m.__("File Operations")}),C}let m=u},48149(e,t,n){"use strict";n(97777),n(62971),n(45350),n(67474),n(82311);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(90676),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},7743(e,t,n){"use strict";n.r(t),n.d(t,{HTMLViewer:()=>g,HTMLViewerFactory:()=>A,IHTMLViewerTracker:()=>i,ToolbarItems:()=>o});let i=new(n(55187)).Token("@jupyterlab/htmlviewer:IHTMLViewerTracker",`A widget tracker for rendered HTML documents.
  Use this if you want to be able to iterate over and interact with HTML documents
  viewed by the application.`);var o,r,s=n(28951),a=n(31997),l=n(2786),d=n(8989),c=n(20659),h=n(60721);let u=1e3,p="jp-HTMLViewer",m=e=>`<style>
a[target="_blank"],
area[target="_blank"],
form[target="_blank"],
button[formtarget="_blank"],
input[formtarget="_blank"][type="image"],
input[formtarget="_blank"][type="submit"] {
  cursor: not-allowed !important;
}
a[target="_blank"]:hover::after,
area[target="_blank"]:hover::after,
form[target="_blank"]:hover::after,
button[formtarget="_blank"]:hover::after,
input[formtarget="_blank"][type="image"]:hover::after,
input[formtarget="_blank"][type="submit"]:hover::after {
  content: "${e.warning}";
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  border: 2px solid #e65100;
  background-color: #ffb74d;
  color: black;
  font-family: system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI', helvetica, arial, sans-serif;
  text-align: center;
}
</style>`;class g extends a.DocumentWidget{constructor(e){var t;super({...e,content:new d.IFrame({sandbox:r.common,loading:"lazy"})}),this._renderPending=!1,this._parser=new DOMParser,this._monitor=null,this._objectUrl="",this._trustedChanged=new c.Signal(this),this.translator=e.translator||l.nullTranslator,this.content.addClass(p),null==(t=this.content.node.querySelector("iframe"))||t.classList.add("jp-zoom-target"),this.context.ready.then(()=>{this.update(),this._monitor=new s.ActivityMonitor({signal:this.context.model.contentChanged,timeout:u}),this._monitor.activityStopped.connect(this.update,this)})}get trusted(){return -1!==this.content.sandbox.indexOf("allow-scripts")}set trusted(e){this.trusted!==e&&(e?this.content.sandbox=[...r.common,...r.trusted]:this.content.sandbox=[...r.common,...r.untrusted],this.update(),this._trustedChanged.emit(e))}get trustedChanged(){return this._trustedChanged}dispose(){if(this._objectUrl)try{URL.revokeObjectURL(this._objectUrl)}catch(e){}super.dispose()}onUpdateRequest(){this._renderPending||(this._renderPending=!0,this._renderModel().then(()=>this._renderPending=!1))}async _renderModel(){let e=this.context.model.toString(),t=new Blob([e=await this._setupDocument(e)],{type:"text/html"}),n=this._objectUrl;if(this._objectUrl=URL.createObjectURL(t),this.content.url=this._objectUrl,n)try{URL.revokeObjectURL(n)}catch(e){}}async _setupDocument(e){let t=this._parser.parseFromString(e,"text/html"),n=t.querySelector("base");n||(n=t.createElement("base"),t.head.insertBefore(n,t.head.firstChild));let i=this.context.path,o=await this.context.urlResolver.getDownloadUrl(i);if(n.href=o,n.target="_self",!this.trusted){let e=this.translator.load("jupyterlab").__("Action disabled as the file is not trusted.");t.body.insertAdjacentHTML("beforeend",m({warning:e}))}return t.documentElement.innerHTML}}class A extends a.ABCWidgetFactory{createNewWidget(e){return new g({context:e})}defaultToolbarFactory(e){return[{name:"refresh",widget:o.createRefreshButton(e,this.translator)},{name:"trust",widget:o.createTrustButton(e,this.translator)}]}}!function(e){e.createRefreshButton=function(e,t){let n=(null!=t?t:l.nullTranslator).load("jupyterlab");return new d.ToolbarButton({icon:d.refreshIcon,onClick:async()=>{e.context.model.dirty||(await e.context.revert(),e.update())},tooltip:n.__("Rerender HTML Document")})},e.createTrustButton=function(e,t){return d.ReactWidget.create(h.createElement(r.TrustButtonComponent,{htmlDocument:e,translator:t}))}}(o||(o={})),function(e){e.common=["allow-same-origin"],e.untrusted=[],e.trusted=["allow-scripts","allow-popups"],e.TrustButtonComponent=function(e){let t=(e.translator||l.nullTranslator).load("jupyterlab");return h.createElement(d.UseSignal,{signal:e.htmlDocument.trustedChanged,initialSender:e.htmlDocument},()=>h.createElement(d.ToolbarButtonComponent,{className:"",onClick:()=>e.htmlDocument.trusted=!e.htmlDocument.trusted,tooltip:t.__(`Whether the HTML file is trusted.
Trusting the file allows opening pop-ups and running scripts
which may result in security risks.
Only enable for files you trust.`),label:e.htmlDocument.trusted?t.__("Distrust HTML"):t.__("Trust HTML")}))}}(r||(r={}))},44031(e,t,n){"use strict";n.r(t),n.d(t,{CommandIDs:()=>i,default:()=>l});var i,o=n(57941),r=n(97518),s=n(28951),a=n(2786);!function(e){e.controlPanel="hub:control-panel",e.logout="hub:logout",e.restart="hub:restart"}(i||(i={}));let l=[{activate:function(e,t,n,o){let r=n.load("jupyterlab"),a=t.urls.hubHost||"",l=t.urls.hubPrefix||"",d=t.urls.hubUser||"",c=t.urls.hubServerName||"",h=t.urls.base;if(!l)return;console.debug("hub-extension: Found configuration ",{hubHost:a,hubPrefix:l});let u=s.URLExt.join(l,"spawn"),p=a+u;if(c){let e=s.URLExt.join(u,d,c);if(!e.startsWith(u))throw Error("Can only be used for spawn requests");p=a+e}let{commands:m}=e;if(m.addCommand(i.restart,{label:r.__("Restart Server"),caption:r.__("Request that the Hub restart this server"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{window.open(p,"_blank")}}),m.addCommand(i.controlPanel,{label:r.__("Hub Control Panel"),caption:r.__("Open the Hub control panel in a new browser tab"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{window.open(a+s.URLExt.join(l,"home"),"_blank")}}),m.addCommand(i.logout,{label:r.__("Log Out"),caption:r.__("Log out of the Hub"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{window.location.href=a+s.URLExt.join(h,"logout")}}),o){let e=r.__("Hub");o.addItem({category:e,command:i.controlPanel}),o.addItem({category:e,command:i.logout})}},id:"@jupyterlab/hub-extension:plugin",description:"Registers commands related to the hub server",requires:[o.JupyterFrontEnd.IPaths,a.ITranslator],optional:[r.ICommandPalette],autoStart:!0},{activate:()=>void 0,id:"@jupyterlab/hub-extension:menu",description:"Adds hub related commands to the menu.",autoStart:!0},{id:"@jupyterlab/hub-extension:connectionlost",description:"Provides a service to be notified when the connection to the hub server is lost.",requires:[o.JupyterFrontEnd.IPaths,a.ITranslator],optional:[o.JupyterLab.IInfo],activate:(e,t,n,s)=>{let a=n.load("jupyterlab"),l=t.urls.hubPrefix||"",d=t.urls.base;if(!l)return o.ConnectionLost;let c=!1;return async(t,n)=>{if(c)return;c=!0,s&&(s.isConnected=!1);let o=await (0,r.showDialog)({title:a.__("Server unavailable or unreachable"),body:a.__("Your server at %1 is not running.\nWould you like to restart it?",d),buttons:[r.Dialog.okButton({label:a.__("Restart")}),r.Dialog.cancelButton({label:a.__("Dismiss")})]});s&&(s.isConnected=!0),c=!1,o.button.accept&&await e.commands.execute(i.restart)}},autoStart:!0,provides:o.IConnectionLost}]},19457(e,t,n){"use strict";n(62971),n(67474)},55575(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>p});var i,o=n(57941),r=n(97518),s=n(3017),a=n(2786);!function(e){e.resetImage="imageviewer:reset-image",e.zoomIn="imageviewer:zoom-in",e.zoomOut="imageviewer:zoom-out",e.flipHorizontal="imageviewer:flip-horizontal",e.flipVertical="imageviewer:flip-vertical",e.rotateClockwise="imageviewer:rotate-clockwise",e.rotateCounterclockwise="imageviewer:rotate-counterclockwise",e.invertColors="imageviewer:invert-colors"}(i||(i={}));let l=["png","gif","jpeg","bmp","ico","tiff"],d="Image",c="Image (Text)",h=["svg","xbm"],u=RegExp(`\\.(?:${h.join("|")})$`),p={activate:m,description:"Adds image viewer and provide its tracker.",id:"@jupyterlab/imageviewer-extension:plugin",provides:s.IImageTracker,requires:[a.ITranslator],optional:[r.ICommandPalette,o.ILayoutRestorer],autoStart:!0};function m(e,t,n,o){let a=t.load("jupyterlab"),p="image-widget";function m(t,n){var i,o;n.context.pathChanged.connect(()=>{A.save(n)}),A.add(n);let r=e.docRegistry.getFileTypesForPath(n.context.path);r.length>0&&(n.title.icon=r[0].icon,n.title.iconClass=null!=(i=r[0].iconClass)?i:"",n.title.iconLabel=null!=(o=r[0].iconLabel)?o:"")}[new s.ImageViewerFactory({name:d,label:a.__("Image"),modelName:"base64",fileTypes:[...l,...h],defaultFor:l,readOnly:!0}),new s.ImageViewerFactory({name:c,label:a.__("Image (Text)"),modelName:"text",fileTypes:h,defaultFor:h,readOnly:!0})].forEach(t=>{e.docRegistry.addWidgetFactory(t),t.widgetCreated.connect(m)});let A=new r.WidgetTracker({namespace:p});if(o&&o.restore(A,{command:"docmanager:open",args:e=>({path:e.context.path,factory:u.test(e.context.path)?c:d}),name:e=>e.context.path}),g(e,A,t),n){let e=a.__("Image Viewer");[i.zoomIn,i.zoomOut,i.resetImage,i.rotateClockwise,i.rotateCounterclockwise,i.flipHorizontal,i.flipVertical,i.invertColors].forEach(t=>{n.addItem({command:t,category:e})})}return A}function g(e,t,n){var o;let r=n.load("jupyterlab"),{commands:s,shell:a}=e;function l(){return null!==t.currentWidget&&t.currentWidget===a.currentWidget}s.addCommand(i.zoomIn,{execute:c,label:r.__("Zoom In"),isEnabled:l,describedBy:{args:{type:"object",properties:{}}}}),s.addCommand(i.zoomOut,{execute:h,label:r.__("Zoom Out"),isEnabled:l,describedBy:{args:{type:"object",properties:{}}}}),s.addCommand(i.resetImage,{execute:u,label:r.__("Reset Image"),isEnabled:l,describedBy:{args:{type:"object",properties:{}}}}),s.addCommand(i.rotateClockwise,{execute:p,label:r.__("Rotate Clockwise"),isEnabled:l,describedBy:{args:{type:"object",properties:{}}}}),s.addCommand(i.rotateCounterclockwise,{execute:m,label:r.__("Rotate Counterclockwise"),isEnabled:l,describedBy:{args:{type:"object",properties:{}}}}),s.addCommand(i.flipHorizontal,{execute:g,label:r.__("Flip image horizontally"),isEnabled:l,describedBy:{args:{type:"object",properties:{}}}}),s.addCommand(i.flipVertical,{execute:A,label:r.__("Flip image vertically"),isEnabled:l,describedBy:{args:{type:"object",properties:{}}}}),s.addCommand(i.invertColors,{execute:C,label:r.__("Invert Colors"),isEnabled:l,describedBy:{args:{type:"object",properties:{}}}});let d=()=>{Object.values(i).forEach(e=>s.notifyCommandChanged(e))};function c(){var e;let n=null==(e=t.currentWidget)?void 0:e.content;n&&(n.scale=n.scale>1?n.scale+.5:2*n.scale)}function h(){var e;let n=null==(e=t.currentWidget)?void 0:e.content;n&&(n.scale=n.scale>1?n.scale-.5:n.scale/2)}function u(){var e;let n=null==(e=t.currentWidget)?void 0:e.content;n&&(n.scale=1,n.colorinversion=0,n.resetRotationFlip())}function p(){var e;let n=null==(e=t.currentWidget)?void 0:e.content;n&&n.rotateClockwise()}function m(){var e;let n=null==(e=t.currentWidget)?void 0:e.content;n&&n.rotateCounterclockwise()}function g(){var e;let n=null==(e=t.currentWidget)?void 0:e.content;n&&n.flipHorizontal()}function A(){var e;let n=null==(e=t.currentWidget)?void 0:e.content;n&&n.flipVertical()}function C(){var e;let n=null==(e=t.currentWidget)?void 0:e.content;n&&(n.colorinversion+=1,n.colorinversion%=2)}t.currentChanged.connect(d),null==(o=a.currentChanged)||o.connect(d)}},44267(e,t,n){"use strict";n(62971),n(45350),n(67474),n(82311);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(92420),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},6373(e,t,n){"use strict";n.r(t),n.d(t,{IImageTracker:()=>r,ImageViewer:()=>h,ImageViewerFactory:()=>u});var i,o=n(55187);let r=new o.Token("@jupyterlab/imageviewer:IImageTracker",`A widget tracker for images.
  Use this if you want to be able to iterate over and interact with images
  viewed by the application.`);var s=n(28951),a=n(97518),l=n(31997),d=n(64001);let c="jp-ImageViewer";class h extends d.Widget{constructor(e){super(),this._scale=1,this._matrix=[1,0,0,1],this._colorinversion=0,this._ready=new o.PromiseDelegate,this.context=e,this.node.tabIndex=0,this.addClass(c),this.addClass("jp-zoom-target"),this._img=document.createElement("img"),this.node.appendChild(this._img),this._onTitleChanged(),e.pathChanged.connect(this._onTitleChanged,this),e.ready.then(()=>{if(this.isDisposed)return;let t=e.contentsModel;this._mimeType=t.mimetype,this._render(),e.model.contentChanged.connect(this.update,this),e.fileChanged.connect(this.update,this),this._ready.resolve(void 0)})}[a.Printing.symbol](){return()=>a.Printing.printWidget(this)}get ready(){return this._ready.promise}get scale(){return this._scale}set scale(e){e!==this._scale&&(this._scale=e,this._updateStyle())}get colorinversion(){return this._colorinversion}set colorinversion(e){e!==this._colorinversion&&(this._colorinversion=e,this._updateStyle())}dispose(){this._img.src&&URL.revokeObjectURL(this._img.src||""),super.dispose()}resetRotationFlip(){this._matrix=[1,0,0,1],this._updateStyle()}rotateCounterclockwise(){this._matrix=i.prod(this._matrix,i.rotateCounterclockwiseMatrix),this._updateStyle()}rotateClockwise(){this._matrix=i.prod(this._matrix,i.rotateClockwiseMatrix),this._updateStyle()}flipHorizontal(){this._matrix=i.prod(this._matrix,i.flipHMatrix),this._updateStyle()}flipVertical(){this._matrix=i.prod(this._matrix,i.flipVMatrix),this._updateStyle()}onUpdateRequest(e){!this.isDisposed&&this.context.isReady&&this._render()}onActivateRequest(e){this.node.focus()}_onTitleChanged(){this.title.label=s.PathExt.basename(this.context.localPath)}_render(){let e=this.context,t=e.contentsModel;if(!t)return;let n=this._img.src||"",i=e.model.toString();if("base64"===t.format)this._img.src=`data:${this._mimeType};base64,${i}`;else{let e=new Blob([i],{type:this._mimeType});this._img.src=URL.createObjectURL(e)}URL.revokeObjectURL(n)}_updateStyle(){let[e,t,n,o]=this._matrix,[r,s]=i.prodVec(this._matrix,[1,1]),a=`matrix(${e}, ${t}, ${n}, ${o}, 0, 0) translate(${r<0?-100:0}%, ${s<0?-100:0}%) `;this._img.style.transform=`scale(${this._scale}) ${a}`,this._img.style.filter=`invert(${this._colorinversion})`}}class u extends l.ABCWidgetFactory{createNewWidget(e){let t=new h(e);return new l.DocumentWidget({content:t,context:e})}}!function(e){e.prod=function([e,t,n,i],[o,r,s,a]){return[e*o+t*s,e*r+t*a,n*o+i*s,n*r+i*a]},e.prodVec=function([e,t,n,i],[o,r]){return[e*o+t*r,n*o+i*r]},e.rotateClockwiseMatrix=[0,1,-1,0],e.rotateCounterclockwiseMatrix=[0,-1,1,0],e.flipHMatrix=[-1,0,0,1],e.flipVMatrix=[1,0,0,-1]}(i||(i={}))},33389(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>u});var i,o=n(57941),r=n(97518),s=n(23965),a=n(14373),l=n(90291),d=n(94613),c=n(2786),h=n(8989);!function(e){e.open="inspector:open",e.close="inspector:close",e.toggle="inspector:toggle"}(i||(i={}));let u=[{id:"@jupyterlab/inspector-extension:inspector",description:"Provides the code introspection widget.",requires:[c.ITranslator],optional:[r.ICommandPalette,l.ILauncher,o.ILayoutRestorer],provides:a.IInspector,autoStart:!0,activate:(e,t,n,o,s)=>{let l,d=t.load("jupyterlab"),{commands:c,shell:u}=e,p=d.__("Live updating code documentation from the active kernel"),m=d.__("Contextual Help"),g="inspector",A="jpInspector",C=new r.WidgetTracker({namespace:g});function f(){return l&&!l.isDisposed}let b=null;function v(e){var n;return f()||((l=new r.MainAreaWidget({content:new a.InspectorPanel({translator:t})})).disposed.connect(()=>{delete document.body.dataset[A]}),l.id="jp-inspector",l.title.label=m,l.title.icon=h.inspectorIcon,C.add(l),b=b&&!b.isDisposed?b:null,l.content.source=b,null==(n=l.content.source)||n.onEditorChange(e)),l.isAttached||u.add(l,"main",{activate:!1,mode:"split-right",type:"Inspector"}),u.activateById(l.id),document.body.dataset[A]="open",l}function _(){f()&&l.dispose()}let y=d.__("Show Contextual Help");c.addCommand(i.open,{caption:p,isEnabled:()=>!l||l.isDisposed||!l.isAttached||!l.isVisible,label:y,icon:e=>e.isLauncher?h.inspectorIcon:void 0,describedBy:{args:{type:"object",properties:{text:{type:"string",description:d.__("Text to display in the inspector")},refresh:{type:"boolean",description:d.__("Whether to refresh the inspector")},isLauncher:{type:"boolean",description:d.__("Whether command is called from launcher")}}}},execute:e=>{var t;let n=e&&e.text,i=e&&e.refresh;f()&&i?null==(t=l.content.source)||t.onEditorChange(n):v(n)}});let E=d.__("Hide Contextual Help");c.addCommand(i.close,{caption:p,isEnabled:()=>f(),label:E,icon:e=>e.isLauncher?h.inspectorIcon:void 0,describedBy:{args:{type:"object",properties:{isLauncher:{type:"boolean",description:d.__("Whether command is called from launcher")}}}},execute:()=>_()});let w=d.__("Show Contextual Help");return c.addCommand(i.toggle,{caption:p,label:w,isToggled:()=>f(),describedBy:{args:{type:"object",properties:{text:{type:"string",description:d.__("Text to display in the inspector")}}}},execute:e=>{f()?_():v(e&&e.text)}}),o&&o.add({command:i.open,args:{isLauncher:!0}}),n&&n.addItem({command:i.toggle,category:w}),s&&s.restore(C,{command:i.toggle,name:()=>"inspector"}),Object.defineProperty({},"source",{get:()=>!l||l.isDisposed?null:l.content.source,set:e=>{b=e&&!e.isDisposed?e:null,l&&!l.isDisposed&&(l.content.source=b)}})}},{id:"@jupyterlab/inspector-extension:consoles",description:"Adds code introspection support to consoles.",requires:[a.IInspector,s.IConsoleTracker],autoStart:!0,activate:(e,t,n)=>{var i;let o={};n.widgetAdded.connect((e,t)=>{let n=t.console.sessionContext,i=t.console.rendermime,r=new a.KernelConnector({sessionContext:n}),s=new a.InspectionHandler({connector:r,rendermime:i});o[t.id]=s;let l=t.console.promptCell;s.editor=l&&l.editor,t.console.promptCellCreated.connect((e,t)=>{s.editor=t&&t.editor}),t.disposed.connect(()=>{delete o[t.id],s.dispose()})});let r=e=>{e&&n.has(e)&&o[e.id]&&(t.source=o[e.id])};null==(i=e.shell.currentChanged)||i.connect((e,t)=>r(t.newValue)),e.restored.then(()=>r(e.shell.currentWidget))}},{id:"@jupyterlab/inspector-extension:notebooks",description:"Adds code introspection to notebooks.",requires:[a.IInspector,d.INotebookTracker],autoStart:!0,activate:(e,t,n)=>{var i;let o={};n.widgetAdded.connect((e,t)=>{let n=t.sessionContext,i=t.content.rendermime,r=new a.KernelConnector({sessionContext:n}),s=new a.InspectionHandler({connector:r,rendermime:i});o[t.id]=s;let l=t.content.activeCell;s.editor=l&&l.editor,t.content.activeCellChanged.connect((e,n)=>{null==n||n.ready.then(()=>{n===t.content.activeCell&&(s.editor=n.editor)})}),t.disposed.connect(()=>{delete o[t.id],s.dispose()})});let r=e=>{e&&n.has(e)&&o[e.id]&&(t.source=o[e.id])};null==(i=e.shell.currentChanged)||i.connect((e,t)=>r(t.newValue)),e.restored.then(()=>r(e.shell.currentWidget))}}]},45695(e,t,n){"use strict";n(82311),n(97777),n(62971),n(67474),n(3839),n(51825),n(14037),n(16382)},55676(e,t,n){"use strict";n.r(t),n.d(t,{IInspector:()=>f,InspectionHandler:()=>l,InspectorPanel:()=>g,KernelConnector:()=>C});var i=n(28951),o=n(31031),r=n(55187),s=n(59807),a=n(20659);class l{constructor(e){this._cleared=new a.Signal(this),this._disposed=new a.Signal(this),this._editor=null,this._inspected=new a.Signal(this),this._isDisposed=!1,this._pending=0,this._standby=!0,this._lastInspectedReply=null,this._connector=e.connector,this._rendermime=e.rendermime,this._debouncer=new s.Debouncer(this.onEditorChange.bind(this),250)}get cleared(){return this._cleared}get disposed(){return this._disposed}get inspected(){return this._inspected}get editor(){return this._editor}set editor(e){if(e===this._editor)return;a.Signal.disconnectReceiver(this);let t=this._editor=e;t&&(this._cleared.emit(void 0),this.onEditorChange(),t.model.selections.changed.connect(this._onChange,this),t.model.sharedModel.changed.connect(this._onChange,this))}get standby(){return this._standby}set standby(e){this._standby=e}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this._debouncer.dispose(),this._disposed.emit(void 0),a.Signal.clearData(this))}onEditorChange(e){if(this._standby)return;let t=this.editor;if(!t)return;let n=e||t.model.sharedModel.getSource(),s=t.getCursorPosition(),a=i.Text.jsIndexToCharIndex(t.getOffsetAt(s),n),l={content:null},d=++this._pending;this._connector.fetch({offset:a,text:n}).then(e=>{if(!e||this.isDisposed||d!==this._pending){this._lastInspectedReply=null,this._inspected.emit(l);return}let{data:t}=e;if(this._lastInspectedReply&&r.JSONExt.deepEqual(this._lastInspectedReply,t))return;let n=this._rendermime.preferredMimeType(t);if(n){let e=this._rendermime.createRenderer(n),i=new o.MimeModel({data:t});e.renderModel(i),l.content=e}this._lastInspectedReply=e.data,this._inspected.emit(l)}).catch(e=>{this._lastInspectedReply=null,this._inspected.emit(l)})}_onChange(){this._debouncer.invoke()}}var d=n(97518),c=n(2786),h=n(64001);let u="jp-Inspector",p="jp-Inspector-content",m="jp-Inspector-placeholderContent";class g extends h.Panel{constructor(e={}){if(super(),this._source=null,this.translator=e.translator||c.nullTranslator,this._trans=this.translator.load("jupyterlab"),e.initialContent instanceof h.Widget)this._content=e.initialContent;else if("string"==typeof e.initialContent)this._content=g._generateContentWidget(`<p>${e.initialContent}</p>`);else{const e=`<h3>${this._trans.__("No Documentation")}</h3>`,t=`<p>${this._trans.__("Move the cursor to a code fragment (e.g. function or object) to request information about it from the kernel attached to the editor.")}</p>`;this._content=g._generateContentWidget(`${e}${t}`)}this.addClass(u),this.layout.addWidget(this._content)}[d.Printing.symbol](){return()=>d.Printing.printWidget(this)}get source(){return this._source}set source(e){this._source!==e&&(this._source&&(this._source.standby=!0,this._source.inspected.disconnect(this.onInspectorUpdate,this),this._source.disposed.disconnect(this.onSourceDisposed,this)),e&&e.isDisposed&&(e=null),this._source=e,this._source&&(this._source.standby=!1,this._source.inspected.connect(this.onInspectorUpdate,this),this._source.disposed.connect(this.onSourceDisposed,this)))}dispose(){this.isDisposed||(this.source=null,super.dispose())}onInspectorUpdate(e,t){let{content:n}=t;n&&n!==this._content&&(this._content.dispose(),this._content=n,n.addClass(p),this.layout.addWidget(n))}onSourceDisposed(e,t){this.source=null}static _generateContentWidget(e){let t=new h.Widget;return t.node.innerHTML=e,t.addClass(p),t.addClass(m),t}}var A=n(99873);class C extends A.DataConnector{constructor(e){super(),this._sessionContext=e.sessionContext}fetch(e){var t;let n=null==(t=this._sessionContext.session)?void 0:t.kernel;if(!n)return Promise.reject(Error("Inspection fetch requires a kernel."));let i={code:e.text,cursor_pos:e.offset,detail_level:1};return n.requestInspect(i).then(e=>{let t=e.content;if("ok"!==t.status||!t.found)throw Error("Inspection fetch failed to return successfully.");return{data:t.data,metadata:t.metadata}})}}let f=new r.Token("@jupyterlab/inspector:IInspector",`A service for adding contextual help to widgets (visible using "Show Contextual Help" from the Help menu).
  Use this to hook into the contextual help system in your extension.`)},51825(e,t,n){"use strict";n(82311),n(62971),n(38415),n(22595);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(81302),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},42147(__unused_rspack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{APPLICATION_JAVASCRIPT_MIMETYPE:()=>APPLICATION_JAVASCRIPT_MIMETYPE,ExperimentalRenderedJavascript:()=>ExperimentalRenderedJavascript,TEXT_JAVASCRIPT_MIMETYPE:()=>TEXT_JAVASCRIPT_MIMETYPE,default:()=>__rspack_default_export,rendererFactory:()=>rendererFactory});var _jupyterlab_rendermime__rspack_import_0=__webpack_require__(31031),_jupyterlab_rendermime__rspack_import_0_default=__webpack_require__.n(_jupyterlab_rendermime__rspack_import_0);let TEXT_JAVASCRIPT_MIMETYPE="text/javascript",APPLICATION_JAVASCRIPT_MIMETYPE="application/javascript";function evalInContext(code,element,document,window){return eval(code)}class ExperimentalRenderedJavascript extends _jupyterlab_rendermime__rspack_import_0.RenderedJavaScript{render(e){let t=this.translator.load("jupyterlab"),n=()=>{try{let t=e.data[this.mimeType];return t&&evalInContext(t,this.node,document,window),Promise.resolve()}catch(e){return Promise.reject(e)}};if(!e.trusted){let e=document.createElement("pre");e.textContent=t.__("Are you sure that you want to run arbitrary Javascript within your JupyterLab session?");let i=document.createElement("button");return i.textContent=t.__("Run"),this.node.appendChild(e),this.node.appendChild(i),i.onclick=e=>{this.node.textContent="",n()},Promise.resolve()}return n()}}let rendererFactory={safe:!1,mimeTypes:[TEXT_JAVASCRIPT_MIMETYPE,APPLICATION_JAVASCRIPT_MIMETYPE],createRenderer:e=>new ExperimentalRenderedJavascript(e)},extension={id:"@jupyterlab/javascript-extension:factory",description:"Adds renderer for JavaScript content.",rendererFactory,rank:0,dataType:"string"},__rspack_default_export=extension},58607(e,t,n){"use strict";n(22595);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(39488),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},60885(e,t,n){"use strict";n.d(t,{Component:()=>m});var i=n(22735),o=n(2786),r=n(8989),s=n(342),a=n(55187),l=n(60721),d=n(9150),c=n.n(d),h=n(2231),u=n(1403);function p(e){var t;return null!=(t=i.jupyterHighlightStyle.style([e]))?t:""}class m extends l.Component{constructor(){super(...arguments),this.state={filter:"",value:""},this.timer=0,this.handleChange=e=>{let{value:t}=e.target;this.setState({value:t}),window.clearTimeout(this.timer),this.timer=window.setTimeout(()=>{this.setState({filter:t})},300)}}componentDidMount(){u.StyleModule.mount(document,i.jupyterHighlightStyle.module)}render(){let e=(this.props.translator||o.nullTranslator).load("jupyterlab"),{data:t,metadata:n,forwardedRef:i}=this.props,a=n&&n.root?n.root:"root",d=this.state.filter?C(t,this.state.filter,[a]):[a];return l.createElement("div",{className:"container",ref:i},l.createElement(r.InputGroup,{className:"filter",type:"text",placeholder:e.__("Find…"),onChange:this.handleChange,value:this.state.value,rightIcon:"ui-components:search"}),l.createElement(h.JSONTree,{data:t,collectionLimit:100,theme:{extend:g,valueLabel:p(s.tags.variableName),valueText:p(s.tags.string),nestedNodeItemString:p(s.tags.comment)},invertTheme:!1,keyPath:[a],getItemString:(e,t,n,i)=>Array.isArray(t)?l.createElement("span",null,n," ",i):0===Object.keys(t).length?l.createElement("span",null,n):null,labelRenderer:([e,t])=>l.createElement("span",{className:p(s.tags.keyword)},l.createElement(c(),{searchWords:[this.state.filter],textToHighlight:`${e}`,highlightClassName:"jp-mod-selected"})),valueRenderer:e=>{let t=p(s.tags.string);return"number"==typeof e&&(t=p(s.tags.number)),("true"===e||"false"===e)&&(t=p(s.tags.keyword)),l.createElement("span",{className:t},l.createElement(c(),{searchWords:[this.state.filter],textToHighlight:`${e}`,highlightClassName:"jp-mod-selected"}))},shouldExpandNodeInitially:(e,t,i)=>!!n&&!!n.expanded||d.join(",").includes(e.join(","))}))}}let g={scheme:"jupyter",base00:"invalid",base01:"invalid",base02:"invalid",base03:"invalid",base04:"invalid",base05:"invalid",base06:"invalid",base07:"invalid",base08:"invalid",base09:"invalid",base0A:"invalid",base0B:"invalid",base0C:"invalid",base0D:"invalid",base0E:"invalid",base0F:"invalid",author:"invalid"};function A(e,t){return JSON.stringify(e).includes(t)}function C(e,t,n=["root"]){return a.JSONExt.isArray(e)?e.reduce((e,i,o)=>i&&"object"==typeof i&&A(i,t)?[...e,[o,...n].join(","),...C(i,t,[o,...n])]:e,[]):a.JSONExt.isObject(e)?Object.keys(e).reduce((i,o)=>{let r=e[o];return r&&"object"==typeof r&&(o.includes(t)||A(r,t))?[...i,[o,...n].join(","),...C(r,t,[o,...n])]:i},[]):[]}},94206(e,t,n){"use strict";n.r(t),n.d(t,{MIME_TYPE:()=>d,MIME_TYPES_JSONL:()=>c,RenderedJSON:()=>h,default:()=>p,rendererFactory:()=>u});var i=n(97518),o=n(2786),r=n(64001),s=n(60721),a=n(5338);let l="jp-RenderedJSON",d="application/json",c=["text/jsonl","application/jsonl","application/json-lines"];class h extends r.Widget{constructor(e){super(),this._rootDOM=null,this.addClass(l),this.addClass("CodeMirror"),this._mimeType=e.mimeType,this.translator=e.translator||o.nullTranslator}[i.Printing.symbol](){return()=>i.Printing.printWidget(this)}async renderModel(e){let t,{Component:i}=await Promise.all([n.e(5531),n.e(1760),n.e(9502),n.e(596),n.e(4987),n.e(1544),n.e(4591)]).then(n.bind(n,60885));if(c.indexOf(this._mimeType)>=0){let n=(e.data[this._mimeType]||"").trim().split(/\n/);t=JSON.parse(`[${n.join(",")}]`)}else t=e.data[this._mimeType]||{};let o=e.metadata[this._mimeType]||{};return null===this._rootDOM&&(this._rootDOM=(0,a.H)(this.node)),new Promise((e,n)=>{this._rootDOM.render(s.createElement(i,{data:t,metadata:o,translator:this.translator,forwardedRef:()=>e()}))})}onBeforeDetach(e){this._rootDOM&&(this._rootDOM.unmount(),this._rootDOM=null)}}let u={safe:!0,mimeTypes:[d,...c],createRenderer:e=>new h(e)},p=[{id:"@jupyterlab/json-extension:factory",description:"Adds renderer for JSON content.",rendererFactory:u,rank:0,dataType:"json",documentWidgetFactoryOptions:{name:"JSON",primaryFileType:"json",fileTypes:["json","notebook","geojson"],defaultFor:["json"]}},{id:"@jupyterlab/json-lines-extension:factory",description:"Adds renderer for JSONLines content.",rendererFactory:u,rank:0,dataType:"string",documentWidgetFactoryOptions:{name:"JSONLines",primaryFileType:"jsonl",fileTypes:["jsonl","ndjson"],defaultFor:["jsonl","ndjson"]}}]},88810(e,t,n){"use strict";n(82311),n(97777),n(62971),n(92508);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(19269),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},960(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>u});var i,o,r=n(57941),s=n(97518),a=n(56573),l=n(90291),d=n(2786),c=n(8989),h=n(65819);!function(e){e.create="launcher:create"}(i||(i={}));let u={activate:p,id:"@jupyterlab/launcher-extension:plugin",description:"Provides the launcher tab service.",requires:[d.ITranslator],optional:[r.ILabShell,s.ICommandPalette,a.IDefaultFileBrowser],provides:l.ILauncher,autoStart:!0};function p(e,t,n,r,a){let{commands:d,shell:u}=e,p=t.load("jupyterlab"),m=new l.LauncherModel;return d.addCommand(i.create,{label:p.__("New Launcher"),icon:e=>e.toolbar?c.addIcon:void 0,describedBy:{args:{type:"object",properties:{cwd:{type:"string",description:p.__("The current working directory")},toolbar:{type:"boolean",description:p.__("Whether the command is executed from a toolbar")},activate:{type:"boolean",description:p.__("Whether to activate the widget")},ref:{type:"string",description:p.__("The reference widget id")}}}},execute:e=>{var i,r;let g=null!=(r=null!=(i=e.cwd)?i:null==a?void 0:a.model.path)?r:"",A=`launcher-${o.id++}`,C=e=>{(0,h.find)(u.widgets("main"),t=>t===e)&&(u.add(e,"main",{ref:A}),f.dispose())},f=new l.Launcher({model:m,cwd:g,callback:C,commands:d,translator:t});f.model=m,f.title.icon=c.launcherIcon,f.title.label=p.__("Launcher");let b=new s.MainAreaWidget({content:f});if(b.title.closable=!!Array.from(u.widgets("main")).length,b.id=A,u.add(b,"main",{activate:e.activate,ref:e.ref}),n&&n.layoutModified.connect(()=>{b.title.closable=Array.from(n.widgets("main")).length>1},b),a){let e=e=>{f.cwd=e.path};a.model.pathChanged.connect(e),f.disposed.connect(()=>{a.model.pathChanged.disconnect(e)})}return b}}),n&&Promise.all([e.restored,null==a?void 0:a.model.restored]).then(()=>{function e(){n.isEmpty("main")&&d.execute(i.create)}n.layoutModified.connect(()=>{e()})}),r&&r.addItem({command:i.create,category:p.__("Launcher")}),n&&(n.addButtonEnabled=!0,n.addRequested.connect((e,t)=>{var n;let o=(null==(n=t.currentTitle)?void 0:n.owner.id)||t.titles[t.titles.length-1].owner.id;return d.execute(i.create,{ref:o})})),m}!function(e){e.id=0}(o||(o={}))},88420(e,t,n){"use strict";n(82311),n(97777),n(62971),n(67474),n(29099),n(14037);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(68931),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},86587(e,t,n){"use strict";n.r(t),n.d(t,{ILauncher:()=>i,Launcher:()=>g,LauncherModel:()=>m});let i=new(n(55187)).Token("@jupyterlab/launcher:ILauncher",`A service for the application activity launcher.
  Use this to add your extension activities to the launcher panel.`);var o,r=n(97518),s=n(2786),a=n(8989),l=n(65819),d=n(63995),c=n(17981),h=n(64001),u=n(60721);let p="jp-Launcher";class m extends a.VDomModel{constructor(){super(...arguments),this.itemsList=[]}add(e){let t=o.createItem(e);return this.itemsList.push(t),this.stateChanged.emit(void 0),new d.DisposableDelegate(()=>{l.ArrayExt.removeFirstOf(this.itemsList,t),this.stateChanged.emit(void 0)})}items(){return this.itemsList[Symbol.iterator]()}}class g extends a.VDomRenderer{constructor(e){super(e.model),this._pending=!1,this._cwd="",this._cwd=e.cwd,this.translator=e.translator||s.nullTranslator,this._trans=this.translator.load("jupyterlab"),this._callback=e.callback,this._commands=e.commands,this.addClass(p)}get cwd(){return this._cwd}set cwd(e){this._cwd=e,this.update()}get pending(){return this._pending}set pending(e){this._pending=e}render(){let e;if(!this.model)return null;let t=[this._trans.__("Notebook"),this._trans.__("Console")],n=Object.create(null);for(let e of this.model.items()){let t=e.category||this._trans.__("Other");t in n||(n[t]=[]),n[t].push(e)}for(let e in n)n[e]=n[e].sort((e,t)=>o.sortCmp(e,t,this._cwd,this._commands));let i=[],r={[this._trans.__("Notebook")]:0,[this._trans.__("Console")]:20,[this._trans.__("Other")]:100};return Object.keys(n).sort((e,t)=>{let i=e=>{var t,i;let o=null!=(t=n[e])?t:[],s=null!=(i=r[e])?i:1/0;return Math.min(...o.map(e=>{var t;return null!=(t=e.categoryRank)?t:s}))},o=i(e),s=i(t);return o!==s?o-s:e.localeCompare(t)}).forEach(o=>{if(!n[o])return;let r=n[o][0],s={...r.args,cwd:this.cwd},d=t.indexOf(o)>-1,c=this._commands.iconClass(r.command,s),h=this._commands.icon(r.command,s);o in n&&(e=u.createElement("div",{className:"jp-Launcher-section",key:o},u.createElement("div",{className:"jp-Launcher-sectionHeader"},u.createElement(a.LabIcon.resolveReact,{icon:h,iconClass:(0,a.classes)(c,"jp-Icon-cover"),stylesheet:"launcherSection","aria-hidden":"true"}),u.createElement("h2",{className:"jp-Launcher-sectionTitle"},o)),u.createElement("div",{className:"jp-Launcher-cardContainer"},Array.from((0,l.map)(n[o],e=>A(d,e,this,this._commands,this._trans,this._callback))))),i.push(e))}),u.createElement("div",{className:"jp-Launcher-body jp-zoom-target"},u.createElement("div",{className:"jp-Launcher-content"},u.createElement("div",{className:"jp-Launcher-cwd"},u.createElement("h3",null,this.cwd)),i))}}function A(e,t,n,i,s,l){let d=t.command,c={...t.args,cwd:n.cwd},p=i.caption(d,c),m=i.label(d,c),g=e?m:p||m,A=()=>{!0!==n.pending&&(n.pending=!0,i.execute(d,{...t.args,cwd:n.cwd}).then(e=>{n.pending=!1,e instanceof h.Widget&&l(e)}).catch(e=>{console.error(e),n.pending=!1,(0,r.showErrorMessage)(s._p("Error","Launcher Error"),e)}))},C=e=>{("Enter"===e.key||" "===e.key||"Spacebar"===e.key)&&(e.preventDefault(),A())},f=i.iconClass(d,c),b=i.icon(d,c);return u.createElement("div",{className:"jp-LauncherCard",title:g,role:"button",onClick:A,onKeyDown:C,tabIndex:0,"data-category":t.category||s.__("Other"),key:o.keyProperty.get(t)},u.createElement("div",{className:"jp-LauncherCard-icon"},e?t.kernelIconUrl?u.createElement("img",{src:t.kernelIconUrl,className:"jp-Launcher-kernelIcon",alt:g}):u.createElement("div",{className:"jp-LauncherCard-noKernelIcon"},m[0].toUpperCase()):u.createElement(a.LabIcon.resolveReact,{icon:b,iconClass:(0,a.classes)(f,"jp-Icon-cover"),stylesheet:"launcherCard"})),u.createElement("div",{className:"jp-LauncherCard-label",title:g},u.createElement("p",null,m)))}!function(e){let t=0;e.keyProperty=new c.AttachedProperty({name:"key",create:()=>t++}),e.createItem=function(e){return{...e,category:e.category||"",rank:void 0!==e.rank?e.rank:1/0}},e.sortCmp=function(e,t,n,i){let o=e.rank,r=t.rank;if(o!==r&&void 0!==o&&void 0!==r)return o<r?-1:1;let s=i.label(e.command,{...e.args,cwd:n}),a=i.label(t.command,{...t.args,cwd:n});return s.localeCompare(a)}}(o||(o={}))},14037(e,t,n){"use strict";n(82311),n(97777),n(62971);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(97875),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},12109(e,t,n){"use strict";n.r(t),n.d(t,{LogLevelSwitcher:()=>E,default:()=>w});var i,o=n(57941),r=n(97518),s=n(31997),a=n(30733),l=n(31031),d=n(46109),c=n(59057),h=n(2786),u=n(8989),p=n(55187),m=n(60721),g=n.n(m),A=n(20659);function C(e){let t=(e.translator||h.nullTranslator).load("jupyterlab"),n="";return e.newMessages>0?n=t.__("%1 new messages, %2 log entries for %3",e.newMessages,e.logEntries,e.source):n+=t.__("%1 log entries for %2",e.logEntries,e.source),g().createElement(c.GroupItem,{role:"button",tabIndex:0,spacing:0,onClick:e.handleClick,onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&e.handleClick()},title:n},g().createElement(u.listIcon.react,{top:"2px",stylesheet:"statusBar"}),e.newMessages>0?g().createElement(c.TextItem,{source:e.newMessages}):g().createElement(g().Fragment,null))}class f extends u.VDomRenderer{constructor(e){super(new f.Model(e.loggerRegistry)),this.translator=e.translator||h.nullTranslator,this._handleClick=e.handleClick,this.addClass("jp-mod-highlighted"),this.addClass("jp-LogConsoleStatusItem")}render(){if(null===this.model||0===this.model.version)return null;let{flashEnabled:e,messages:t,source:n,version:i,versionDisplayed:o,versionNotified:r}=this.model;return null!==n&&e&&i>r?(this._flashHighlight(),this.model.sourceNotified(n,i)):null!==n&&e&&i>o?this._showHighlighted():this._clearHighlight(),g().createElement(C,{handleClick:this._handleClick,logEntries:t,newMessages:i-o,source:this.model.source,translator:this.translator})}_flashHighlight(){this._showHighlighted(),this.removeClass("jp-LogConsole-flash"),requestAnimationFrame(()=>{this.addClass("jp-LogConsole-flash")})}_showHighlighted(){this.addClass("jp-mod-selected")}_clearHighlight(){this.removeClass("jp-LogConsole-flash"),this.removeClass("jp-mod-selected")}}!function(e){class t extends u.VDomModel{constructor(e){super(),this.flashEnabledChanged=new A.Signal(this),this._flashEnabled=!0,this._source=null,this._sourceVersion=new Map,this._loggerRegistry=e,this._loggerRegistry.registryChanged.connect(this._handleLogRegistryChange,this),this._handleLogRegistryChange()}get messages(){return null===this._source?0:this._loggerRegistry.getLogger(this._source).length}get version(){return null===this._source?0:this._loggerRegistry.getLogger(this._source).version}get source(){return this._source}set source(e){this._source!==e&&(this._source=e,this.stateChanged.emit())}get versionDisplayed(){var e,t;return null===this._source?0:null!=(t=null==(e=this._sourceVersion.get(this._source))?void 0:e.lastDisplayed)?t:0}get versionNotified(){var e,t;return null===this._source?0:null!=(t=null==(e=this._sourceVersion.get(this._source))?void 0:e.lastNotified)?t:0}get flashEnabled(){return this._flashEnabled}set flashEnabled(e){this._flashEnabled!==e&&(this._flashEnabled=e,this.flashEnabledChanged.emit(),this.stateChanged.emit())}sourceDisplayed(e,t){if(null===e||null===t)return;let n=this._sourceVersion.get(e),i=!1;n.lastDisplayed<t&&(n.lastDisplayed=t,i=!0),n.lastNotified<t&&(n.lastNotified=t,i=!0),i&&e===this._source&&this.stateChanged.emit()}sourceNotified(e,t){if(null===e)return;let n=this._sourceVersion.get(e);n.lastNotified<t&&(n.lastNotified=t,e===this._source&&this.stateChanged.emit())}_handleLogRegistryChange(){for(let e of this._loggerRegistry.getLoggers())this._sourceVersion.has(e.source)||(e.contentChanged.connect(this._handleLogContentChange,this),this._sourceVersion.set(e.source,{lastDisplayed:0,lastNotified:0}))}_handleLogContentChange({source:e},t){e===this._source&&this.stateChanged.emit()}}e.Model=t}(f||(f={}));let b="LogConsole",v="@jupyterlab/logconsole-extension:plugin";!function(e){e.addCheckpoint="logconsole:add-checkpoint",e.clear="logconsole:clear",e.open="logconsole:open",e.setLevel="logconsole:set-level"}(i||(i={}));let _={activate:y,id:v,description:"Provides the logger registry.",provides:a.ILoggerRegistry,requires:[l.IRenderMimeRegistry,h.ITranslator],optional:[o.ILabShell,r.ICommandPalette,o.ILayoutRestorer,c.IStatusBar,d.ISettingRegistry,r.IToolbarWidgetRegistry],autoStart:!0};function y(e,t,n,o,l,d,c,h,p){let m,g=n.load("jupyterlab"),A=null,C=null;h&&p&&(m=(0,r.createToolbarFactory)(p,h,b,v,n),p.addFactory(b,"set-level",e=>new E(e.content,n)));let _=new a.LoggerRegistry({defaultRendermime:t,maxLength:1e3}),y=new r.WidgetTracker({namespace:"logconsole"});d&&d.restore(y,{command:i.open,name:()=>"logconsole"});let w=new f({loggerRegistry:_,handleClick:()=>{var t;A?e.shell.activateById(A.id):x({insertMode:"split-bottom",ref:null==(t=e.shell.currentWidget)?void 0:t.id})},translator:n}),j=()=>{let t=e.shell.currentWidget;return(null==o?void 0:o.currentPath)?o.currentPath:t&&t instanceof s.DocumentWidget?t.context.path:null},x=(t={})=>{var o,s;(C=new a.LogConsolePanel(_,n)).source=null!=(s=null!=(o=t.source)?o:j())?s:null,(A=new r.MainAreaWidget({content:C})).addClass("jp-LogConsole"),A.title.closable=!0,A.title.icon=u.listIcon,A.title.label=g.__("Log Console"),m&&(0,r.setToolbar)(A,m);let l=()=>{e.commands.notifyCommandChanged(i.addCheckpoint),e.commands.notifyCommandChanged(i.clear),e.commands.notifyCommandChanged(i.open),e.commands.notifyCommandChanged(i.setLevel)};C.sourceChanged.connect(()=>{l()}),C.sourceDisplayed.connect((e,{source:t,version:n})=>{w.model.sourceDisplayed(t,n)}),A.disposed.connect(()=>{A=null,C=null,l()}),e.shell.add(A,"down",{ref:t.ref,mode:t.insertMode,type:"Log Console"}),y.add(A),e.shell.activateById(A.id),A.update(),l()};function B(e){return 0===e.length?e:e[0].toUpperCase()+e.slice(1)}function S(e){C&&(C.source=e),w.model.source=e}if(e.commands.addCommand(i.open,{label:g.__("Show Log Console"),execute:(e={})=>{A?A.dispose():x(e)},isToggled:()=>null!==A,describedBy:{args:{type:"object",properties:{source:{type:"string",description:g.__("The source for the log console")},insertMode:{type:"string",description:g.__("The insert mode for the dock layout")},ref:{type:"string",description:g.__("The reference widget")}}}}}),e.commands.addCommand(i.addCheckpoint,{execute:()=>{var e;null==(e=null==C?void 0:C.logger)||e.checkpoint()},icon:u.addIcon,isEnabled:()=>!!C&&null!==C.source,label:g.__("Add Checkpoint"),describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(i.clear,{execute:()=>{var e;null==(e=null==C?void 0:C.logger)||e.clear()},icon:u.clearIcon,isEnabled:()=>!!C&&null!==C.source,label:g.__("Clear Log"),describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(i.setLevel,{execute:e=>{(null==C?void 0:C.logger)&&(C.logger.level=e.level)},isEnabled:()=>!!C&&null!==C.source,label:e=>e.level?g.__("Set Log Level to %1",B(e.level)):g.__("Set log level to `level`."),describedBy:{args:{type:"object",properties:{level:{type:"string",enum:["Critical","Error","Warning","Info","Debug"],description:g.__("The log level to set")}},required:["level"]}}}),l&&l.addItem({command:i.open,category:g.__("Main Area")}),c&&c.registerStatusItem("@jupyterlab/logconsole-extension:status",{item:w,align:"left",isActive:()=>{var e;return(null==(e=w.model)?void 0:e.version)>0},activeStateChanged:w.model.stateChanged}),e.restored.then(()=>{var e;o?(o.currentPathChanged.connect((e,{newValue:t})=>S(t)),S(null!=(e=o.currentPath)?e:null)):S(j())}),h){let t=e=>{_.maxLength=e.get("maxLogEntries").composite,w.model.flashEnabled=e.get("flash").composite,_.defaultLogLevel=e.get("defaultLogLevel").composite};Promise.all([h.load(v),e.restored]).then(([e])=>{t(e),e.changed.connect(e=>{t(e)})}).catch(e=>{console.error(e.message)})}return _}class E extends u.ReactWidget{constructor(e,t){super(),this.handleChange=e=>{this._logConsole.logger&&(this._logConsole.logger.level=e.target.value),this.update()},this.handleKeyDown=e=>{"Enter"===e.key&&this._logConsole.activate()},this._id=`level-${p.UUID.uuid4()}`,this.translator=null!=t?t:h.nullTranslator,this._trans=this.translator.load("jupyterlab"),this.addClass("jp-LogConsole-toolbarLogLevel"),this._logConsole=e,e.source&&this.update(),e.sourceChanged.connect(this._updateSource,this)}_updateSource(e,{oldValue:t,newValue:n}){null!==t&&e.loggerRegistry.getLogger(t).stateChanged.disconnect(this.update,this),null!==n&&e.loggerRegistry.getLogger(n).stateChanged.connect(this.update,this),this.update()}render(){let e=this._logConsole.logger;return m.createElement(m.Fragment,null,m.createElement("label",{htmlFor:this._id,className:null===e?"jp-LogConsole-toolbarLogLevel-disabled":void 0},this._trans.__("Log Level:")),m.createElement(u.HTMLSelect,{id:this._id,className:"jp-LogConsole-toolbarLogLevelDropdown",onChange:this.handleChange,onKeyDown:this.handleKeyDown,value:null==e?void 0:e.level,"aria-label":this._trans.__("Log level"),disabled:null===e,options:null===e?[]:[[this._trans.__("Critical"),"Critical"],[this._trans.__("Error"),"Error"],[this._trans.__("Warning"),"Warning"],[this._trans.__("Info"),"Info"],[this._trans.__("Debug"),"Debug"]].map(e=>({label:e[0],value:e[1].toLowerCase()}))}))}}let w=_},35937(e,t,n){"use strict";n(82311),n(97777),n(82946),n(62971),n(22595),n(45350),n(67474),n(98462);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(60888),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},62914(e,t,n){"use strict";n.r(t),n.d(t,{ILoggerRegistry:()=>u,LogConsolePanel:()=>v,LogOutputModel:()=>a,Logger:()=>c,LoggerOutputAreaModel:()=>d,LoggerRegistry:()=>h,ScrollingWidget:()=>b});var i,o=n(25307),r=n(31031),s=n(20659);class a extends r.OutputModel{constructor(e){super(e),this.timestamp=new Date(e.value.timestamp),this.level=e.value.level}}class l extends o.OutputAreaModel.ContentFactory{createOutputModel(e){return new a(e)}}class d extends o.OutputAreaModel{constructor({maxLength:e,...t}){super(t),this.maxLength=e}add(e){return super.add(e),this._applyMaxLength(),this.length}shouldCombine(e){let{value:t,lastModel:n}=e;return Math.trunc(n.timestamp.getTime()/1e3)===Math.trunc(t.timestamp/1e3)}get(e){return super.get(e)}get maxLength(){return this._maxLength}set maxLength(e){this._maxLength=e,this._applyMaxLength()}_applyMaxLength(){this.list.length>this._maxLength&&this.list.removeRange(0,this.list.length-this._maxLength)}}class c{constructor(e){var t;this._isDisposed=!1,this._contentChanged=new s.Signal(this),this._stateChanged=new s.Signal(this),this._rendermime=null,this._version=0,this.source=e.source,this.outputAreaModel=new d({contentFactory:new l,maxLength:e.maxLength}),this._level=null!=(t=e.level)?t:"warning"}get maxLength(){return this.outputAreaModel.maxLength}set maxLength(e){this.outputAreaModel.maxLength=e}get level(){return this._level}set level(e){let t=this._level;t!==e&&(this._level=e,this._log({output:{output_type:"display_data",data:{"text/plain":`Log level set to ${e}`}},level:"metadata"}),this._stateChanged.emit({name:"level",oldValue:t,newValue:e}))}get length(){return this.outputAreaModel.length}get contentChanged(){return this._contentChanged}get stateChanged(){return this._stateChanged}get rendermime(){return this._rendermime}set rendermime(e){if(e!==this._rendermime){let t=this._rendermime,n=this._rendermime=e;this._stateChanged.emit({name:"rendermime",oldValue:t,newValue:n})}}get version(){return this._version}log(e){if(i.LogLevel[e.level]<i.LogLevel[this._level])return;let t=null;switch(e.type){case"text":t={output_type:"display_data",data:{"text/plain":e.data}};break;case"html":t={output_type:"display_data",data:{"text/html":e.data}};break;case"output":t=e.data}t&&this._log({output:t,level:e.level})}clear(){this.outputAreaModel.clear(!1),this._contentChanged.emit("clear")}checkpoint(){this._log({output:{output_type:"display_data",data:{"text/html":"<hr/>"}},level:"metadata"})}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this.clear(),this._rendermime=null,s.Signal.clearData(this))}_log(e){this._version++,this.outputAreaModel.add({...e.output,timestamp:Date.now(),level:e.level}),this._contentChanged.emit("append")}}!function(e){let t;!function(e){e[e.debug=0]="debug",e[e.info=1]="info",e[e.warning=2]="warning",e[e.error=3]="error",e[e.critical=4]="critical",e[e.metadata=5]="metadata"}(t=e.LogLevel||(e.LogLevel={}))}(i||(i={}));class h{constructor(e){var t;this._loggers=new Map,this._registryChanged=new s.Signal(this),this._isDisposed=!1,this._defaultRendermime=e.defaultRendermime,this._maxLength=e.maxLength,this._defaultLogLevel=null!=(t=e.defaultLogLevel)?t:"warning"}getLogger(e){let t=this._loggers,n=t.get(e);return n||((n=new c({source:e,maxLength:this.maxLength,level:this.defaultLogLevel})).rendermime=this._defaultRendermime,t.set(e,n),this._registryChanged.emit("append")),n}getLoggers(){return Array.from(this._loggers.values())}get registryChanged(){return this._registryChanged}get maxLength(){return this._maxLength}set maxLength(e){this._maxLength=e,this._loggers.forEach(t=>{t.maxLength=e})}get defaultLogLevel(){return this._defaultLogLevel}set defaultLogLevel(e){this._defaultLogLevel=e}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this._loggers.forEach(e=>e.dispose()),s.Signal.clearData(this))}}let u=new(n(55187)).Token("@jupyterlab/logconsole:ILoggerRegistry","A service providing a logger infrastructure.");var p=n(2786),m=n(64001);function g(e){return 0===e.length?e:e[0].toUpperCase()+e.slice(1)}class A extends m.Widget{constructor(){super(),this._timestampNode=document.createElement("div"),this.node.append(this._timestampNode)}set timestamp(e){this._timestamp=e,this._timestampNode.innerHTML=this._timestamp.toLocaleTimeString(),this.update()}set level(e){this._level=e,this.node.dataset.logLevel=e,this.update()}update(){void 0!==this._level&&void 0!==this._timestamp&&(this.node.title=`${this._timestamp.toLocaleString()}; ${g(this._level)} level`)}}class C extends o.OutputArea{createOutputItem(e){let t=super.createOutputItem(e);if(null===t)return null;let n=t.widgets[0];return n.timestamp=e.timestamp,n.level=e.level,t}onInputRequest(e,t){}}class f extends o.OutputArea.ContentFactory{createOutputPrompt(){return new A}}class b extends m.Widget{constructor({content:e,...t}){super(t),this._observer=null,this.addClass("jp-Scrolling"),(this.layout=new m.PanelLayout).addWidget(e),this._content=e,this._sentinel=document.createElement("div"),this.node.appendChild(this._sentinel)}get content(){return this._content}onAfterAttach(e){super.onAfterAttach(e),requestAnimationFrame(()=>{this._sentinel.scrollIntoView(),this._scrollHeight=this.node.scrollHeight}),"u">typeof IntersectionObserver&&(this._observer=new IntersectionObserver(e=>{this._handleScroll(e)},{root:this.node,threshold:1}),this._observer.observe(this._sentinel))}onBeforeDetach(e){this._observer&&this._observer.disconnect()}onAfterShow(e){this._tracking&&this._sentinel.scrollIntoView()}_handleScroll([e]){if(e.isIntersecting)this._tracking=!0;else if(this.isVisible){let e=this.node.scrollHeight;e===this._scrollHeight?this._tracking=!1:(this._sentinel.scrollIntoView(),this._scrollHeight=e,this._tracking=!0)}}}class v extends m.StackedPanel{constructor(e,t){super(),this._outputAreas=new Map,this._source=null,this._sourceChanged=new s.Signal(this),this._sourceDisplayed=new s.Signal(this),this._loggersWatched=new Set,this.translator=t||p.nullTranslator,this._trans=this.translator.load("jupyterlab"),this._loggerRegistry=e,this.addClass("jp-LogConsolePanel"),e.registryChanged.connect((e,t)=>{this._bindLoggerSignals()},this),this._bindLoggerSignals(),this._placeholder=new m.Widget,this._placeholder.addClass("jp-LogConsoleListPlaceholder"),this.addWidget(this._placeholder)}get loggerRegistry(){return this._loggerRegistry}get logger(){return null===this.source?null:this.loggerRegistry.getLogger(this.source)}get source(){return this._source}set source(e){if(e===this._source)return;let t=this._source,n=this._source=e;this._showOutputFromSource(n),this._handlePlaceholder(),this._sourceChanged.emit({oldValue:t,newValue:n,name:"source"})}get sourceVersion(){let e=this.source;return null!==e?this._loggerRegistry.getLogger(e).version:null}get sourceChanged(){return this._sourceChanged}get sourceDisplayed(){return this._sourceDisplayed}onAfterAttach(e){super.onAfterAttach(e),this._updateOutputAreas(),this._showOutputFromSource(this._source),this._handlePlaceholder()}onAfterShow(e){super.onAfterShow(e),null!==this.source&&this._sourceDisplayed.emit({source:this.source,version:this.sourceVersion})}_bindLoggerSignals(){for(let e of this._loggerRegistry.getLoggers())this._loggersWatched.has(e.source)||(e.contentChanged.connect((e,t)=>{this._updateOutputAreas(),this._handlePlaceholder()},this),e.stateChanged.connect((e,t)=>{if("rendermime"!==t.name)return;let n=`source:${e.source}`,i=this._outputAreas.get(n);i&&(t.newValue?i.rendermime=t.newValue:i.dispose())},this),this._loggersWatched.add(e.source))}_showOutputFromSource(e){let t=null===e?"null source":`source:${e}`;this._outputAreas.forEach((e,n)=>{var i,o;e.id===t?(null==(i=e.parent)||i.show(),e.isVisible&&this._sourceDisplayed.emit({source:this.source,version:this.sourceVersion})):null==(o=e.parent)||o.hide()});let n=null===e?this._trans.__("Log Console"):this._trans.__("Log: %1",e);this.title.label=n,this.title.caption=n}_handlePlaceholder(){null===this.source?(this._placeholder.node.textContent=this._trans.__("No source selected."),this._placeholder.show()):0===this._loggerRegistry.getLogger(this.source).length?(this._placeholder.node.textContent=this._trans.__("No log messages."),this._placeholder.show()):(this._placeholder.hide(),this._placeholder.node.textContent="")}_updateOutputAreas(){let e=new Set;for(let t of this._loggerRegistry.getLoggers()){let n=t.source,i=`source:${n}`;if(e.add(i),!this._outputAreas.has(i)){let e=new C({rendermime:t.rendermime,contentFactory:new f,model:t.outputAreaModel});e.id=i;let o=new b({content:e});this.addWidget(o),this._outputAreas.set(i,e);let r=e=>{this.source===n&&e.isVisible&&this._sourceDisplayed.emit({source:this.source,version:this.sourceVersion})};e.outputLengthChanged.connect(r,this),r(e)}}for(let t of this._outputAreas.keys())if(!e.has(t)){let e=this._outputAreas.get(t);null==e||e.dispose(),this._outputAreas.delete(t)}}}},98462(e,t,n){"use strict";n(82311),n(22595),n(89413);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(82136),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},41221(e,t,n){"use strict";n.r(t),n.d(t,{RunningLanguageServer:()=>x,default:()=>S});var i=n(62861),o=n(77509),r=n(46109),s=n(2786),a=n(8989),l=n(20659),d=n(55187),c=n(59807),h=n(60721),u=n.n(h),p=n(97518);let m="languageServers",g="configuration";function A(e){let{[g]:t,...n}=e.schema,{[g]:i,serverName:o,...r}=e.settings,[s,a]=(0,h.useState)(o),l=t=>{e.updateSetting.invoke(e.serverHash,{serverName:t.target.value}).catch(console.error),a(t.target.value)},m={};Object.entries(i).forEach(([e,t])=>{let n={property:e,type:typeof t,value:t};m[d.UUID.uuid4()]=n});let[A,f]=(0,h.useState)(m),b={};Object.entries(n).forEach(([e,t])=>{e in r?b[e]=r[e]:b[e]=t.default});let[v,_]=(0,h.useState)(b),y=(t,n,i)=>{let o=n;"number"===i&&(o=parseFloat(n));let r={...v,[t]:o};e.updateSetting.invoke(e.serverHash,r).catch(console.error),_(r)},E=()=>{let t=d.UUID.uuid4(),n={...A,[t]:{property:"",type:"string",value:""}},i={};Object.values(n).forEach(e=>{i[e.property]=e.value}),e.updateSetting.invoke(e.serverHash,{[g]:i}).catch(console.error),f(n)},w=t=>{let n={};Object.entries(A).forEach(([i,o])=>{i!==t&&(n[i]=o);let r={};Object.values(n).forEach(e=>{r[e.property]=e.value}),e.updateSetting.invoke(e.serverHash,{[g]:r}).catch(console.error),f(n)})},j=(t,n)=>{if(t in A){let i={...A,[t]:n},o={};Object.values(i).forEach(e=>{o[e.property]=e.value}),f(i),e.updateSetting.invoke(e.serverHash,{[g]:o}).catch(console.error)}},x=new c.Debouncer(j),B=(0,h.useRef)(p.DOMUtils.createDomID()+"-line-number-input");return u().createElement("div",{className:"array-item"},u().createElement("div",{className:"form-group "},u().createElement("div",{className:"jp-FormGroup-content"},u().createElement("div",{className:"jp-objectFieldWrapper"},u().createElement("fieldset",null,u().createElement("div",{className:"form-group small-field"},u().createElement("div",{className:"jp-modifiedIndicator jp-errorIndicator"}),u().createElement("div",{className:"jp-FormGroup-content"},u().createElement("label",{htmlFor:B.current,className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem"},e.trans.__("Server name:")),u().createElement("div",{className:"jp-inputFieldWrapper jp-FormGroup-contentItem"},u().createElement("input",{id:B.current,className:"form-control",type:"text",required:!0,value:s,onChange:e=>{l(e)}})),u().createElement("div",{className:"validationErrors"},u().createElement("div",null,u().createElement("ul",{className:"error-detail bs-callout bs-callout-info"},u().createElement("li",{className:"text-danger"},e.trans.__("is a required property"))))))),Object.entries(n).map(([e,t],n)=>u().createElement("div",{key:`${n}-${e}`,className:"form-group small-field"},u().createElement("div",{className:"jp-FormGroup-content"},u().createElement("h3",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem"},t.title),u().createElement("div",{className:"jp-inputFieldWrapper jp-FormGroup-contentItem"},u().createElement("input",{className:"form-control",placeholder:"",type:t.type,value:v[e],onChange:n=>y(e,n.target.value,t.type)})),u().createElement("div",{className:"jp-FormGroup-description"},t.description),u().createElement("div",{className:"validationErrors"})))),u().createElement("fieldset",null,u().createElement("legend",null,t.title),Object.entries(A).map(([t,n])=>u().createElement(C,{key:t,hash:t,property:n,removeProperty:w,setProperty:x,trans:e.trans})),u().createElement("span",null,t.description)))))),u().createElement("div",{className:"jp-ArrayOperations"},u().createElement("button",{className:"jp-mod-styled jp-mod-reject",onClick:E},e.trans.__("Add property")),u().createElement("button",{className:"jp-mod-styled jp-mod-warn jp-FormGroup-removeButton",onClick:()=>e.removeSetting(e.serverHash)},e.trans.__("Remove server"))))}function C(e){let[t,n]=(0,h.useState)({...e.property}),i={string:"text",number:"number",boolean:"checkbox"},o=()=>{e.removeProperty(e.hash)},r=i=>{let o={...t,property:i};e.setProperty.invoke(e.hash,o).catch(console.error),n(o)},s=(i,o)=>{let r=i;"number"===o&&(r=parseFloat(i));let s={...t,value:r};e.setProperty.invoke(e.hash,s).catch(console.error),n(s)},l=i=>{let o;o="boolean"!==i&&("number"===i?0:"");let r={...t,type:i,value:o};n(r),e.setProperty.invoke(e.hash,r).catch(console.error)};return u().createElement("div",{key:e.hash,className:"form-group small-field"},u().createElement("div",{className:"jp-FormGroup-content jp-LSPExtension-FormGroup-content"},u().createElement("input",{className:"form-control",type:"text",required:!0,placeholder:e.trans.__("Property name"),value:t.property,onChange:e=>{r(e.target.value)}}),u().createElement("select",{className:"form-control",value:t.type,onChange:e=>l(e.target.value)},u().createElement("option",{value:"string"},e.trans.__("String")),u().createElement("option",{value:"number"},e.trans.__("Number")),u().createElement("option",{value:"boolean"},e.trans.__("Boolean"))),u().createElement("input",{className:"form-control",type:i[t.type],required:!1,placeholder:e.trans.__("Property value"),value:"boolean"!==t.type?t.value:void 0,checked:"boolean"===t.type?t.value:void 0,onChange:"boolean"!==t.type?e=>s(e.target.value,t.type):e=>s(e.target.checked,t.type)}),u().createElement("button",{className:"jp-mod-minimal jp-Button",onClick:o},u().createElement(a.closeIcon.react,null))))}class f extends u().Component{constructor(e){super(e),this.removeSetting=e=>{if(e in this.state.items){let t={};for(let n in this.state.items)n!==e&&(t[n]=this.state.items[n]);this.setState(e=>({...e,items:t}),()=>{this.saveServerSetting()})}},this.updateSetting=(e,t)=>{if(e in this.state.items){let n={};for(let i in this.state.items)i===e?n[i]={...this.state.items[i],...t}:n[i]=this.state.items[i];this.setState(e=>({...e,items:n}),()=>{this.saveServerSetting()})}},this.addServerSetting=()=>{let e=0,t="newKey";for(;Object.values(this.state.items).map(e=>e.serverName).includes(t);)e+=1,t=`newKey-${e}`;this.setState(e=>({...e,items:{...e.items,[d.UUID.uuid4()]:{...this._defaultSetting,serverName:t}}}),()=>{this.saveServerSetting()})},this.saveServerSetting=()=>{let e={};Object.values(this.state.items).forEach(t=>{let{serverName:n,...i}=t;e[n]=i}),this._setting.set(m,e).catch(console.error)},this._setting=e.formContext.settings,this._trans=e.translator.load("jupyterlab");const t=this._setting.schema.definitions;this._defaultSetting=t.languageServer.default,this._schema=t.languageServer.properties;const n=e.schema.title,i=e.schema.description,o=e.formContext.settings.get(m).composite;let r={};o&&Object.entries(o).forEach(([e,t])=>{t&&(r[d.UUID.uuid4()]={serverName:e,...t})}),this.state={title:n,desc:i,items:r},this._debouncedUpdateSetting=new c.Debouncer(this.updateSetting.bind(this))}render(){return u().createElement("div",null,u().createElement("fieldset",null,u().createElement("legend",null,this.state.title),u().createElement("p",{className:"field-description"},this.state.desc),u().createElement("div",{className:"field field-array field-array-of-object"},Object.entries(this.state.items).map(([e,t],n)=>u().createElement(A,{key:`${n}-${e}`,trans:this._trans,removeSetting:this.removeSetting,updateSetting:this._debouncedUpdateSetting,serverHash:e,settings:t,schema:this._schema}))),u().createElement("div",null,u().createElement("button",{style:{margin:2},className:"jp-mod-styled jp-mod-reject",onClick:this.addServerSetting},this._trans.__("Add server")))))}}function b(e,t){return u().createElement(f,{...e,translator:t})}let v={activate:w,id:"@jupyterlab/lsp-extension:plugin",description:"Provides the language server connection manager.",requires:[s.ITranslator,i.IWidgetLSPAdapterTracker],optional:[o.IRunningSessionManagers],provides:i.ILSPDocumentConnectionManager,autoStart:!0},_={id:"@jupyterlab/lsp-extension:feature",description:"Provides the language server feature manager.",activate:()=>new i.FeatureManager,provides:i.ILSPFeatureManager,autoStart:!0},y={activate:j,id:"@jupyterlab/lsp-extension:settings",description:"Provides the language server settings.",requires:[i.ILSPDocumentConnectionManager,r.ISettingRegistry,s.ITranslator],optional:[a.IFormRendererRegistry],autoStart:!0},E={id:"@jupyterlab/lsp-extension:code-extractor-manager",autoStart:!0,description:"Provides the code extractor manager.",provides:i.ILSPCodeExtractorsManager,activate:e=>{let t=new i.CodeExtractorsManager,n=new i.TextForeignCodeExtractor({language:"markdown",isStandalone:!1,file_extension:"md",cellType:["markdown"]});t.register(n,null);let o=new i.TextForeignCodeExtractor({language:"text",isStandalone:!1,file_extension:"txt",cellType:["raw"]});return t.register(o,null),t}};function w(e,t,n,o){let r=new i.LanguageServerManager({settings:e.serviceManager.serverSettings}),s=new i.DocumentConnectionManager({languageServerManager:r,adapterTracker:n});return o&&B(o,s,t),s}function j(e,t,n,i,o){let r="languageServers",s=t.languageServerManager,a=e=>{let n=e.composite,i=n.languageServers||{};if("on"!==n.activate||s.isEnabled){if("off"===n.activate&&s.isEnabled)return void s.disable()}else s.enable().catch(console.error);t.initialConfigurations=i,t.updateConfiguration(i),t.updateServerConfigurations(i),t.updateLogging(n.logAllCommunication,n.setTrace)};if(n.transform(v.id,{fetch:e=>{let t=e.schema.properties,n={};return s.sessions.forEach((e,t)=>{n[t]={rank:50,configuration:{}}}),t[r].default=n,e},compose:e=>{let t=e.schema.properties,n=e.data.user,i=t[r].default,o=n[r],s={...i};o&&(s={...s,...o});let a={[r]:s};return Object.entries(t).forEach(([e,t])=>{e!==r&&(e in n?a[e]=n[e]:a[e]=t.default)}),e.data.composite=a,e}}),s.sessionsChanged.connect(async()=>{await n.load(v.id,!0)}),n.load(v.id).then(e=>{a(e),e.changed.connect(()=>{a(e)}),s.disable()}).catch(e=>{console.error(e.message)}),o){let e={fieldRenderer:e=>b(e,i)};o.addRenderer(`${v.id}.${r}`,e)}}class x{constructor(e,t){this._connection=new WeakSet([e]),this._manager=t,this._serverIdentifier=e.serverIdentifier,this._serverLanguage=e.serverLanguage}open(){}icon(){return a.pythonIcon}label(){var e,t;return`${null!=(e=this._serverIdentifier)?e:""} (${null!=(t=this._serverLanguage)?t:""})`}shutdown(){for(let[e,t]of this._manager.connections.entries())if(this._connection.has(t)){let{uri:t}=this._manager.documents.get(e);this._manager.unregisterDocument(t)}this._manager.disconnect(this._serverIdentifier)}}function B(e,t,n){let i=n.load("jupyterlab"),o=new l.Signal(t);t.connected.connect(()=>o.emit(t)),t.disconnected.connect(()=>o.emit(t)),t.closed.connect(()=>o.emit(t)),t.documentsChanged.connect(()=>o.emit(t));let r=[];e.add({name:i.__("Language servers"),supportsMultipleViews:!1,running:()=>r=[...new Set([...t.connections.values()])].map(e=>new x(e,t)),shutdownAll:()=>{r.forEach(e=>{e.shutdown()})},refreshRunning:()=>{},runningChanged:o,shutdownLabel:i.__("Shut Down"),shutdownAllLabel:i.__("Shut Down All"),shutdownAllConfirmationText:i.__("Are you sure you want to permanently shut down all running language servers?")})}let S=[v,_,y,E,{id:"@jupyterlab/lsp-extension:tracker",description:"Provides the tracker of `WidgetLSPAdapter`.",autoStart:!0,provides:i.IWidgetLSPAdapterTracker,activate:e=>new i.WidgetLSPAdapterTracker({shell:e.shell})}]},71528(e,t,n){"use strict";n(97777),n(62971),n(67474),n(13137),n(64840);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(552),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},72184(e,t,n){"use strict";n.r(t),n.d(t,{CodeExtractorsManager:()=>O,DefaultMap:()=>M,DocumentConnectionManager:()=>R,EditorAdapter:()=>p,FeatureManager:()=>Y,ILSPCodeExtractorsManager:()=>E,ILSPDocumentConnectionManager:()=>_,ILSPFeatureManager:()=>y,ILanguageServerManager:()=>i,IWidgetLSPAdapterTracker:()=>w,LanguageServerManager:()=>q,Method:()=>o,ProtocolCoordinates:()=>a,TextForeignCodeExtractor:()=>U,UpdateManager:()=>Z,VirtualDocument:()=>J,VirtualDocumentInfo:()=>$,WidgetLSPAdapter:()=>A,WidgetLSPAdapterTracker:()=>f,collectDocuments:()=>K,expandDottedPaths:()=>B,expandPath:()=>S,isEqual:()=>F,isWithinRange:()=>G,offsetAtPosition:()=>H,positionAtOffset:()=>W,sleep:()=>j,untilReady:()=>x});var i,o,r,s,a,l=n(8394),d=n.n(l),c=n(97518),h=n(2786),u=n(20659);class p{constructor(e){this._widgetAdapter=e.widgetAdapter,this._extensions=e.extensions,e.editor.ready().then(t=>{this._injectExtensions(e.editor)})}dispose(){this.isDisposed||(this.isDisposed=!0,u.Signal.clearData(this))}_injectExtensions(e){let t=e.getEditor();t&&!t.isDisposed&&this._extensions.forEach(n=>{let i=n.factory({path:this._widgetAdapter.widget.context.path,editor:e,widgetAdapter:this._widgetAdapter,model:t.model,inline:!0});i&&t.injectExtension(i.instance(t))})}}let m=c.Dialog.createButton,g={"text/x-rsrc":"r","text/x-r-source":"r","text/x-ipython":"python"};class A{constructor(e,t){this.widget=e,this.options=t,this._adapterConnected=new u.Signal(this),this._activeEditorChanged=new u.Signal(this),this._editorAdded=new u.Signal(this),this._editorRemoved=new u.Signal(this),this._disposed=new u.Signal(this),this._isDisposed=!1,this._virtualDocument=null,this._connectionManager=t.connectionManager,this._isConnected=!1,this._trans=(t.translator||h.nullTranslator).load("jupyterlab"),this.widget.context.saveState.connect(this.onSaveState,this),this.connectionManager.closed.connect(this.onConnectionClosed,this),this.widget.disposed.connect(this.dispose,this),this._editorToAdapter=new WeakMap,this.editorAdded.connect(this._onEditorAdded,this),this.editorRemoved.connect(this._onEditorRemoved,this),this._connectionManager.languageServerManager.sessionsChanged.connect(this._onLspSessionOrFeatureChanged,this),this.options.featureManager.featureRegistered.connect(this._onLspSessionOrFeatureChanged,this)}get isDisposed(){return this._isDisposed}get hasMultipleEditors(){return this.editors.length>1}get widgetId(){return this.widget.id}get language(){if(g.hasOwnProperty(this.mimeType))return g[this.mimeType];{let[e,t]=this.mimeType.split(";")[0].split("/");return"application"!==e&&"text"!==e?this.mimeType:t.startsWith("x-")?t.substring(2):t}}get adapterConnected(){return this._adapterConnected}get activeEditorChanged(){return this._activeEditorChanged}get disposed(){return this._disposed}get editorAdded(){return this._editorAdded}get editorRemoved(){return this._editorRemoved}get isConnected(){return this._isConnected}get connectionManager(){return this._connectionManager}get trans(){return this._trans}get updateFinished(){return this._updateFinished}get virtualDocument(){return this._virtualDocument}onConnectionClosed(e,{virtualDocument:t}){t===this.virtualDocument&&this.dispose()}dispose(){this._isDisposed||(this.editorAdded.disconnect(this._onEditorAdded,this),this.editorRemoved.disconnect(this._onEditorRemoved,this),this._connectionManager.languageServerManager.sessionsChanged.disconnect(this._onLspSessionOrFeatureChanged,this),this.options.featureManager.featureRegistered.disconnect(this._onLspSessionOrFeatureChanged,this),this._isDisposed=!0,this.disconnect(),this._virtualDocument=null,this._disposed.emit(),u.Signal.clearData(this))}disconnect(){var e,t;let n=null==(e=this.virtualDocument)?void 0:e.uri,{model:i}=this.widget.context;for(let{ceEditor:e}of(n&&this.connectionManager.unregisterDocument(n),i.contentChanged.disconnect(this._onContentChanged,this),this.editors))this._editorRemoved.emit({editor:e});null==(t=this.virtualDocument)||t.dispose()}updateDocuments(){return this._isDisposed?(console.warn("Cannot update documents: adapter disposed"),Promise.reject("Cannot update documents: adapter disposed")):this.virtualDocument.updateManager.updateDocuments(this.editors)}documentChanged(e,t,n=!1){if(this._isDisposed)return void console.warn("Cannot swap document: adapter disposed");let i=this.connectionManager.connections.get(e.uri);(null==i?void 0:i.isReady)?i.sendFullTextChange(e.value,e.documentInfo):console.log("Skipping document update signal: connection not ready")}reloadConnection(){null!==this.virtualDocument&&(this.disconnect(),this.initVirtual(),this.connectDocument(this.virtualDocument,!0).catch(console.warn))}onSaveState(e,t){if(null!==this.virtualDocument&&"completed"===t){let e=[this.virtualDocument];for(let t of e){let n=this.connectionManager.connections.get(t.uri);if(n)for(let i of(n.sendSaved(t.documentInfo),t.foreignDocuments.values()))e.push(i)}}}async onConnected(e){let{virtualDocument:t}=e;this._adapterConnected.emit(e),this._isConnected=!0;try{await this.updateDocuments()}catch(e){console.warn("Could not update documents",e);return}this.documentChanged(t,t,!0),e.connection.serverNotifications["$/logTrace"].connect((n,i)=>{console.log(e.connection.serverIdentifier,"trace",t.uri,i)}),e.connection.serverNotifications["window/logMessage"].connect((e,t)=>{console.log(e.serverIdentifier+": "+t.message)}),e.connection.serverNotifications["window/showMessage"].connect((e,t)=>{(0,c.showDialog)({title:this.trans.__("Message from ")+e.serverIdentifier,body:t.message})}),e.connection.serverRequests["window/showMessageRequest"].setHandler(async t=>{let n=t.actions,i=n?n.map(e=>m({label:e.title})):[m({label:this.trans.__("Dismiss")})],o=await (0,c.showDialog)({title:this.trans.__("Message from ")+e.connection.serverIdentifier,body:t.message,buttons:i}),r=i.indexOf(o.button);return -1===r?null:n?n[r]:null})}async connectDocument(e,t=!1){e.foreignDocumentOpened.connect(this.onForeignDocumentOpened,this);let n=await this._connect(e).catch(console.error);n&&n.connection&&(e.changed.connect(this.documentChanged,this),t&&n.connection.sendOpenWhenReady(e.documentInfo))}initVirtual(){var e;null==(e=this._virtualDocument)||e.dispose(),this._virtualDocument=this.createVirtualDocument(),this._onLspSessionOrFeatureChanged()}async onForeignDocumentOpened(e,t){let{foreignDocument:n}=t;await this.connectDocument(n,!0),n.foreignDocumentClosed.connect(this._onForeignDocumentClosed,this)}_onEditorAdded(e,t){let{editor:n}=t,i=new p({editor:n,widgetAdapter:this,extensions:this.options.featureManager.extensionFactories()});this._editorToAdapter.set(n,i)}_onEditorRemoved(e,t){let{editor:n}=t,i=this._editorToAdapter.get(n);null==i||i.dispose(),this._editorToAdapter.delete(n)}_onForeignDocumentClosed(e,t){let{foreignDocument:n}=t;n.foreignDocumentClosed.disconnect(this._onForeignDocumentClosed,this),n.foreignDocumentOpened.disconnect(this.onForeignDocumentOpened,this),n.changed.disconnect(this.documentChanged,this)}async _connect(e){let t=e.language,n={textDocument:{synchronization:{dynamicRegistration:!0,willSave:!1,didSave:!0,willSaveWaitUntil:!1}},workspace:{didChangeConfiguration:{dynamicRegistration:!0}}},i={capabilities:n=d()(n,this.options.featureManager.clientCapabilities()),virtualDocument:e,language:t,hasLspSupportedFile:e.hasLspSupportedFile},o=await this.connectionManager.connect(i);return o?(await this.onConnected({virtualDocument:e,connection:o}),{connection:o,virtualDocument:e}):void 0}async _onContentChanged(e){let t=this.updateDocuments();t?(this._updateFinished=t.catch(console.warn),await this.updateFinished):console.warn("Could not update documents")}_shouldUpdateVirtualDocument(){let{languageServerManager:e}=this.connectionManager;return e.isEnabled&&this.options.featureManager.features.length>0}_onLspSessionOrFeatureChanged(){if(!this._virtualDocument)return;let{model:e}=this.widget.context;this._shouldUpdateVirtualDocument()?e.contentChanged.connect(this._onContentChanged,this):e.contentChanged.disconnect(this._onContentChanged,this)}}var C=n(31997);class f{constructor(e){this._isDisposed=!1,this._current=null,this._adapters=new Set,this._adapterAdded=new u.Signal(this),this._adapterUpdated=new u.Signal(this),this._currentChanged=new u.Signal(this),(this._shell=e.shell).currentChanged.connect((e,t)=>{let n=t.newValue;if(!n||!(n instanceof C.DocumentWidget))return;let i=this.find(e=>e.widget===n);i&&(this._current=i,this._currentChanged.emit(i))})}get currentChanged(){return this._currentChanged}get currentAdapter(){return this._current}get size(){return this._adapters.size}get adapterAdded(){return this._adapterAdded}get adapterUpdated(){return this._adapterUpdated}add(e){if(e.isDisposed){let t="A disposed object cannot be added.";throw console.warn(t,e),Error(t)}if(this._adapters.has(e)){let t="This object already exists in the pool.";throw console.warn(t,e),Error(t)}this._adapters.add(e),this._adapterAdded.emit(e),e.disposed.connect(()=>{this._adapters.delete(e),e===this._current&&(this._current=null,this._currentChanged.emit(this._current))},this);let t=this._shell.activeWidget;t&&t instanceof C.DocumentWidget||(this._current=e,this._currentChanged.emit(e))}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this._adapters.clear(),u.Signal.clearData(this))}find(e){for(let t of this._adapters.values())if(e(t))return t}forEach(e){this._adapters.forEach(e)}filter(e){let t=[];return this.forEach(n=>{e(n)&&t.push(n)}),t}has(e){return this._adapters.has(e)}}var b=n(28951),v=n(55187);!function(e){e.URL_NS="lsp"}(i||(i={}));let _=new v.Token("@jupyterlab/lsp:ILSPDocumentConnectionManager","Provides the virtual documents and language server connections service."),y=new v.Token("@jupyterlab/lsp:ILSPFeatureManager","Provides the language server feature manager. This token is required to register new client capabilities."),E=new v.Token("@jupyterlab/lsp:ILSPCodeExtractorsManager","Provides the code extractor manager. This token is required in your extension to register code extractor allowing the creation of multiple virtual document from an opened document."),w=new v.Token("@jupyterlab/lsp:IWidgetLSPAdapterTracker","Provides the WidgetLSPAdapter tracker. This token is required in your extension to track WidgetLSPAdapters.");async function j(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}function x(e,t=35,n=50,i=e=>e){return(async()=>{let o=0;for(;!0!==e();){if(o+=1,-1!==t&&o>t)throw Error("Too many retrials");n=i(n),await j(n)}return e})()}function B(e){let t=[];for(let n in e){let i=S(n.split("."),e[n]);t.push(i)}return d()({},...t)}!function(e){let t,n,i,o;!function(e){e.PUBLISH_DIAGNOSTICS="textDocument/publishDiagnostics",e.SHOW_MESSAGE="window/showMessage",e.LOG_TRACE="$/logTrace",e.LOG_MESSAGE="window/logMessage"}(t=e.ServerNotification||(e.ServerNotification={})),function(e){e.DID_CHANGE="textDocument/didChange",e.DID_CHANGE_CONFIGURATION="workspace/didChangeConfiguration",e.DID_OPEN="textDocument/didOpen",e.DID_SAVE="textDocument/didSave",e.INITIALIZED="initialized",e.SET_TRACE="$/setTrace"}(n=e.ClientNotification||(e.ClientNotification={})),function(e){e.REGISTER_CAPABILITY="client/registerCapability",e.SHOW_MESSAGE_REQUEST="window/showMessageRequest",e.UNREGISTER_CAPABILITY="client/unregisterCapability",e.WORKSPACE_CONFIGURATION="workspace/configuration"}(i=e.ServerRequest||(e.ServerRequest={})),function(e){e.CODE_ACTION="textDocument/codeAction",e.COMPLETION="textDocument/completion",e.COMPLETION_ITEM_RESOLVE="completionItem/resolve",e.DEFINITION="textDocument/definition",e.DOCUMENT_COLOR="textDocument/documentColor",e.DOCUMENT_HIGHLIGHT="textDocument/documentHighlight",e.DOCUMENT_SYMBOL="textDocument/documentSymbol",e.HOVER="textDocument/hover",e.IMPLEMENTATION="textDocument/implementation",e.INITIALIZE="initialize",e.REFERENCES="textDocument/references",e.RENAME="textDocument/rename",e.SIGNATURE_HELP="textDocument/signatureHelp",e.TYPE_DEFINITION="textDocument/typeDefinition",e.LINKED_EDITING_RANGE="textDocument/linkedEditingRange",e.INLINE_VALUE="textDocument/inlineValue",e.INLAY_HINT="textDocument/inlayHint",e.WORKSPACE_SYMBOL="workspace/symbol",e.WORKSPACE_SYMBOL_RESOLVE="workspaceSymbol/resolve",e.FORMATTING="textDocument/formatting",e.RANGE_FORMATTING="textDocument/rangeFormatting"}(o=e.ClientRequest||(e.ClientRequest={}))}(o||(o={}));let S=(e,t)=>{let n=Object.create(null),i=n;return e.forEach((n,o)=>{i[n]=Object.create(null),o===e.length-1?i[n]=t:i=i[n]}),n};class M extends Map{constructor(e,t){super(t),this.defaultFactory=e}get(e){return this.getOrCreate(e)}getOrCreate(e,...t){if(this.has(e))return super.get(e);{let n=this.defaultFactory(e,...t);return this.set(e,n),n}}}function I(e,t){let n=JSON.parse(JSON.stringify(e)),{method:i,registerOptions:o}=t,r=i.substring(13)+"Provider";return r?(o?n[r]=JSON.parse(JSON.stringify(o)):n[r]=!0,n):(console.warn("Could not register server capability.",t),null)}function k(e,t){let n=JSON.parse(JSON.stringify(e)),{method:i}=t,o=i.substring(13)+"Provider";return delete n[o],n}var D=n(25132);class T{constructor(e){this.openedUris=new Map,this._isConnected=!1,this._isInitialized=!1,this._disposables=[],this._disposed=new u.Signal(this),this._isDisposed=!1,this._rootUri=e.rootUri}get isConnected(){return this._isConnected}get isInitialized(){return this._isInitialized}get isReady(){return this._isConnected&&this._isInitialized}get disposed(){return this._disposed}get isDisposed(){return this._isDisposed}connect(e){this.socket=e,(0,D.listen)({webSocket:this.socket,logger:new D.ConsoleLogger,onConnection:e=>{e.listen(),this._isConnected=!0,this.connection=e,this.sendInitialize();let t=this.connection.onRequest("client/registerCapability",e=>{e.registrations.forEach(e=>{try{this.serverCapabilities=I(this.serverCapabilities,e)}catch(e){console.error(e)}})});this._disposables.push(t);let n=this.connection.onRequest("client/unregisterCapability",e=>{e.unregisterations.forEach(e=>{this.serverCapabilities=k(this.serverCapabilities,e)})});this._disposables.push(n);let i=this.connection.onClose(()=>{this._isConnected=!1});this._disposables.push(i)}})}close(){this.connection&&this.connection.dispose(),this.openedUris.clear(),this.socket.close()}sendInitialize(){if(!this._isConnected)return;this.openedUris.clear();let e=this.initializeParams();this.connection.sendRequest("initialize",e).then(e=>{this.onServerInitialized(e)},e=>{console.warn("LSP websocket connection initialization failure",e)})}sendOpen(e){let t={textDocument:{uri:e.uri,languageId:e.languageId,text:e.text,version:e.version}};this.connection.sendNotification("textDocument/didOpen",t).catch(console.error),this.openedUris.set(e.uri,!0),this.sendChange(e)}sendChange(e){if(!this.isReady)return;if(!this.openedUris.get(e.uri))return void this.sendOpen(e);let t={textDocument:{uri:e.uri,version:e.version},contentChanges:[{text:e.text}]};this.connection.sendNotification("textDocument/didChange",t).catch(console.error),e.version++}sendSaved(e){if(!this.isReady)return;let t={textDocument:{uri:e.uri,version:e.version},text:e.text};this.connection.sendNotification("textDocument/didSave",t).catch(console.error)}sendConfigurationChange(e){this.isReady&&this.connection.sendNotification("workspace/didChangeConfiguration",e).catch(console.error)}dispose(){this._isDisposed||(this._isDisposed=!0,this._disposables.forEach(e=>{e.dispose()}),this._disposed.emit(),u.Signal.clearData(this))}onServerInitialized(e){this._isInitialized=!0,this.serverCapabilities=e.capabilities,this.connection.sendNotification("initialized",{}).catch(console.error),this.connection.sendNotification("workspace/didChangeConfiguration",{settings:{}}).catch(console.error)}initializeParams(){return{capabilities:{},processId:null,rootUri:this._rootUri,workspaceFolders:null}}}class L{constructor(e,t,n){this.connection=e,this.method=t,this.emitter=n}request(e){return this.emitter.log(r.clientRequested,{method:this.method,message:e}),this.connection.sendRequest(this.method,e).then(t=>(this.emitter.log(r.resultForClient,{method:this.method,message:e}),t))}}class N{constructor(e,t,n){this.connection=e,this.method=t,this.emitter=n,this.connection.onRequest(t,this._handle.bind(this)),this._handler=null}setHandler(e){this._handler=e}clearHandler(){this._handler=null}_handle(e){return(this.emitter.log(r.serverRequested,{method:this.method,message:e}),this._handler)?this._handler(e,this.emitter).then(e=>(this.emitter.log(r.responseForServer,{method:this.method,message:e}),e)):new Promise(()=>void 0)}}function P(e,t){let n={};for(let i of Object.values(e))n[i]=t(i);return n}!function(e){e[e.clientNotifiedServer=0]="clientNotifiedServer",e[e.serverNotifiedClient=1]="serverNotifiedClient",e[e.serverRequested=2]="serverRequested",e[e.clientRequested=3]="clientRequested",e[e.resultForClient=4]="resultForClient",e[e.responseForServer=5]="responseForServer"}(r||(r={}));class z extends T{constructor(e){super(e),this._closingManually=!1,this._closeSignal=new u.Signal(this),this._errorSignal=new u.Signal(this),this._serverInitialized=new u.Signal(this),this._options=e,this.logAllCommunication=!1,this.serverIdentifier=e.serverIdentifier,this.serverLanguage=e.languageId,this.documentsToOpen=[],this.clientNotifications=this.constructNotificationHandlers(o.ClientNotification),this.serverNotifications=this.constructNotificationHandlers(o.ServerNotification)}get closeSignal(){return this._closeSignal}get errorSignal(){return this._errorSignal}get serverInitialized(){return this._serverInitialized}dispose(){this.isDisposed||(this.serverRequests&&Object.values(this.serverRequests).forEach(e=>e.clearHandler()),this.close(),super.dispose())}log(e,t){this.logAllCommunication&&console.log(e,t)}sendOpenWhenReady(e){this.isReady?this.sendOpen(e):this.documentsToOpen.push(e)}sendSelectiveChange(e,t){this._sendChange([e],t)}sendFullTextChange(e,t){this._sendChange([{text:e}],t)}provides(e){return!!(this.serverCapabilities&&this.serverCapabilities[e])}close(){try{this._closingManually=!0,super.close()}catch(e){this._closingManually=!1}}connect(e){super.connect(e),x(()=>this.isConnected,-1).then(()=>{let e=this.connection.onClose(()=>{this._isConnected=!1,this._closeSignal.emit(this._closingManually)});this._disposables.push(e)}).catch(()=>{console.error("Could not connect onClose signal")})}async getCompletionResolve(e){if(this.isReady)return this.connection.sendRequest("completionItem/resolve",e)}constructNotificationHandlers(e){return P(e,()=>new u.Signal(this))}constructClientRequestHandler(e){return P(e,e=>new L(this.connection,e,this))}constructServerRequestHandler(e){return P(e,e=>new N(this.connection,e,this))}initializeParams(){return{...super.initializeParams(),capabilities:this._options.capabilities,initializationOptions:null,processId:null,workspaceFolders:null}}onServerInitialized(e){for(this.afterInitialized(),super.onServerInitialized(e);this.documentsToOpen.length;)this.sendOpen(this.documentsToOpen.pop());this._serverInitialized.emit(this.serverCapabilities)}afterInitialized(){let e=this.connection.onError(e=>this._errorSignal.emit(e));for(let t of(this._disposables.push(e),Object.values(o.ServerNotification))){let e=this.serverNotifications[t],n=this.connection.onNotification(t,n=>{this.log(r.serverNotifiedClient,{method:t,message:n}),e.emit(n)});this._disposables.push(n)}for(let e of Object.values(o.ClientNotification))this.clientNotifications[e].connect((t,n)=>{this.log(r.clientNotifiedServer,{method:e,message:n}),this.connection.sendNotification(e,n).catch(console.error)});this.clientRequests=this.constructClientRequestHandler(o.ClientRequest),this.serverRequests=this.constructServerRequestHandler(o.ServerRequest),this.serverRequests["client/registerCapability"].setHandler(async e=>{e.registrations.forEach(e=>{try{let t=I(this.serverCapabilities,e);if(null===t)return void console.error(`Failed to register server capability: ${e}`);this.serverCapabilities=t}catch(e){console.error(e)}})}),this.serverRequests["client/unregisterCapability"].setHandler(async e=>{e.unregisterations.forEach(e=>{this.serverCapabilities=k(this.serverCapabilities,e)})}),this.serverRequests["workspace/configuration"].setHandler(async e=>e.items.map(e=>null))}_sendChange(e,t){if(!this.isReady||0===t.uri.length)return;this.openedUris.get(t.uri)||this.sendOpen(t);let n={textDocument:{uri:t.uri,version:t.version},contentChanges:e};this.connection.sendNotification("textDocument/didChange",n).catch(console.error),t.version++}}class R{constructor(e){this.onNewConnection=e=>{let t=(t,n)=>{console.error(n);let i=n.length&&n.length>=1?n[0]:Error();-1!==i.message.indexOf("code = 1005")?(console.error(`Connection failed for ${e}`),this._forEachDocumentOfConnection(e,t=>{console.error("disconnecting "+t.uri),this._closed.emit({connection:e,virtualDocument:t}),this._ignoredLanguages.add(t.language),console.error(`Cancelling further attempts to connect ${t.uri} and other documents for this language (no support from the server)`)})):-1!==i.message.indexOf("code = 1006")?console.error("Connection closed by the server"):console.error("Connection error:",n)};e.errorSignal.connect(t);let n=()=>{this._forEachDocumentOfConnection(e,t=>{this._initialized.emit({connection:e,virtualDocument:t})}),this.updateServerConfigurations(this.initialConfigurations)};e.serverInitialized.connect(n);let i=(t,n)=>{n?(console.log("Connection closed"),this._forEachDocumentOfConnection(e,t=>{this._closed.emit({connection:e,virtualDocument:t})})):console.error("Connection unexpectedly disconnected")};e.closeSignal.connect(i)},this._initialized=new u.Signal(this),this._connected=new u.Signal(this),this._disconnected=new u.Signal(this),this._closed=new u.Signal(this),this._documentsChanged=new u.Signal(this),this._pendingConnections=new Map,this.connections=new Map,this.documents=new Map,this.adapters=new Map,this._ignoredLanguages=new Set,this.languageServerManager=e.languageServerManager,s.setLanguageServerManager(e.languageServerManager),e.adapterTracker.adapterAdded.connect((e,t)=>{let n=t.widget.context.path;this.registerAdapter(n,t)})}get initialized(){return this._initialized}get connected(){return this._connected}get disconnected(){return this._disconnected}get closed(){return this._closed}get documentsChanged(){return this._documentsChanged}get ready(){return s.getLanguageServerManager().ready}connectDocumentSignals(e){e.foreignDocumentOpened.connect(this.onForeignDocumentOpened,this),e.foreignDocumentClosed.connect(this.onForeignDocumentClosed,this),this.documents.set(e.uri,e),this._documentsChanged.emit(this.documents)}disconnectDocumentSignals(e,t=!0){for(let t of(e.foreignDocumentOpened.disconnect(this.onForeignDocumentOpened,this),e.foreignDocumentClosed.disconnect(this.onForeignDocumentClosed,this),this.documents.delete(e.uri),e.foreignDocuments.values()))this.disconnectDocumentSignals(t,!1);t&&this._documentsChanged.emit(this.documents)}onForeignDocumentOpened(e,t){}onForeignDocumentClosed(e,t){let{foreignDocument:n}=t;this.unregisterDocument(n.uri,!1),this.disconnectDocumentSignals(n)}registerAdapter(e,t){this.adapters.set(e,t),t.widget.context.pathChanged.connect((n,i)=>{this.adapters.delete(e),this.adapters.set(i,t)}),t.disposed.connect(()=>{t.virtualDocument&&this.documents.delete(t.virtualDocument.uri),this.adapters.delete(e)})}updateConfiguration(e){this.languageServerManager.setConfiguration(e)}updateServerConfigurations(e){let t;for(t in e){if(!e.hasOwnProperty(t))continue;let n={settings:B(e[t].configuration||{})};s.updateServerConfiguration(t,n)}}async retryToConnect(e,t,n=-1){let{virtualDocument:i}=e;if(this._ignoredLanguages.has(i.language))return;let o=1e3*t,r=!1;for(;0!==n&&!r;)await this.connect(e).then(()=>{r=!0}).catch(e=>{console.warn(e)}),console.log("will attempt to re-connect in "+o/1e3+" seconds"),await j(o),o=o<5e3?o+500:o}disconnect(e){s.disconnect(e)}async connect(e,t=30,n=5){let{virtualDocument:i}=e,{uri:o}=i,r=this.connections.get(o);if(r)return r;let s=this._pendingConnections.get(o);if(s)return s;let a=new v.PromiseDelegate,l=a.promise;this._pendingConnections.set(o,l),(async()=>{try{let o=await this._connectSocket(e);if(!o)return void a.resolve(void 0);if(!o.isReady)try{await x(()=>o.isReady,Math.round(1e3*t/150),150)}catch(e){console.log(`Connection to ${i.uri} timed out after ${t} seconds, will continue retrying for another ${n} minutes`);try{await x(()=>o.isReady,60*n,1e3)}catch(e){console.log(`Connection to ${i.uri} timed out again after ${n} minutes, giving up`),a.resolve(void 0);return}}this._connected.emit({connection:o,virtualDocument:i}),a.resolve(o)}catch(e){a.reject(e)}})();try{return await l}finally{this._pendingConnections.get(o)===l&&this._pendingConnections.delete(o)}}unregisterDocument(e,t=!0){let n=this.connections.get(e);n&&(this.connections.delete(e),new Set(this.connections.values()).has(n)||(this.disconnect(n.serverIdentifier),n.dispose()),t&&this._documentsChanged.emit(this.documents))}updateLogging(e,t){for(let n of this.connections.values())n.logAllCommunication=e,null!==t&&n.clientNotifications["$/setTrace"].emit({value:t})}async _connectSocket(e){let{language:t,capabilities:n,virtualDocument:i}=e;this.connectDocumentSignals(i);let o=R.solveUris(i,t),r=this.languageServerManager.getMatchingServers({language:t}),a=0===r.length?null:r[0];if(!o)return;let l=await s.connection(t,a,o,this.onNewConnection,n);return this.connections.set(i.uri,l),l}_forEachDocumentOfConnection(e,t){for(let[n,i]of this.connections.entries())e===i&&t(this.documents.get(n))}}!function(e){e.solveUris=function(e,t){var n;let i=s.getLanguageServerManager(),o=i.settings.wsUrl,r=b.PageConfig.getOption("rootUri"),a=b.PageConfig.getOption("virtualDocumentsUri"),l={language:t},d=i.getMatchingServers(l),c=0===d.length?null:d[0];if(null===c)return;let h=i.getMatchingSpecs(l).get(c);h||console.warn(`Specification not available for server ${c}`);let u=!(null==(n=null==h?void 0:h.requires_documents_on_disk)||n),p=e.hasLspSupportedFile||u?r:a,m=b.URLExt.join(p,e.uri);return!m.startsWith("file:///")&&m.startsWith("file://")&&(m=m.replace("file://","file:///")).startsWith("file:///users/")&&p.startsWith("file:///Users/")&&(m=m.replace("file:///users/","file:///Users/")),{base:p,document:m,server:b.URLExt.join("ws://jupyter-lsp",t),socket:b.URLExt.join(o,"lsp","ws",c)}}}(R||(R={})),function(e){let t,n=new Map;async function i(t,i,o,r,s){let a=n.get(i);if(!a){let{settings:a}=e.getLanguageServerManager(),l=new a.WebSocket(o.socket),d=new z({languageId:t,serverUri:o.server,rootUri:o.base,serverIdentifier:i,capabilities:s});n.set(i,d),d.connect(l),r(d)}return n.get(i)}e.getLanguageServerManager=function(){return t},e.setLanguageServerManager=function(e){t=e},e.disconnect=function(e){let t=n.get(e);t&&(t.close(),n.delete(e))},e.connection=i,e.updateServerConfiguration=function(e,t){let i=n.get(e);i&&i.sendConfigurationChange(t)}}(s||(s={}));class O{constructor(){this._extractorMap=new Map,this._extractorMapAnyLanguage=new Map}getExtractors(e,t){var n,i;if(!t)return null!=(i=this._extractorMapAnyLanguage.get(e))?i:[];{let i=this._extractorMap.get(e);return i&&null!=(n=i.get(t))?n:[]}}register(e,t){let n=e.cellType;t?n.forEach(n=>{this._extractorMap.has(n)||this._extractorMap.set(n,new Map);let i=this._extractorMap.get(n),o=i.get(t);o?o.push(e):i.set(t,[e])}):n.forEach(t=>{this._extractorMapAnyLanguage.has(t)||this._extractorMapAnyLanguage.set(t,[]),this._extractorMapAnyLanguage.get(t).push(e)})}}function F(e,t){return t&&e.line===t.line&&e.ch===t.ch}function W(e,t){let n=0,i=0;for(let o of t)if(o.length+1<=e)e-=o.length+1,n+=1;else{i=e;break}return{line:n,column:i}}function H(e,t,n=!1){let i=+!n,o=0;for(let n=0;n<t.length;n++){let r=t[n];if(e.line>n)o+=r.length+i;else{o+=e.column;break}}return o}!function(e){e.isWithinRange=function(e,t){let{line:n,character:i}=e;return n>=t.start.line&&n<=t.end.line&&(n!=t.start.line||i>t.start.character)&&(n!=t.end.line||i<=t.end.character)}}(a||(a={}));class U{constructor(e){this.language=e.language,this.standalone=e.isStandalone,this.fileExtension=e.file_extension,this.cellType=e.cellType}hasForeignCode(e,t){return this.cellType.includes(t)}extractForeignCode(e){let t=e.split("\n"),n=[],i=e,o=W(0,t),r=W(i.length,t);return n.push({hostCode:"",foreignCode:i,range:{start:o,end:r},virtualShift:null}),n}}class Y{constructor(){this.features=[],this._featureRegistered=new u.Signal(this)}get featureRegistered(){return this._featureRegistered}register(e){this.features.some(t=>t.id===e.id)?console.warn(`Feature with id ${e.id} is already registered, skipping.`):(this.features.push(e),this._featureRegistered.emit(e))}clientCapabilities(){let e={};for(let t of this.features)t.capabilities&&(e=d()(e,t.capabilities));return e}extensionFactories(){let e=[];for(let t of this.features)t.extensionFactory&&e.push(t.extensionFactory);return e}}var V=n(53040);class q{constructor(e){this._sessions=new Map,this._specs=new Map,this._warningsEmitted=new Set,this._ready=new v.PromiseDelegate,this._sessionsChanged=new u.Signal(this),this._isDisposed=!1,this._enabled=!0,this._settings=e.settings||V.ServerConnection.makeSettings(),this._baseUrlOverride=e.baseUrl,this._retries=e.retries||2,this._retriesInterval=e.retriesInterval||1e4,this._statusCode=-1,this._configuration={},this.fetchSessions().catch(e=>console.log(e))}get isEnabled(){return this._enabled}get isDisposed(){return this._isDisposed}get settings(){return this._settings}get specs(){return this._specs}get statusUrl(){return b.URLExt.join(this._baseUrl,i.URL_NS,"status")}get sessionsChanged(){return this._sessionsChanged}get sessions(){return this._sessions}get ready(){return this._ready.promise}get statusCode(){return this._statusCode}async enable(){this._enabled=!0,await this.fetchSessions()}disable(){this._enabled=!1,this._sessions=new Map,this._sessionsChanged.emit(void 0)}dispose(){this._isDisposed||(this._isDisposed=!0,u.Signal.clearData(this))}setConfiguration(e){this._configuration=e}getMatchingServers(e){if(!e.language)return console.error("Cannot match server by language: language not available; ensure that kernel and specs provide language and MIME type"),[];let t=[];for(let[n,i]of this._sessions.entries())this.isMatchingSpec(e,i.spec)&&t.push(n);return t.sort(this.compareRanks.bind(this))}getMatchingSpecs(e){let t=new Map;for(let[n,i]of this._specs.entries())this.isMatchingSpec(e,i)&&t.set(n,i);return t}async fetchSessions(){let e;if(!this._enabled)return;let t=await V.ServerConnection.makeRequest(this.statusUrl,{method:"GET"},this._settings);if(this._statusCode=t.status,!t.ok)return void(this._retries>0?(this._retries-=1,setTimeout(this.fetchSessions.bind(this),this._retriesInterval)):(this._ready.resolve(void 0),console.log("Missing jupyter_lsp server extension, skipping.")));try{let n=await t.json();e=n.sessions;try{this.version=n.version,this._specs=new Map(Object.entries(n.specs))}catch(e){console.warn(e)}}catch(e){console.warn(e),this._ready.resolve(void 0);return}for(let t of Object.keys(e)){let n=t;this._sessions.has(n)?Object.assign(this._sessions.get(n)||{},e[t]):this._sessions.set(n,e[t])}let n=this._sessions.keys();for(let t in n)if(!e[t]){let e=t;this._sessions.delete(e)}this._sessionsChanged.emit(void 0),this._ready.resolve(void 0)}isMatchingSpec(e,t){let n=e.language.toLocaleLowerCase();return t.languages.some(e=>e.toLocaleLowerCase()==n)}warnOnce(e){this._warningsEmitted.has(e)||(this._warningsEmitted.add(e),console.warn(e))}compareRanks(e,t){var n,i,o,r;let s=50,a=null!=(i=null==(n=this._configuration[e])?void 0:n.rank)?i:s,l=null!=(r=null==(o=this._configuration[t])?void 0:o.rank)?r:s;return a==l?(this.warnOnce(`Two matching servers: ${e} and ${t} have the same rank; choose which one to use by changing the rank in Advanced Settings Editor`),e.localeCompare(t)):l-a}get _baseUrl(){return this._baseUrlOverride||this._settings.baseUrl}}function G(e,t){return t.start.line===t.end.line?e.line===t.start.line&&e.column>=t.start.column&&e.column<=t.end.column:e.line===t.start.line&&e.column>=t.start.column&&e.line<t.end.line||e.line>t.start.line&&e.column<=t.end.column&&e.line===t.end.line||e.line>t.start.line&&e.line<t.end.line}class ${constructor(e){this.version=0,this._document=e}get text(){return this._document.value}get uri(){let e=R.solveUris(this._document,this.languageId);return e?e.document:""}get languageId(){return this._document.language}}class J{constructor(e){this.blankLinesBetweenCells=2,this._isDisposed=!1,this._foreignDocumentClosed=new u.Signal(this),this._foreignDocumentOpened=new u.Signal(this),this._changed=new u.Signal(this),this.options=e,this.path=this.options.path,this.fileExtension=e.fileExtension,this.hasLspSupportedFile=e.hasLspSupportedFile,this.parent=e.parent,this.language=e.language,this.virtualLines=new Map,this.sourceLines=new Map,this.foreignDocuments=new Map,this._editorToSourceLine=new Map,this._foreignCodeExtractors=e.foreignCodeExtractors,this.standalone=e.standalone||!1,this.instanceId=J.instancesCount,J.instancesCount+=1,this.unusedStandaloneDocuments=new M(()=>[]),this._remainingLifetime=6,this.documentInfo=new $(this),this.updateManager=new Z(this),this.updateManager.updateBegan.connect(this._updateBeganSlot,this),this.updateManager.blockAdded.connect(this._blockAddedSlot,this),this.updateManager.updateFinished.connect(this._updateFinishedSlot,this),this.clear()}static ceToCm(e){return{line:e.line,ch:e.column}}get isDisposed(){return this._isDisposed}get foreignDocumentClosed(){return this._foreignDocumentClosed}get foreignDocumentOpened(){return this._foreignDocumentOpened}get changed(){return this._changed}get virtualId(){return this.standalone?this.instanceId+"("+this.language+")":this.language}get ancestry(){return this.parent?this.parent.ancestry.concat([this]):[this]}get idPath(){return this.parent?this.parent.idPath+"-"+this.virtualId:this.virtualId}get uri(){let e=encodeURI(this.path);return this.parent?e+"."+this.idPath+"."+this.fileExtension:e}get value(){let e="\n".repeat(this.blankLinesBetweenCells);return this.lineBlocks.join(e)}get lastLine(){let e=this.lineBlocks[this.lineBlocks.length-1].split("\n");return e[e.length-1]}get root(){return this.parent?this.parent.root:this}dispose(){this._isDisposed||(this._isDisposed=!0,this.parent=null,this.closeAllForeignDocuments(),this.updateManager.dispose(),this.foreignDocuments.clear(),this.sourceLines.clear(),this.unusedStandaloneDocuments.clear(),this.virtualLines.clear(),this.documentInfo=null,this.lineBlocks=null,u.Signal.clearData(this))}clear(){for(let e of(this.unusedStandaloneDocuments.clear(),this.foreignDocuments.values()))e.clear(),e.standalone&&this.unusedStandaloneDocuments.get(e.language).push(e);this.virtualLines.clear(),this.sourceLines.clear(),this.lastVirtualLine=0,this.lastSourceLine=0,this.lineBlocks=[]}documentAtSourcePosition(e){let t=this.sourceLines.get(e.line);if(!t)return this;let n={line:t.editorLine,column:e.ch};for(let[e,{virtualDocument:i}]of t.foreignDocumentsMap)if(G(n,e)){let t={line:n.line-e.start.line,ch:n.column-e.start.column};return i.documentAtSourcePosition(t)}return this}isWithinForeign(e){let t=this.sourceLines.get(e.line),n={line:t.editorLine,column:e.ch};for(let[e]of t.foreignDocumentsMap)if(G(n,e))return!0;return!1}transformFromEditorToRoot(e,t){if(!this._editorToSourceLine.has(e))return console.log("Editor not found in _editorToSourceLine map"),null;let n=this._editorToSourceLine.get(e);return{...t,line:t.line+n}}virtualPositionAtDocument(e){let t=this.sourceLines.get(e.line);if(null==t)throw Error("Source line not mapped to virtual position");let n=t.virtualLine,i={line:t.editorLine,column:e.ch};for(let[e,n]of t.foreignDocumentsMap){let{virtualLine:t,virtualDocument:o}=n;if(G(i,e)){let n={line:i.line-e.start.line,ch:i.column-e.start.column};if(o.isWithinForeign(n))return this.virtualPositionAtDocument(n);return n.line+=t,n}}return{ch:e.ch,line:n}}appendCodeBlock(e,t={line:0,column:0},n){let i=e.value,o=e.ceEditor;if(this.isDisposed)return void console.warn("Cannot append code block: document disposed");let r=i.split("\n"),{lines:s,foreignDocumentsMap:a}=this.prepareCodeBlock(e,t);for(let e=0;e<s.length;e++)this.virtualLines.set(this.lastVirtualLine+e,{skipInspect:[],editor:o,sourceLine:this.lastSourceLine+e});for(let e=0;e<r.length;e++)this.sourceLines.set(this.lastSourceLine+e,{editorLine:e,editorShift:{line:t.line-((null==n?void 0:n.line)||0),column:0===e?t.column-((null==n?void 0:n.column)||0):0},editor:o,foreignDocumentsMap:a,virtualLine:this.lastVirtualLine+e});this.lastVirtualLine+=s.length,this.lineBlocks.push(s.join("\n")+"\n");for(let e=0;e<this.blankLinesBetweenCells;e++)this.virtualLines.set(this.lastVirtualLine+e,{skipInspect:[this.idPath],editor:o,sourceLine:null});this.lastVirtualLine+=this.blankLinesBetweenCells,this.lastSourceLine+=r.length}prepareCodeBlock(e,t={line:0,column:0}){let{cellCodeKept:n,foreignDocumentsMap:i}=this.extractForeignCode(e,t);return{lines:n.split("\n"),foreignDocumentsMap:i}}extractForeignCode(e,t){let n=new Map,i=e.value;for(let o of[...this._foreignCodeExtractors.getExtractors(e.type,null),...this._foreignCodeExtractors.getExtractors(e.type,this.language)]){if(!o.hasForeignCode(i,e.type))continue;let r=o.extractForeignCode(i),s="";for(let i of r){if(null!==i.foreignCode){if(null===i.range){console.log("Failure in foreign code extraction: `range` is null but `foreign_code` is not!");continue}let r=this._chooseForeignDocument(o);n.set(i.range,{virtualLine:r.lastVirtualLine,virtualDocument:r,editor:e.ceEditor});let s={line:t.line+i.range.start.line,column:t.column+i.range.start.column};r.appendCodeBlock({value:i.foreignCode,ceEditor:e.ceEditor,type:"code"},s,i.virtualShift)}null!=i.hostCode&&(s+=i.hostCode)}i=s}return{cellCodeKept:i,foreignDocumentsMap:n}}closeForeign(e){this._foreignDocumentClosed.emit({foreignDocument:e,parentHost:this}),this.foreignDocuments.delete(e.virtualId),e.closeAllForeignDocuments(),e.foreignDocumentClosed.disconnect(this.forwardClosedSignal,this),e.foreignDocumentOpened.disconnect(this.forwardOpenedSignal,this),e.dispose()}closeAllForeignDocuments(){for(let e of this.foreignDocuments.values())this.closeForeign(e)}closeExpiredDocuments(){let e=new Set;for(let t of this.sourceLines.values())for(let n of t.foreignDocumentsMap.values())e.add(n.virtualDocument);let t=new Map;for(let[e,n]of this.foreignDocuments.entries()){let i=t.get(n);void 0!==i&&t.set(n,[...i,e]),t.set(n,[e])}for(let n of new Set([...new Set(t.keys())].filter(t=>!e.has(t))).values())if(n.remainingLifetime-=1,n.remainingLifetime<=0)for(let e of(n.dispose(),t.get(n)))this.foreignDocuments.delete(e)}transformSourceToEditor(e){let t=this.sourceLines.get(e.line),n=t.editorLine,i=t.editorShift;return{ch:e.ch+(0===n?i.column:0),line:n+i.line}}transformVirtualToEditor(e){let t=this.transformVirtualToSource(e);return null==t?null:this.transformSourceToEditor(t)}transformVirtualToSource(e){let t=this.virtualLines.get(e.line).sourceLine;return null==t?null:{ch:e.ch,line:t}}transformVirtualToRoot(e){var t;let n=null==(t=this.virtualLines.get(e.line))?void 0:t.editor,i=this.transformVirtualToEditor(e);return n&&i?this.root.transformFromEditorToRoot(n,i):null}getEditorAtVirtualLine(e){let t=e.line;return this.virtualLines.has(t)||(t-=1),this.virtualLines.get(t).editor}getEditorAtSourceLine(e){return this.sourceLines.get(e.line).editor}maybeEmitChanged(){for(let e of(this.value!==this.previousValue&&this._changed.emit(this),this.previousValue=this.value,this.foreignDocuments.values()))e.maybeEmitChanged()}get remainingLifetime(){return this.parent?this._remainingLifetime:1/0}set remainingLifetime(e){this.parent&&(this._remainingLifetime=e)}_chooseForeignDocument(e){let t,n=this.foreignDocuments.has(e.language);if(!e.standalone&&n)t=this.foreignDocuments.get(e.language);else{let n=this.unusedStandaloneDocuments.get(e.language);t=e.standalone&&n.length>0?n.pop():this.openForeign(e.language,e.standalone,e.fileExtension)}return t}openForeign(e,t,n){let i=new this.constructor({...this.options,parent:this,standalone:t,fileExtension:n,language:e}),o={foreignDocument:i,parentHost:this};return this._foreignDocumentOpened.emit(o),i.foreignDocumentClosed.connect(this.forwardClosedSignal,this),i.foreignDocumentOpened.connect(this.forwardOpenedSignal,this),this.foreignDocuments.set(i.virtualId,i),i}forwardClosedSignal(e,t){this._foreignDocumentClosed.emit(t)}forwardOpenedSignal(e,t){this._foreignDocumentOpened.emit(t)}_updateBeganSlot(){this._editorToSourceLineNew=new Map}_blockAddedSlot(e,t){this._editorToSourceLineNew.set(t.block.ceEditor,t.virtualDocument.lastSourceLine)}_updateFinishedSlot(){this._editorToSourceLine=this._editorToSourceLineNew}}function K(e){let t=new Set;for(let n of(t.add(e),e.foreignDocuments.values()))K(n).forEach(t.add,t);return t}J.instancesCount=0;class Z{constructor(e){this.virtualDocument=e,this._isDisposed=!1,this._updateDone=new Promise(e=>{e()}),this._isUpdateInProgress=!1,this._updateLock=!1,this._blockAdded=new u.Signal(this),this._documentUpdated=new u.Signal(this),this._updateBegan=new u.Signal(this),this._updateFinished=new u.Signal(this),this.documentUpdated.connect(this._onUpdated,this)}get updateDone(){return this._updateDone}get isDisposed(){return this._isDisposed}get blockAdded(){return this._blockAdded}get documentUpdated(){return this._documentUpdated}get updateBegan(){return this._updateBegan}get updateFinished(){return this._updateFinished}dispose(){this._isDisposed||(this._isDisposed=!0,this.documentUpdated.disconnect(this._onUpdated),u.Signal.clearData(this))}async withUpdateLock(e){await x(()=>this._canUpdate(),12,10).then(()=>{try{this._updateLock=!0,e()}finally{this._updateLock=!1}})}async updateDocuments(e){let t=new Promise((t,n)=>{x(()=>this._canUpdate(),10,5).then(()=>{(this.isDisposed||!this.virtualDocument)&&t();try{for(let t of(this._isUpdateInProgress=!0,this._updateBegan.emit(e),this.virtualDocument.clear(),e))this._blockAdded.emit({block:t,virtualDocument:this.virtualDocument}),this.virtualDocument.appendCodeBlock(t);this._updateFinished.emit(e),this.virtualDocument&&(this._documentUpdated.emit(this.virtualDocument),this.virtualDocument.maybeEmitChanged()),t()}catch(e){console.warn("Documents update failed:",e),n(e)}finally{this._isUpdateInProgress=!1}}).catch(console.error)});return this._updateDone=t,t}_onUpdated(e,t){try{t.closeExpiredDocuments()}catch(e){console.warn("Failed to close expired documents")}}_canUpdate(){return!this.isDisposed&&!this._isUpdateInProgress&&!this._updateLock}}},13137(e,t,n){"use strict";n(82311),n(62971),n(38415),n(92508),n(45350)},87086(e,t,n){"use strict";n.r(t),n.d(t,{CommandIDs:()=>o,default:()=>I});var i,o,r,s=n(57941),a=n(97518),l=n(28951),d=n(95615),c=n(53040),h=n(46109),u=n(2786),p=n(8989),m=n(65819),g=n(55187),A=n(64001),C=n(18977),f=n(56573);let b="@jupyterlab/mainmenu-extension:recents";!function(e){e.openRecent="recentmenu:open-recent",e.reopenLast="recentmenu:reopen-last",e.clearRecents="docmanager:clear-recents"}(i||(i={}));class v extends A.Menu{constructor(e){super(e),this._manager=e.manager,this._showDirectories=e.showDirectories,this.updateItems(),this._manager.changed.connect(this.updateItems,this)}async _validateRecentlyOpened(){Promise.all(this._manager.recentlyOpened.map(e=>this._manager.validate(e)))}onBeforeAttach(e){let t=new g.PromiseDelegate;setTimeout(()=>{t.reject("Recents validation timed out.")},550),Promise.race([t.promise,this._validateRecentlyOpened()]).then(()=>{this.update()}).catch(()=>{}),super.onBeforeAttach(e)}updateItems(){this.clearItems(),this.addItem({command:i.reopenLast}),this.addItem({type:"separator"});let e=!0,t=!1;this._manager.recentlyOpened.sort((e,t)=>e.contentType===t.contentType?0:"directory"!==e.contentType?1:-1).forEach(n=>{if("directory"===n.contentType){if(!this._showDirectories)return;t=!0}else e&&t&&(e=!1,this.addItem({type:"separator"}));this.addItem({command:i.openRecent,args:{recent:n}})}),this.addItem({type:"separator"}),this.addItem({command:i.clearRecents})}}let _={id:b,description:"Adds sub-menu for opening recent documents to the File section of the main menu.",autoStart:!0,requires:[C.IRecentsManager,d.IMainMenu],optional:[f.IFileBrowserCommands,u.ITranslator],activate:(e,t,n,o,r)=>{let{commands:s}=e,d=(null!=r?r:u.nullTranslator).load("jupyterlab"),c=null!==o,h=async e=>{let n=await t.validate(e);return n||await (0,a.showErrorMessage)(d.__("Could Not Open Recent"),d.__("%1 is no longer valid and will be removed from the list",e.path)),n};s.addCommand(i.openRecent,{execute:async e=>{let t=e.recent,n=""===t.path?"/":t.path;await h(t)&&(o&&"directory"===t.contentType?await s.execute(o.openPath,{path:n}):await s.execute("docmanager:open",{path:n,factory:t.factory}))},label:e=>{let t=e.recent;return t?l.PathExt.joinWithLeadingSlash(t.root,t.path):d.__("Open a Recent Document (given by `recent` argument)")},isEnabled:e=>t.recentlyOpened.includes(e.recent),describedBy:{args:{type:"object",properties:{recent:{type:"object",description:d.__("Recent document to open")}}}}}),e.commands.addCommand(i.reopenLast,{execute:async()=>{let e=t.recentlyClosed[0];!e||await h(e)&&(await s.execute("docmanager:open",{path:e.path,factory:e.factory}),t.removeRecent(e,"closed"))},label:()=>{let e=t.recentlyClosed[0];return e?d.__("Reopen %1",e.path):d.__("Reopen Closed Document")},isEnabled:()=>0!==t.recentlyClosed.length,caption:d.__("Reopen recently closed file or notebook."),describedBy:{args:{type:"object",properties:{}}}});let p=new v({commands:s,manager:t,showDirectories:c});p.title.label=d.__("Open Recent"),n.fileMenu.addItem({type:"submenu",submenu:p,rank:1})}},y="@jupyterlab/mainmenu-extension:plugin";function E(e,t,n){let{commands:i,shell:r}=e;(0,s.addSemanticCommand)({id:o.undo,commands:i,shell:r,semanticCommands:t.undoers.undo,default:{label:n.__("Undo")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.redo,commands:i,shell:r,semanticCommands:t.undoers.redo,default:{label:n.__("Redo")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.clearCurrent,commands:i,shell:r,semanticCommands:t.clearers.clearCurrent,default:{label:n.__("Clear")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.clearAll,commands:i,shell:r,semanticCommands:t.clearers.clearAll,default:{label:n.__("Clear All")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.goToLine,commands:i,shell:r,semanticCommands:t.goToLiners,default:{label:n.__("Go to Line…")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n})}function w(e,t,n,i){let{commands:r,shell:d}=e;(0,s.addSemanticCommand)({id:o.closeAndCleanup,commands:r,shell:d,semanticCommands:t.closeAndCleaners,default:{execute:"application:close",label:i.__("Close and Shut Down"),isEnabled:!0},overrides:{isEnabled:()=>!!e.shell.currentWidget&&!!e.shell.currentWidget.title.closable,describedBy:{args:{type:"object",properties:{}}}},trans:i}),(0,s.addSemanticCommand)({id:o.createConsole,commands:r,shell:d,semanticCommands:t.consoleCreators,default:{label:i.__("New Console for Activity")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:i}),r.addCommand(o.shutdown,{label:i.__("Shut Down"),caption:i.__("Shut down %1",e.name),isVisible:()=>t.quitEntry,isEnabled:()=>t.quitEntry,describedBy:{args:{type:"object",properties:{}}},execute:()=>(0,a.showDialog)({title:i.__("Shutdown confirmation"),body:i.__("Please confirm you want to shut down %1.",e.name),buttons:[a.Dialog.cancelButton(),a.Dialog.warnButton({label:i.__("Shut Down")})]}).then(async t=>{if(t.button.accept){let t=e.serviceManager.serverSettings,n=l.URLExt.join(t.baseUrl,"api/shutdown");try{await Promise.all([e.serviceManager.sessions.shutdownAll(),e.serviceManager.terminals.shutdownAll()])}catch(e){console.log(`Failed to shutdown sessions and terminals: ${e}`)}return c.ServerConnection.makeRequest(n,{method:"POST"},t).then(t=>{if(t.ok){let t=document.createElement("div"),n=document.createElement("p");n.textContent=i.__("You have shut down the Jupyter server. You can now close this tab.");let o=document.createElement("p");o.textContent=i.__("To use %1 again, you will need to relaunch it.",e.name),t.appendChild(n),t.appendChild(o),(0,a.showDialog)({title:i.__("Server stopped"),body:new A.Widget({node:t}),buttons:[]}),window.close()}else throw new c.ServerConnection.ResponseError(t)}).catch(e=>{throw new c.ServerConnection.NetworkError(e)})}})}),r.addCommand(o.logout,{label:i.__("Log Out"),caption:i.__("Log out of %1",e.name),isVisible:()=>t.quitEntry,isEnabled:()=>t.quitEntry,describedBy:{args:{type:"object",properties:{}}},execute:()=>{n.navigate("/logout",{hard:!0})}})}function j(e,t,n){let{commands:i,shell:r}=e;(0,s.addSemanticCommand)({id:o.interruptKernel,commands:i,shell:r,semanticCommands:t.kernelUsers.interruptKernel,default:{label:n.__("Interrupt Kernel"),caption:n.__("Interrupt the kernel")},overrides:{icon:e=>e.toolbar?p.stopIcon:void 0,describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.reconnectToKernel,commands:i,shell:r,semanticCommands:t.kernelUsers.reconnectToKernel,default:{label:n.__("Reconnect to Kernel")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.restartKernel,commands:i,shell:r,semanticCommands:t.kernelUsers.restartKernel,default:{label:n.__("Restart Kernel…"),caption:n.__("Restart the kernel")},overrides:{icon:e=>e.toolbar?p.refreshIcon:void 0,describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.restartKernelAndClear,commands:i,shell:r,semanticCommands:[t.kernelUsers.restartKernel,t.kernelUsers.clearWidget],default:{label:n.__("Restart Kernel and Clear…")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.changeKernel,commands:i,shell:r,semanticCommands:t.kernelUsers.changeKernel,default:{label:n.__("Change Kernel…")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.shutdownKernel,commands:i,shell:r,semanticCommands:t.kernelUsers.shutdownKernel,default:{label:n.__("Shut Down Kernel"),caption:n.__("Shut down kernel")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n}),i.addCommand(o.shutdownAllKernels,{label:n.__("Shut Down All Kernels…"),isEnabled:()=>!e.serviceManager.sessions.running().next().done,describedBy:{args:{type:"object",properties:{}}},execute:()=>(0,a.showDialog)({title:n.__("Shut Down All?"),body:n._n("Are you sure you want to permanently shut down the running kernel?","Are you sure you want to permanently shut down the %1 running kernels?",e.serviceManager.kernels.runningCount),buttons:[a.Dialog.cancelButton(),a.Dialog.warnButton({label:n.__("Shut Down All")})]}).then(t=>{if(t.button.accept)return e.serviceManager.sessions.shutdownAll()})})}function x(e,t,n){let{commands:i,shell:r}=e;(0,s.addSemanticCommand)({id:o.lineNumbering,commands:i,shell:r,semanticCommands:t.editorViewers.toggleLineNumbers,default:{label:n.__("Show Line Numbers")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.minimap,commands:i,shell:r,semanticCommands:t.editorViewers.toggleMinimap,default:{label:n.__("Show Minimap")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.matchBrackets,commands:i,shell:r,semanticCommands:t.editorViewers.toggleMatchBrackets,default:{label:n.__("Match Brackets")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.wordWrap,commands:i,shell:r,semanticCommands:t.editorViewers.toggleWordWrap,default:{label:n.__("Wrap Words")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n})}function B(e,t,n){let{commands:i,shell:r}=e;(0,s.addSemanticCommand)({id:o.run,commands:i,shell:r,semanticCommands:t.codeRunners.run,default:{label:n.__("Run Selected"),caption:n.__("Run Selected")},overrides:{icon:e=>e.toolbar?p.runIcon:void 0,describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.runAll,commands:i,shell:r,semanticCommands:t.codeRunners.runAll,default:{label:n.__("Run All"),caption:n.__("Run All")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n}),(0,s.addSemanticCommand)({id:o.restartAndRunAll,commands:i,shell:r,semanticCommands:[t.codeRunners.restart,t.codeRunners.runAll],default:{label:n.__("Restart Kernel and Run All"),caption:n.__("Restart Kernel and Run All")},overrides:{icon:e=>e.toolbar?p.fastForwardIcon:void 0,describedBy:{args:{type:"object",properties:{}}}},trans:n})}function S(e,t,n,i){let r,s=e.commands,a=[];s.addCommand(o.activateById,{label:t=>{if(void 0===t.id)return i.__("Activate a widget by its `id`.");let n=t.id||"",o=(0,m.find)(e.shell.widgets("main"),e=>e.id===n);return o&&o.title.label||""},isToggled:t=>{let n=t.id||"";return!!e.shell.currentWidget&&e.shell.currentWidget.id===n},describedBy:{args:{type:"object",properties:{id:{type:"string",description:i.__("The widget id to activate")}},required:["id"]}},execute:t=>e.shell.activateById(t.id||"")});let l="";s.addCommand(o.activatePreviouslyUsedTab,{label:i.__("Activate Previously Used Tab"),isEnabled:()=>!!l,describedBy:{args:{type:"object",properties:{}}},execute:()=>s.execute(o.activateById,{id:l})}),n&&e.restored.then(()=>{let i=()=>{r&&!r.isDisposed&&r.dispose(),a.length=0;let n=!1;for(let t of e.shell.widgets("main"))t.id===l&&(n=!0),a.push({command:o.activateById,args:{id:t.id}});r=t.addGroup(a,1),l=n?l:""};i(),n.layoutModified.connect(()=>{i()}),n.currentChanged.connect((e,t)=>{let n=t.oldValue;n&&(l=n.id)})})}function M(e,t,n){let{commands:i,shell:r}=e;(0,s.addSemanticCommand)({id:o.getKernel,commands:i,shell:r,semanticCommands:t.getKernel,default:{label:n.__("Get Kernel"),isVisible:!1},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n})}!function(e){e.openEdit="editmenu:open",e.undo="editmenu:undo",e.redo="editmenu:redo",e.clearCurrent="editmenu:clear-current",e.clearAll="editmenu:clear-all",e.find="editmenu:find",e.goToLine="editmenu:go-to-line",e.openFile="filemenu:open",e.closeAndCleanup="filemenu:close-and-cleanup",e.createConsole="filemenu:create-console",e.shutdown="filemenu:shutdown",e.logout="filemenu:logout",e.openKernel="kernelmenu:open",e.interruptKernel="kernelmenu:interrupt",e.reconnectToKernel="kernelmenu:reconnect-to-kernel",e.restartKernel="kernelmenu:restart",e.restartKernelAndClear="kernelmenu:restart-and-clear",e.changeKernel="kernelmenu:change",e.shutdownKernel="kernelmenu:shutdown",e.shutdownAllKernels="kernelmenu:shutdownAll",e.openView="viewmenu:open",e.wordWrap="viewmenu:word-wrap",e.lineNumbering="viewmenu:line-numbering",e.minimap="viewmenu:show-minimap",e.matchBrackets="viewmenu:match-brackets",e.openRun="runmenu:open",e.run="runmenu:run",e.runAll="runmenu:run-all",e.restartAndRunAll="runmenu:restart-and-run-all",e.runAbove="runmenu:run-above",e.runBelow="runmenu:run-below",e.openTabs="tabsmenu:open",e.activateById="tabsmenu:activate-by-id",e.activatePreviouslyUsedTab="tabsmenu:activate-previously-used-tab",e.openSettings="settingsmenu:open",e.openHelp="helpmenu:open",e.getKernel="helpmenu:get-kernel",e.openFirst="mainmenu:open-first"}(o||(o={}));let I=[{id:y,description:"Adds and provides the application main menu.",requires:[s.IRouter,u.ITranslator],optional:[a.ICommandPalette,s.ILabShell,h.ISettingRegistry],provides:d.IMainMenu,activate:async(e,t,n,i,s,a)=>{let{commands:c}=e,h=n.load("jupyterlab"),u=new d.MainMenu(c);u.id="jp-MainMenu",u.addClass("jp-scrollbar-tiny"),a&&(await r.loadSettingsMenu(a,e=>{u.addMenu(e,!1,{rank:e.rank})},e=>d.MainMenu.generateMenu(c,e,h),n),u.update());let p=l.PageConfig.getOption("quitButton").toLowerCase();u.fileMenu.quitEntry="true"===p,E(e,u.editMenu,h),w(e,u.fileMenu,t,h),j(e,u.kernelMenu,h),B(e,u.runMenu,h),x(e,u.viewMenu,h),M(e,u.helpMenu,h),s&&S(e,u.tabsMenu,s,h);let m=e=>{u.activeMenu=e,u.openActiveMenu()};return c.addCommand(o.openEdit,{label:h.__("Open Edit Menu"),execute:()=>m(u.editMenu),describedBy:{args:{type:"object",properties:{}}}}),c.addCommand(o.openFile,{label:h.__("Open File Menu"),execute:()=>m(u.fileMenu),describedBy:{args:{type:"object",properties:{}}}}),c.addCommand(o.openKernel,{label:h.__("Open Kernel Menu"),execute:()=>m(u.kernelMenu),describedBy:{args:{type:"object",properties:{}}}}),c.addCommand(o.openRun,{label:h.__("Open Run Menu"),execute:()=>m(u.runMenu),describedBy:{args:{type:"object",properties:{}}}}),c.addCommand(o.openView,{label:h.__("Open View Menu"),execute:()=>m(u.viewMenu),describedBy:{args:{type:"object",properties:{}}}}),c.addCommand(o.openSettings,{label:h.__("Open Settings Menu"),execute:()=>m(u.settingsMenu),describedBy:{args:{type:"object",properties:{}}}}),c.addCommand(o.openTabs,{label:h.__("Open Tabs Menu"),execute:()=>m(u.tabsMenu),describedBy:{args:{type:"object",properties:{}}}}),c.addCommand(o.openHelp,{label:h.__("Open Help Menu"),execute:()=>m(u.helpMenu),describedBy:{args:{type:"object",properties:{}}}}),c.addCommand(o.openFirst,{label:h.__("Open First Menu"),execute:()=>{u.activeIndex=0,u.openActiveMenu()},describedBy:{args:{type:"object",properties:{}}}}),i&&(i.addItem({command:o.shutdown,category:h.__("Main Area")}),i.addItem({command:o.logout,category:h.__("Main Area")}),i.addItem({command:o.shutdownAllKernels,category:h.__("Kernel Operations")}),i.addItem({command:o.activatePreviouslyUsedTab,category:h.__("Main Area")})),e.shell.add(u,"menu",{rank:100}),u}},_];!function(e){async function t(e){(await (0,a.showDialog)({title:e.__("Information"),body:e.__("Menu customization has changed. You will need to reload JupyterLab to see the changes."),buttons:[a.Dialog.cancelButton(),a.Dialog.okButton({label:e.__("Reload")})]})).button.accept&&location.reload()}e.loadSettingsMenu=async function(e,n,i,o){var r;let s=o.load("jupyterlab"),l=null,d={};function c(t){var n,i;d={};let o=Object.keys(e.plugins).map(t=>{var n,i;let o=null!=(i=null==(n=e.plugins[t].schema["jupyter.lab.menus"])?void 0:n.main)?i:[];return d[t]=o,o}).concat([null!=(i=null==(n=t["jupyter.lab.menus"])?void 0:n.main)?i:[]]).reduceRight((e,t)=>h.SettingRegistry.reconcileMenus(e,t,!0),t.properties.menus.default);t.properties.menus.default=h.SettingRegistry.reconcileMenus(o,t.properties.menus.default,!0).sort((e,t)=>{var n,i;return(null!=(n=e.rank)?n:1/0)-(null!=(i=t.rank)?i:1/0)})}e.transform(y,{compose:e=>{var t,n,i,o;l||c(l=g.JSONExt.deepCopy(e.schema));let r=null!=(i=null==(n=null==(t=l.properties)?void 0:t.menus)?void 0:n.default)?i:[],s={...e.data.user,menus:null!=(o=e.data.user.menus)?o:[]},a={...e.data.composite,menus:h.SettingRegistry.reconcileMenus(r,s.menus)};return e.data={composite:a,user:s},e},fetch:e=>(l||c(l=g.JSONExt.deepCopy(e.schema)),{data:e.data,id:e.id,raw:e.raw,schema:l,version:e.version})});let u=await e.load(y),p=null!=(r=g.JSONExt.deepCopy(u.composite.menus))?r:[],m=[];a.MenuFactory.createMenus(p.filter(e=>!e.disabled).map(e=>{var t;return{...e,items:h.SettingRegistry.filterDisabledItems(null!=(t=e.items)?t:[])}}),i).forEach(e=>{m.push(e),n(e)}),u.changed.connect(()=>{var e;let n=null!=(e=u.composite.menus)?e:[];g.JSONExt.deepEqual(p,n)||t(s)}),e.pluginChanged.connect(async(o,r)=>{var l,c,u;if(r!==y){let o=null!=(l=d[r])?l:[],A=null!=(u=null==(c=e.plugins[r].schema["jupyter.lab.menus"])?void 0:c.main)?u:[];if(!g.JSONExt.deepEqual(o,A))if(d[r])await t(s);else{d[r]=g.JSONExt.deepCopy(A);let e=h.SettingRegistry.reconcileMenus(A,p,!1,!1).filter(e=>!e.disabled).map(e=>{var t;return{...e,items:h.SettingRegistry.filterDisabledItems(null!=(t=e.items)?t:[])}});a.MenuFactory.updateMenus(m,e,i).forEach(e=>{n(e)})}}})}}(r||(r={}))},61132(e,t,n){"use strict";n(82311),n(97777),n(62971),n(67474),n(41603),n(29099),n(67996)},63693(e,t,n){"use strict";n.r(t),n.d(t,{EditMenu:()=>l,FileMenu:()=>d,HelpMenu:()=>c,IMainMenu:()=>C,KernelMenu:()=>h,MainMenu:()=>A,RunMenu:()=>u,SettingsMenu:()=>p,TabsMenu:()=>m,ViewMenu:()=>g});var i,o=n(8989),r=n(65819),s=n(64001),a=n(97518);class l extends o.RankedMenu{constructor(e){super(e),this.undoers={redo:new a.SemanticCommand,undo:new a.SemanticCommand},this.clearers={clearAll:new a.SemanticCommand,clearCurrent:new a.SemanticCommand},this.goToLiners=new a.SemanticCommand}}class d extends o.RankedMenu{constructor(e){super(e),this.quitEntry=!1,this.closeAndCleaners=new a.SemanticCommand,this.consoleCreators=new a.SemanticCommand}get newMenu(){var e,t;return this._newMenu||(this._newMenu=null!=(t=null==(e=(0,r.find)(this.items,e=>{var t;return(null==(t=e.submenu)?void 0:t.id)==="jp-mainmenu-file-new"}))?void 0:e.submenu)?t:new o.RankedMenu({commands:this.commands})),this._newMenu}dispose(){var e;null==(e=this._newMenu)||e.dispose(),super.dispose()}}class c extends o.RankedMenu{constructor(e){super(e),this.getKernel=new a.SemanticCommand}}class h extends o.RankedMenu{constructor(e){super(e),this.kernelUsers={changeKernel:new a.SemanticCommand,clearWidget:new a.SemanticCommand,interruptKernel:new a.SemanticCommand,reconnectToKernel:new a.SemanticCommand,restartKernel:new a.SemanticCommand,shutdownKernel:new a.SemanticCommand}}}class u extends o.RankedMenu{constructor(e){super(e),this.codeRunners={restart:new a.SemanticCommand,run:new a.SemanticCommand,runAll:new a.SemanticCommand}}}class p extends o.RankedMenu{constructor(e){super(e)}}class m extends o.RankedMenu{constructor(e){super(e)}}class g extends o.RankedMenu{constructor(e){super(e),this.editorViewers={toggleLineNumbers:new a.SemanticCommand,toggleMinimap:new a.SemanticCommand,toggleMatchBrackets:new a.SemanticCommand,toggleWordWrap:new a.SemanticCommand}}}class A extends s.MenuBar{constructor(e){super({forceItemsPosition:{forceX:!1,forceY:!0}}),this._items=[],this._commands=e}get editMenu(){return this._editMenu||(this._editMenu=new l({commands:this._commands,rank:2,renderer:o.MenuSvg.defaultRenderer})),this._editMenu}get fileMenu(){return this._fileMenu||(this._fileMenu=new d({commands:this._commands,rank:1,renderer:o.MenuSvg.defaultRenderer})),this._fileMenu}get helpMenu(){return this._helpMenu||(this._helpMenu=new c({commands:this._commands,rank:1e3,renderer:o.MenuSvg.defaultRenderer})),this._helpMenu}get kernelMenu(){return this._kernelMenu||(this._kernelMenu=new h({commands:this._commands,rank:5,renderer:o.MenuSvg.defaultRenderer})),this._kernelMenu}get runMenu(){return this._runMenu||(this._runMenu=new u({commands:this._commands,rank:4,renderer:o.MenuSvg.defaultRenderer})),this._runMenu}get settingsMenu(){return this._settingsMenu||(this._settingsMenu=new p({commands:this._commands,rank:999,renderer:o.MenuSvg.defaultRenderer})),this._settingsMenu}get viewMenu(){return this._viewMenu||(this._viewMenu=new g({commands:this._commands,rank:3,renderer:o.MenuSvg.defaultRenderer})),this._viewMenu}get tabsMenu(){return this._tabsMenu||(this._tabsMenu=new m({commands:this._commands,rank:500,renderer:o.MenuSvg.defaultRenderer})),this._tabsMenu}addMenu(e,t=!0,n={}){if(r.ArrayExt.firstIndexOf(this.menus,e)>-1)return;o.MenuSvg.overrideDefaultRenderer(e);let s="rank"in n?n.rank:"rank"in e?e.rank:o.IRankedMenu.DEFAULT_RANK,a={menu:e,rank:s},A=r.ArrayExt.upperBound(this._items,a,i.itemCmp);switch(e.disposed.connect(this._onMenuDisposed,this),r.ArrayExt.insert(this._items,A,a),this.insertMenu(A,e),e.id){case"jp-mainmenu-file":!this._fileMenu&&e instanceof d&&(this._fileMenu=e);break;case"jp-mainmenu-edit":!this._editMenu&&e instanceof l&&(this._editMenu=e);break;case"jp-mainmenu-view":!this._viewMenu&&e instanceof g&&(this._viewMenu=e);break;case"jp-mainmenu-run":!this._runMenu&&e instanceof u&&(this._runMenu=e);break;case"jp-mainmenu-kernel":!this._kernelMenu&&e instanceof h&&(this._kernelMenu=e);break;case"jp-mainmenu-tabs":!this._tabsMenu&&e instanceof m&&(this._tabsMenu=e);break;case"jp-mainmenu-settings":!this._settingsMenu&&e instanceof p&&(this._settingsMenu=e);break;case"jp-mainmenu-help":!this._helpMenu&&e instanceof c&&(this._helpMenu=e)}}dispose(){var e,t,n,i,o,r,s,a;null==(e=this._editMenu)||e.dispose(),null==(t=this._fileMenu)||t.dispose(),null==(n=this._helpMenu)||n.dispose(),null==(i=this._kernelMenu)||i.dispose(),null==(o=this._runMenu)||o.dispose(),null==(r=this._settingsMenu)||r.dispose(),null==(s=this._viewMenu)||s.dispose(),null==(a=this._tabsMenu)||a.dispose(),super.dispose()}static generateMenu(e,t,n){let i,{id:r,label:s,rank:a}=t;switch(r){case"jp-mainmenu-file":i=new d({commands:e,rank:a,renderer:o.MenuSvg.defaultRenderer});break;case"jp-mainmenu-edit":i=new l({commands:e,rank:a,renderer:o.MenuSvg.defaultRenderer});break;case"jp-mainmenu-view":i=new g({commands:e,rank:a,renderer:o.MenuSvg.defaultRenderer});break;case"jp-mainmenu-run":i=new u({commands:e,rank:a,renderer:o.MenuSvg.defaultRenderer});break;case"jp-mainmenu-kernel":i=new h({commands:e,rank:a,renderer:o.MenuSvg.defaultRenderer});break;case"jp-mainmenu-tabs":i=new m({commands:e,rank:a,renderer:o.MenuSvg.defaultRenderer});break;case"jp-mainmenu-settings":i=new p({commands:e,rank:a,renderer:o.MenuSvg.defaultRenderer});break;case"jp-mainmenu-help":i=new c({commands:e,rank:a,renderer:o.MenuSvg.defaultRenderer});break;default:i=new o.RankedMenu({commands:e,rank:a,renderer:o.MenuSvg.defaultRenderer})}return s&&(i.title.label=n._p("menu",s)),i}_onMenuDisposed(e){this.removeMenu(e);let t=r.ArrayExt.findFirstIndex(this._items,t=>t.menu===e);-1!==t&&r.ArrayExt.removeAt(this._items,t)}}!function(e){e.itemCmp=function(e,t){return e.rank-t.rank}}(i||(i={}));let C=new(n(55187)).Token("@jupyterlab/mainmenu:IMainMenu",`A service for the main menu bar for the application.
  Use this if you want to add your own menu items or provide implementations for standardized menu items for specific activities.`)},67996(e,t,n){"use strict";n(82311),n(97777),n(62971)},69195(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>g});var i,o=n(57941),r=n(97518),s=n(28951),a=n(79541),l=n(31031),d=n(46109),c=n(45251),h=n(2786);!function(e){e.markdownPreview="markdownviewer:open",e.markdownEditor="markdownviewer:edit",e.trust="markdownviewer:trust"}(i||(i={}));let u="Markdown Preview",p={activate:m,id:"@jupyterlab/markdownviewer-extension:plugin",description:"Adds markdown file viewer and provides its tracker.",provides:a.IMarkdownViewerTracker,requires:[l.IRenderMimeRegistry,h.ITranslator],optional:[o.ILayoutRestorer,d.ISettingRegistry,c.ITableOfContentsRegistry,r.ISanitizer],autoStart:!0};function m(e,t,n,o,d,c,h){let m=n.load("jupyterlab"),{commands:g,docRegistry:A}=e;t.addFactory(l.markdownRendererFactory);let C="markdownviewer-widget",f=new r.WidgetTracker({namespace:C}),b={...a.MarkdownViewer.defaultConfig};function v(e){Object.keys(b).forEach(t=>{var n;e.setOption(t,null!=(n=b[t])?n:null)})}if(d){let e=e=>{b=e.composite,f.forEach(e=>{v(e.content)})};d.load(p.id).then(t=>{t.changed.connect(()=>{e(t)}),e(t)}).catch(e=>{console.error(e.message)})}let _=new a.MarkdownViewerFactory({rendermime:t,name:u,label:m.__("Markdown Preview"),primaryFileType:A.getFileType("markdown"),fileTypes:["markdown"],defaultRendered:["markdown"]});return _.widgetCreated.connect((e,t)=>{t.context.pathChanged.connect(()=>{f.save(t)}),v(t.content),t.content.node.setAttribute("data-trust-command",i.trust),f.add(t)}),A.addWidgetFactory(_),o&&o.restore(f,{command:"docmanager:open",args:e=>({path:e.context.path,factory:u}),name:e=>e.context.path}),g.addCommand(i.markdownPreview,{label:m.__("Markdown Preview"),execute:e=>{let t=e.path;if("string"==typeof t)return g.execute("docmanager:open",{path:t,factory:u,options:e.options})},describedBy:{args:{type:"object",properties:{path:{type:"string",description:m.__("The path to the markdown file to preview")},options:{type:"object",description:m.__("Options for opening the preview")}},required:["path"]}}}),g.addCommand(i.markdownEditor,{execute:()=>{let e=f.currentWidget;if(!e)return;let t=e.context.path;return g.execute("docmanager:open",{path:t,factory:"Editor",options:{mode:"split-right"}})},isVisible:()=>{let e=f.currentWidget;return e&&".md"===s.PathExt.extname(e.context.path)||!1},label:m.__("Show Markdown Editor"),describedBy:{args:{type:"object",properties:{}}}}),g.addCommand(i.trust,{label:m.__("Trust Markdown Preview"),execute:()=>{let t=f.currentWidget;return t?(t.content.node.classList.add("jp-mod-trusted"),e.commandLinker.markTrusted(t.content.node),{trusted:!0}):{trusted:!1}},describedBy:{args:{type:"object",properties:{}}}}),c&&c.add(new a.MarkdownViewerTableOfContentsFactory(f,t.markdownParser,null!=h?h:t.sanitizer)),f}let g=p},71383(e,t,n){"use strict";n(62971),n(22595),n(67474),n(74047),n(82311),n(45350);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(74044),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},98373(e,t,n){"use strict";n.r(t),n.d(t,{IMarkdownViewerTracker:()=>l,MarkdownDocument:()=>b,MarkdownViewer:()=>f,MarkdownViewerFactory:()=>v,MarkdownViewerTableOfContentsFactory:()=>s,MarkdownViewerTableOfContentsModel:()=>r});var i,o=n(45251);class r extends o.TableOfContentsModel{constructor(e,t,n){super(e,n),this.parser=t}get documentType(){return"markdown-viewer"}get isAlwaysActive(){return!0}get supportedOptions(){return["maximalDepth","numberingH1","numberHeaders"]}async getHeadings(){let e=this.widget.context.model.toString(),t=await o.TableOfContentsUtils.Markdown.parseHeadings(e,this.parser);return Promise.resolve(o.TableOfContentsUtils.filterHeadings(t,{...this.configuration,baseNumbering:1}))}}class s extends o.TableOfContentsFactory{constructor(e,t,n){super(e),this.parser=t,this.sanitizer=n}_createNew(e,t){let n=new r(e,this.parser,t),i=new WeakMap,s=(t,n)=>{if(n){let t=i.get(n);if(t){let n=e.content.node.getBoundingClientRect(),i=t.getBoundingClientRect();(i.top>n.bottom||i.bottom<n.top)&&t.scrollIntoView({block:"center"})}else console.warn("Heading element not found for heading",n,"in widget",e)}},a=()=>{this.parser&&(o.TableOfContentsUtils.clearNumbering(e.content.node),i=new WeakMap,n.headings.forEach(async t=>{var n,r;let s=await o.TableOfContentsUtils.Markdown.getHeadingId(this.parser,t.raw,t.level,this.sanitizer);if(!s)return;let a=null!=(n=this.sanitizer.allowNamedProperties)&&n?"id":"data-jupyter-id",l=`h${t.level}[${a}="${CSS.escape(s)}"]`;i.set(t,o.TableOfContentsUtils.addPrefix(e.content.node,l,null!=(r=t.prefix)?r:""))}))};return e.content.ready.then(()=>{a(),e.content.rendered.connect(a),n.activeHeadingChanged.connect(s),n.headingsChanged.connect(a),e.disposed.connect(()=>{e.content.rendered.disconnect(a),n.activeHeadingChanged.disconnect(s),n.headingsChanged.disconnect(a)})}),n}}var a=n(55187);let l=new a.Token("@jupyterlab/markdownviewer:IMarkdownViewerTracker",`A widget tracker for markdown
  document viewers. Use this if you want to iterate over and interact with rendered markdown documents.`);var d=n(97518),c=n(28951),h=n(31997),u=n(31031),p=n(2786),m=n(20659),g=n(64001);let A="jp-MarkdownViewer",C="text/markdown";class f extends g.Widget{constructor(e){super(),this._config={...f.defaultConfig},this._fragment="",this._ready=new a.PromiseDelegate,this._isRendering=!1,this._renderRequested=!1,this._rendered=new m.Signal(this),this.context=e.context,this.translator=e.translator||p.nullTranslator,this._trans=this.translator.load("jupyterlab"),this.renderer=e.renderer,this.node.tabIndex=0,this.addClass(A),(this.layout=new g.StackedLayout).addWidget(this.renderer),this.context.ready.then(async()=>{await this._render(),this._monitor=new c.ActivityMonitor({signal:this.context.model.contentChanged,timeout:this._config.renderTimeout}),this._monitor.activityStopped.connect(this.update,this),this._ready.resolve(void 0)})}get ready(){return this._ready.promise}get rendered(){return this._rendered}setFragment(e){this._fragment=e,this.update()}setOption(e,t){if(this._config[e]===t)return;this._config[e]=t;let{style:n}=this.renderer.node;switch(e){case"fontFamily":n.setProperty("font-family",t);break;case"fontSize":n.setProperty("font-size",t?t+"px":null);break;case"hideFrontMatter":this.update();break;case"lineHeight":n.setProperty("line-height",t?t.toString():null);break;case"lineWidth":{let e=t?`calc(50% - ${t/2}ch)`:null;n.setProperty("padding-left",e),n.setProperty("padding-right",e);break}case"renderTimeout":this._monitor&&(this._monitor.timeout=t)}}dispose(){this.isDisposed||(this._monitor&&this._monitor.dispose(),this._monitor=null,super.dispose())}onUpdateRequest(e){this.context.isReady&&!this.isDisposed&&(this._render(),this._fragment="")}onActivateRequest(e){this.node.focus()}async _render(){if(this.isDisposed)return;if(this._isRendering){this._renderRequested=!0;return}this._renderRequested=!1;let{context:e}=this,{model:t}=e,n=t.toString(),o={};o[C]=this._config.hideFrontMatter?i.removeFrontMatter(n):n;let r=new u.MimeModel({data:o,metadata:{fragment:this._fragment}});try{if(this._isRendering=!0,await this.renderer.renderModel(r),this._isRendering=!1,this._renderRequested)return this._render();this._rendered.emit()}catch(t){requestAnimationFrame(()=>{this.dispose()}),(0,d.showErrorMessage)(this._trans.__("Renderer Failure: %1",e.path),t)}}}!function(e){e.defaultConfig={fontFamily:null,fontSize:null,lineHeight:null,lineWidth:null,hideFrontMatter:!0,renderTimeout:1e3}}(f||(f={}));class b extends h.DocumentWidget{setFragment(e){this.content.setFragment(e)}}class v extends h.ABCWidgetFactory{constructor(e){super(i.createRegistryOptions(e)),this._fileType=e.primaryFileType,this._rendermime=e.rendermime}createNewWidget(e){var t,n,i,o,r;let s=this._rendermime.clone({resolver:e.urlResolver}).createRenderer(C),a=new f({context:e,renderer:s});return a.title.icon=null==(t=this._fileType)?void 0:t.icon,a.title.iconClass=null!=(i=null==(n=this._fileType)?void 0:n.iconClass)?i:"",a.title.iconLabel=null!=(r=null==(o=this._fileType)?void 0:o.iconLabel)?r:"",a.title.caption=this.label,new b({content:a,context:e})}}!function(e){e.createRegistryOptions=function(e){return{...e,readOnly:!0}},e.removeFrontMatter=function(e){let t=/^---\n[\s\S]*?\n(?:---|\.\.\.)\n/,n=e.match(t);if(!n)return e;let{length:i}=n[0];return e.slice(i)}}(i||(i={}))},55151(e,t,n){"use strict";n.r(t),n.d(t,{createMarkdownParser:()=>h,default:()=>u});var i,o=n(55187),r=n(28951),s=n(22735),a=n(31031),l=n(18189);let d="```~~~",c=/^<h[1-6]\b[^>]*>/i;function h(e,t){return{render:n=>i.render(n,e,t),getHeadingTokens:e=>i.getHeadingTokens(e,t)}}let u={id:"@jupyterlab/markedparser-extension:plugin",description:"Provides the Markdown parser.",autoStart:!0,provides:a.IMarkdownParser,requires:[s.IEditorLanguageRegistry],optional:[l.IMermaidMarkdown],activate:(e,t,n)=>h(t,{blocks:n?[n]:[]})};!function(e){let t=null,i=null,s=[],a=null,l={},h=new r.LruCache;async function u(e){if(i)return i;if(t)return await t.promise;s=(s=(null==e?void 0:e.blocks)||[]).sort((e,t)=>{var n,i;return(null!=(n=e.rank)?n:1/0)-(null!=(i=t.rank)?i:1/0)}),t=new o.PromiseDelegate;let[{marked:r,Renderer:a},d]=await Promise.all([n.e(2504).then(n.t.bind(n,507,23)),p()]);for(let e of d)r.use(e);return l={async:!0,gfm:!0,walkTokens:A,renderer:m(a)},i=r,t.resolve(i),i}async function p(){return Promise.all([(async()=>(await n.e(8569).then(n.t.bind(n,62720,23))).gfmHeadingId())(),(async()=>(await n.e(7406).then(n.t.bind(n,51501,23))).mangle())()])}function m(e){let t=new e,n=t.code;return t.code=e=>{let{text:i,lang:o}=e;for(let e of s)if(o&&e.languages.includes(o)){let t=e.render(i);if(null!=t)return t}let r=`${o}${d}${i}${d}`,a=h.get(r);return null!=a?a:n.call(t,e)},t}async function g(e){let{lang:t,text:n}=e;if(!t||!a)return;let i=`${t}${d}${n}${d}`;if(h.get(i))return;let o=document.createElement("div");try{await a.highlight(n,a.findBest(t),o);let e=`<pre><code class="language-${t}">${o.innerHTML}</code></pre>`;h.set(i,e)}catch(e){console.error(`Failed to highlight ${t} code`,e)}finally{o.remove()}}async function A(e){if("code"===e.type){if(e.lang){for(let t of s)if(t.languages.includes(e.lang))return void await t.walk(e.text)}await g(e)}}function C(e){return c.test(e)}function f(e){return!!e.tokens&&e.tokens.some(e=>"html"===e.type&&C(e.raw))}e.render=async function(e,t,n){return a=t,i||(i=await u(n)),i(e,l)},e.initializeMarked=u,e.getHeadingTokens=async function(e,t){i||(i=await u(t));let n=[],o=i.lexer(e),r=0;for(let e of o)("heading"===e.type||"html"===e.type&&C(e.raw)||"paragraph"===e.type&&f(e))&&n.push({raw:e.raw,line:r}),r+=e.raw.split("\n").length-1;return n}}(i||(i={}))},2287(e,t,n){"use strict";n(22595),n(67474),n(92508),n(86561);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(28004),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},31217(e,t,n){"use strict";n.r(t),n.d(t,{MathJaxTypesetter:()=>l,default:()=>d});var i,o,r=n(55187),s=n(31031),a=n(2786);!function(e){e.copy="mathjax:clipboard",e.scale="mathjax:scale"}(i||(i={}));class l{constructor(){this._initialized=!1}async _ensureInitialized(){this._initialized||(this._mathDocument=await o.ensureMathDocument(),this._initialized=!0)}async mathDocument(){return await this._ensureInitialized(),this._mathDocument}async typeset(e){try{await this._ensureInitialized()}catch(e){console.error(e);return}this._mathDocument.options.elements=[e],this._mathDocument.clear().render(),delete this._mathDocument.options.elements,o.hardenAnchorLinks(e)}}let d={id:"@jupyterlab/mathjax-extension:plugin",description:"Provides the LaTeX mathematical expression interpreter.",provides:s.ILatexTypesetter,optional:[a.ITranslator],activate:(e,t)=>{let n=(null!=t?t:a.nullTranslator).load("jupyterlab"),r=new l;return e.commands.addCommand(i.copy,{execute:async()=>{let e=(await r.mathDocument()).outputJax;await navigator.clipboard.writeText(e.math.math)},label:n.__("MathJax Copy Latex"),describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(i.scale,{execute:async e=>{let t=await r.mathDocument(),n=e.scale||1;for(let e of(t.outputJax.options.scale=n,t.rerender(),t.math)){let t=e.typesetRoot;t&&o.hardenAnchorLinks(t)}},label:e=>n.__("Mathjax Scale ")+(e.scale?`x${e.scale}`:n.__("Reset")),describedBy:{args:{type:"object",properties:{scale:{type:"number",description:n.__("The scale factor for MathJax rendering")}}}}}),r},autoStart:!0};!function(e){let t=null;e.ensureMathDocument=async function(){if(!t){t=new r.PromiseDelegate,Promise.all([n.e(7626),n.e(4818),n.e(2521)]).then(n.t.bind(n,58816,23));let[{mathjax:e},{CHTML:i},{TeX:o},{TeXFont:s},{AllPackages:a},{SafeHandler:l},{HTMLHandler:d},{browserAdaptor:c},{AssistiveMmlHandler:h}]=await Promise.all([n.e(5092).then(n.bind(n,81039)),Promise.all([n.e(7626),n.e(992),n.e(8450),n.e(2407)]).then(n.t.bind(n,24090,23)),Promise.all([n.e(7626),n.e(4818),n.e(3312),n.e(4489)]).then(n.t.bind(n,4928,23)),Promise.all([n.e(8450),n.e(1014)]).then(n.t.bind(n,1673,23)),Promise.all([n.e(7626),n.e(4818),n.e(3312),n.e(8905)]).then(n.bind(n,31909)),n.e(2461).then(n.t.bind(n,75244,23)),Promise.all([n.e(7626),n.e(992),n.e(3946),n.e(4797)]).then(n.t.bind(n,1969,23)),n.e(4385).then(n.bind(n,59400)),Promise.all([n.e(7626),n.e(992),n.e(3946),n.e(6700)]).then(n.t.bind(n,34855,23))]);e.handlers.register(h(l(new d(c()))));class u extends s{}u.defaultFonts={};let p=new i({font:new u}),m=new o({packages:a.concat("require"),inlineMath:[["$","$"],["\\(","\\)"]],displayMath:[["$$","$$"],["\\[","\\]"]],processEscapes:!0,processEnvironments:!0}),g=e.document(window.document,{InputJax:m,OutputJax:p});t.resolve(g)}return t.promise},e.hardenAnchorLinks=function(e){e.querySelectorAll(".MathJax a").forEach(e=>{let t=(e.rel||"").split(/\s+/).filter(e=>e.length>0);t.includes("noopener")||t.push("noopener"),e.rel=t.join(" "),"_blank"!==e.target&&(e.target="_blank")})}}(o||(o={}))},20531(e,t,n){"use strict";n(22595),n(67474);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(57330),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},71579(e,t,n){"use strict";n.r(t),n.d(t,{CommandIDs:()=>i,default:()=>a});var i,o=n(97518),r=n(18189),s=n(2786);!function(e){e.copySource="mermaid:copy-source"}(i||(i={}));let a=[{id:"@jupyterlab/mermaid-extension:core",description:"Provides the Mermaid manager.",autoStart:!0,optional:[o.IThemeManager],provides:r.IMermaidManager,activate:(e,t)=>{let n=new r.MermaidManager({themes:t});return r.RenderedMermaid.manager=n,n}},{id:"@jupyterlab/mermaid-extension:markdown",description:"Provides the Mermaid markdown renderer.",autoStart:!0,requires:[r.IMermaidManager],provides:r.IMermaidMarkdown,activate:(e,t)=>new r.MermaidMarkdown({mermaid:t})},{id:"@jupyterlab/mermaid-extension:context-commands",description:"Provides context menu commands for mermaid diagrams.",autoStart:!0,requires:[r.IMermaidManager],optional:[s.ITranslator],activate:(e,t,n)=>{let o=e=>e.classList.contains(r.MERMAID_CLASS),a=(null!=n?n:s.nullTranslator).load("jupyterlab");e.commands.addCommand(i.copySource,{label:a.__("Mermaid Copy Diagram Source"),execute:async t=>{let n=e.contextMenuHitTest(o);if(!n)return;let i=n.querySelector(`.${r.MERMAID_CODE_CLASS}`);i&&i.textContent&&await navigator.clipboard.writeText(i.textContent)},describedBy:{args:{type:"object",properties:{}}}});let l={selector:`.${r.MERMAID_CLASS}`,rank:13};e.contextMenu.addItem({command:i.copySource,...l}),e.contextMenu.addItem({type:"separator",...l})}}]},47375(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>o});var i=n(18189);let o={id:"@jupyterlab/mermaid-extension:factory",description:"Provides a renderer for mermaid text-based diagrams.",rendererFactory:i.rendererFactory,rank:61,dataType:"string",documentWidgetFactoryOptions:[{name:"Mermaid",primaryFileType:"mermaid",fileTypes:["mermaid"],defaultFor:["mermaid"]}],fileTypes:[{mimeTypes:[i.MERMAID_MIME_TYPE],name:"mermaid",extensions:i.MERMAID_FILE_EXTENSIONS,icon:"ui-components:mermaid"}]}},35924(e,t,n){"use strict";n(62971),n(67474),n(86561);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(30756),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},50826(e,t,n){"use strict";n.r(t),n.d(t,{DETAILS_CLASS:()=>m,IMermaidManager:()=>A,IMermaidMarkdown:()=>C,MERMAID_CLASS:()=>h,MERMAID_CODE_CLASS:()=>u,MERMAID_DARK_THEME:()=>c,MERMAID_DEFAULT_THEME:()=>d,MERMAID_FILE_EXTENSIONS:()=>a,MERMAID_MIME_TYPE:()=>s,MermaidManager:()=>f,MermaidMarkdown:()=>b,RE_DEFAULT_RENDERER:()=>l,RenderedMermaid:()=>y,SUMMARY_CLASS:()=>g,WARNING_CLASS:()=>p,rendererFactory:()=>E});var i,o=n(55187),r=n(28951);let s="text/vnd.mermaid",a=[".mmd",".mermaid"],l=/\bdefaultRenderer["']?\s*:\s*(["']?)(\b[^"'\s]+\b)(\1)/g,d="default",c="dark",h="jp-RenderedMermaid",u="mermaid",p="jp-mod-warning",m="jp-RenderedMermaid-Details",g="jp-RenderedMermaid-Summary",A=new o.Token("@jupyterlab/mermaid:IMermaidManager","a manager for rendering mermaid text-based diagrams"),C=new o.Token("@jupyterlab/mermaid:IMermaidMarkdown","a manager for rendering mermaid text-based diagrams in markdown fenced code blocks");class f{constructor(e={}){this._diagrams=new r.LruCache({maxSize:e.maxCacheSize||null}),e.themes&&(i.initThemes(e.themes||null),e.themes.themeChanged.connect(this.initialize,this))}static cleanMermaidSvg(e){return e=e.replace(i.RE_VOID_ELEMENT,i.replaceVoidElement),`${i.SVG_XML_HEADER}${e}`}initialize(){this._diagrams.clear(),i.initMermaid()}async getMermaid(){return await i.ensureMermaid()}getMermaidVersion(){return i.version()}getCachedFigure(e){return this._diagrams.get(e)}async renderSvg(e){let t=await this.getMermaid();await i.ensureRenderers(e);let n=`jp-mermaid-${i.nextMermaidId()}`,o=document.createElement("div");document.body.appendChild(o);try{let{svg:i}=await t.render(n,e,o);i=f.cleanMermaidSvg(i);let r=new DOMParser().parseFromString(i,"image/svg+xml"),s={text:e,svg:i},a=r.querySelector("svg"),{maxWidth:l}=(null==a?void 0:a.style)||{};s.width=l?parseFloat(l):null;let d=r.querySelector("title"),c=r.querySelector("desc");return d&&(s.accessibleTitle=d.textContent),c&&(s.accessibleDescription=c.textContent),s}finally{o.remove()}}async renderFigure(e){let t=this._diagrams.get(e);if(null!=t)return t;let n=h,i=null;(t=document.createElement("div")).className=n;try{let t=await this.renderSvg(e);i=this.makeMermaidFigure(t)}catch(n){t.classList.add(p),i=await this.makeMermaidError(e)}let o=this.getMermaidVersion();return o&&(i.dataset.jpMermaidVersion=o),t.appendChild(i),this._diagrams.set(e,t),t}makeMermaidCode(e){let t=document.createElement("pre"),n=document.createElement("code");return n.innerText=e,t.appendChild(n),n.className=u,n.textContent=e,t}async makeMermaidError(e){let t=await this.getMermaid(),n="";try{await t.parse(e)}catch(e){n=`${e}`}let i=document.createElement("details");i.className=m;let o=document.createElement("summary");o.className=g,o.appendChild(this.makeMermaidCode(e)),i.appendChild(o);let r=document.createElement("pre");return r.innerText=n,i.appendChild(r),i}makeMermaidFigure(e){let t=document.createElement("figure"),n=document.createElement("img");if(t.appendChild(n),n.setAttribute("src",`data:image/svg+xml,${encodeURIComponent(e.svg)}`),e.width&&(n.width=e.width),e.accessibleTitle&&n.setAttribute("alt",e.accessibleTitle),t.appendChild(this.makeMermaidCode(e.text)),e.accessibleDescription){let n=document.createElement("figcaption");n.className="jp-sr-only",n.textContent=e.accessibleDescription,t.appendChild(n)}return t}}!function(e){let t=null,i=null,r=null,s=null,a=null,h=0,u=null;function p(e=null){if(!(e=i))return!1;let n=d;if(t){let e=t.theme;n=e&&t.isLight(e)?d:c}let o=window.getComputedStyle(document.body).getPropertyValue("--jp-ui-font-family");return e.initialize({theme:n,fontFamily:o,securityLevel:"strict",maxTextSize:1e5,maxEdges:1e5,startOnLoad:!1}),!0}async function m(){if(null!=i)return i;if(s)return s.promise;s=new o.PromiseDelegate,u=(await n.e(8160).then(n.t.bind(n,73763,19))).version;let e=i=(await Promise.all([n.e(2121),n.e(9518),n.e(2134),n.e(6727)]).then(n.bind(n,22597))).default;return p(e),i=e,s.resolve(i),i}async function g(t){let n=[];for(let i of[...t.matchAll(l)])"elk"===(i&&i[2]||null)&&n.push(e.ensureMermaidElk());n.length&&await Promise.all(n)}e.initThemes=function(e){t=e},e.version=function(){return u},e.initMermaid=p,e.getMermaid=function(){return i},e.nextMermaidId=function(){return h++},e.ensureMermaid=m,e.ensureRenderers=g,e.ensureMermaidElk=async function(){if(null!=r)return r;if(a)return a.promise;a=new o.PromiseDelegate;let e=await m(),t=(await n.e(1447).then(n.bind(n,96986))).default;return e.registerLayoutLoaders(t),r=t,a.resolve(r),r},e.RE_VOID_ELEMENT=/<\s*(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)\s*([^>]*?)\s*>/gi,e.replaceVoidElement=function(e,t,n){return(n=n.trim()).endsWith("/")||(n=`${n} /`),`<${t} ${n}>`},e.HTML_ENTITIES=`<!ENTITY Aacute "&#193;">
<!ENTITY aacute "&#225;">
<!ENTITY Acirc "&#194;">
<!ENTITY acirc "&#226;">
<!ENTITY acute "&#180;">
<!ENTITY AElig "&#198;">
<!ENTITY aelig "&#230;">
<!ENTITY Agrave "&#192;">
<!ENTITY agrave "&#224;">
<!ENTITY alefsym "&#8501;">
<!ENTITY Alpha "&#913;">
<!ENTITY alpha "&#945;">
<!ENTITY amp "&#38;">
<!ENTITY and "&#8869;">
<!ENTITY ang "&#8736;">
<!ENTITY Aring "&#197;">
<!ENTITY aring "&#229;">
<!ENTITY asymp "&#8776;">
<!ENTITY Atilde "&#195;">
<!ENTITY atilde "&#227;">
<!ENTITY Auml "&#196;">
<!ENTITY auml "&#228;">
<!ENTITY bdquo "&#8222;">
<!ENTITY Beta "&#914;">
<!ENTITY beta "&#946;">
<!ENTITY brvbar "&#166;">
<!ENTITY bull "&#8226;">
<!ENTITY cap "&#8745;">
<!ENTITY Ccedil "&#199;">
<!ENTITY ccedil "&#231;">
<!ENTITY cedil "&#184;">
<!ENTITY cent "&#162;">
<!ENTITY Chi "&#935;">
<!ENTITY chi "&#967;">
<!ENTITY circ "&#710;">
<!ENTITY clubs "&#9827;">
<!ENTITY cong "&#8773;">
<!ENTITY copy "&#169;">
<!ENTITY crarr "&#8629;">
<!ENTITY cup "&#8746;">
<!ENTITY curren "&#164;">
<!ENTITY dagger "&#8224;">
<!ENTITY Dagger "&#8225;">
<!ENTITY darr "&#8595;">
<!ENTITY dArr "&#8659;">
<!ENTITY deg "&#176;">
<!ENTITY Delta "&#916;">
<!ENTITY delta "&#948;">
<!ENTITY diams "&#9830;">
<!ENTITY divide "&#247;">
<!ENTITY Eacute "&#201;">
<!ENTITY eacute "&#233;">
<!ENTITY Ecirc "&#202;">
<!ENTITY ecirc "&#234;">
<!ENTITY Egrave "&#200;">
<!ENTITY egrave "&#232;">
<!ENTITY empty "&#8709;">
<!ENTITY emsp "&#8195;">
<!ENTITY ensp "&#8194;">
<!ENTITY epsilon "&#949;">
<!ENTITY Epsilon "&#917;">
<!ENTITY equiv "&#8801;">
<!ENTITY Eta "&#919;">
<!ENTITY eta "&#951;">
<!ENTITY ETH "&#208;">
<!ENTITY eth "&#240;">
<!ENTITY Euml "&#203;">
<!ENTITY euml "&#235;">
<!ENTITY exist "&#8707;">
<!ENTITY fnof "&#402;">
<!ENTITY forall "&#8704;">
<!ENTITY frac12 "&#189;">
<!ENTITY frac14 "&#188;">
<!ENTITY frac34 "&#190;">
<!ENTITY frasl "&#8260;">
<!ENTITY Gamma "&#915;">
<!ENTITY gamma "&#947;">
<!ENTITY ge "&#8805;">
<!ENTITY gt "&#62;">
<!ENTITY harr "&#8596;">
<!ENTITY hArr "&#8660;">
<!ENTITY hearts "&#9829;">
<!ENTITY hellip "&#8230;">
<!ENTITY Iacute "&#205;">
<!ENTITY iacute "&#237;">
<!ENTITY Icirc "&#206;">
<!ENTITY icirc "&#238;">
<!ENTITY iexcl "&#161;">
<!ENTITY Igrave "&#204;">
<!ENTITY igrave "&#236;">
<!ENTITY image "&#8465;">
<!ENTITY infin "&#8734;">
<!ENTITY int "&#8747;">
<!ENTITY Iota "&#921;">
<!ENTITY iota "&#953;">
<!ENTITY iquest "&#191;">
<!ENTITY isin "&#8712;">
<!ENTITY Iuml "&#207;">
<!ENTITY iuml "&#239;">
<!ENTITY Kappa "&#922;">
<!ENTITY kappa "&#954;">
<!ENTITY Lambda "&#923;">
<!ENTITY lambda "&#955;">
<!ENTITY lang "&#9001;">
<!ENTITY laquo "&#171;">
<!ENTITY larr "&#8592;">
<!ENTITY lArr "&#8656;">
<!ENTITY lceil "&#8968;">
<!ENTITY ldquo "&#8220;">
<!ENTITY le "&#8804;">
<!ENTITY lfloor "&#8970;">
<!ENTITY lowast "&#8727;">
<!ENTITY loz "&#9674;">
<!ENTITY lrm "&#8206;">
<!ENTITY lsaquo "&#8249;">
<!ENTITY lsquo "&#8216;">
<!ENTITY lt "&#60;">
<!ENTITY macr "&#175;">
<!ENTITY mdash "&#8212;">
<!ENTITY micro "&#181;">
<!ENTITY middot "&#183;">
<!ENTITY minus "&#8722;">
<!ENTITY Mu "&#924;">
<!ENTITY mu "&#956;">
<!ENTITY nabla "&#8711;">
<!ENTITY nbsp "&#160;">
<!ENTITY ndash "&#8211;">
<!ENTITY ne "&#8800;">
<!ENTITY ni "&#8715;">
<!ENTITY not "&#172;">
<!ENTITY notin "&#8713;">
<!ENTITY nsub "&#8836;">
<!ENTITY Ntilde "&#209;">
<!ENTITY ntilde "&#241;">
<!ENTITY Nu "&#925;">
<!ENTITY nu "&#957;">
<!ENTITY Oacute "&#211;">
<!ENTITY oacute "&#243;">
<!ENTITY Ocirc "&#212;">
<!ENTITY ocirc "&#244;">
<!ENTITY OElig "&#338;">
<!ENTITY oelig "&#339;">
<!ENTITY Ograve "&#210;">
<!ENTITY ograve "&#242;">
<!ENTITY oline "&#8254;">
<!ENTITY Omega "&#937;">
<!ENTITY omega "&#969;">
<!ENTITY Omicron "&#927;">
<!ENTITY omicron "&#959;">
<!ENTITY oplus "&#8853;">
<!ENTITY or "&#8870;">
<!ENTITY ordf "&#170;">
<!ENTITY ordm "&#186;">
<!ENTITY Oslash "&#216;">
<!ENTITY oslash "&#248;">
<!ENTITY Otilde "&#213;">
<!ENTITY otilde "&#245;">
<!ENTITY otimes "&#8855;">
<!ENTITY Ouml "&#214;">
<!ENTITY ouml "&#246;">
<!ENTITY para "&#182;">
<!ENTITY part "&#8706;">
<!ENTITY permil "&#8240;">
<!ENTITY perp "&#8869;">
<!ENTITY Phi "&#934;">
<!ENTITY phi "&#966;">
<!ENTITY Pi "&#928;">
<!ENTITY pi "&#960;">
<!ENTITY piv "&#982;">
<!ENTITY plusmn "&#177;">
<!ENTITY pound "&#163;">
<!ENTITY prime "&#8242;">
<!ENTITY Prime "&#8243;">
<!ENTITY prod "&#8719;">
<!ENTITY prop "&#8733;">
<!ENTITY Psi "&#936;">
<!ENTITY psi "&#968;">
<!ENTITY quot "&#34;">
<!ENTITY radic "&#8730;">
<!ENTITY rang "&#9002;">
<!ENTITY raquo "&#187;">
<!ENTITY rarr "&#8594;">
<!ENTITY rArr "&#8658;">
<!ENTITY rceil "&#8969;">
<!ENTITY rdquo "&#8221;">
<!ENTITY real "&#8476;">
<!ENTITY reg "&#174;">
<!ENTITY rfloor "&#8971;">
<!ENTITY Rho "&#929;">
<!ENTITY rho "&#961;">
<!ENTITY rlm "&#8207;">
<!ENTITY rsaquo "&#8250;">
<!ENTITY rsquo "&#8217;">
<!ENTITY sbquo "&#8218;">
<!ENTITY Scaron "&#352;">
<!ENTITY scaron "&#353;">
<!ENTITY sdot "&#8901;">
<!ENTITY sect "&#167;">
<!ENTITY shy "&#173;">
<!ENTITY Sigma "&#931;">
<!ENTITY sigma "&#963;">
<!ENTITY sigmaf "&#962;">
<!ENTITY sim "&#8764;">
<!ENTITY spades "&#9824;">
<!ENTITY sub "&#8834;">
<!ENTITY sube "&#8838;">
<!ENTITY sum "&#8721;">
<!ENTITY sup "&#8835;">
<!ENTITY sup1 "&#185;">
<!ENTITY sup2 "&#178;">
<!ENTITY sup3 "&#179;">
<!ENTITY supe "&#8839;">
<!ENTITY szlig "&#223;">
<!ENTITY Tau "&#932;">
<!ENTITY tau "&#964;">
<!ENTITY there4 "&#8756;">
<!ENTITY Theta "&#920;">
<!ENTITY theta "&#952;">
<!ENTITY thetasym "&#977;">
<!ENTITY thinsp "&#8201;">
<!ENTITY THORN "&#222;">
<!ENTITY thorn "&#254;">
<!ENTITY tilde "&#732;">
<!ENTITY times "&#215;">
<!ENTITY trade "&#8482;">
<!ENTITY Uacute "&#218;">
<!ENTITY uacute "&#250;">
<!ENTITY uarr "&#8593;">
<!ENTITY uArr "&#8657;">
<!ENTITY Ucirc "&#219;">
<!ENTITY ucirc "&#251;">
<!ENTITY Ugrave "&#217;">
<!ENTITY ugrave "&#249;">
<!ENTITY uml "&#168;">
<!ENTITY upsih "&#978;">
<!ENTITY Upsilon "&#933;">
<!ENTITY upsilon "&#965;">
<!ENTITY Uuml "&#220;">
<!ENTITY uuml "&#252;">
<!ENTITY weierp "&#8472;">
<!ENTITY Xi "&#926;">
<!ENTITY xi "&#958;">
<!ENTITY Yacute "&#221;">
<!ENTITY yacute "&#253;">
<!ENTITY yen "&#165;">
<!ENTITY Yuml "&#376;">
<!ENTITY yuml "&#255;">
<!ENTITY Zeta "&#918;">
<!ENTITY zeta "&#950;">
<!ENTITY zwj "&#8205;">
<!ENTITY zwnj "&#8204;">`.replace(/\n/g," ");let A='<?xml version="1.0" standalone="no"?>',C='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [',f="]>";e.SVG_XML_HEADER=`${A}
    ${C}${e.HTML_ENTITIES}${f}`}(i||(i={}));class b{constructor(e){this.languages=["mermaid"],this.rank=100,this._mermaid=e.mermaid}async walk(e){await this._mermaid.renderFigure(e)}render(e){let t=this._mermaid.getCachedFigure(e);return t?t.outerHTML:null}}var v=n(64001);let _="image/svg+xml";class y extends v.Widget{constructor(e){super(),this._lastRendered=null,this._mimeType=e.mimeType,this.addClass(h)}static set manager(e){y._manager?console.warn("Mermaid manager may only be set once, and is already set."):(y._manager=e,y._managerReady.resolve(e))}async renderModel(e){let t=await y._managerReady.promise,n=e.data[this._mimeType];if(null==n||n===this._lastRendered)return;this._lastRendered=n;let i=await t.renderFigure(n);if(i.classList.contains(p)?this.node.classList.add(p):this.node.classList.remove(p),!i.firstChild)return;this.node.innerHTML!==i.innerHTML&&(this.node.innerHTML=i.innerHTML);let o=t.getMermaidVersion(),r={...e.metadata[s]||{},version:o},a={...e.metadata,[s]:r},l=i.querySelector("img");if(l){let t=decodeURIComponent(l.src.split(",")[1]);t!==e.data[_]&&e.setData({data:{...e.data,[_]:t},metadata:a})}else{let t={...e.data};delete t[_],e.setData({data:t,metadata:a})}}}y._manager=null,y._managerReady=new o.PromiseDelegate;let E={safe:!0,mimeTypes:[s],createRenderer:e=>new y(e)}},86561(e,t,n){"use strict";n(82311),n(62971);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(92044),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},24039(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>h});var i,o=n(94613),r=n(46109),s=n(2786),a=n(8989),l=n(55187),d=n(31005);let c="@jupyterlab/metadataform-extension:metadataforms";!function(e){e.loadSettingsMetadataForm=async function(e,t,n,i,o){var r;let s,a={};function h(e){a={},e.properties.metadataforms.default=Object.keys(t.plugins).map(e=>{var n;let i=null!=(n=t.plugins[e].schema["jupyter.lab.metadataforms"])?n:[];return i.forEach(t=>{t._origin=e}),a[e]=i,i}).concat([e["jupyter.lab.metadataforms"]]).reduce((e,t)=>(t.forEach(t=>{let n=e.find(e=>e.id===t.id);if(n){for(let[e,i]of Object.entries(t.metadataSchema.properties))n.metadataSchema.properties[e]=i;if(t.metadataSchema.required&&(n.metadataSchema.required?n.metadataSchema.required.concat(t.metadataSchema.required):n.metadataSchema.required=t.metadataSchema.required),t.metadataSchema.allOf&&(n.metadataSchema.allOf?n.metadataSchema.allOf.concat(t.metadataSchema.allOf):n.metadataSchema.allOf=t.metadataSchema.allOf),t.uiSchema)for(let[e,i]of(n.uiSchema||(n.uiSchema={}),Object.entries(t.uiSchema)))n.uiSchema[e]=i;if(t.metadataOptions)for(let[e,i]of(n.metadataOptions||(n.metadataOptions={}),Object.entries(t.metadataOptions)))n.metadataOptions[e]=i}else e.push(t)}),e),[])}t.transform(c,{compose:e=>{var t,n,i,o;s||h(s=l.JSONExt.deepCopy(e.schema));let r=null!=(i=null==(n=null==(t=s.properties)?void 0:t.metadataforms)?void 0:n.default)?i:[],a={metadataforms:null!=(o=e.data.user.metadataforms)?o:[]};return e.data={composite:{metadataforms:r.concat(a.metadataforms)},user:a},e},fetch:e=>(s||h(s=l.JSONExt.deepCopy(e.schema)),{data:e.data,id:e.id,raw:e.raw,schema:s,version:e.version})}),s=null;let u=await t.load(c),p=new d.MetadataFormProvider;for(let e of u.composite.metadataforms){let t={},s=l.JSONExt.deepCopy(e.metadataSchema),a={};for(let[n,i]of(e.uiSchema&&(a=l.JSONExt.deepCopy(e.uiSchema)),Object.entries(s.properties)))i.default&&(t[n]||(t[n]={}),t[n].default=i.default);if(e.metadataOptions){for(let[n,i]of Object.entries(e.metadataOptions))if(i.cellTypes&&(t[n]||(t[n]={}),t[n].cellTypes=i.cellTypes),i.metadataLevel&&(t[n]||(t[n]={}),t[n].level=i.metadataLevel),void 0!==i.writeDefault&&(t[n]||(t[n]={}),t[n].writeDefault=i.writeDefault),i.customRenderer){let e=o.getRenderer(i.customRenderer);void 0!==e&&(a[n]||(a[n]={}),e.fieldRenderer?a[n]["ui:field"]=e.fieldRenderer:a[n]["ui:widget"]=e.widgetRenderer)}}n.addSection({sectionName:e.id,rank:e.rank,label:null!=(r=e.label)?r:e.id});let c=new d.MetadataFormWidget({metadataSchema:s,metaInformation:t,uiSchema:a,pluginId:e._origin,translator:i,showModified:e.showModified});n.addItem({section:e.id,tool:c}),p.add(e.id,c)}return p}}(i||(i={}));let h={id:c,description:"Provides the metadata form registry.",autoStart:!0,requires:[o.INotebookTools,s.ITranslator,a.IFormRendererRegistry,r.ISettingRegistry],provides:d.IMetadataFormProvider,activate:async(e,t,n,o,r)=>await i.loadSettingsMetadataForm(e,r,t,n,o)}},87145(e,t,n){"use strict";n(97777),n(67474),n(16382),n(49669)},48768(e,t,n){"use strict";n.r(t),n.d(t,{FormWidget:()=>c,IMetadataFormProvider:()=>f,MetadataFormProvider:()=>C,MetadataFormWidget:()=>A});var i,o=n(97518),r=n(8989),s=n(72437),a=n.n(s),l=n(60721),d=n.n(l);class c extends o.ReactWidget{constructor(e){super(),this.addClass("jp-FormWidget"),this._props=e}render(){let e={defaultFormData:this._props.settings.default(),updateMetadata:this._props.metadataFormWidget.updateMetadata};return d().createElement(r.FormComponent,{validator:a(),schema:this._props.properties,formData:this._props.formData,formContext:e,uiSchema:this._props.uiSchema,liveValidate:!0,idPrefix:`jp-MetadataForm-${this._props.pluginId}`,onChange:e=>{this._props.metadataFormWidget.updateMetadata(e.formData||{})},compact:!0,showModifiedFromDefault:this._props.showModified,translator:this._props.translator})}}var h=n(94613),u=n(46109),p=n(2786),m=n(55187),g=n(64001);class A extends h.NotebookTools.Tool{constructor(e){super(),this.updateMetadata=(e,t)=>{var n,o,r,s,a,l,d,c;if(void 0==this.notebookTools)return;let h=this.notebookTools.activeNotebookPanel,u=this.notebookTools.activeCell;if(null==u)return;this._updatingMetadata=!0;let p={},m={};for(let[t,g]of Object.entries(e)){let e,A;if(!this.metadataKeys.includes(t)||(null==(n=this._metaInformation[t])?void 0:n.level)==="notebook"&&this._notebookModelNull||(null==(o=this._metaInformation[t])?void 0:o.cellTypes)&&!(null==(s=null==(r=this._metaInformation[t])?void 0:r.cellTypes)?void 0:s.includes(u.model.type)))continue;(null==(a=this._metaInformation[t])?void 0:a.level)==="notebook"?(e=h.model.metadata,A=m):(e=u.model.metadata,A=p);let C=t.replace(/^\/+/,"").replace(/\/+$/,"").split("/"),f=C[0];if(void 0==f)continue;let b=void 0!==g&&(null==(d=null==(l=this._metaInformation[t])?void 0:l.writeDefault)||d||g!==(null==(c=this._metaInformation[t])?void 0:c.default));if(1==C.length){b?A[f]=g:A[f]=void 0;continue}let v=C.slice(1,-1),_=C[C.length-1];f in A||(A[f]=e[f]),void 0===A[f]&&(A[f]={});let y=A[f],E=!0;for(let e of v){if(!(e in y))if(b)y[e]={};else{E=!1;break}y=y[e]}E&&(b?y[_]=g:delete y[_]),!b&&(A[f]=i.deleteEmptyNested(A[f],C.slice(1)),Object.keys(A[f]).length||(A[f]=void 0))}for(let[e,t]of Object.entries(p))void 0===t?u.model.deleteMetadata(e):u.model.setMetadata(e,t);if(!this._notebookModelNull)for(let[e,t]of Object.entries(m))void 0===t?h.model.deleteMetadata(e):h.model.setMetadata(e,t);this._updatingMetadata=!1,t&&this._update()},this._notebookModelNull=!1,this._metadataSchema=e.metadataSchema,this._metaInformation=e.metaInformation,this._uiSchema=e.uiSchema||{},this._pluginId=e.pluginId,this._showModified=e.showModified||!1,this.translator=e.translator||p.nullTranslator,this._trans=this.translator.load("jupyterlab"),this._updatingMetadata=!1;const t=this.layout=new g.SingletonLayout,n=document.createElement("div"),o=document.createElement("div");o.textContent=this._trans.__("No metadata."),o.className="jp-MetadataForm-placeholderContent",n.appendChild(o),this._placeholder=new g.Widget({node:n}),this._placeholder.addClass("jp-MetadataForm-placeholder"),t.widget=this._placeholder}get form(){return this._form}get metadataKeys(){var e;let t=[];for(let e of Object.keys(this._metadataSchema.properties))t.push(e);return null==(e=this._metadataSchema.allOf)||e.forEach(e=>{if(void 0!==e.then&&void 0!==e.then.properties)for(let n of Object.keys(e.then.properties))t.includes(n)||t.push(n);if(void 0!==e.else&&void 0!==e.else.properties)for(let n of Object.keys(e.else.properties))t.includes(n)||t.push(n)}),t}getProperties(e){return m.JSONExt.deepCopy(this._metadataSchema.properties[e])||null}setProperties(e,t){Object.entries(t).forEach(([t,n])=>{this._metadataSchema.properties[e][t]=n})}setContent(e){let t=this.layout;t.widget&&(t.widget.removeClass("jp-MetadataForm-content"),t.removeWidget(t.widget)),e||(e=this._placeholder),e.addClass("jp-MetadataForm-content"),t.widget=e}buildWidget(e){this._form=new c(e),this._form.addClass("jp-MetadataForm"),this.setContent(this._form)}onAfterShow(e){this._update()}onActiveCellChanged(e){this.isVisible&&this._update()}onActiveCellMetadataChanged(e){!this._updatingMetadata&&this.isVisible&&this._update()}onActiveNotebookPanelChanged(e){let t=this.notebookTools.activeNotebookPanel;this._notebookModelNull=null===t||null===t.model,!this._updatingMetadata&&this.isVisible&&this._update()}onActiveNotebookPanelMetadataChanged(e){!this._updatingMetadata&&this.isVisible&&this._update()}_update(){var e,t,n,i,o;let r=this.notebookTools.activeNotebookPanel,s=this.notebookTools.activeCell;if(void 0==s)return;let a=m.JSONExt.deepCopy(this._metadataSchema),l={};for(let d of Object.keys(this._metadataSchema.properties||m.JSONExt.emptyObject)){let c;if((null==(e=this._metaInformation[d])?void 0:e.level)==="notebook"&&this._notebookModelNull||(null==(t=this._metaInformation[d])?void 0:t.cellTypes)&&!(null==(i=null==(n=this._metaInformation[d])?void 0:n.cellTypes)?void 0:i.includes(s.model.type))){delete a.properties[d];continue}let h=d.replace(/^\/+/,"").replace(/\/+$/,"").split("/");c=(null==(o=this._metaInformation[d])?void 0:o.level)==="notebook"?r.model.metadata:s.model.metadata;let u=!0;for(let e of h)if(e in c)c=c[e];else{u=!1;break}u&&(l[d]=c)}this.buildWidget({properties:a,settings:new u.BaseSettings({schema:this._metadataSchema}),uiSchema:this._uiSchema,translator:this.translator||null,formData:l,metadataFormWidget:this,showModified:this._showModified,pluginId:this._pluginId})}}!function(e){function t(e,n){let i=n.shift();return void 0!==i&&i in e&&(Object.keys(e[i]).length&&(e[i]=t(e[i],n)),Object.keys(e[i]).length||delete e[i]),e}e.deleteEmptyNested=t}(i||(i={}));class C{constructor(){this._items={}}add(e,t){this._items[e]?console.warn(`A MetadataformWidget is already registered with id ${e}`):this._items[e]=t}get(e){if(this._items[e])return this._items[e];console.warn(`There is no MetadataformWidget registered with id ${e}`)}}let f=new m.Token("@jupyterlab/metadataform:IMetadataFormProvider","A service to register new metadata editor widgets.")},49669(e,t,n){"use strict";n(82311),n(97777),n(62971),n(16382);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(51612),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},15555(e,t,n){"use strict";n.r(t),n.d(t,{MAJOR_VERSION:()=>o,MINOR_VERSION:()=>r,isCode:()=>d,isDisplayData:()=>h,isDisplayUpdate:()=>u,isError:()=>m,isExecuteResult:()=>c,isMarkdown:()=>l,isRaw:()=>a,isStream:()=>p,validateMimeValue:()=>s});var i=n(55187);let o=4,r=4;function s(e,t){let n=/^application\/.+\+json$/,o="application/json"===e||n.test(e),r=e=>"[object String]"===Object.prototype.toString.call(e);if(Array.isArray(t)){if(o)return!1;let e=!0;return t.forEach(t=>{r(t)||(e=!1)}),e}return r(t)?!o:!!o&&i.JSONExt.isObject(t)}function a(e){return"raw"===e.cell_type}function l(e){return"markdown"===e.cell_type}function d(e){return"code"===e.cell_type}function c(e){return"execute_result"===e.output_type}function h(e){return"display_data"===e.output_type}function u(e){return"update_display_data"===e.output_type}function p(e){return"stream"===e.output_type}function m(e){return"error"===e.output_type}},77569(e,t,n){"use strict";n.r(t),n.d(t,{cellCounterItem:()=>es,commandEditItem:()=>er,default:()=>eb,executionIndicator:()=>ea,exportPlugin:()=>el,notebookTrustItem:()=>ed});var i,o,r=n(57941),s=n(97518),a=n(74005),l=n(78071),d=n(28951),c=n(22735),h=n(96933),u=n(18977),p=n(60841),m=n(86149),g=n(56573),A=n(90291),C=n(62861),f=n(95615),b=n(31005),v=n(94613),_=n(66885),y=n(31031),E=n(46109),w=n(99873),j=n(59057),x=n(45251),B=n(2786),S=n(8989),M=n(65819),I=n(55187),k=n(63995),D=n(93771),T=n(64001),L=n(27711);let N={id:"@jupyterlab/notebook-extension:cell-executor",description:"Provides the notebook cell executor.",autoStart:!0,provides:v.INotebookCellExecutor,activate:()=>Object.freeze({runCell:v.runCell})};var P=n(30733),z=n(53040);let R={activate:O,id:"@jupyterlab/notebook-extension:log-output",description:"Adds cell outputs log to the application logger.",requires:[v.INotebookTracker],optional:[P.ILoggerRegistry],autoStart:!0};function O(e,t,n){n&&(t.forEach(e=>i(e)),t.widgetAdded.connect((e,t)=>i(t)));function i(e){function t(t,i,o){if(z.KernelMessage.isDisplayDataMsg(t)||z.KernelMessage.isStreamMsg(t)||z.KernelMessage.isErrorMsg(t)||z.KernelMessage.isExecuteResultMsg(t)){let r=n.getLogger(e.context.path);r.rendermime=e.content.rendermime;let s={...t.content,output_type:t.header.msg_type},a=i;(z.KernelMessage.isErrorMsg(t)||z.KernelMessage.isStreamMsg(t)&&"stderr"===t.content.name)&&(a=o),r.log({type:"output",data:s,level:a})}}e.context.sessionContext.iopubMessage.connect((e,n)=>t(n,"info","info")),e.context.sessionContext.unhandledMessage.connect((e,n)=>t(n,"warning","error"))}}var F=n(60721),W=n.n(F),H=n(59807);let U="jp-ActiveCellTool",Y="jp-ActiveCellTool-Content",V="jp-ActiveCellTool-CellContent";class q extends v.NotebookTools.Tool{constructor(e){super();const{languages:t}=e;this._tracker=e.tracker,this.addClass(U),this.layout=new T.PanelLayout,this._inputPrompt=new a.InputPrompt,this.layout.addWidget(this._inputPrompt);const n=document.createElement("div");n.classList.add(Y);const i=n.appendChild(document.createElement("div")),o=i.appendChild(document.createElement("pre"));i.className=V,this._editorEl=o,this.layout.addWidget(new T.Widget({node:n}));const r=async()=>{var e,n;this._editorEl.innerHTML="",(null==(e=this._cellModel)?void 0:e.type)==="code"?(this._inputPrompt.executionCount=`${null!=(n=this._cellModel.executionCount)?n:""}`,this._inputPrompt.show()):(this._inputPrompt.executionCount=null,this._inputPrompt.hide()),this._cellModel&&await t.highlight(this._cellModel.sharedModel.getSource().split("\n")[0],t.findByMIME(this._cellModel.mimeType),this._editorEl)};this._refreshDebouncer=new H.Debouncer(r,150)}render(e){var t,n;let i=this._tracker.activeCell;return i&&(this._cellModel=(null==i?void 0:i.model)||null),(null==(t=this._cellModel)?void 0:t.sharedModel).changed.connect(this.refresh,this),null==(n=this._cellModel)||n.mimeTypeChanged.connect(this.refresh,this),this.refresh().then(()=>void 0).catch(console.warn),W().createElement("div",{ref:e=>null==e?void 0:e.appendChild(this.node)})}async refresh(){await this._refreshDebouncer.invoke()}}var G=n(52782);let $="jp-CellMetadataEditor",J="jp-NotebookMetadataEditor";class K extends v.NotebookTools.MetadataEditorTool{constructor(e){super(e),this._tracker=e.tracker,this.editor.editorHostNode.addEventListener("blur",this.editor,!0),this.editor.editorHostNode.addEventListener("click",this.editor,!0),this.editor.headerNode.addEventListener("click",this.editor)}_onSourceChanged(){var e,t,n;let i=null==(e=this._tracker.activeCell)?void 0:e.model.sharedModel;if(i&&this.editor.source){let e=Object.keys(null!=(t=i.metadata)?t:{}),o=null!=(n=this.editor.source.toJSON())?n:{};i.transact(()=>{e.forEach(e=>i.deleteMetadata(e)),i.setMetadata(o)})}}render(e){var t;let n=this._tracker.activeCell;return this.editor.source=n?new G.ObservableJSON({values:n.model.metadata}):null,null==(t=this.editor.source)||t.changed.connect(this._onSourceChanged,this),W().createElement("div",{className:$},W().createElement("div",{ref:e=>null==e?void 0:e.appendChild(this.node)}))}}class Z extends v.NotebookTools.MetadataEditorTool{constructor(e){super(e),this._tracker=e.tracker,this.editor.editorHostNode.addEventListener("blur",this.editor,!0),this.editor.editorHostNode.addEventListener("click",this.editor,!0),this.editor.headerNode.addEventListener("click",this.editor)}_onSourceChanged(){var e,t;this.editor.source&&(null==(t=null==(e=this._tracker.currentWidget)?void 0:e.model)||t.sharedModel.setMetadata(this.editor.source.toJSON()))}render(e){var t,n;let i=this._tracker.currentWidget;return this.editor.source=i?new G.ObservableJSON({values:null==(t=i.model)?void 0:t.metadata}):null,null==(n=this.editor.source)||n.changed.connect(this._onSourceChanged,this),W().createElement("div",{className:J},W().createElement("div",{ref:e=>null==e?void 0:e.appendChild(this.node)}))}}!function(e){e.createNew="notebook:create-new",e.interrupt="notebook:interrupt-kernel",e.restart="notebook:restart-kernel",e.restartClear="notebook:restart-clear-output",e.restartAndRunToSelected="notebook:restart-and-run-to-selected",e.restartRunAll="notebook:restart-run-all",e.reconnectToKernel="notebook:reconnect-to-kernel",e.changeKernel="notebook:change-kernel",e.getKernel="notebook:get-kernel",e.createConsole="notebook:create-console",e.createSubshellConsole="notebook:create-subshell-console",e.createOutputView="notebook:create-output-view",e.clearAllOutputs="notebook:clear-all-cell-outputs",e.shutdown="notebook:shutdown-kernel",e.closeAndShutdown="notebook:close-and-shutdown",e.trust="notebook:trust",e.exportToFormat="notebook:export-to-format",e.run="notebook:run-cell",e.runAndAdvance="notebook:run-cell-and-select-next",e.runAndInsert="notebook:run-cell-and-insert-below",e.runInConsole="notebook:run-in-console",e.runAll="notebook:run-all-cells",e.runAllAbove="notebook:run-all-above",e.runAllBelow="notebook:run-all-below",e.renderAllMarkdown="notebook:render-all-markdown",e.toCode="notebook:change-cell-to-code",e.toMarkdown="notebook:change-cell-to-markdown",e.toRaw="notebook:change-cell-to-raw",e.cut="notebook:cut-cell",e.copy="notebook:copy-cell",e.pasteAbove="notebook:paste-cell-above",e.pasteBelow="notebook:paste-cell-below",e.duplicateBelow="notebook:duplicate-below",e.pasteAndReplace="notebook:paste-and-replace-cell",e.moveUp="notebook:move-cell-up",e.moveDown="notebook:move-cell-down",e.clearOutputs="notebook:clear-cell-output",e.deleteCell="notebook:delete-cell",e.insertAbove="notebook:insert-cell-above",e.insertBelow="notebook:insert-cell-below",e.selectAbove="notebook:move-cursor-up",e.selectBelow="notebook:move-cursor-down",e.selectHeadingAboveOrCollapse="notebook:move-cursor-heading-above-or-collapse",e.selectHeadingBelowOrExpand="notebook:move-cursor-heading-below-or-expand",e.insertHeadingAbove="notebook:insert-heading-above",e.insertHeadingBelow="notebook:insert-heading-below",e.extendAbove="notebook:extend-marked-cells-above",e.extendTop="notebook:extend-marked-cells-top",e.extendBelow="notebook:extend-marked-cells-below",e.extendBottom="notebook:extend-marked-cells-bottom",e.selectAll="notebook:select-all",e.deselectAll="notebook:deselect-all",e.editMode="notebook:enter-edit-mode",e.merge="notebook:merge-cells",e.mergeAbove="notebook:merge-cell-above",e.mergeBelow="notebook:merge-cell-below",e.split="notebook:split-cell-at-cursor",e.commandMode="notebook:enter-command-mode",e.toggleAllLines="notebook:toggle-all-cell-line-numbers",e.undoCellAction="notebook:undo-cell-action",e.redoCellAction="notebook:redo-cell-action",e.redo="notebook:redo",e.undo="notebook:undo",e.markdown1="notebook:change-cell-to-heading-1",e.markdown2="notebook:change-cell-to-heading-2",e.markdown3="notebook:change-cell-to-heading-3",e.markdown4="notebook:change-cell-to-heading-4",e.markdown5="notebook:change-cell-to-heading-5",e.markdown6="notebook:change-cell-to-heading-6",e.hideCode="notebook:hide-cell-code",e.showCode="notebook:show-cell-code",e.hideAllCode="notebook:hide-all-cell-code",e.showAllCode="notebook:show-all-cell-code",e.hideOutput="notebook:hide-cell-outputs",e.showOutput="notebook:show-cell-outputs",e.toggleOutput="notebook:toggle-cell-outputs",e.hideAllOutputs="notebook:hide-all-cell-outputs",e.showAllOutputs="notebook:show-all-cell-outputs",e.toggleRenderSideBySideCurrentNotebook="notebook:toggle-render-side-by-side-current",e.setSideBySideRatio="notebook:set-side-by-side-ratio",e.enableOutputScrolling="notebook:enable-output-scrolling",e.disableOutputScrolling="notebook:disable-output-scrolling",e.toggleOutputScrolling="notebook:toggle-output-scrolling",e.selectLastRunCell="notebook:select-last-run-cell",e.selectLastModifiedCell="notebook:select-last-modified-cell",e.selectNextModifiedCell="notebook:select-next-modified-cell",e.replaceSelection="notebook:replace-selection",e.autoClosingBrackets="notebook:toggle-autoclosing-brackets",e.toggleCollapseCmd="notebook:toggle-heading-collapse",e.collapseAllCmd="notebook:collapse-all-headings",e.expandAllCmd="notebook:expand-all-headings",e.copyToClipboard="notebook:copy-to-clipboard",e.invokeCompleter="completer:invoke-notebook",e.selectCompleter="completer:select-notebook",e.tocRunCells="toc:run-cells",e.accessPreviousHistory="notebook:access-previous-history-entry",e.accessNextHistory="notebook:access-next-history-entry",e.virtualScrollbar="notebook:toggle-virtual-scrollbar",e.copySelectedtext="notebook:copy-selected-text",e.pasteText="notebook:paste-text",e.cutSelectedtext="notebook:cut-selected-text"}(i||(i={}));let Q="Notebook",X=["notebook","python","custom"],ee="@jupyterlab/notebook-extension:panel",et="jp-NotebookExtension-sideBySideMargins",en={id:"@jupyterlab/notebook-extension:tracker",description:"Provides the notebook widget tracker.",provides:v.INotebookTracker,requires:[v.INotebookWidgetFactory,c.IEditorExtensionRegistry,v.INotebookCellExecutor],optional:[s.ICommandPalette,g.IDefaultFileBrowser,A.ILauncher,r.ILayoutRestorer,f.IMainMenu,r.IRouter,E.ISettingRegistry,s.ISessionContextDialogs,B.ITranslator,S.IFormRendererRegistry,g.IFileBrowserFactory],activate:ej,autoStart:!0},ei={id:"@jupyterlab/notebook-extension:factory",description:"Provides the notebook and cell factory.",provides:v.NotebookPanel.IContentFactory,requires:[l.IEditorServices],autoStart:!0,activate:(e,t)=>{let n=t.factoryService.newInlineEditor;return new v.NotebookPanel.ContentFactory({editorFactory:n})}},eo={activate:ev,provides:v.INotebookTools,id:"@jupyterlab/notebook-extension:tools",description:"Provides the notebook tools.",autoStart:!0,requires:[v.INotebookTracker,l.IEditorServices,c.IEditorLanguageRegistry,w.IStateDB,B.ITranslator],optional:[_.IPropertyInspectorProvider]},er={id:"@jupyterlab/notebook-extension:mode-status",description:"Adds a notebook mode status widget.",autoStart:!0,requires:[v.INotebookTracker,B.ITranslator],optional:[j.IStatusBar],activate:(e,t,n,i)=>{if(!i)return;let{shell:o}=e,r=new v.CommandEditStatus(n);t.currentChanged.connect(()=>{let e=t.currentWidget;r.model.notebook=e&&e.content}),i.registerStatusItem("@jupyterlab/notebook-extension:mode-status",{priority:1,item:r,align:"right",rank:4,isActive:()=>!!o.currentWidget&&!!t.currentWidget&&o.currentWidget===t.currentWidget})}},es={id:"@jupyterlab/notebook-extension:cell-counter-status",description:"Adds a notebook cell counter status widget.",autoStart:!0,requires:[v.INotebookTracker,B.ITranslator],optional:[j.IStatusBar],activate:(e,t,n,i)=>{if(!i)return;let{shell:o}=e,r=new v.CellCounterStatus({translator:n}),s=()=>{let e=t.currentWidget;r.model.notebook=e&&e.content};t.currentChanged.connect(s),s(),i.registerStatusItem(es.id,{priority:1,item:r,align:"right",rank:2.5,isActive:()=>!!o.currentWidget&&!!t.currentWidget&&o.currentWidget===t.currentWidget})}},ea={id:"@jupyterlab/notebook-extension:execution-indicator",description:"Adds a notebook execution status widget.",autoStart:!0,requires:[v.INotebookTracker,r.ILabShell,B.ITranslator],optional:[j.IStatusBar,E.ISettingRegistry],activate:(e,t,n,i,o,r)=>{let s,a,l,d=e=>{var r,d;let{showOnToolBar:c,showProgress:h,showJumpToCell:u}=e;if(c)l&&(n.currentChanged.disconnect(a),l.dispose());else{if(!o)return;(null==s?void 0:s.model)||(s=new v.ExecutionIndicator(i),a=(e,n)=>{let{newValue:i}=n;if(i&&t.has(i)){let e=i;s.model.attachNotebook({content:e.content,context:e.sessionContext})}},l=o.registerStatusItem("@jupyterlab/notebook-extension:execution-indicator",{item:s,align:"left",rank:3,isActive:()=>{let e=n.currentWidget;return!!e&&t.has(e)}}),s.model.attachNotebook({content:null==(r=t.currentWidget)?void 0:r.content,context:null==(d=t.currentWidget)?void 0:d.sessionContext}),n.currentChanged.connect(a),s.disposed.connect(()=>{n.currentChanged.disconnect(a)})),s.model.displayOption={showOnToolBar:c,showProgress:h,showJumpToCell:u}}};r&&Promise.all([r.load(en.id),e.restored]).then(([e])=>{d(v.ExecutionIndicator.getSettingValue(e)),e.changed.connect(e=>d(v.ExecutionIndicator.getSettingValue(e)))}).catch(e=>{console.error(e.message)})}},el={id:"@jupyterlab/notebook-extension:export",description:"Adds the export notebook commands.",autoStart:!0,requires:[B.ITranslator,v.INotebookTracker],optional:[f.IMainMenu,s.ICommandPalette],activate:(e,t,n,r,a)=>{var l;let c,h=t.load("jupyterlab"),{commands:u,shell:p}=e,m=e.serviceManager,g=()=>o.isEnabled(p,n);u.addCommand(i.exportToFormat,{label:e=>{if(void 0===e.label)return h.__("Save and Export Notebook to the given `format`.");let t=e.label;return e.isPalette?h.__("Save and Export Notebook: %1",t):t},execute:async e=>{var t,i,o;let r=eS(n,p,e);if(!r)return;let{context:a}=r,l=d.PageConfig.getNotebookVersion(),c=0>(0,d.compareVersions)(l,[4,0,0])&&(0,d.compareVersions)(l,[2,18,0])>=0,u=!1;if("html"===e.format&&c){let e=await s.InputDialog.getBoolean({title:h.__("Export as HTML"),label:h.__("Sanitize HTML output"),value:!0});if(!e.button.accept)return;u=null!=(t=e.value)&&t}let g={format:e.format,path:r.context.path,exporterOptions:{download:!0,sanitizeHtml:u}};return a.model.dirty&&!a.model.readOnly&&await a.save(),null==(o=(i=m.nbconvert).exportAs)?void 0:o.call(i,g)},isEnabled:g,describedBy:{args:{type:"object",properties:{format:{type:"string",description:h.__("The export format (e.g., pdf, html, latex)")},label:{type:"string",description:h.__("The label to display for this format")},isPalette:{type:"boolean",description:h.__("Whether the command is called from the command palette")}},required:["format"]}}}),r&&(c=null==(l=r.fileMenu.items.find(e=>{var t;return"submenu"===e.type&&(null==(t=e.submenu)?void 0:t.id)==="jp-mainmenu-file-notebookexport"}))?void 0:l.submenu);let A=!1,C=async()=>{if(A)return;n.widgetAdded.disconnect(C),A=!0;let e=await m.nbconvert.getExportFormats(!1);if(!e)return;let r=o.getFormatLabels(t);Object.keys(e).forEach(function(e){let t=e[0].toLocaleUpperCase()+e.slice(1),n=h.__(t),o=r[e]?r[e]:n,s={format:e,label:o,isPalette:!1};if(-1===X.indexOf(e)&&(c&&c.addItem({command:i.exportToFormat,args:s}),a)){s={format:e,label:o,isPalette:!0};let t=h.__("Notebook Operations");a.addItem({command:i.exportToFormat,category:t,args:s})}})};n.widgetAdded.connect(C)}},ed={id:"@jupyterlab/notebook-extension:trust-status",description:"Adds the notebook trusted status widget.",autoStart:!0,requires:[v.INotebookTracker,B.ITranslator],optional:[j.IStatusBar],activate:(e,t,n,i)=>{if(!i)return;let{shell:o}=e,r=new v.NotebookTrustStatus(n);t.currentChanged.connect(()=>{let e=t.currentWidget;r.model.notebook=e&&e.content}),i.registerStatusItem("@jupyterlab/notebook-extension:trust-status",{item:r,align:"right",rank:3,isActive:()=>!!o.currentWidget&&!!t.currentWidget&&o.currentWidget===t.currentWidget})}},ec={id:"@jupyterlab/notebook-extension:widget-factory",description:"Provides the notebook widget factory.",provides:v.INotebookWidgetFactory,requires:[v.NotebookPanel.IContentFactory,l.IEditorServices,y.IRenderMimeRegistry,s.IToolbarWidgetRegistry],optional:[E.ISettingRegistry,s.ISessionContextDialogs,B.ITranslator],activate:e_,autoStart:!0},eh={id:"@jupyterlab/notebook-extension:cloned-outputs",description:"Adds the clone output feature.",requires:[u.IDocumentManager,v.INotebookTracker,B.ITranslator],optional:[r.ILayoutRestorer],activate:ey,autoStart:!0},eu={id:"@jupyterlab/notebook-extension:code-console",description:"Adds the notebook code consoles features.",requires:[v.INotebookTracker,B.ITranslator],activate:eE,autoStart:!0},ep={id:"@jupyterlab/notebook-extension:copy-output",description:"Adds the copy cell outputs feature.",activate:ew,requires:[B.ITranslator,v.INotebookTracker],autoStart:!0},em={id:"@jupyterlab/notebook-extension:kernel-status",description:"Adds the notebook kernel status.",activate:(e,t,n)=>{let i=e=>{let n=null;return e&&t.has(e)?e.sessionContext:n};n.addSessionProvider(i)},requires:[v.INotebookTracker,s.IKernelStatusModel],autoStart:!0},eg={id:"@jupyterlab/notebook-extension:cursor-position",description:"Adds the notebook cursor position status.",activate:(e,t,n)=>{let i=null,o=async e=>{let o=null;if(e!==i){if(null==i||i.content.activeCellChanged.disconnect(n.update),i=null,e&&t.has(e)){e.content.activeCellChanged.connect(n.update);let t=e.content.activeCell;o=null,t&&(await t.ready,o=t.editor),i=e}}else if(e){let t=e.content.activeCell;o=null,t&&(await t.ready,o=t.editor)}return o};n.addEditorProvider(o)},requires:[v.INotebookTracker,l.IPositionModel],autoStart:!0},eA={id:"@jupyterlab/notebook-extension:completer",description:"Adds the code completion capability to notebooks.",requires:[v.INotebookTracker],optional:[h.ICompletionProviderManager,B.ITranslator,s.ISanitizer],activate:ex,autoStart:!0},eC={id:"@jupyterlab/notebook-extension:search",description:"Adds search capability to notebooks.",requires:[m.ISearchProviderRegistry],autoStart:!0,activate:(e,t)=>{t.add("jp-notebookSearchProvider",v.NotebookSearchProvider)}},ef={id:"@jupyterlab/notebook-extension:toc",description:"Adds table of content capability to the notebooks",requires:[v.INotebookTracker,x.ITableOfContentsRegistry,s.ISanitizer],optional:[y.IMarkdownParser,E.ISettingRegistry],autoStart:!0,activate:(e,t,n,i,o,r)=>{let s=new v.NotebookToCFactory(t,o,i,e.commands);n.add(s),r&&Promise.all([e.restored,r.load(en.id)]).then(([e,t])=>{let n=()=>{var e;s.scrollToTop=null==(e=t.composite.scrollHeadingToTop)||e};n(),t.changed.connect(n)}).catch(e=>{console.error("Failed to load notebook table of content settings.",e)})}},eb=[N,ei,en,ea,el,eo,es,er,ed,ec,R,eh,eu,ep,em,eg,eA,eC,ef,{id:"@jupyterlab/notebook-extension:language-server",description:"Adds language server capability to the notebooks.",requires:[v.INotebookTracker,C.ILSPDocumentConnectionManager,C.ILSPFeatureManager,C.ILSPCodeExtractorsManager,C.IWidgetLSPAdapterTracker],activate:eB,autoStart:!0},{id:"@jupyterlab/notebook-extension:update-raw-mimetype",description:"Adds metadata form editor for raw cell mimetype.",autoStart:!0,requires:[v.INotebookTracker,b.IMetadataFormProvider,B.ITranslator],activate:(e,t,n,i)=>{let r=i.load("jupyterlab"),s=!1;async function a(){if(s||!n.get("commonToolsSection"))return;let l=n.get("commonToolsSection").getProperties("/raw_mimetype");if(!l)return;t.widgetAdded.disconnect(a),s=!0;let d=e.serviceManager,c=await d.nbconvert.getExportFormats(!1);if(!c)return;let h=Object.keys(c),u=o.getFormatLabels(i);h.forEach(function(e){var t;if(!((null==(t=l.oneOf)?void 0:t.filter(t=>t.const===e).length)>0)){let t=e[0].toLocaleUpperCase()+e.slice(1),n=r.__(t),i=u[e]?u[e]:n,o=c[e].output_mimetype;l.oneOf.push({const:o,title:i})}}),n.get("commonToolsSection").setProperties("/raw_mimetype",l)}t.widgetAdded.connect(a)}},{id:"@jupyterlab/notebook-extension:metadata-editor",description:"Adds metadata form for full metadata editor.",autoStart:!0,requires:[v.INotebookTracker,l.IEditorServices,S.IFormRendererRegistry],optional:[B.ITranslator],activate:(e,t,n,i,o)=>{let r=e=>n.factoryService.newInlineEditor(e),s={fieldRenderer:e=>new K({editorFactory:r,tracker:t,label:"Cell metadata",translator:o}).render(e)};i.addRenderer("@jupyterlab/notebook-extension:metadata-editor.cell-metadata",s);let a={fieldRenderer:e=>new Z({editorFactory:r,tracker:t,label:"Notebook metadata",translator:o}).render(e)};i.addRenderer("@jupyterlab/notebook-extension:metadata-editor.notebook-metadata",a)}},{id:"@jupyterlab/notebook-extension:active-cell-tool",description:"Adds active cell field in the metadata editor tab.",autoStart:!0,requires:[v.INotebookTracker,S.IFormRendererRegistry,c.IEditorLanguageRegistry],activate:(e,t,n,i)=>{let o={fieldRenderer:e=>new q({tracker:t,languages:i}).render(e)};n.addRenderer("@jupyterlab/notebook-extension:active-cell-tool.renderer",o)}},{id:"@jupyterlab/notebook-extension:open-with-no-kernel",description:'Adds the "Notebook (no kernel)" option to the Open With menu.',requires:[g.IFileBrowserFactory],optional:[B.ITranslator],autoStart:!0,activate:(e,t,n)=>{let{tracker:i}=t,o=(null!=n?n:B.nullTranslator).load("jupyterlab"),r=[];function s(e){var t,n;r.forEach(e=>e.dispose()),r.length=0;let s=null!=(n=null==(t=e.menu.items.find(e=>{var t;return"submenu"===e.type&&(null==(t=e.submenu)?void 0:t.id)==="jp-contextmenu-open-with"}))?void 0:t.submenu)?n:null;!s||(i.currentWidget?Array.from(i.currentWidget.selectedItems()):[]).some(e=>"notebook"===e.type)&&r.push(s.addItem({command:"filebrowser:open",args:{label:o.__("Notebook (no kernel)"),factory:Q,kernelPreference:{shouldStart:!1,shouldReuse:!1}}}))}e.contextMenu.opened.connect(s)}}];function ev(e,t,n,i,o,r,s){let a=r.load("jupyterlab"),l="notebook-tools",d=new v.NotebookTools({tracker:t,translator:r}),c=(e,t)=>{switch(t.type){case"activate-request":o.save(l,{open:!0});break;case"after-hide":case"close-request":o.remove(l)}return!0};return d.title.icon=S.buildIcon,d.title.dataset={...d.title.dataset,jpTabLabel:a.__("Notebook Tools")},d.title.caption=a.__("Notebook Tools"),d.id=l,D.MessageLoop.installMessageHook(d,c),s&&t.widgetAdded.connect((e,t)=>{s.register(t).render(d)}),d}function e_(e,t,n,i,o,r,a,l){let c,h=null!=l?l:B.nullTranslator,u=null!=a?a:new s.SessionContextDialogs({translator:h}),m=d.PageConfig.getOption("notebookStartsKernel"),g=""===m||"true"===m.toLowerCase(),{commands:A}=e;o.addFactory(Q,"save",e=>p.ToolbarItems.createSaveButton(A,e.context.fileChanged)),o.addFactory(Q,"cellType",e=>v.ToolbarItems.createCellTypeItem(e,h)),o.addFactory(Q,"kernelName",e=>s.Toolbar.createKernelNameItem(e.sessionContext,u,h)),o.addFactory(Q,"executionProgress",e=>{let t=null==r?void 0:r.load(en.id),n=v.ExecutionIndicator.createExecutionIndicatorItem(e,h,t);return null==t||t.then(t=>{e.disposed.connect(()=>{t.dispose()})}),n}),r&&(c=(0,s.createToolbarFactory)(o,r,Q,ee,h));let C=h.load("jupyterlab"),f=new v.NotebookWidgetFactory({name:Q,label:C.__("Notebook"),fileTypes:["notebook"],modelName:"notebook",defaultFor:["notebook"],preferKernel:g,canStartKernel:!0,rendermime:i,contentFactory:t,editorConfig:v.StaticNotebook.defaultEditorConfig,notebookConfig:v.StaticNotebook.defaultNotebookConfig,mimeTypeService:n.mimeTypeService,toolbarFactory:c,translator:h});return e.docRegistry.addWidgetFactory(f),f}function ey(e,t,n,r,a){let l=r.load("jupyterlab"),d=new s.WidgetTracker({namespace:"cloned-outputs"});a&&a.restore(d,{command:i.createOutputView,args:e=>({path:e.content.path,index:e.content.index}),name:e=>`${e.content.path}:${e.content.index}`,when:n.restored});let{commands:c,shell:h}=e,u=()=>o.isEnabledAndSingleSelected(h,n);c.addCommand(i.createOutputView,{label:l.__("Create New View for Cell Output"),execute:async e=>{var i;let a,l,c=e.path,h=e.index;if(c&&null!=h){if(!(l=t.findWidget(c,Q)))return}else{if(!(l=n.currentWidget))return;a=l.content.activeCell,h=l.content.activeCellIndex}let u=new o.ClonedOutputArea({notebook:l,cell:a,index:h,translator:r}),p=new s.MainAreaWidget({content:u});l.context.addSibling(p,{ref:l.id,mode:"split-bottom",type:"Cloned Output"});let m=()=>{d.save(p)};l.context.pathChanged.connect(m),null==(i=l.context.model)||i.cells.changed.connect(m),d.add(p),l.content.disposed.connect(()=>{var e;l.context.pathChanged.disconnect(m),null==(e=l.context.model)||e.cells.changed.disconnect(m),p.dispose()})},isEnabled:u,describedBy:{args:{type:"object",properties:{path:{type:"string",description:l.__("The path to the notebook containing the cell")},index:{type:"number",description:l.__("The index of the cell to create an output view for")}}}}})}function eE(e,t,n){let r=n.load("jupyterlab"),{commands:s,shell:a}=e,l=()=>o.isEnabled(a,t);s.addCommand(i.createConsole,{label:r.__("New Console for Notebook"),execute:e=>{let n=t.currentWidget;if(n)return o.createConsole(s,n,e.activate)},isEnabled:l,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:r.__("Whether to activate the console after creation")}}}}}),s.addCommand(i.createSubshellConsole,{label:r.__("New Subshell Console for Notebook"),execute:e=>{let n=t.currentWidget;if(n)return o.createConsole(s,n,e.activate,!0)},isEnabled:l,isVisible:()=>{var e,n,i;let o=null==(n=null==(e=t.currentWidget)?void 0:e.context.sessionContext.session)?void 0:n.kernel;return null!=(i=null==o?void 0:o.supportsSubshells)&&i},describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:r.__("Whether to activate the console after creation")}}}}}),s.addCommand(i.runInConsole,{label:r.__("Run Selected Text or Current Line in Console"),execute:async e=>{var n,i;let o,r=t.currentWidget;if(!r)return;let{context:a,content:l}=r,d=l.activeCell,c=null==d?void 0:d.model.metadata,h=a.path;if(!d||"code"!==d.model.type)return;let u=d.editor;if(!u)return;let p=u.getSelection(),{start:m,end:g}=p;if(m.column!==g.column||m.line!==g.line){let e=u.getOffsetAt(p.start),t=u.getOffsetAt(p.end);o=u.model.sharedModel.getSource().substring(e,t)}else{let e=u.getCursorPosition(),t=u.model.sharedModel.getSource().split("\n"),s=p.start.line;for(;s<u.lineCount&&!t[s].replace(/\s/g,"").length;)s+=1;let a=s>0,l=0,d=1;for(;;){o=t.slice(l,d).join("\n");let c=await (null==(i=null==(n=r.context.sessionContext.session)?void 0:n.kernel)?void 0:i.requestIsComplete({code:o+"\n\n"}));if((null==c?void 0:c.content.status)==="complete")if(s<d){for(;d<u.lineCount&&!t[d].replace(/\s/g,"").length;)d+=1;u.setCursorPosition({line:d,column:e.column});break}else d=(l=d)+1;else if(d<u.lineCount)d+=1;else if(a)l=s,d=s+1,a=!1;else{for(o=t[s];s+1<u.lineCount&&!t[s+1].replace(/\s/g,"").length;)s+=1;u.setCursorPosition({line:s+1,column:e.column});break}}}o&&(await s.execute("console:open",{activate:!1,insertMode:"split-bottom",path:h}),await s.execute("console:inject",{activate:!1,code:o,path:h,metadata:c}))},isEnabled:l,describedBy:{args:{type:"object",properties:{}}}})}function ew(e,t,n){let o=t.load("jupyterlab");function r(e){let t=window.getSelection();if(null==t)return;let n=[];for(let e=0;e<t.rangeCount;++e)n[e]=t.getRangeAt(e).cloneRange();let i=document.createRange();i.selectNodeContents(e),t.removeAllRanges(),t.addRange(i),document.execCommand("copy"),t.removeAllRanges(),n.forEach(e=>t.addRange(e))}e.commands.addCommand(i.copyToClipboard,{label:o.__("Copy Output to Clipboard"),execute:e=>{var t;let i=null==(t=n.currentWidget)?void 0:t.content.activeCell;if(null==i)return;let o=i.outputArea.outputTracker.currentWidget;if(null==o)return;let s=o.node.getElementsByClassName("jp-OutputArea-output");s.length>0&&r(s[0])},describedBy:{args:{type:"object",properties:{}}}}),e.contextMenu.addItem({command:i.copyToClipboard,selector:".jp-Notebook .jp-OutputArea-child",rank:0})}function ej(e,t,n,r,a,l,d,c,h,u,p,m,g,A,C){(0,v.setCellExecutor)(r);let f=null!=g?g:B.nullTranslator,b=null!=m?m:new s.SessionContextDialogs({translator:f}),_=f.load("jupyterlab"),y=e.serviceManager,{commands:E,shell:w}=e,j=new v.NotebookTracker({namespace:"notebook"});function x(e,t){t.hash&&j.currentWidget&&j.currentWidget.setFragment(t.hash)}null==u||u.routed.connect(x);let M=()=>o.isEnabled(w,j),D=e=>document.documentElement.style.setProperty("--jp-side-by-side-output-size",`${e}fr`);if((p?p.load(en.id):Promise.reject(Error(`No setting registry for ${en.id}`))).then(t=>{R(t),t.changed.connect(()=>{R(t),E.notifyCommandChanged(i.virtualScrollbar)});let o=(e,n)=>{let{newValue:i,oldValue:o}=n,r=i.autoStartDefault;"boolean"==typeof r&&r!==o.autoStartDefault&&r!==t.get("autoStartDefaultKernel").composite&&t.set("autoStartDefaultKernel",r).catch(e=>{console.error(`Failed to set ${t.id}.autoStartDefaultKernel`)})},r=new WeakSet,a=e=>{let t=e.context.sessionContext;t.isDisposed||r.has(t)||(r.add(t),t.kernelPreferenceChanged.connect(o),t.disposed.connect(()=>{t.kernelPreferenceChanged.disconnect(o)}))};j.forEach(a),j.widgetAdded.connect((e,t)=>{a(t)}),E.addCommand(i.autoClosingBrackets,{execute:e=>{var n;let i=t.get("codeCellConfig").composite,o=t.get("markdownCellConfig").composite,r=t.get("rawCellConfig").composite,s=i.autoClosingBrackets||o.autoClosingBrackets||r.autoClosingBrackets,a=!!(null!=(n=e.force)?n:!s);[i.autoClosingBrackets,o.autoClosingBrackets,r.autoClosingBrackets]=[a,a,a],t.set("codeCellConfig",i),t.set("markdownCellConfig",o),t.set("rawCellConfig",r)},label:_.__("Auto Close Brackets for All Notebook Cell Types"),isToggled:()=>["codeCellConfig","markdownCellConfig","rawCellConfig"].some(e=>{var i;return(null!=(i=t.get(e).composite.autoClosingBrackets)?i:n.baseConfiguration.autoClosingBrackets)===!0}),describedBy:{args:{type:"object",properties:{force:{type:"boolean",description:_.__("Force toggling the auto closing brackets setting")}}}}}),E.addCommand(i.setSideBySideRatio,{label:_.__("Set side-by-side ratio"),execute:e=>{s.InputDialog.getNumber({title:_.__("Width of the output in side-by-side mode"),value:t.get("sideBySideOutputRatio").composite}).then(e=>{D(e.value),e.value&&t.set("sideBySideOutputRatio",e.value)}).catch(console.error)},describedBy:{args:{type:"object",properties:{}}}}),eI(e,j,f,b,t,M)}).catch(n=>{console.warn(n.message),z({editorConfig:t.editorConfig,notebookConfig:t.notebookConfig,kernelShutdown:t.shutdownOnClose,autoStartDefault:t.autoStartDefault}),eI(e,j,f,b,null,M)}),A){let e=A.getRenderer("@jupyterlab/codemirror-extension:plugin.defaultConfig");e&&(A.addRenderer("@jupyterlab/notebook-extension:tracker.codeCellConfig",e),A.addRenderer("@jupyterlab/notebook-extension:tracker.markdownCellConfig",e),A.addRenderer("@jupyterlab/notebook-extension:tracker.rawCellConfig",e))}c&&c.restore(j,{command:"docmanager:open",args:e=>({path:e.context.path,factory:Q}),name:e=>e.context.path,when:y.ready});let T=e.docRegistry,L=new v.NotebookModelFactory({disableDocumentWideUndoRedo:t.notebookConfig.disableDocumentWideUndoRedo,collaborative:!0});T.addModelFactory(L),a&&ek(a,f);let N=0,P=e.docRegistry.getFileType("notebook");function z(e){j.forEach(t=>{var n;t.setConfig(e),t.content.scrollbar=null!=(n=e.notebookConfig.showMinimap)&&n})}function R(e){let n={...v.StaticNotebook.defaultEditorConfig.code,...e.get("codeCellConfig").composite};t.editorConfig={code:n,markdown:{...v.StaticNotebook.defaultEditorConfig.markdown,...e.get("markdownCellConfig").composite},raw:{...v.StaticNotebook.defaultEditorConfig.raw,...e.get("rawCellConfig").composite}},t.notebookConfig={enableKernelInitNotification:e.get("enableKernelInitNotification").composite,autoRenderMarkdownCells:e.get("autoRenderMarkdownCells").composite,showHiddenCellsButton:e.get("showHiddenCellsButton").composite,scrollPastEnd:e.get("scrollPastEnd").composite,defaultCell:e.get("defaultCell").composite,recordTiming:e.get("recordTiming").composite,overscanCount:e.get("overscanCount").composite,showInputPlaceholder:e.get("showInputPlaceholder").composite,inputHistoryScope:e.get("inputHistoryScope").composite,maxNumberOutputs:e.get("maxNumberOutputs").composite,showEditorForReadOnlyMarkdown:e.get("showEditorForReadOnlyMarkdown").composite,disableDocumentWideUndoRedo:!e.get("documentWideUndoRedo").composite,renderingLayout:e.get("renderingLayout").composite,sideBySideLeftMarginOverride:e.get("sideBySideLeftMarginOverride").composite,sideBySideRightMarginOverride:e.get("sideBySideRightMarginOverride").composite,sideBySideOutputRatio:e.get("sideBySideOutputRatio").composite,windowingMode:e.get("windowingMode").composite,accessKernelHistory:e.get("accessKernelHistory").composite,showMinimap:e.get("showMinimap").composite},D(t.notebookConfig.sideBySideOutputRatio);let i=`.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {
      margin-left: ${t.notebookConfig.sideBySideLeftMarginOverride} !important;
      margin-right: ${t.notebookConfig.sideBySideRightMarginOverride} !important;`,o=document.getElementById(et);o?o.innerText=i:document.head.insertAdjacentHTML("beforeend",`<style id="${et}">${i}}</style>`),t.autoStartDefault=e.get("autoStartDefaultKernel").composite,t.shutdownOnClose=e.get("kernelShutdown").composite,L.disableDocumentWideUndoRedo=!e.get("documentWideUndoRedo").composite,z({editorConfig:t.editorConfig,notebookConfig:t.notebookConfig,kernelShutdown:t.shutdownOnClose,autoStartDefault:t.autoStartDefault})}t.widgetCreated.connect((e,n)=>{var o,r,s;n.id=n.id||`notebook-${++N}`,n.content.node.setAttribute("data-trust-command",i.trust),n.title.icon=null==P?void 0:P.icon,n.title.iconClass=null!=(o=null==P?void 0:P.iconClass)?o:"",n.title.iconLabel=null!=(r=null==P?void 0:P.iconLabel)?r:"",n.content.scrollbar=null!=(s=t.notebookConfig.showMinimap)&&s,n.context.pathChanged.connect(()=>{j.save(n)}),j.add(n)}),h&&eD(h,M);let O=async(e,t,n)=>{let i=await E.execute("docmanager:new-untitled",{path:e,type:"notebook"});if(void 0!==i){let e=await E.execute("docmanager:open",{path:i.path,factory:Q,kernel:{id:t,name:n}});return e.isUntitled=!0,e}};return E.addCommand(i.createNew,{label:e=>{var t,n,i;let o=e.kernelName||"";return e.isLauncher&&e.kernelName&&y.kernelspecs?null!=(i=null==(n=null==(t=y.kernelspecs.specs)?void 0:t.kernelspecs[o])?void 0:n.display_name)?i:"":e.isPalette||e.isContextMenu?_.__("New Notebook"):_.__("Notebook")},caption:_.__("Create a new notebook"),icon:e=>e.isPalette?void 0:S.notebookIcon,execute:e=>{var t,n;let i=null!=(t=null==C?void 0:C.tracker.currentWidget)?t:l;return O(e.cwd||(null!=(n=null==i?void 0:i.model.path)?n:""),e.kernelId||"",e.kernelName||"")},describedBy:{args:{type:"object",properties:{cwd:{type:"string",description:_.__("Current working directory for the new notebook")},kernelId:{type:"string",description:_.__("Kernel ID to use for the new notebook")},kernelName:{type:"string",description:_.__("Kernel name to use for the new notebook")},isLauncher:{type:"boolean",description:_.__("Whether the command is executed from launcher")},isPalette:{type:"boolean",description:_.__("Whether the command is executed from palette")},isContextMenu:{type:"boolean",description:_.__("Whether the command is executed from context menu")}}}}}),d&&y.ready.then(()=>{let e=null,t=()=>{e&&(e.dispose(),e=null);let t=y.kernelspecs.specs;if(t)for(let n in e=new k.DisposableSet,t.kernelspecs){let o=n===t.default?0:1/0,r=t.kernelspecs[n],s=r.resources["logo-svg"]||r.resources["logo-64x64"];e.add(d.add({command:i.createNew,args:{isLauncher:!0,kernelName:n},category:_.__("Notebook"),rank:o,kernelIconUrl:s,metadata:{kernel:I.JSONExt.deepCopy(r.metadata||{})}}))}};t(),y.kernelspecs.specsChanged.connect(t)}),j}function ex(e,t,n,o,r){if(!n)return;let a=(null!=o?o:B.nullTranslator).load("jupyterlab"),l=null!=r?r:new s.Sanitizer;e.commands.addCommand(i.invokeCompleter,{label:a.__("Display the completion helper."),execute:e=>{var i;let o=t.currentWidget;o&&(null==(i=o.content.activeCell)?void 0:i.model.type)==="code"&&n.invoke(o.id)},describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:a.__("Whether to activate the widget")}}}}}),e.commands.addCommand(i.selectCompleter,{label:a.__("Select the completion suggestion."),execute:()=>{let e=t.currentWidget&&t.currentWidget.id;if(e)return n.select(e)},describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:a.__("Whether to activate the widget")}}}}}),e.commands.addKeyBinding({command:i.selectCompleter,keys:["Enter"],selector:".jp-Notebook .jp-mod-completer-active"});let d=async(e,t)=>{var i,o;let r={editor:null!=(o=null==(i=t.content.activeCell)?void 0:i.editor)?o:null,session:t.sessionContext.session,widget:t,sanitizer:l};await n.updateCompleter(r),t.content.activeCellChanged.connect((e,i)=>{null==i||i.ready.then(()=>{let e={editor:i.editor,session:t.sessionContext.session,widget:t,sanitizer:l};return n.updateCompleter(e)}).catch(console.error)}),t.sessionContext.sessionChanged.connect(()=>{var e;null==(e=t.content.activeCell)||e.ready.then(()=>{var e,i;let o={editor:null!=(i=null==(e=t.content.activeCell)?void 0:e.editor)?i:null,session:t.sessionContext.session,widget:t};return n.updateCompleter(o)}).catch(console.error)})};t.widgetAdded.connect(d),n.activeProvidersChanged.connect(()=>{t.forEach(e=>{d(void 0,e).catch(e=>console.error(e))})})}function eB(e,t,n,i,o,r){t.widgetAdded.connect(async(e,t)=>{let s=new v.NotebookAdapter(t,{connectionManager:n,featureManager:i,foreignCodeExtractorsManager:o});r.add(s)})}function eS(e,t,n){var i,o;let r=null;return r=n[L.CellBarExtension.WIDGET_ID_ARG]?null!=(i=e.find(e=>e.id===n[L.CellBarExtension.WIDGET_ID_ARG]))?i:null:n[s.SemanticCommand.WIDGET]?null!=(o=e.find(e=>e.id===n[s.SemanticCommand.WIDGET]))?o:null:e.currentWidget,!1!==n.activate&&r&&t.activateById(r.id),r}function eM(e){if(!e.model||!e.activeCell)return!1;let t=!1;for(let n of e.widgets)if(e.isSelectedOrActive(n)&&"code"===n.model.type&&(t=!0,!n.outputsScrolled))return!1;return t}function eI(e,t,n,r,l,d){var c;let h=n.load("jupyterlab"),{commands:u,shell:p}=e,m=()=>o.isEnabledAndSingleSelected(p,t),g=e=>{var t,n;for(let i of e.widgets)i instanceof a.MarkdownCell&&i.headingCollapsed&&i.getHeadings().then(()=>{!i.isDisposed&&i.headingCollapsed&&v.NotebookActions.setHeadingCollapse(i,!0,e)}).catch(e=>{console.warn("Failed to resolve headings: ",e)}),i.model.id===(null==(n=null==(t=e.activeCell)?void 0:t.model)?void 0:n.id)&&v.NotebookActions.expandParent(i,e)},A=()=>o.isEnabledAndHeadingSelected(p,t),C=async(e,t)=>{var n;let i=!!(null==(n=null==l?void 0:l.get("pasteCodeCellsWithoutOutput"))?void 0:n.composite);(null==l?void 0:l.get("useSystemClipboardForCells").composite)?await v.NotebookActions.pasteFromSystemClipboard(e,t,{stripOutputs:i}):v.NotebookActions.paste(e,t,{stripOutputs:i})};t.currentChanged.connect((e,t)=>{var n,i;(null==(i=null==(n=null==t?void 0:t.content)?void 0:n.model)?void 0:i.cells)&&(t.content.model.cells.changed.connect((e,n)=>{g(t.content)}),t.content.activeCellChanged.connect((e,t)=>{v.NotebookActions.expandParent(t,e)}))}),t.selectionChanged.connect(()=>{u.notifyCommandChanged(i.duplicateBelow),u.notifyCommandChanged(i.deleteCell),u.notifyCommandChanged(i.copySelectedtext),u.notifyCommandChanged(i.pasteText),u.notifyCommandChanged(i.cutSelectedtext),u.notifyCommandChanged(i.copy),u.notifyCommandChanged(i.cut),u.notifyCommandChanged(i.pasteBelow),u.notifyCommandChanged(i.pasteAbove),u.notifyCommandChanged(i.pasteAndReplace),u.notifyCommandChanged(i.moveUp),u.notifyCommandChanged(i.moveDown),u.notifyCommandChanged(i.run),u.notifyCommandChanged(i.runAll),u.notifyCommandChanged(i.runAndAdvance),u.notifyCommandChanged(i.runAndInsert)}),t.activeCellChanged.connect(()=>{u.notifyCommandChanged(i.deleteCell),u.notifyCommandChanged(i.moveUp),u.notifyCommandChanged(i.moveDown),u.notifyCommandChanged(i.selectLastModifiedCell),u.notifyCommandChanged(i.selectNextModifiedCell)}),t.widgetAdded.connect((e,t)=>{t.content.stateChanged.connect((e,t)=>{"lastModifiedCellStack"===t.name&&(u.notifyCommandChanged(i.selectLastModifiedCell),u.notifyCommandChanged(i.selectNextModifiedCell))})}),u.addCommand(i.runAndAdvance,{label:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Run Selected Cell","Run Selected Cells",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},caption:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Run this cell and advance","Run these %1 cells and advance",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},execute:e=>{let i=eS(t,p,e);if(i){let{context:e,content:t}=i;return v.NotebookActions.runAndAdvance(t,e.sessionContext,r,n)}},isEnabled:e=>!!e.toolbar||d(),icon:e=>e.toolbar?S.runIcon:void 0,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.run,{label:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Run Selected Cell and Do not Advance","Run Selected Cells and Do not Advance",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},execute:e=>{let i=eS(t,p,e);if(i){let{context:e,content:t}=i;return v.NotebookActions.run(t,e.sessionContext,r,n)}},isEnabled:d,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.runAndInsert,{label:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Run Selected Cell and Insert Below","Run Selected Cells and Insert Below",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},execute:e=>{let i=eS(t,p,e);if(i){let{context:e,content:t}=i;return v.NotebookActions.runAndInsert(t,e.sessionContext,r,n)}},isEnabled:d,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.runAll,{label:h.__("Run All Cells"),caption:h.__("Run all cells"),execute:e=>{let i=eS(t,p,e);if(i){let{context:e,content:t}=i;return v.NotebookActions.runAll(t,e.sessionContext,r,n)}},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.runAllAbove,{label:h.__("Run All Above Selected Cell"),execute:e=>{let i=eS(t,p,e);if(i){let{context:e,content:t}=i;return v.NotebookActions.runAllAbove(t,e.sessionContext,r,n)}},isEnabled:()=>m()&&0!==t.currentWidget.content.activeCellIndex,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.runAllBelow,{label:h.__("Run Selected Cell and All Below"),execute:e=>{let i=eS(t,p,e);if(i){let{context:e,content:t}=i;return v.NotebookActions.runAllBelow(t,e.sessionContext,r,n)}},isEnabled:()=>m()&&(1===t.currentWidget.content.widgets.length||t.currentWidget.content.activeCellIndex!==t.currentWidget.content.widgets.length-1),describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.renderAllMarkdown,{label:h.__("Render All Markdown Cells"),execute:e=>{let n=eS(t,p,e);if(n){let{content:e}=n;return v.NotebookActions.renderAllMarkdown(e)}},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.restart,{label:h.__("Restart Kernel…"),caption:h.__("Restart the kernel"),execute:e=>{let n=eS(t,p,e);if(n)return r.restart(n.sessionContext)},isEnabled:e=>!!e.toolbar||d(),icon:e=>e.toolbar?S.refreshIcon:void 0,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"}}}}}),u.addCommand(i.shutdown,{label:h.__("Shut Down Kernel"),execute:e=>{let n=eS(t,p,e);if(n)return n.context.sessionContext.shutdown()},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.closeAndShutdown,{label:h.__("Close and Shut Down Notebook…"),execute:e=>{let n=eS(t,p,e);if(!n)return;let o=n.title.label;return(0,s.showDialog)({title:h.__("Shut down the notebook?"),body:h.__('Are you sure you want to close "%1"?',o),buttons:[s.Dialog.cancelButton(),s.Dialog.warnButton()]}).then(e=>{if(e.button.accept)return u.execute(i.shutdown,{activate:!1}).then(()=>{n.dispose()})})},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.trust,{label:()=>h.__("Trust Notebook"),execute:async e=>{let n=eS(t,p,e);if(n){let{context:e,content:t}=n,i=await v.NotebookActions.trust(t);return i.trusted&&await e.save(),i}return{trusted:!1}},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.restartClear,{label:h.__("Restart Kernel and Clear Outputs of All Cells…"),caption:h.__("Restart the kernel and clear all outputs of all cells"),execute:async()=>{await u.execute(i.restart,{activate:!1})&&await u.execute(i.clearAllOutputs)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.restartAndRunToSelected,{label:h.__("Restart Kernel and Run up to Selected Cell…"),execute:async e=>{let i=eS(t,p,{activate:!1,...e});if(!i)return;let{context:o,content:s}=i,a=s.widgets.slice(0,s.activeCellIndex+1);if(await r.restart(i.sessionContext))return v.NotebookActions.runCells(s,a,o.sessionContext,r,n)},isEnabled:m,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.restartRunAll,{label:h.__("Restart Kernel and Run All Cells…"),caption:h.__("Restart the kernel and run all cells"),execute:async e=>{let i=eS(t,p,{activate:!1,...e});if(!i)return;let{context:o,content:s}=i,a=s.widgets;if(await r.restart(i.sessionContext))return v.NotebookActions.runCells(s,a,o.sessionContext,r,n)},isEnabled:e=>!!e.toolbar||d(),icon:e=>e.toolbar?S.fastForwardIcon:void 0,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.clearAllOutputs,{label:h.__("Clear Outputs of All Cells"),caption:h.__("Clear all outputs of all cells"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.clearAllOutputs(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.clearOutputs,{label:h.__("Clear Cell Output"),caption:h.__("Clear outputs for the selected cells"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.clearOutputs(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.interrupt,{label:h.__("Interrupt Kernel"),caption:h.__("Interrupt the kernel"),execute:e=>{var n;let i=eS(t,p,e);if(!i)return;let o=null==(n=i.context.sessionContext.session)?void 0:n.kernel;if(o)return o.interrupt()},isEnabled:e=>!!e.toolbar||d(),icon:e=>e.toolbar?S.stopIcon:void 0,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"}}}}}),u.addCommand(i.toCode,{label:h.__("Change to Code Cell Type"),execute:e=>{let i=eS(t,p,e);if(i)return v.NotebookActions.changeCellType(i.content,"code",n)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.toMarkdown,{label:h.__("Change to Markdown Cell Type"),execute:e=>{let i=eS(t,p,e);if(i)return v.NotebookActions.changeCellType(i.content,"markdown",n)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.toRaw,{label:h.__("Change to Raw Cell Type"),execute:e=>{let i=eS(t,p,e);if(i)return v.NotebookActions.changeCellType(i.content,"raw",n)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.cut,{label:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Cut Cell","Cut Cells",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},caption:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Cut this cell","Cut these %1 cells",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},execute:async e=>{let n=eS(t,p,e);if(n)return(null==l?void 0:l.get("useSystemClipboardForCells").composite)?await v.NotebookActions.cutToSystemClipboard(n.content):v.NotebookActions.cut(n.content)},icon:e=>e.toolbar?S.cutIcon:void 0,isEnabled:e=>!!e.toolbar||d(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.copy,{label:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Copy Cell","Copy Cells",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},caption:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Copy this cell","Copy these %1 cells",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},execute:async e=>{let n=eS(t,p,e);if(n)return(null==l?void 0:l.get("useSystemClipboardForCells").composite)?await v.NotebookActions.copyToSystemClipboard(n.content):v.NotebookActions.copy(n.content)},icon:e=>e.toolbar?S.copyIcon:void 0,isEnabled:e=>!!e.toolbar||d(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.pasteBelow,{label:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Paste Cell Below","Paste Cells Below",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},caption:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Paste this cell from the clipboard","Paste these %1 cells from the clipboard",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},execute:async e=>{let n=eS(t,p,e);if(n)return C(n.content,"below")},icon:e=>e.toolbar?S.pasteIcon:void 0,isEnabled:e=>!!e.toolbar||d(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.pasteAbove,{label:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Paste Cell Above","Paste Cells Above",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},caption:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Paste this cell from the clipboard","Paste these %1 cells from the clipboard",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},execute:async e=>{let n=eS(t,p,e);if(n)return C(n.content,"above")},isEnabled:d,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.duplicateBelow,{label:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Duplicate Cell Below","Duplicate Cells Below",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},caption:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Create a duplicate of this cell below","Create duplicates of %1 cells below",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},execute:e=>{let n=eS(t,p,e);n&&v.NotebookActions.duplicate(n.content,"belowSelected")},icon:e=>e.toolbar?S.duplicateIcon:void 0,isEnabled:e=>!!e.toolbar||d(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.pasteAndReplace,{label:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Paste Cell and Replace","Paste Cells and Replace",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},execute:async e=>{let n=eS(t,p,e);if(n)return C(n.content,"replace")},isEnabled:d,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.deleteCell,{label:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Delete Cell","Delete Cells",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},caption:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Delete this cell","Delete these %1 cells",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.deleteCells(n.content)},isEnabled:e=>{var n;let i=eS(t,p,{...e,activate:!1});return!!i&&(null==(n=i.content.activeCell)?void 0:n.model.getMetadata("deletable"))!==!1},describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.copySelectedtext,{label:h.__("Copy Selected Text"),caption:h.__("Copy selected text from the active cell or output area"),execute:async e=>{var n;let i=eS(t,p,e);if(!i)return;let o=null==(n=i.content.activeCell)?void 0:n.editor;if(o){let e=o.getSelection(),t=o.getOffsetAt(e.start),n=o.getOffsetAt(e.end),i=o.model.sharedModel.getSource().slice(t,n);if(i)return void await navigator.clipboard.writeText(i)}let r=window.getSelection(),s=null==r?void 0:r.toString();s&&s.trim().length>0&&await navigator.clipboard.writeText(s)},isEnabled:e=>{var n;let i=eS(t,p,{...e,activate:!1});if(!i)return!1;let o=null==(n=i.content.activeCell)?void 0:n.editor;if(o){let e=o.getSelection();if(e.start.line!==e.end.line||e.start.column!==e.end.column)return!0}let r=window.getSelection();return!!r&&r.toString().trim().length>0},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.cutSelectedtext,{label:h.__("Cut Selected Text"),caption:h.__("Cut selected text from the active cell or output area"),execute:async e=>{var n,i;let o=eS(t,p,e);if(!o)return;let r=null==(n=o.content.activeCell)?void 0:n.editor;if(r){let e=r.getSelection(),t=r.getOffsetAt(e.start),n=r.getOffsetAt(e.end),o=r.model.sharedModel.getSource().slice(t,n);if(o){await navigator.clipboard.writeText(o),null==(i=r.replaceSelection)||i.call(r,"");return}}},isEnabled:e=>{var n;let i=eS(t,p,{...e,activate:!1});if(!i)return!1;let o=null==(n=i.content.activeCell)?void 0:n.editor;if(!o)return!1;let r=o.getSelection();return r.start.line!==r.end.line||r.start.column!==r.end.column},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.pasteText,{label:h.__("Paste Text"),caption:h.__("Paste text from the clipboard into the active cell editor"),execute:async e=>{var n,i;let o=eS(t,p,e);if(!o)return;let r=null==(n=o.content.activeCell)?void 0:n.editor;if(r)try{let e=await navigator.clipboard.readText();e&&(null==(i=r.replaceSelection)||i.call(r,e))}catch(e){s.Clipboard.showPasteUnavailableDialog(h)}},isEnabled:e=>{var n;let i=eS(t,p,{...e,activate:!1});return!!i&&!!(null==(n=i.content.activeCell)?void 0:n.editor)},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.split,{label:h.__("Split Cell"),execute:e=>{let i=eS(t,p,e);if(i)return v.NotebookActions.splitCell(i.content,n)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.merge,{label:h.__("Merge Selected Cells"),execute:e=>{var i;let o=eS(t,p,e);if(o){let e=null==(i=null==l?void 0:l.get("addExtraLineOnCellMerge").composite)||i;return v.NotebookActions.mergeCells(o.content,!1,e,n)}},isVisible:e=>{let n=eS(t,p,{...e,activate:!1});if(!n)return!1;let i=n.content;return i&&i.selectedCells.length>1},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.mergeAbove,{label:h.__("Merge Cell Above"),execute:e=>{var i;let o=eS(t,p,e);if(o){let e=null==(i=null==l?void 0:l.get("addExtraLineOnCellMerge").composite)||i;return v.NotebookActions.mergeCells(o.content,!0,e,n)}},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.mergeBelow,{label:h.__("Merge Cell Below"),execute:e=>{var i;let o=eS(t,p,e);if(o){let e=null==(i=null==l?void 0:l.get("addExtraLineOnCellMerge").composite)||i;return v.NotebookActions.mergeCells(o.content,!1,e,n)}},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.insertAbove,{label:h.__("Insert Cell Above"),caption:h.__("Insert a cell above"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.insertAbove(n.content)},icon:e=>e.toolbar?S.addAboveIcon:void 0,isEnabled:e=>!!e.toolbar||d(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"}}}}}),u.addCommand(i.insertBelow,{label:h.__("Insert Cell Below"),caption:h.__("Insert a cell below"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.insertBelow(n.content)},icon:e=>e.toolbar?S.addBelowIcon:void 0,isEnabled:e=>!!e.toolbar||d(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"}}}}}),u.addCommand(i.selectAbove,{label:h.__("Select Cell Above"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.selectAbove(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.selectBelow,{label:h.__("Select Cell Below"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.selectBelow(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.insertHeadingAbove,{label:h.__("Insert Heading Above Current Heading"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.insertSameLevelHeadingAbove(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.insertHeadingBelow,{label:h.__("Insert Heading Below Current Heading"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.insertSameLevelHeadingBelow(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.selectHeadingAboveOrCollapse,{label:h.__("Select Heading Above or Collapse Heading"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.selectHeadingAboveOrCollapseHeading(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.selectHeadingBelowOrExpand,{label:h.__("Select Heading Below or Expand Heading"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.selectHeadingBelowOrExpandHeading(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.extendAbove,{label:h.__("Extend Selection Above"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.extendSelectionAbove(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.extendTop,{label:h.__("Extend Selection to Top"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.extendSelectionAbove(n.content,!0)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.extendBelow,{label:h.__("Extend Selection Below"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.extendSelectionBelow(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.extendBottom,{label:h.__("Extend Selection to Bottom"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.extendSelectionBelow(n.content,!0)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.selectAll,{label:h.__("Select All Cells"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.selectAll(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.deselectAll,{label:h.__("Deselect All Cells"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.deselectAll(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.moveUp,{label:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Move Cell Up","Move Cells Up",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},caption:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Move this cell up","Move these %1 cells up",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},execute:e=>{let n=eS(t,p,e);n&&(v.NotebookActions.moveUp(n.content),o.raiseSilentNotification(h.__("Notebook cell shifted up successfully"),n.node))},isEnabled:e=>{let n=eS(t,p,{...e,activate:!1});return!!n&&n.content.activeCellIndex>=1},icon:e=>e.toolbar?S.moveUpIcon:void 0,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.moveDown,{label:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Move Cell Down","Move Cells Down",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},caption:e=>{var n;let i=eS(t,p,{...e,activate:!1});return h._n("Move this cell down","Move these %1 cells down",null!=(n=null==i?void 0:i.content.selectedCells.length)?n:1)},execute:e=>{let n=eS(t,p,e);n&&(v.NotebookActions.moveDown(n.content),o.raiseSilentNotification(h.__("Notebook cell shifted down successfully"),n.node))},isEnabled:e=>{let n=eS(t,p,{...e,activate:!1});if(!n||!n.content.model)return!1;let i=n.content.model.cells.length;return n.content.activeCellIndex<i-1},icon:e=>e.toolbar?S.moveDownIcon:void 0,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.toggleAllLines,{label:h.__("Show Line Numbers"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.toggleAllLineNumbers(n.content)},isEnabled:d,isToggled:e=>{let n=eS(t,p,{...e,activate:!1});if(!n)return!1;{let e=n.content.editorConfig;return!!(e.code.lineNumbers&&e.markdown.lineNumbers&&e.raw.lineNumbers)}},describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.commandMode,{label:h.__("Enter Command Mode"),execute:e=>{let n=eS(t,p,e);n&&(n.content.mode="command")},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.editMode,{label:h.__("Enter Edit Mode"),execute:e=>{let n=eS(t,p,e);n&&(n.content.mode="edit")},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.undoCellAction,{label:h.__("Undo Cell Operation"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.undo(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.redoCellAction,{label:h.__("Redo Cell Operation"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.redo(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.redo,{label:h.__("Redo"),execute:e=>{var n;let i=eS(t,p,e);if(i){let e=i.content.activeCell;if(e)return e.inputHidden=!1,null==(n=e.editor)?void 0:n.redo()}},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.undo,{label:h.__("Undo"),execute:e=>{var n;let i=eS(t,p,e);if(i){let e=i.content.activeCell;if(e)return e.inputHidden=!1,null==(n=e.editor)?void 0:n.undo()}},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.changeKernel,{label:h.__("Change Kernel…"),execute:e=>{let n=eS(t,p,e);if(n)return r.selectKernel(n.context.sessionContext)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.getKernel,{label:h.__("Get Kernel"),execute:e=>{var n;let i=eS(t,p,{activate:!1,...e});if(i)return null==(n=i.sessionContext.session)?void 0:n.kernel},isEnabled:d,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.reconnectToKernel,{label:h.__("Reconnect to Kernel"),execute:e=>{var n;let i=eS(t,p,e);if(!i)return;let o=null==(n=i.context.sessionContext.session)?void 0:n.kernel;if(o)return o.reconnect()},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.markdown1,{label:h.__("Change to Heading 1"),execute:e=>{let i=eS(t,p,e);if(i)return v.NotebookActions.setMarkdownHeader(i.content,1,n)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.markdown2,{label:h.__("Change to Heading 2"),execute:e=>{let i=eS(t,p,e);if(i)return v.NotebookActions.setMarkdownHeader(i.content,2,n)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.markdown3,{label:h.__("Change to Heading 3"),execute:e=>{let i=eS(t,p,e);if(i)return v.NotebookActions.setMarkdownHeader(i.content,3,n)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.markdown4,{label:h.__("Change to Heading 4"),execute:e=>{let i=eS(t,p,e);if(i)return v.NotebookActions.setMarkdownHeader(i.content,4,n)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.markdown5,{label:h.__("Change to Heading 5"),execute:e=>{let i=eS(t,p,e);if(i)return v.NotebookActions.setMarkdownHeader(i.content,5,n)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.markdown6,{label:h.__("Change to Heading 6"),execute:e=>{let i=eS(t,p,e);if(i)return v.NotebookActions.setMarkdownHeader(i.content,6,n)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.hideCode,{label:h.__("Collapse Selected Code"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.hideCode(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.showCode,{label:h.__("Expand Selected Code"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.showCode(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.hideAllCode,{label:h.__("Collapse All Code"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.hideAllCode(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.showAllCode,{label:h.__("Expand All Code"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.showAllCode(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.hideOutput,{label:h.__("Collapse Selected Outputs"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.hideOutput(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.showOutput,{label:h.__("Expand Selected Outputs"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.showOutput(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.toggleOutput,{label:h.__("Toggle Visibility of Selected Outputs"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.toggleOutput(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.hideAllOutputs,{label:h.__("Collapse All Outputs"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.hideAllOutputs(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.toggleRenderSideBySideCurrentNotebook,{label:h.__("Render Side-by-Side"),execute:e=>{let n=eS(t,p,e);if(n)return"side-by-side"===n.content.renderingLayout?v.NotebookActions.renderDefault(n.content):v.NotebookActions.renderSideBySide(n.content)},isEnabled:d,isToggled:e=>{let n=eS(t,p,{...e,activate:!1});return!!n&&"side-by-side"===n.content.renderingLayout},describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.showAllOutputs,{label:h.__("Expand All Outputs"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.showAllOutputs(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.enableOutputScrolling,{label:h.__("Enable Scrolling for Outputs"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.enableOutputScrolling(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.disableOutputScrolling,{label:h.__("Disable Scrolling for Outputs"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.disableOutputScrolling(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.toggleOutputScrolling,{label:e=>e.isMenu||e.isPalette?h.__("Enable Scrolling for Outputs"):h.__("Toggle Scrolling for Outputs"),execute:e=>{let n=eS(t,p,e);if(n)return eM(n.content)?v.NotebookActions.disableOutputScrolling(n.content):v.NotebookActions.enableOutputScrolling(n.content)},isEnabled:d,isToggled:e=>{let n=eS(t,p,{...e,activate:!1});return!!n&&eM(n.content)},describedBy:{args:{type:"object",properties:{isMenu:{type:"boolean",description:h.__("Whether the command is called from a menu")}}}}}),u.addCommand(i.selectLastRunCell,{label:h.__("Select current running or last run cell"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.selectLastRunCell(n.content)},isEnabled:d,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.selectLastModifiedCell,{label:h.__("Select Last Modified Cell"),execute:async e=>{let n=eS(t,p,e);n&&await v.NotebookActions.selectLastModifiedCell(n.content)},isEnabled:e=>{let n=eS(t,p,{...e,activate:!1});return!!n&&n.content.hasNavigableModifiedCellBack()},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.selectNextModifiedCell,{label:h.__("Select Next Modified Cell"),execute:async e=>{let n=eS(t,p,e);n&&await v.NotebookActions.selectNextModifiedCell(n.content)},isEnabled:e=>{let n=eS(t,p,{...e,activate:!1});return!!n&&n.content.hasNavigableModifiedCellForward()},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.replaceSelection,{label:h.__("Replace Selection in Notebook Cell"),execute:e=>{let n=eS(t,p,e),i=e.text||"";if(n)return v.NotebookActions.replaceSelection(n.content,i)},isEnabled:d,describedBy:{args:{type:"object",properties:{text:{type:"string",description:h.__("Text to replace the selection with")}}}}}),u.addCommand(i.toggleCollapseCmd,{label:h.__("Toggle Collapse Notebook Heading"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.toggleCurrentHeadingCollapse(n.content)},isEnabled:A,describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.collapseAllCmd,{label:h.__("Collapse All Headings"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.collapseAllHeadings(n.content)},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.expandAllCmd,{label:h.__("Expand All Headings"),execute:e=>{let n=eS(t,p,e);if(n)return v.NotebookActions.expandAllHeadings(n.content)},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.tocRunCells,{label:h.__("Select and Run Cell(s) for this Heading"),execute:e=>{let i=eS(t,p,{activate:!1,...e});if(null===i)return;let o=i.content.activeCell,s=i.content.activeCellIndex;if(o instanceof a.MarkdownCell){let e=i.content.widgets,t=o.headingInfo.level;for(let n=i.content.activeCellIndex+1;n<e.length;n++){let i=e[n];if(i instanceof a.MarkdownCell&&i.headingInfo.level>=0&&i.headingInfo.level<=t)break;s=n}}i.content.extendContiguousSelectionTo(s),v.NotebookActions.run(i.content,i.sessionContext,r,n)},describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:h.__("Whether to activate the notebook after execution")}}}}}),u.addCommand(i.accessPreviousHistory,{label:h.__("Access Previous Kernel History Entry"),execute:async e=>{let n=eS(t,p,e);if(n)return await v.NotebookActions.accessPreviousHistory(n.content)},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.accessNextHistory,{label:h.__("Access Next Kernel History Entry"),execute:async e=>{let n=eS(t,p,e);if(n)return await v.NotebookActions.accessNextHistory(n.content)},describedBy:{args:{type:"object",properties:{}}}}),u.addCommand(i.virtualScrollbar,{label:h.__("Show Minimap"),caption:h.__("Show Minimap"),execute:e=>{let n=eS(t,p,e);n&&(n.content.scrollbar=!n.content.scrollbar)},isEnabled:()=>!!t.currentWidget,isToggled:()=>{var e;let n=t.currentWidget;return null!=(e=null==n?void 0:n.content.scrollbar)&&e},describedBy:{args:{type:"object",properties:{}}}});let f=[i.createNew,i.createOutputView],b=()=>{Object.values(i).filter(t=>!f.includes(t)&&e.commands.hasCommand(t)).forEach(t=>e.commands.notifyCommandChanged(t))};t.currentChanged.connect(b),null==(c=p.currentChanged)||c.connect(b)}function ek(e,t){let n=t.load("jupyterlab"),o=n.__("Notebook Operations");[i.interrupt,i.restart,i.restartClear,i.restartRunAll,i.runAll,i.renderAllMarkdown,i.runAllAbove,i.runAllBelow,i.restartAndRunToSelected,i.selectAll,i.deselectAll,i.clearAllOutputs,i.toggleAllLines,i.editMode,i.commandMode,i.changeKernel,i.reconnectToKernel,i.createConsole,i.createSubshellConsole,i.closeAndShutdown,i.trust,i.toggleCollapseCmd,i.collapseAllCmd,i.expandAllCmd,i.accessPreviousHistory,i.accessNextHistory,i.virtualScrollbar].forEach(t=>{e.addItem({command:t,category:o})}),e.addItem({command:i.createNew,category:o,args:{isPalette:!0}}),o=n.__("Notebook Cell Operations"),[i.run,i.runAndAdvance,i.runAndInsert,i.runInConsole,i.clearOutputs,i.toCode,i.toMarkdown,i.toRaw,i.cut,i.copy,i.pasteBelow,i.pasteAbove,i.pasteAndReplace,i.deleteCell,i.copySelectedtext,i.pasteText,i.cutSelectedtext,i.split,i.merge,i.mergeAbove,i.mergeBelow,i.insertAbove,i.insertBelow,i.selectAbove,i.selectBelow,i.selectHeadingAboveOrCollapse,i.selectHeadingBelowOrExpand,i.insertHeadingAbove,i.insertHeadingBelow,i.extendAbove,i.extendTop,i.extendBelow,i.extendBottom,i.moveDown,i.moveUp,i.undoCellAction,i.redoCellAction,i.markdown1,i.markdown2,i.markdown3,i.markdown4,i.markdown5,i.markdown6,i.hideCode,i.showCode,i.hideAllCode,i.showAllCode,i.hideOutput,i.showOutput,i.toggleOutput,i.hideAllOutputs,i.showAllOutputs,i.toggleRenderSideBySideCurrentNotebook,i.setSideBySideRatio,i.enableOutputScrolling,i.disableOutputScrolling,i.selectLastModifiedCell,i.selectNextModifiedCell].forEach(t=>{e.addItem({command:t,category:o})})}function eD(e,t){e.editMenu.undoers.redo.add({id:i.redo,isEnabled:t}),e.editMenu.undoers.undo.add({id:i.undo,isEnabled:t}),e.editMenu.clearers.clearAll.add({id:i.clearAllOutputs,isEnabled:t}),e.editMenu.clearers.clearCurrent.add({id:i.clearOutputs,isEnabled:t}),e.fileMenu.consoleCreators.add({id:i.createConsole,isEnabled:t}),e.fileMenu.closeAndCleaners.add({id:i.closeAndShutdown,isEnabled:t}),e.kernelMenu.kernelUsers.changeKernel.add({id:i.changeKernel,isEnabled:t}),e.kernelMenu.kernelUsers.clearWidget.add({id:i.clearAllOutputs,isEnabled:t}),e.kernelMenu.kernelUsers.interruptKernel.add({id:i.interrupt,isEnabled:t}),e.kernelMenu.kernelUsers.reconnectToKernel.add({id:i.reconnectToKernel,isEnabled:t}),e.kernelMenu.kernelUsers.restartKernel.add({id:i.restart,isEnabled:t}),e.kernelMenu.kernelUsers.shutdownKernel.add({id:i.shutdown,isEnabled:t}),e.viewMenu.editorViewers.toggleLineNumbers.add({id:i.toggleAllLines,isEnabled:t}),e.viewMenu.editorViewers.toggleMinimap.add({id:i.virtualScrollbar,isEnabled:()=>!0}),e.runMenu.codeRunners.restart.add({id:i.restart,isEnabled:t}),e.runMenu.codeRunners.run.add({id:i.runAndAdvance,isEnabled:t}),e.runMenu.codeRunners.runAll.add({id:i.runAll,isEnabled:t}),e.helpMenu.getKernel.add({id:i.getKernel,isEnabled:t})}!function(e){function t(t,n){if(!e.isEnabled(t,n))return!1;let{content:i}=n.currentWidget,o=i.activeCellIndex;for(let e=0;e<i.widgets.length;++e)if(i.isSelected(i.widgets[e])&&e!==o)return!1;return!0}function n(t,n){if(!e.isEnabled(t,n))return!1;let{content:i}=n.currentWidget,o=i.activeCellIndex;if(!(i.activeCell instanceof a.MarkdownCell))return!1;for(let e=0;e<i.widgets.length;++e)if(i.isSelected(i.widgets[e])&&e!==o)return!1;return!0}e.createConsole=function(e,t,n,i){let o={path:t.context.path,preferredLanguage:t.context.model.defaultKernelLanguage,activate:n,subshell:i,ref:t.id,insertMode:"split-bottom",type:"Linked Console"};return e.execute("console:create",o)},e.isEnabled=function(e,t){return null!==t.currentWidget&&t.currentWidget===e.currentWidget},e.isEnabledAndSingleSelected=t,e.isEnabledAndHeadingSelected=n,e.getFormatLabels=function(e){let t=(e=e||B.nullTranslator).load("jupyterlab");return{html:t.__("HTML"),latex:t.__("LaTeX"),markdown:t.__("Markdown"),pdf:t.__("PDF"),rst:t.__("ReStructured Text"),script:t.__("Executable Script"),slides:t.__("Reveal.js Slides")}},e.raiseSilentNotification=function(e,t){let n=`sr-message-container-${t.id}`,i=document.getElementById(n)||document.createElement("div");i.getAttribute("id")!==n&&(i.setAttribute("id",n),t.appendChild(i)),i.classList.add("jp-sr-only"),i.setAttribute("role","alert"),i.setAttribute("aria-live","assertive"),i.setAttribute("aria-atomic","true"),i.hidden=!1,i.innerText=e};class i extends T.Panel{constructor(e){super(),this._cell=null;const t=(e.translator||B.nullTranslator).load("jupyterlab");this._notebook=e.notebook,this._index=void 0!==e.index?e.index:-1,this._cell=e.cell||null,this.id=`LinkedOutputView-${I.UUID.uuid4()}`,this.title.label=t.__("Output View"),this.title.icon=S.notebookIcon,this.title.caption=this._notebook.title.label?t.__("For Notebook: %1",this._notebook.title.label):t.__("For Notebook:"),this.addClass("jp-LinkedOutputView"),this._notebook.context.ready.then(()=>{if(this._cell||(this._cell=this._notebook.content.widgets[this._index]),!this._cell||"code"!==this._cell.model.type)return void this.dispose();let e=this._cell.cloneOutputArea();this.addWidget(e)})}get index(){return this._cell?M.ArrayExt.findFirstIndex(this._notebook.content.widgets,e=>e===this._cell):this._index}get path(){return this._notebook.context.path}}e.ClonedOutputArea=i}(o||(o={}))},90167(e,t,n){"use strict";n(82311),n(97777),n(82946),n(62971),n(38415),n(22595),n(45350),n(67474),n(5241),n(92508),n(41603),n(29099),n(74047),n(58613),n(13137),n(16382),n(47040),n(87779),n(14037),n(98462),n(67996),n(49669),n(335)},62494(e,t,n){"use strict";n.r(t),n.d(t,{CellCounterStatus:()=>S,CellList:()=>M,CellTypeSwitcher:()=>D,CommandEditStatus:()=>H,ExecutionIndicator:()=>N,ExecutionIndicatorComponent:()=>L,INotebookCellExecutor:()=>eQ,INotebookTools:()=>eK,INotebookTracker:()=>eZ,INotebookWidgetFactory:()=>eJ,KernelError:()=>_,Notebook:()=>eR,NotebookActions:()=>y,NotebookAdapter:()=>V,NotebookHistory:()=>P,NotebookModel:()=>O,NotebookModelFactory:()=>F,NotebookPanel:()=>eH,NotebookSearchProvider:()=>eY,NotebookToCFactory:()=>eG,NotebookToCModel:()=>eq,NotebookTools:()=>K,NotebookTracker:()=>eX,NotebookTrustStatus:()=>e4,NotebookViewModel:()=>el,NotebookWidgetFactory:()=>e5,NotebookWindowedLayout:()=>ed,RunningStatus:()=>a,StaticNotebook:()=>eP,ToolbarItems:()=>o,getIdForHeading:()=>e$,runCell:()=>f,setCellExecutor:()=>E});var i,o,r,s,a,l=n(97518),d=n(74005),c=n(28951),h=n(64421),u=n(2786),p=n(65819),m=n(55187),g=n(20659),A=n(60721),C=n.n(A);async function f({cell:e,notebook:t,notebookConfig:n,onCellExecuted:i,onCellExecutionScheduled:o,sessionContext:r,sessionDialogs:s,translator:a}){var c;let h=(a=null!=a?a:u.nullTranslator).load("jupyterlab");switch(e.model.type){case"markdown":e.rendered=!0,e.inputHidden=!1,i({cell:e,success:!0});break;case"code":if(r){if(r.isTerminating){await (0,l.showDialog)({title:h.__("Kernel Terminating"),body:h.__("The kernel for %1 appears to be terminating. You can not run any cell for now.",null==(c=r.session)?void 0:c.path),buttons:[l.Dialog.okButton()]});break}if(r.pendingInput)return await (0,l.showDialog)({title:h.__("Cell not executed due to pending input"),body:h.__("The cell has not been executed to avoid kernel deadlock as there is another pending input! Type your input in the input box, press Enter and try again."),buttons:[l.Dialog.okButton()]}),!1;if(r.hasNoKernel&&await r.startKernel()&&s&&await s.selectKernel(r),r.hasNoKernel)return e.model.sharedModel.transact(()=>{e.model.clearExecution()}),!0;let a=t.deletedCells;o({cell:e});let u=!1;try{let i=await d.CodeCell.execute(e,r,{deletedCells:a,recordTiming:n.recordTiming});a.splice(0,a.length),u=(()=>{if(e.isDisposed)return!1;if(!i)return!0;if("ok"===i.content.status){let n=i.content;return n.payload&&n.payload.length&&b(n,t,e),!0}throw new _(i.content)})()}catch(t){if(e.isDisposed||t.message.startsWith("Canceled"))u=!1;else throw i({cell:e,success:!1,error:t}),t}return u&&i({cell:e,success:!0}),u}e.model.sharedModel.transact(()=>{e.model.clearExecution()},!1)}return Promise.resolve(!0)}function b(e,t,n){var i;let o=null==(i=e.payload)?void 0:i.filter(e=>"set_next_input"===e.source)[0];if(!o)return;let r=o.text;if(o.replace)return void n.model.sharedModel.setSource(r);let s=t.sharedModel,a=t.cells,l=(0,p.findIndex)(a,e=>e===n.model);-1===l?s.insertCell(s.cells.length,{cell_type:"code",source:r,metadata:{trusted:!1}}):s.insertCell(l+1,{cell_type:"code",source:r,metadata:{trusted:!1}})}let v="application/vnd.jupyter.cells";class _ extends Error{constructor(e){const t=e,n=t.ename,i=t.evalue;super(`KernelReplyNotOK: ${n} ${i}`),this.errorName=n,this.errorValue=i,this.traceback=t.traceback,Object.setPrototypeOf(this,_.prototype)}}class y{static get executed(){return i.executed}static get executionScheduled(){return i.executionScheduled}static get selectionExecuted(){return i.selectionExecuted}static get outputCleared(){return i.outputCleared}}function E(e){if(i.executor)throw Error("Cell executor can only be set once.");i.executor=e}!function(e){let t=5e3;function n(e){let n=(null!=e?e:u.nullTranslator).load("jupyterlab");l.Notification.error(n.__("The cell is read-only and cannot be split."),{autoClose:t})}function o(e){let n=(null!=e?e:u.nullTranslator).load("jupyterlab");l.Notification.error(n.__("The cell is read-only and cannot be merged."),{autoClose:t})}function r(e,t){if(!e.model||!e.activeCell)return;let n=i.getState(e),o=e.widgets.findIndex(t=>e.isSelectedOrActive(t)),r=e.widgets.slice(o+1).findIndex(t=>!e.isSelectedOrActive(t));r>=0?r+=o+1:r=e.model.cells.length;let a=t>0?r:o+t;s(e,o,a,r-o),i.handleState(e,n,!0)}function s(e,t,n,o=1){if(!e.model||Math.min(e.model.cells.length-1,Math.max(0,n))===t)return;let r=[];for(let s of(e.widgets.slice(t,t+o).forEach(e=>{if(!(e instanceof d.CodeCell))return;let t=i.captureExecution(e);t&&r.push(t)}),e.moveCell(t,n,o),r))i.restoreExecution(e,s);if(r.length>0){let t=e.model.sharedModel.undoManager,n=t.undoStack[t.undoStack.length-1];null==n||n.meta.set(i.CELL_EXECUTION_META_KEY,r)}}function a(e,t="below",n,o=!1){if(!e.model||!e.activeCell)return;let r=i.getState(e),s=e.model;e.mode="command";let l=0,d=e.activeCellIndex;s.sharedModel.transact(()=>{switch(t){case"below":l=e.activeCellIndex+1;break;case"belowSelected":e.widgets.forEach((t,n)=>{e.isSelectedOrActive(t)&&(l=n+1)});break;case"above":l=e.activeCellIndex;break;case"replace":{let t=[];e.widgets.forEach((n,i)=>{let o=!1!==n.model.sharedModel.getMetadata("deletable");e.isSelectedOrActive(n)&&o&&t.push(i)}),t.length>0&&t.reverse().forEach(e=>{s.sharedModel.deleteCell(e)}),l=t[0]}}s.sharedModel.insertCells(l,n.map(t=>(t.id="code"===t.cell_type&&"cut"===e.lastClipboardInteraction&&"string"==typeof t.id?t.id:void 0,t)))}),e.activeCellIndex=d+n.length,e.deselectAll(),o&&e.recordCellClipboardInteraction("paste",n),i.handleState(e,r,!0)}function h(e){if(!e.model||!e.activeCell)return;let t=i.getState(e);e.widgets.forEach(t=>{e.isSelectedOrActive(t)&&"code"===t.model.type&&(t.outputHidden=!0)}),i.handleState(e,t,!0)}function g(e){if(!e.model||!e.activeCell)return;let t=i.getState(e);e.widgets.forEach(t=>{e.isSelectedOrActive(t)&&"code"===t.model.type&&(t.outputHidden=!1)}),i.handleState(e,t)}function C(t){let n=i.getState(t);for(let n of t.widgets)e.getHeadingInfo(n).isHeading&&(e.setHeadingCollapse(n,!0,t),e.setCellCollapse(n,!0));t.activeCellIndex=0,i.handleState(t,n,!0)}function f(t){for(let n of t.widgets)e.getHeadingInfo(n).isHeading&&(e.setHeadingCollapse(n,!1,t),e.setCellCollapse(n,!1))}function b(e,t){let n=(0,p.findIndex)(t.widgets,(t,n)=>e.model.id===t.model.id);if(-1===n||n>=t.widgets.length)return;let i=w(t.widgets[n]);for(let e=n-1;e>=0;e--)if(e<t.widgets.length){let n=w(t.widgets[e]);if(n.isHeading&&n.headingLevel<i.headingLevel)return t.widgets[e]}}function _(e,t){let n=b(e,t);!n||(w(n).collapsed||n.isHidden)&&(n.isHidden&&_(n,t),w(n).collapsed&&y(n,!1,t))}function y(t,n,i){let o,r=(0,p.findIndex)(i.widgets,(e,n)=>t.model.id===e.model.id);if(-1===r)return -1;if(!i.widgets.length)return r+1;let s=e.getHeadingInfo(t);if(t.isHidden||!(t instanceof d.MarkdownCell)||!s.isHeading)return r+1;let a=!1,l=0;for(o=r+1;o<i.widgets.length;o++){let r=i.widgets[o],d=e.getHeadingInfo(r),c=r.headingsResolved;if(-1===d.headingLevel&&!c){requestAnimationFrame(()=>{y(t,n,i)});break}if(d.isHeading&&d.headingLevel<=s.headingLevel){o-=1;break}if(a&&d.isHeading&&d.headingLevel<=l&&(a=!1),n||a){r.setHidden(!0);continue}d.collapsed&&d.isHeading&&(a=!0,l=d.headingLevel),r.setHidden(!1)}return o===i.widgets.length?t.numberChildNodes=o-r-1:t.numberChildNodes=o-r,e.setCellCollapse(t,n),o+1}function E(t){if(!t.activeCell||void 0===t.activeCellIndex)return;let n=e.getHeadingInfo(t.activeCell);n.isHeading&&e.setHeadingCollapse(t.activeCell,!n.collapsed,t),t.scrollToItem(t.activeCellIndex).catch(e=>{})}function w(e){if(!(e instanceof d.MarkdownCell))return{isHeading:!1,headingLevel:7};let t=e.headingInfo.level;return{isHeading:t>0,headingLevel:t,collapsed:e.headingCollapsed}}async function j(e,t={waitUntilReady:!0,preventScroll:!1}){let{activeCell:n}=e,{waitUntilReady:i,preventScroll:o}=t;!n||(i&&await n.ready,e.isDisposed||n.isDisposed||n.node.focus({preventScroll:o}))}e.splitCell=function(e,t){let o;if(!e.model||!e.activeCell)return;if(!1===e.activeCell.model.getMetadata("editable"))return void n(t);let r=i.getState(e);e.mode="edit",e.deselectAll();let s=e.model,a=e.activeCellIndex,l=e.widgets[a],c=l.editor;if(!c)return;let h=c.getSelections(),u=l.model.sharedModel.getSource(),p=[0],m=-1,g=-1;for(let e=0;e<h.length;e++)(m=c.getOffsetAt(h[e].start))<(g=c.getOffsetAt(h[e].end))?(p.push(m),p.push(g)):(g<m&&p.push(g),p.push(m));p.push(u.length);let{cell_type:A,metadata:C}=l.model.sharedModel.toJSON(),f=JSON.parse(JSON.stringify(null!=C?C:{}));"code"===A&&f.execution&&f.execution["iopub.execute_input"]&&!f.execution["shell.execute_reply"]&&delete f.execution;let b=p.slice(0,-2).map((e,t)=>({cell_type:A,metadata:JSON.parse(JSON.stringify(f)),source:u.slice(e,p[t+1]).replace(/^\n+/,"").replace(/\n+$/,""),outputs:void 0})),v=p[p.length-2],_=p[p.length-1],y=u.slice(v,_).replace(/^\n+/,"").replace(/\n+$/,"");if(s.sharedModel.transact(()=>{if(b.length>0&&s.sharedModel.insertCells(a,b),l.model.sharedModel.setSource(y),l.model instanceof d.CodeCellModel){let e=l.model;"running"===e.executionState&&(e.isDirty=!0)}}),m!==g){let e=0;for(let t=0;t<p.length-1;t++)if(m>=p[t]&&m<p[t+1]){e=t;break}o=a+e}else o=a+b.length;e.activeCellIndex=o,e.scrollToItem(e.activeCellIndex).then(()=>{var t;null==(t=e.activeCell)||t.editor.focus()}).catch(e=>{}),i.handleState(e,r)},e.mergeCells=function(e,t=!1,n=!0,r){if(!e.model||!e.activeCell)return;let s=i.getState(e),a=[],l=[],c=e.model,h=c.cells,u=e.activeCell,p=e.activeCellIndex,m={},g=!1;if(e.widgets.forEach((t,n)=>{if(e.isSelectedOrActive(t)){if(!1===t.model.getMetadata("editable")){g=!0;return}a.push(t.model.sharedModel.getSource()),n!==p&&l.push(n);let e=t.model;if((0,d.isRawCellModel)(e)||(0,d.isMarkdownCellModel)(e))for(let t of e.attachments.keys)m[t]=e.attachments.get(t).toJSON()}}),g)return void o(r);if(1===a.length){if(!0===t){if(0===p)return;if(!1===e.widgets[p-1].model.getMetadata("editable"))return void o(r);let t=h.get(p-1);a.unshift(t.sharedModel.getSource()),l.push(p-1)}else if(!1===t){if(p===h.length-1)return;if(!1===e.widgets[p+1].model.getMetadata("editable"))return void o(r);let t=h.get(p+1);a.push(t.sharedModel.getSource()),l.push(p+1)}}e.deselectAll();let A=u.model.sharedModel,{cell_type:C,metadata:f}=A.toJSON();"code"===A.cell_type&&(f.trusted=!0);let b={cell_type:C,metadata:f,source:a.join(n?"\n\n":"\n"),attachments:"markdown"===A.cell_type||"raw"===A.cell_type?m:void 0},v=[];if([p,...l].forEach(t=>{let n=e.widgets[t];if(!(n instanceof d.CodeCell))return;let o=i.captureExecution(n);o&&v.push(o)}),c.sharedModel.transact(()=>{c.sharedModel.deleteCell(p),c.sharedModel.insertCell(p,b),l.sort((e,t)=>t-e).forEach(e=>{c.sharedModel.deleteCell(e)})}),v.length>0){let e=c.sharedModel.undoManager,t=e.undoStack[e.undoStack.length-1];null==t||t.meta.set(i.CELL_EXECUTION_META_KEY,v)}u instanceof d.MarkdownCell&&(e.activeCell.rendered=!1),i.handleState(e,s)},e.deleteCells=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e);i.deleteCells(e),i.handleState(e,t,!0)},e.insertAbove=function(e){if(!e.model)return;let t=i.getState(e),n=e.model,o=e.activeCell?e.activeCellIndex:0;n.sharedModel.insertCell(o,{cell_type:e.notebookConfig.defaultCell,metadata:"code"===e.notebookConfig.defaultCell?{trusted:!0}:{}}),e.activeCellIndex=o,e.deselectAll(),i.handleState(e,t,!0)},e.insertBelow=function(e){if(!e.model)return;let t=i.getState(e),n=e.model,o=e.activeCell?e.activeCellIndex+1:0;n.sharedModel.insertCell(o,{cell_type:e.notebookConfig.defaultCell,metadata:"code"===e.notebookConfig.defaultCell?{trusted:!0}:{}}),e.activeCellIndex=o,e.deselectAll(),i.handleState(e,t,!0)},e.moveCells=s,e.moveDown=function(e){r(e,1)},e.moveUp=function(e){r(e,-1)},e.changeCellType=function(e,t,n){if(!e.model||!e.activeCell)return;let o=i.getState(e);i.changeCellType(e,t,{translator:n}),i.handleState(e,o)},e.run=function(e,t,n,o){if(!e.model||!e.activeCell)return Promise.resolve(!1);let r=i.getState(e),s=i.runSelected(e,t,n,o);return i.handleRunState(e,r),s},e.runCells=function(e,t,n,o,r){if(!e.model)return Promise.resolve(!1);let s=i.getState(e),a=i.runCells(e,t,n,o,r);return i.handleRunState(e,s),a},e.runAndAdvance=async function(e,t,n,o){var r;if(!e.model||!e.activeCell)return Promise.resolve(!1);let s=i.getState(e),a=i.runSelected(e,t,n,o),l=e.model;return e.activeCellIndex===e.widgets.length-1?(l.sharedModel.insertCell(e.widgets.length,{cell_type:e.notebookConfig.defaultCell,metadata:"code"===e.notebookConfig.defaultCell?{trusted:!0}:{}}),e.activeCellIndex++,(null==(r=e.activeCell)?void 0:r.inViewport)===!1&&await (0,c.signalToPromise)(e.activeCell.inViewportChanged,200).catch(()=>{}),e.mode="edit"):e.activeCellIndex++,i.handleRunState(e,s,"center"),a},e.runAndInsert=async function(e,t,n,o){var r;if(!e.model||!e.activeCell)return Promise.resolve(!1);let s=i.getState(e),a=i.runSelected(e,t,n,o);return e.model.sharedModel.insertCell(e.activeCellIndex+1,{cell_type:e.notebookConfig.defaultCell,metadata:"code"===e.notebookConfig.defaultCell?{trusted:!0}:{}}),e.activeCellIndex++,(null==(r=e.activeCell)?void 0:r.inViewport)===!1&&await (0,c.signalToPromise)(e.activeCell.inViewportChanged,200).catch(()=>{}),e.mode="edit",i.handleRunState(e,s,"center"),a},e.runAll=function(e,t,n,o){if(!e.model||!e.activeCell)return Promise.resolve(!1);let r=i.getState(e),s=e.widgets.length,a=i.runCells(e,e.widgets,t,n,o);return e.activeCellIndex=s,e.deselectAll(),i.handleRunState(e,r),a},e.renderAllMarkdown=function(e){if(!e.model||!e.activeCell)return Promise.resolve(!1);let t=e.activeCellIndex,n=i.getState(e);if(e.widgets.forEach((t,n)=>{"markdown"===t.model.type&&(e.select(t),e.activeCellIndex=n)}),"markdown"!==e.activeCell.model.type)return Promise.resolve(!0);let o=i.runSelected(e);return e.activeCellIndex=t,i.handleRunState(e,n),o},e.runAllAbove=function(e,t,n,o){let{activeCell:r,activeCellIndex:s,model:a}=e;if(!a||!r||s<1)return Promise.resolve(!1);let l=i.getState(e),d=i.runCells(e,e.widgets.slice(0,e.activeCellIndex),t,n,o);return e.deselectAll(),i.handleRunState(e,l),d},e.runAllBelow=function(e,t,n,o){if(!e.model||!e.activeCell)return Promise.resolve(!1);let r=i.getState(e),s=e.widgets.length,a=i.runCells(e,e.widgets.slice(e.activeCellIndex),t,n,o);return e.activeCellIndex=s,e.deselectAll(),i.handleRunState(e,r),a},e.replaceSelection=function(e,t){var n,i,o;e.model&&(null==(n=e.activeCell)?void 0:n.editor)&&(null==(o=(i=e.activeCell.editor).replaceSelection)||o.call(i,t))},e.selectAbove=function(e){if(!e.model||!e.activeCell)return;let t=e.layout.footer;if(t&&document.activeElement===t.node){t.node.blur(),e.mode="command";return}if(0===e.activeCellIndex)return;let n=e.activeCellIndex-1;for(;n>=0;){let t=e.widgets[n];if(!t.inputHidden&&!t.isHidden)break;n-=1}let o=i.getState(e);e.activeCellIndex=n,e.deselectAll(),i.handleState(e,o,!0)},e.selectBelow=function(e){if(!e.model||!e.activeCell)return;let t=e.widgets.length-1;for(;e.widgets[t].isHidden||e.widgets[t].inputHidden;)t-=1;if(e.activeCellIndex===t){let t=e.layout.footer;null==t||t.node.focus();return}let n=e.activeCellIndex+1;for(;n<t;){let t=e.widgets[n];if(!t.inputHidden&&!t.isHidden)break;n+=1}let o=i.getState(e);e.activeCellIndex=n,e.deselectAll(),i.handleState(e,o,!0)},e.insertSameLevelHeadingAbove=async function(e){if(!e.model||!e.activeCell)return;let t=i.Headings.determineHeadingLevel(e.activeCell,e);-1==t?await i.Headings.insertHeadingAboveCellIndex(0,1,e):await i.Headings.insertHeadingAboveCellIndex(e.activeCellIndex,t,e)},e.insertSameLevelHeadingBelow=async function(e){if(!e.model||!e.activeCell)return;let t=i.Headings.determineHeadingLevel(e.activeCell,e);t=t>-1?t:1;let n=i.Headings.findLowerEqualLevelHeadingBelow(e.activeCell,e,!0);await i.Headings.insertHeadingAboveCellIndex(-1==n?e.model.cells.length:n,t,e)},e.selectHeadingAboveOrCollapseHeading=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e),n=w(e.activeCell);if(n.isHeading&&!n.collapsed)y(e.activeCell,!0,e);else{let t=i.Headings.findLowerEqualLevelParentHeadingAbove(e.activeCell,e,!0);t>-1&&(e.activeCellIndex=t)}e.deselectAll(),i.handleState(e,t,!0)},e.selectHeadingBelowOrExpandHeading=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e),n=w(e.activeCell);if(n.isHeading&&n.collapsed)y(e.activeCell,!1,e);else{let t=i.Headings.findHeadingBelow(e.activeCell,e,!0);t>-1&&(e.activeCellIndex=t)}e.deselectAll(),i.handleState(e,t,!0)},e.extendSelectionAbove=function(e,t=!1){if(!e.model||!e.activeCell||0===e.activeCellIndex)return;let n=i.getState(e);e.mode="command",t?e.extendContiguousSelectionTo(0):e.extendContiguousSelectionTo(e.activeCellIndex-1),i.handleState(e,n,!0)},e.extendSelectionBelow=function(e,t=!1){if(!e.model||!e.activeCell||e.activeCellIndex===e.widgets.length-1)return;let n=i.getState(e);e.mode="command",t?e.extendContiguousSelectionTo(e.widgets.length-1):e.extendContiguousSelectionTo(e.activeCellIndex+1),i.handleState(e,n,!0)},e.selectAll=function(e){e.model&&e.activeCell&&e.widgets.forEach(t=>{e.select(t)})},e.deselectAll=function(e){e.model&&e.activeCell&&e.deselectAll()},e.copy=function(e){i.copyOrCut(e,!1)},e.copyToSystemClipboard=async function(e){await i.copyOrCutToSystemClipboard(e,!1)},e.cut=function(e){i.copyOrCut(e,!0)},e.cutToSystemClipboard=async function(e){await i.copyOrCutToSystemClipboard(e,!0)},e.paste=function(e,t="below",n){let o=l.Clipboard.getInstance();if(!o.hasData(v))return;let r=o.getData(v);(null==n?void 0:n.stripOutputs)&&(r=i.stripCodeCellOutputs(r)),a(e,t,r,!0),j(e)},e.pasteFromSystemClipboard=async function(e,t="below",n){let o=l.SystemClipboard.getInstance(),r=await o.getData(v);if(null==r)return;let s=r;(null==n?void 0:n.stripOutputs)&&(s=i.stripCodeCellOutputs(s)),a(e,t,s,!0),j(e)},e.duplicate=function(e,t="below"){let n=i.selectedCells(e);n&&0!==n.length&&a(e,t,n,!1)},e.undo=function(e){let t;if(!e.model)return;let n=i.getState(e);e.mode="command";let o=e.model.sharedModel.undoManager,r=o.undoStack[o.undoStack.length-1],s=null==r?void 0:r.meta.get(i.CELL_EXECUTION_META_KEY),a=new Map;null==s||s.forEach(t=>{var n;let o=e.widgets.find(e=>e.model.id===t.cellId);if(!(o instanceof d.CodeCell))return;let r=null!=(n=i.captureExecution(o))?n:{...t,isDone:()=>!0,buffered:[]};r.outputs=o.model.outputs.toJSON(),a.set(t.cellId,r)});let l=({stackItem:e})=>{t=e.meta.get(i.CELL_EXECUTION_META_KEY)};o.on("stack-item-popped",l),e.model.sharedModel.undo(),o.off("stack-item-popped",l),null==t||t.forEach(t=>{var n;i.restoreExecution(e,null!=(n=a.get(t.cellId))?n:t)}),e.deselectAll(),i.handleState(e,n)},e.redo=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e);e.mode="command",e.model.sharedModel.redo(),e.deselectAll(),i.handleState(e,t)},e.toggleAllLineNumbers=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e),n=e.editorConfig,o=!(n.code.lineNumbers&&n.markdown.lineNumbers&&n.raw.lineNumbers);e.editorConfig={code:{...n.code,lineNumbers:o},markdown:{...n.markdown,lineNumbers:o},raw:{...n.raw,lineNumbers:o}},i.handleState(e,t)},e.clearOutputs=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e),n=-1;for(let t of e.model.cells){let o=e.widgets[++n];e.isSelectedOrActive(o)&&"code"===t.type&&(t.sharedModel.transact(()=>{t.clearExecution(),o.outputHidden=!1},!1),i.outputCleared.emit({notebook:e,cell:o}))}i.handleState(e,t,!0)},e.clearAllOutputs=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e),n=-1;for(let t of e.model.cells){let o=e.widgets[++n];"code"===t.type&&(t.sharedModel.transact(()=>{t.clearExecution(),o.outputHidden=!1},!1),i.outputCleared.emit({notebook:e,cell:o}))}i.handleState(e,t,!0)},e.hideCode=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e);e.widgets.forEach(t=>{e.isSelectedOrActive(t)&&"code"===t.model.type&&(t.inputHidden=!0)}),i.handleState(e,t)},e.showCode=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e);e.widgets.forEach(t=>{e.isSelectedOrActive(t)&&"code"===t.model.type&&(t.inputHidden=!1)}),i.handleState(e,t)},e.hideAllCode=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e);e.widgets.forEach(e=>{"code"===e.model.type&&(e.inputHidden=!0)}),i.handleState(e,t)},e.showAllCode=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e);e.widgets.forEach(e=>{"code"===e.model.type&&(e.inputHidden=!1)}),i.handleState(e,t)},e.hideOutput=h,e.showOutput=g,e.toggleOutput=function(e){if(e.model&&e.activeCell){for(let t of e.widgets)if(e.isSelectedOrActive(t)&&"code"===t.model.type&&!1===t.outputHidden)return h(e);return g(e)}},e.hideAllOutputs=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e);e.widgets.forEach(e=>{"code"===e.model.type&&(e.outputHidden=!0)}),i.handleState(e,t,!0)},e.renderSideBySide=function(e){e.renderingLayout="side-by-side"},e.renderDefault=function(e){e.renderingLayout="default"},e.showAllOutputs=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e);e.widgets.forEach(e=>{"code"===e.model.type&&(e.outputHidden=!1)}),i.handleState(e,t)},e.enableOutputScrolling=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e);e.widgets.forEach(t=>{e.isSelectedOrActive(t)&&"code"===t.model.type&&(t.outputsScrolled=!0)}),i.handleState(e,t,!0)},e.disableOutputScrolling=function(e){if(!e.model||!e.activeCell)return;let t=i.getState(e);e.widgets.forEach(t=>{e.isSelectedOrActive(t)&&"code"===t.model.type&&(t.outputsScrolled=!1)}),i.handleState(e,t)},e.selectLastRunCell=function(e){let t=null,n=null;e.widgets.forEach((e,i)=>{if("code"===e.model.type){let o=e.model.getMetadata("execution");if(o&&m.JSONExt.isObject(o)&&void 0!==o["iopub.status.busy"]){let e=o["iopub.status.busy"].toString();if(e){let o=new Date(e);(!t||o>=t)&&(t=o,n=i)}}}}),null!==n&&(e.activeCellIndex=n)},e.selectLastModifiedCell=async function(e){let t=e.popLastModifiedCell();t&&t!==e.activeCell&&!t.isDisposed&&(e.activeCellIndex=e.widgets.indexOf(t),await e.scrollToCell(t))},e.selectNextModifiedCell=async function(e){let t=e.popNextModifiedCell();t&&t!==e.activeCell&&!t.isDisposed&&(e.activeCellIndex=e.widgets.indexOf(t),await e.scrollToCell(t))},e.setMarkdownHeader=function(e,t,n){if(!e.model||!e.activeCell)return;let o=i.getState(e);t=Math.min(Math.max(t,1),6),i.changeCellType(e,"markdown",{translator:n,headingLevel:t}),i.handleState(e,o)},e.collapseAllHeadings=C,e.expandAllHeadings=f,e.expandParent=_,e.findNextParentHeading=function(e,t){let n=(0,p.findIndex)(t.widgets,(t,n)=>e.model.id===t.model.id);if(-1===n)return -1;let i=w(e);for(n+=1;n<t.widgets.length;n++){let e=w(t.widgets[n]);if(e.isHeading&&e.headingLevel<=i.headingLevel)return n}return t.widgets.length},e.setHeadingCollapse=y,e.toggleCurrentHeadingCollapse=E,e.setCellCollapse=function(e,t){e instanceof d.MarkdownCell?e.headingCollapsed=t:e.setHidden(t)},e.getHeadingInfo=w,e.trust=function(e,t){let n=(t=t||u.nullTranslator).load("jupyterlab");if(!e.model)return Promise.resolve({trusted:!1});let i=(0,p.every)(e.model.cells,e=>e.trusted),o=A.createElement("p",null,n.__("A trusted Jupyter notebook may execute hidden malicious code when you open it."),A.createElement("br",null),n.__('Selecting "Trust" will re-render this notebook in a trusted state.'),A.createElement("br",null),n.__("For more information, see")," ",A.createElement("a",{href:"https://jupyter-server.readthedocs.io/en/stable/operators/security.html",target:"_blank",rel:"noopener noreferrer"},n.__("the Jupyter security documentation")),".");return i?(0,l.showDialog)({body:n.__("Notebook is already trusted"),buttons:[l.Dialog.okButton()]}).then(()=>({trusted:!0})):(0,l.showDialog)({body:o,title:n.__("Trust this notebook?"),buttons:[l.Dialog.cancelButton(),l.Dialog.warnButton({label:n.__("Trust"),ariaLabel:n.__("Confirm Trusting this notebook")})]}).then(t=>{if(t.button.accept){if(e.model)for(let t of e.model.cells)t.trusted=!0;return{trusted:!0}}return{trusted:!1}})},e.focusActiveCell=j,e.accessPreviousHistory=async function(e){if(!e.notebookConfig.accessKernelHistory)return;let t=e.activeCell;if(t&&e.kernelHistory){let n=await e.kernelHistory.back(t);e.kernelHistory.updateEditor(t,n)}},e.accessNextHistory=async function(e){if(!e.notebookConfig.accessKernelHistory)return;let t=e.activeCell;if(t&&e.kernelHistory){let n=await e.kernelHistory.forward(t);e.kernelHistory.updateEditor(t,n)}}}(y||(y={})),function(e){let t;function n(e){var t,n;return{wasFocused:e.node.contains(document.activeElement),activeCellId:null!=(n=null==(t=e.activeCell)?void 0:t.model.id)?n:null}}async function i(e,t,n=!1){let{activeCell:o,activeCellIndex:r}=e;n&&o&&await e.scrollToItem(r,"auto",0).catch(e=>{}),(t.wasFocused||"edit"===e.mode)&&e.activate()}function o(t,n,i,o,s){let a=n[n.length-1];t.mode="command";let d=!1;return Promise.all(n.map(e=>{if("code"===e.model.type&&t.notebookConfig.enableKernelInitNotification&&i&&"initializing"===i.kernelDisplayStatus&&!d){d=!0;let e=(s=s||u.nullTranslator).load("jupyterlab");return l.Notification.emit(e.__(`Kernel '${i.kernelDisplayName}' for '${i.path}' is still initializing. You can run code cells when the kernel has initialized.`),"warning",{autoClose:!1}),Promise.resolve(!1)}return"code"===e.model.type&&t.notebookConfig.enableKernelInitNotification&&d?Promise.resolve(!1):r(t,e,i,o,s)})).then(n=>!t.isDisposed&&(e.selectionExecuted.emit({notebook:t,lastCell:a}),t.update(),n.every(e=>e))).catch(i=>{if(i.message.startsWith("KernelReplyNotOK"))n.map(e=>{"code"===e.model.type&&null==e.model.executionCount&&(e.model.executionState="idle")});else throw i;return e.selectionExecuted.emit({notebook:t,lastCell:a}),t.update(),!1})}async function r(t,n,i,o,r){e.executor||console.warn("Requesting cell execution without any cell executor defined. Falling back to default execution.");let s={cell:n,notebook:t.model,notebookConfig:t.notebookConfig,onCellExecuted:n=>{e.executed.emit({notebook:t,...n})},onCellExecutionScheduled:n=>{e.executionScheduled.emit({notebook:t,...n})},sessionContext:i,sessionDialogs:o,translator:r};return e.executor?e.executor.runCell(s):f(s)}function s(t,o){if(!t.model||!t.activeCell)return;let r=n(t),s=l.Clipboard.getInstance();t.mode="command",s.clear();let a=e.selectedCells(t);s.setData(v,a),o?A(t):t.deselectAll(),o?t.recordCellClipboardInteraction("cut",a):t.recordCellClipboardInteraction("copy",a),i(t,r)}async function a(t,o){if(!t.model||!t.activeCell)return;let r=n(t),s=l.SystemClipboard.getInstance();t.mode="command",s.clear();let a=e.selectedCells(t);await s.setData(v,a),o?A(t):t.deselectAll(),o?t.recordCellClipboardInteraction("cut",a):t.recordCellClipboardInteraction("copy",a),i(t,r)}function p(t,n,i){let{translator:o,headingLevel:r}=null!=i?i:{},s=t.model.sharedModel;t.widgets.forEach((i,a)=>{if(t.isSelectedOrActive(i)){if("code"===i.model.type&&i.outputArea.pendingInput){let e=(null!=o?o:u.nullTranslator).load("jupyterlab");(0,l.showDialog)({title:e.__("Cell type not changed due to pending input"),body:e.__("The cell type has not been changed to avoid kernel deadlock as this cell has pending input! Submit your pending input and try again."),buttons:[l.Dialog.okButton()]});return}if(!1==i.model.getMetadata("editable")){let e=(null!=o?o:u.nullTranslator).load("jupyterlab");(0,l.showDialog)({title:e.__("Cell is read-only"),body:e.__("The cell is read-only, its type cannot be changed!"),buttons:[l.Dialog.okButton()]});return}if(i.model.type!==n){let t=i.model.toJSON(),o=t.source;void 0!==r&&(o=e.setMarkdownHeader(o,r));let l=i instanceof d.CodeCell?e.captureExecution(i):void 0;if(s.transact(()=>{s.deleteCell(a),"code"===n?t.metadata.trusted=!0:t.metadata.trusted=void 0;let e=s.insertCell(a,{id:t.id,cell_type:n,source:o,metadata:t.metadata});t.attachments&&["markdown","raw"].includes(n)&&(e.attachments=t.attachments)}),l){let t=s.undoManager,n=t.undoStack[t.undoStack.length-1];null==n||n.meta.set(e.CELL_EXECUTION_META_KEY,[l])}}else"markdown"===n&&void 0!==r&&s.transact(()=>{i.model.sharedModel.setSource(e.setMarkdownHeader(i.model.sharedModel.getSource(),r))});"markdown"===n&&((i=t.widgets[a]).rendered=!1)}}),t.deselectAll()}function A(t){let n=t.model.sharedModel,i=[];if(t.mode="command",t.widgets.forEach((e,n)=>{var o;let r=!1!==e.model.getMetadata("deletable");t.isSelectedOrActive(e)&&r&&(i.push(n),null==(o=t.model)||o.deletedCells.push(e.model.id))}),i.length>0){let o=[];if(i.forEach(n=>{let i=t.widgets[n];if(!(i instanceof d.CodeCell))return;let r=e.captureExecution(i);r&&o.push(r)}),n.transact(()=>{i.reverse().forEach(e=>{n.deleteCell(e)}),n.cells.length==i.length&&n.insertCell(0,{cell_type:t.notebookConfig.defaultCell,metadata:"code"===t.notebookConfig.defaultCell?{trusted:!0}:{}})}),o.length>0){let t=n.undoManager,i=t.undoStack[t.undoStack.length-1];null==i||i.meta.set(e.CELL_EXECUTION_META_KEY,o)}t.activeCellIndex=i[0]-i.length+1}t.deselectAll()}e.CELL_EXECUTION_META_KEY=Symbol("cellExecutionState"),e.captureExecution=function(e){let t=e.outputArea.detachFuture();if(!t)return null;let n=!1;t.done.finally(()=>{n=!0});let i=[];return t.onIOPub=e=>{i.push({channel:"iopub",msg:e})},t.onStdin=e=>{i.push({channel:"stdin",msg:e})},t.onReply=e=>{i.push({channel:"reply",msg:e})},{cellId:e.model.id,future:t,isDone:()=>n,buffered:i}},e.restoreExecution=function(e,{cellId:t,future:n,isDone:i,buffered:o,outputs:r}){let s=e.widgets.find(e=>e.model.id===t);if(!(s instanceof d.CodeCell))return;for(let e of(r&&!m.JSONExt.deepEqual(r,s.model.outputs.toJSON())&&s.model.outputs.fromJSON(r),s.outputArea.reattachFuture(n),o))switch(e.channel){case"iopub":n.onIOPub(e.msg);break;case"stdin":n.onStdin(e.msg);break;case"reply":n.onReply(e.msg)}i()?s.model.executionState="idle":s.model.executionState="running";let a=s;n.done.then(e=>{a.isDisposed||(a.model.executionCount=e.content.execution_count,a.model.executionState="idle")},()=>{a.isDisposed||(a.model.executionState="idle")})},e.executed=new g.Signal({}),e.executionScheduled=new g.Signal({}),e.selectionExecuted=new g.Signal({}),e.outputCleared=new g.Signal({}),e.getState=n,e.handleState=i,e.handleRunState=async function(e,t,n){let{activeCell:i,activeCellIndex:o}=e;i&&await e.scrollToItem(o,"smart",0,n).catch(e=>{}),(t.wasFocused||"edit"===e.mode)&&e.activate()},e.runCells=o,e.runSelected=function(e,t,n,i){e.mode="command";let r=e.activeCellIndex,s=e.widgets.filter((t,n)=>{let i=e.isSelectedOrActive(t);return i&&(r=n),i});return e.activeCellIndex=r,e.deselectAll(),o(e,s,t,n,i)},e.stripCodeCellOutputs=function(e){return e.map(e=>{let t=m.JSONExt.deepCopy(e);return t&&h.isCode(t)&&(t.outputs=[],t.execution_count=null),t})},e.selectedCells=function(e){return e.widgets.filter(t=>e.isSelectedOrActive(t)).map(e=>e.model.toJSON()).map(e=>(void 0!==e.metadata.deletable&&delete e.metadata.deletable,e))},e.copyOrCut=s,e.copyOrCutToSystemClipboard=a,e.changeCellType=p,e.deleteCells=A,e.setMarkdownHeader=function(e,t){let n=/^#+\s*|^\s*/,i=Array(t+1).join("#")+" ",o=n.exec(e);return o&&(e=e.slice(o[0].length)),i+e},function(t){function n(e,t,i=!1,o=!1){let r=t.widgets.indexOf(e)-!!i;for(;r>=0;){if(y.getHeadingInfo(t.widgets[r]).isHeading)return o?r:t.widgets[r];r--}return o?-1:null}t.findParentHeading=n,t.findLowerEqualLevelParentHeadingAbove=function(t,n,i=!1){let o=e.Headings.determineHeadingLevel(t,n);-1==o&&(o=1);let r=n.widgets.indexOf(t)-1;for(;r>=0;){let e=n.widgets[r],t=y.getHeadingInfo(e);if(t.isHeading&&t.headingLevel<=o)return i?r:e;r--}return i?-1:null},t.findLowerEqualLevelHeadingBelow=function(t,n,i=!1){let o=e.Headings.determineHeadingLevel(t,n);-1==o&&(o=1);let r=n.widgets.indexOf(t)+1;for(;r<n.widgets.length;){let e=n.widgets[r],t=y.getHeadingInfo(e);if(t.isHeading&&t.headingLevel<=o)return i?r:e;r++}return i?-1:null},t.findHeadingBelow=function(e,t,n=!1){let i=t.widgets.indexOf(e)+1;for(;i<t.widgets.length;){let e=t.widgets[i];if(y.getHeadingInfo(e).isHeading)return n?i:e;i++}return n?-1:null},t.determineHeadingLevel=function(e,t){let i=y.getHeadingInfo(e);if(i.isHeading)return i.headingLevel;{let i=n(e,t,!0);return null==i?-1:y.getHeadingInfo(i).headingLevel}},t.insertHeadingAboveCellIndex=async function(t,n,i){var o;n=Math.min(Math.max(n,1),6);let r=e.getState(i);i.model.sharedModel.insertCell(t,{cell_type:"markdown",source:"#".repeat(n)+" "}),i.activeCellIndex=t,(null==(o=i.activeCell)?void 0:o.inViewport)===!1&&await (0,c.signalToPromise)(i.activeCell.inViewportChanged,200).catch(()=>{}),i.deselectAll(),e.handleState(i,r,!0),i.mode="edit",i.widgets[t].setHidden(!1)}}(t=e.Headings||(e.Headings={}))}(i||(i={}));var w=n(59057),j=n(8989);class x extends C().Component{constructor(e){super(e),this._handleChange=e=>{this.setState({value:e.currentTarget.value})},this._handleSubmit=e=>{var t,n;e.preventDefault();let i=parseInt(null!=(n=null==(t=this._textInput)?void 0:t.value)?n:"",10);return!isNaN(i)&&isFinite(i)&&1<=i&&i<=this.props.maxCell&&this.props.handleSubmit(i),!1},this._handleFocus=()=>{this.setState({hasFocus:!0})},this._handleBlur=()=>{this.setState({hasFocus:!1})},this._textInput=null;const t=e.translator||u.nullTranslator;this._trans=t.load("jupyterlab"),this.state={value:"",hasFocus:!1,textInputId:l.DOMUtils.createDomID()+"-cell-number-input"}}componentDidMount(){var e;null==(e=this._textInput)||e.focus()}render(){return C().createElement("div",{className:"jp-lineFormSearch"},C().createElement("form",{name:"cellNumberForm",onSubmit:this._handleSubmit,noValidate:!0},C().createElement("div",{className:(0,j.classes)("jp-lineFormWrapper","lm-lineForm-wrapper",this.state.hasFocus?"jp-lineFormWrapperFocusWithin":void 0)},C().createElement("input",{type:"number",id:this.state.textInputId,className:"jp-lineFormInput",min:1,max:this.props.maxCell,onChange:this._handleChange,onFocus:this._handleFocus,onBlur:this._handleBlur,value:this.state.value,ref:e=>{this._textInput=e}}),C().createElement("div",{className:"jp-baseLineForm jp-lineFormButtonContainer"},C().createElement(j.lineFormIcon.react,{className:"jp-baseLineForm jp-lineFormButtonIcon",elementPosition:"center"}),C().createElement("input",{type:"submit",className:"jp-baseLineForm jp-lineFormButton",value:""}))),C().createElement("label",{className:"jp-lineFormCaption",htmlFor:this.state.textInputId},this._trans.__("Go to cell number between 1 and %1",this.props.maxCell))))}}function B(e){let t=(e.translator||u.nullTranslator).load("jupyterlab"),n=e.selectionStart>0&&e.selectionStart!==e.selectionEnd?t.__("%1:%2/%3",e.selectionStart,e.selectionEnd,e.totalCells):t.__("Cell %1/%2",e.activeCell,e.totalCells),i=t=>{("Enter"===t.key||"Spacebar"===t.key||" "===t.key)&&(t.preventDefault(),t.stopPropagation(),e.handleClick())};return C().createElement(w.TextItem,{role:"button","aria-haspopup":!0,onClick:e.handleClick,source:n,title:t.__("Go to cell…"),tabIndex:0,onKeyDown:i})}class S extends j.VDomRenderer{constructor(e={}){super(new S.Model),this._popup=null,this.addClass("jp-mod-highlighted"),this._translator=e.translator||u.nullTranslator}render(){return null===this.model?null:C().createElement(B,{activeCell:this.model.activeCell,selectionStart:this.model.selectionStart,selectionEnd:this.model.selectionEnd,totalCells:this.model.totalCells,translator:this._translator,handleClick:()=>this._handleClick()})}_handleClick(){if(this.model.totalCells<1)return;this._popup&&this._popup.dispose();let e=j.ReactWidget.create(C().createElement(x,{handleSubmit:e=>this._handleSubmit(e),maxCell:this.model.totalCells,translator:this._translator}));this._popup=(0,w.showPopup)({body:e,anchor:this,align:"right"})}_handleSubmit(e){var t;let n=this.model.notebook;if(!n)return;let i=e-1;n.activeCellIndex=i,n.deselectAll(),n.scrollToItem(i).catch(e=>{console.error("Go to cell",e)}),null==(t=this._popup)||t.dispose(),n.activate()}}!function(e){class t extends j.VDomModel{constructor(){super(...arguments),this._activeCell=0,this._selectionStart=0,this._selectionEnd=0,this._totalCells=0,this._notebook=null}get notebook(){return this._notebook}set notebook(e){let t=this._notebook;t&&(t.activeCellChanged.disconnect(this._onChanged,this),t.modelContentChanged.disconnect(this._onChanged,this),t.selectionChanged.disconnect(this._onChanged,this));let n=this._getAllState();this._notebook=e,this._notebook?(this._notebook.activeCellChanged.connect(this._onChanged,this),this._notebook.modelContentChanged.connect(this._onChanged,this),this._notebook.selectionChanged.connect(this._onChanged,this),this._updateStateFromNotebook(this._notebook)):(this._activeCell=0,this._selectionStart=0,this._selectionEnd=0,this._totalCells=0),this._triggerChange(n,this._getAllState())}get activeCell(){return this._activeCell}get selectionStart(){return this._selectionStart}get selectionEnd(){return this._selectionEnd}get totalCells(){return this._totalCells}_onChanged(e){let t=this._getAllState();this._updateStateFromNotebook(e),this._triggerChange(t,this._getAllState())}_updateStateFromNotebook(e){let t=e.activeCellIndex;this._activeCell=t>=0?t+1:0,this._totalCells=e.widgets.length;let n=this._activeCell,i=this._activeCell,o=!1;e.widgets.forEach((t,r)=>{if(!e.isSelectedOrActive(t))return;let s=r+1;if(!o){n=s,i=s,o=!0;return}i=s}),this._selectionStart=o?n:0,this._selectionEnd=o?i:0}_getAllState(){return{activeCell:this._activeCell,selectionStart:this._selectionStart,selectionEnd:this._selectionEnd,totalCells:this._totalCells}}_triggerChange(e,t){(e.activeCell!==t.activeCell||e.selectionStart!==t.selectionStart||e.selectionEnd!==t.selectionEnd||e.totalCells!==t.totalCells)&&this.stateChanged.emit(void 0)}}e.Model=t}(S||(S={}));class M{constructor(e){this.model=e,this._cellMap=new WeakMap,this._changed=new g.Signal(this),this._isDisposed=!1,this._insertCells(0,this.model.cells),this.model.changed.connect(this._onSharedModelChanged,this)}get changed(){return this._changed}get isDisposed(){return this._isDisposed}get length(){return this.model.cells.length}*[Symbol.iterator](){for(let e of this.model.cells)yield this._cellMap.get(e)}dispose(){var e;if(!this._isDisposed){for(let t of(this._isDisposed=!0,this.model.cells))null==(e=this._cellMap.get(t))||e.dispose();g.Signal.clearData(this)}}get(e){return this._cellMap.get(this.model.cells[e])}_insertCells(e,t){return t.forEach(e=>{let t;switch(e.cell_type){case"code":t=new d.CodeCellModel({sharedModel:e});break;case"markdown":t=new d.MarkdownCellModel({sharedModel:e});break;default:t=new d.RawCellModel({sharedModel:e})}this._cellMap.set(e,t),e.disposed.connect(()=>{t.dispose(),this._cellMap.delete(e)})}),this.length}_onSharedModelChanged(e,t){var n;let i=0,o=[];null==(n=t.cellsChange)||n.forEach(e=>{null!=e.insert?(this._insertCells(i,e.insert),o.push({type:"add",newIndex:i,newValues:e.insert.map(e=>this._cellMap.get(e)),oldIndex:-2,oldValues:[]}),i+=e.insert.length):null!=e.delete?o.push({type:"remove",newIndex:-1,newValues:[],oldIndex:i,oldValues:Array(e.delete).fill(void 0)}):null!=e.retain&&(i+=e.retain)}),o.forEach(e=>this._changed.emit(e))}}let I="jp-Notebook-toolbarCellType",k="jp-Notebook-toolbarCellTypeDropdown";!function(e){function t(e,t){let n=(t||u.nullTranslator).load("jupyterlab");function i(){if(e.context.model.readOnly)return(0,l.showDialog)({title:n.__("Cannot Save"),body:n.__("Document is read-only"),buttons:[l.Dialog.okButton()]});e.context.save().then(()=>{if(!e.isDisposed)return e.context.createCheckpoint()})}return(0,j.addToolbarButtonClass)(j.ReactWidget.create(A.createElement(j.UseSignal,{signal:e.context.fileChanged},()=>A.createElement(j.ToolbarButtonComponent,{icon:j.saveIcon,onClick:i,tooltip:n.__("Save the notebook contents and create checkpoint"),enabled:!!(e&&e.context&&e.context.contentsModel&&e.context.contentsModel.writable)}))))}function n(e,t){let n=(t||u.nullTranslator).load("jupyterlab");return new j.ToolbarButton({icon:j.addIcon,onClick:()=>{y.insertBelow(e.content)},tooltip:n.__("Insert a cell below")})}function i(e,t,n){let i=(t||u.nullTranslator).load("jupyterlab");return new j.ToolbarButton({icon:j.cutIcon,onClick:async()=>{(null==n?void 0:n.get("useSystemClipboardForCells").composite)?await y.cutToSystemClipboard(e.content):y.cut(e.content)},tooltip:i.__("Cut the selected cells")})}function o(e,t,n){let i=(t||u.nullTranslator).load("jupyterlab");return new j.ToolbarButton({icon:j.copyIcon,onClick:async()=>{(null==n?void 0:n.get("useSystemClipboardForCells").composite)?await y.copyToSystemClipboard(e.content):y.copy(e.content)},tooltip:i.__("Copy the selected cells")})}function r(e,t,n){let i=(t||u.nullTranslator).load("jupyterlab");return new j.ToolbarButton({icon:j.pasteIcon,onClick:async()=>{(null==n?void 0:n.get("useSystemClipboardForCells").composite)?await y.pasteFromSystemClipboard(e.content):y.paste(e.content)},tooltip:i.__("Paste cells from the clipboard")})}function s(e,t,n){let i=(null!=n?n:u.nullTranslator).load("jupyterlab");return new j.ToolbarButton({icon:j.runIcon,onClick:()=>{y.runAndAdvance(e.content,e.sessionContext,t,n)},tooltip:i.__("Run the selected cells and advance")})}function a(e,t,n){let i=(null!=n?n:u.nullTranslator).load("jupyterlab");return new j.ToolbarButton({icon:j.fastForwardIcon,onClick:()=>{let i=null!=t?t:new l.SessionContextDialogs({translator:n});i.restart(e.sessionContext).then(t=>(t&&y.runAll(e.content,e.sessionContext,i,n),t))},tooltip:i.__("Restart the kernel, then re-run the whole notebook")})}function d(e,t){return new D(e.content,t)}e.createSaveButton=t,e.createInsertButton=n,e.createCutButton=i,e.createCopyButton=o,e.createPasteButton=r,e.createRunButton=s,e.createRestartRunAllButton=a,e.createCellTypeItem=d,e.getDefaultItems=function(e,c,h,u){return[{name:"save",widget:t(e,h)},{name:"insert",widget:n(e,h)},{name:"cut",widget:i(e,h,u)},{name:"copy",widget:o(e,h,u)},{name:"paste",widget:r(e,h,u)},{name:"run",widget:s(e,c,h)},{name:"interrupt",widget:l.Toolbar.createInterruptButton(e.sessionContext,h)},{name:"restart",widget:l.Toolbar.createRestartButton(e.sessionContext,c,h)},{name:"restart-and-run",widget:a(e,c,h)},{name:"cellType",widget:d(e,h)},{name:"spacer",widget:j.Toolbar.createSpacerItem()},{name:"kernelName",widget:l.Toolbar.createKernelNameItem(e.sessionContext,c,h)}]}}(o||(o={}));class D extends j.ReactWidget{constructor(e,t){super(),this.handleChange=e=>{"-"!==e.target.value&&(y.changeCellType(this._notebook,e.target.value),this._notebook.activate())},this.handleKeyDown=e=>{"Enter"===e.key&&this._notebook.activate()},this._trans=(t||u.nullTranslator).load("jupyterlab"),this.addClass(I),this._notebook=e,e.model&&this.update(),e.activeCellChanged.connect(this.update,this),e.selectionChanged.connect(this.update,this)}render(){let e="-";for(let t of(this._notebook.activeCell&&(e=this._notebook.activeCell.model.type),this._notebook.widgets))if(this._notebook.isSelectedOrActive(t)&&t.model.type!==e){e="-";break}return A.createElement(j.HTMLSelect,{className:k,onChange:this.handleChange,onKeyDown:this.handleKeyDown,value:e,"aria-label":this._trans.__("Cell type"),title:this._trans.__("Select the cell type")},A.createElement("option",{value:"-"},"-"),A.createElement("option",{value:"code"},this._trans.__("Code")),A.createElement("option",{value:"markdown"},this._trans.__("Markdown")),A.createElement("option",{value:"raw"},this._trans.__("Raw")))}}var T=n(53040);function L(e){var t;let n=e.translator||u.nullTranslator,i=(0,l.translateKernelStatuses)(n),o=n.load("jupyterlab"),r=null!=(t=e.displayOption.showJumpToCell)&&t,s=e.state,a=e.displayOption.showOnToolBar,d=e.displayOption.showProgress,c=a?"down":"up",h=C().createElement("div",null),[p,m]=C().useState(!1);if(C().useEffect(()=>{if(p)return;let e=()=>{m(!0)};return y.executionScheduled.connect(e),()=>{y.executionScheduled.disconnect(e)}},[r,p]),!s)return h;let g=s.kernelStatus,A={alignSelf:"normal",height:"24px"},f=s.totalTime,b=s.scheduledCellNumber||0,v=b-(s.scheduledCell.size||0),_=100*v/b,E=d?"":"hidden";!d&&_<100&&(_=0);let x=e=>C().createElement(w.ProgressCircle,{progress:e,width:16,height:24,label:o.__("Kernel status")}),B=e=>o.__("Kernel status: %1",e),S=()=>{let t=e.notebook;y.selectLastRunCell(t),t.activeCell&&t.scrollToCell(t.activeCell)},M=(e,t,n)=>C().createElement("div",{className:"jp-Notebook-ExecutionIndicator",title:d?"":B(i[e]),"data-status":e},t,C().createElement("div",{className:`jp-Notebook-ExecutionIndicator-tooltip ${c} ${E}`},C().createElement("span",null," ",B(i[e])," "),n,r&&p&&C().createElement(j.Button,{className:"jp-Notebook-ExecutionIndicator-jumpButton",onClick:S,title:o.__("Jump to current or last executed cell")},o.__("Jump to cell"))));if("connecting"===s.kernelStatus||"disconnected"===s.kernelStatus||"unknown"===s.kernelStatus)return M(g,C().createElement(j.offlineBoltIcon.react,{...A}),[]);if("starting"===s.kernelStatus||"terminating"===s.kernelStatus||"restarting"===s.kernelStatus||"initializing"===s.kernelStatus)return M(g,C().createElement(j.circleIcon.react,{...A}),[]);if("busy"===s.executionStatus)return M("busy",x(_),[C().createElement("span",{key:0},o.__(`Executed ${v}/${b} cells`)),C().createElement("span",{key:1},o._n("Elapsed time: %1 second","Elapsed time: %1 seconds",f))]);{let e=100*("busy"!==s.kernelStatus),t="busy"===s.kernelStatus||0===f?[]:[C().createElement("span",{key:0},o._n("Executed %1 cell","Executed %1 cells",b)),C().createElement("span",{key:1},o._n("Elapsed time: %1 second","Elapsed time: %1 seconds",f))];return M(s.kernelStatus,x(e),t)}}class N extends j.VDomRenderer{constructor(e,t=!0){super(new N.Model),this.translator=e||u.nullTranslator,this.addClass("jp-mod-highlighted")}render(){if(null===this.model||!this.model.renderFlag)return C().createElement("div",null);{let e=this.model.currentNotebook;return e?C().createElement(L,{displayOption:this.model.displayOption,state:this.model.executionState(e),translator:this.translator,notebook:e}):C().createElement(L,{displayOption:this.model.displayOption,state:void 0,translator:this.translator,notebook:void 0})}}}!function(e){class t extends j.VDomModel{constructor(){super(),this._notebookExecutionProgress=new WeakMap,this._displayOption={showOnToolBar:!0,showProgress:!0,showJumpToCell:!1},this._renderFlag=!0}attachNotebook(e){var t,n,i,o;if(e&&e.content&&e.context){let r=e.content,s=e.context;if(this._currentNotebook=r,!this._notebookExecutionProgress.has(r)){this._notebookExecutionProgress.set(r,{executionStatus:"idle",kernelStatus:"idle",totalTime:0,interval:0,timeout:0,scheduledCell:new Set,scheduledCellNumber:0,needReset:!0});let e=this._notebookExecutionProgress.get(r),a=t=>{e&&(e.kernelStatus=t.kernelDisplayStatus),this.stateChanged.emit(void 0)};s.statusChanged.connect(a,this);let l=t=>{e&&(e.kernelStatus=t.kernelDisplayStatus),this.stateChanged.emit(void 0)};s.connectionStatusChanged.connect(l,this),s.disposed.connect(e=>{e.connectionStatusChanged.disconnect(l,this),e.statusChanged.disconnect(a,this)});let d=(e,t)=>{let n=t.msg,i=n.header.msg_id;if("execute_request"===n.header.msg_type)this._cellScheduledCallback(r,i);else if(T.KernelMessage.isStatusMsg(n)&&"idle"===n.content.execution_state){let e=n.parent_header.msg_id;this._cellExecutedCallback(r,e)}else T.KernelMessage.isStatusMsg(n)&&"restarting"===n.content.execution_state?this._restartHandler(r):"execute_input"===n.header.msg_type&&this._startTimer(r)};null==(n=null==(t=s.session)?void 0:t.kernel)||n.anyMessage.connect(d),null==(o=null==(i=s.session)?void 0:i.kernel)||o.disposed.connect(e=>e.anyMessage.disconnect(d));let c=(t,n)=>{e&&(this._resetTime(e),this.stateChanged.emit(void 0),n.newValue&&n.newValue.anyMessage.connect(d))};s.kernelChanged.connect(c),s.disposed.connect(e=>e.kernelChanged.disconnect(c))}}}get currentNotebook(){return this._currentNotebook}get displayOption(){return this._displayOption}set displayOption(e){this._displayOption=e}executionState(e){return this._notebookExecutionProgress.get(e)}_scheduleSwitchToIdle(e){window.setTimeout(()=>{e.executionStatus="idle",clearInterval(e.interval),this.stateChanged.emit(void 0)},150),e.timeout=window.setTimeout(()=>{e.needReset=!0},1e3)}_cellExecutedCallback(e,t){let n=this._notebookExecutionProgress.get(e);n&&n.scheduledCell.has(t)&&(n.scheduledCell.delete(t),0===n.scheduledCell.size&&this._scheduleSwitchToIdle(n))}_restartHandler(e){let t=this._notebookExecutionProgress.get(e);t&&(t.scheduledCell.clear(),this._scheduleSwitchToIdle(t))}_startTimer(e){let t=this._notebookExecutionProgress.get(e);t&&(t.scheduledCell.size>0?"busy"!==t.executionStatus&&(t.executionStatus="busy",clearTimeout(t.timeout),this.stateChanged.emit(void 0),t.interval=window.setInterval(()=>{this._tick(t)},1e3)):this._resetTime(t))}_cellScheduledCallback(e,t){let n=this._notebookExecutionProgress.get(e);n&&!n.scheduledCell.has(t)&&(n.needReset&&this._resetTime(n),n.scheduledCell.add(t),n.scheduledCellNumber+=1)}_tick(e){e.totalTime+=1,this.stateChanged.emit(void 0)}_resetTime(e){e.totalTime=0,e.scheduledCellNumber=0,e.executionStatus="idle",e.scheduledCell=new Set,clearTimeout(e.timeout),clearInterval(e.interval),e.needReset=!1}get renderFlag(){return this._renderFlag}updateRenderOption(e){this.displayOption.showOnToolBar&&(e.showOnToolBar?this._renderFlag=!0:this._renderFlag=!1),this.displayOption.showProgress=e.showProgress,this.displayOption.showJumpToCell=e.showJumpToCell,this.stateChanged.emit(void 0)}}function n(t,n,o){let r=new e(n);return r.model.displayOption={showOnToolBar:!0,showProgress:!0,showJumpToCell:!1},r.model.attachNotebook({content:t.content,context:t.sessionContext}),o&&o.then(e=>{let t=e=>{let t=i(e);t.showJumpToCell&&(e.get("recordTiming").composite||e.set("recordTiming",!0).catch(e=>{console.error("Failed to auto-enable recordTiming:",e.message)})),r.model.updateRenderOption(t)};e.changed.connect(t),t(e),r.disposed.connect(()=>{e.changed.disconnect(t)})}).catch(e=>{console.error(e.message)}),r}function i(e){let t=!0,n=!0,i=!1,o=e.get("kernelStatus").composite;return o&&(t=!o.showOnStatusBar,n=o.showProgress,i=o.showJumpToRecentExecutionButton),{showOnToolBar:t,showProgress:n,showJumpToCell:i}}e.Model=t,e.createExecutionIndicatorItem=n,e.getSettingValue=i}(N||(N={}));class P{constructor(e){this._requestBatchSize=10,this._cursor=0,this._hasSession=!1,this._history=[],this._placeholder="",this._kernelSession="",this._setByHistory=!1,this._isDisposed=!1,this._editor=null,this._filtered=[],this._kernel=null,this._sessionContext=e.sessionContext,this._trans=(e.translator||u.nullTranslator).load("jupyterlab"),this._handleKernel().then(()=>{this._sessionContext.kernelChanged.connect(this._handleKernel,this)}),this._toRequest=this._requestBatchSize}get editor(){return this._editor}set editor(e){if(this._editor===e)return;let t=this._editor;t&&t.model.sharedModel.changed.disconnect(this.onTextChange,this),this._editor=e,e&&e.model.sharedModel.changed.connect(this.onTextChange,this)}get placeholder(){return this._placeholder}get kernelSession(){return this._kernelSession}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed=!0,this._history.length=0,g.Signal.clearData(this)}async checkSession(e){var t;this._hasSession||(await this._retrieveHistory(),this._hasSession=!0,this.editor=e.editor,this._placeholder=(null==(t=this._editor)?void 0:t.model.sharedModel.getSource())||"",this.setFilter(this._placeholder),this._cursor=this._filtered.length-1)}async back(e){return await this.checkSession(e),--this._cursor,this._cursor<0&&await this.fetchBatch(),this._cursor=Math.max(0,this._cursor),this._filtered[this._cursor]}async forward(e){return await this.checkSession(e),++this._cursor,this._cursor=Math.min(this._filtered.length-1,this._cursor),this._filtered[this._cursor]}updateEditor(e,t){var n,i;if(e){let o=null==(n=e.editor)?void 0:n.model,r=null==o?void 0:o.sharedModel.getSource();if(this.isDisposed||!t||r===t)return;this._setByHistory=!0,null==o||o.sharedModel.setSource(t);let s=0;(s=t.indexOf("\n"))<0&&(s=t.length),null==(i=e.editor)||i.setCursorPosition({line:0,column:s})}}reset(){this._hasSession=!1,this._placeholder="",this._toRequest=this._requestBatchSize}async fetchBatch(){this._toRequest+=this._requestBatchSize;let e=this._filtered.slice().reverse(),t=this._history.slice();await this._retrieveHistory().then(()=>{this.setFilter(this._placeholder);let t=0,n=this._filtered.slice().reverse();for(let i=0;i<e.length;i++){let o=e[i];for(let e=i+t;e<n.length;e++)if(o===n[e])break;else t+=1}this._cursor=this._filtered.length-(e.length+1)-t}),this._cursor<0&&this._history.length>t.length&&await this.fetchBatch()}onHistory(e,t){this._history.length=0;let n=["","",""],i=["","",""],o="";if("ok"===e.content.status){for(let t=0;t<e.content.history.length;t++)(i=e.content.history[t])!==n&&(o=e.content.history[t][0],this._history.push(n=i));this.kernelSession||i[2]!=(null==t?void 0:t.model.sharedModel.getSource())||(this._kernelSession=o)}}onTextChange(){if(this._setByHistory){this._setByHistory=!1;return}this.reset()}async _handleKernel(){var e;if(this._kernel=null==(e=this._sessionContext.session)?void 0:e.kernel,!this._kernel){this._history.length=0;return}await this._retrieveHistory().catch()}async _retrieveHistory(e){var t;return await (null==(t=this._kernel)?void 0:t.requestHistory(z(this._toRequest)).then(t=>{this.onHistory(t,e)}).catch(()=>{console.warn(this._trans.__("History was unable to be retrieved"))}))}setFilter(e=""){this._filtered.length=0;let t="",n="";for(let i=0;i<this._history.length;i++)(n=this._history[i][2])!==t&&e!==n&&this._filtered.push(t=n);this._filtered.push(e)}}function z(e){return{output:!1,raw:!0,hist_access_type:"tail",n:e}}var R=n(58196);class O{constructor(e={}){var t,n;this.standaloneModel=!1,this._readOnly=!1,this._contentChanged=new g.Signal(this),this._stateChanged=new g.Signal(this),this._isDisposed=!1,this._metadataChanged=new g.Signal(this),this.standaloneModel=void 0===e.sharedModel,e.sharedModel?this.sharedModel=e.sharedModel:this.sharedModel=R.YNotebook.create({disableDocumentWideUndoRedo:null==(t=e.disableDocumentWideUndoRedo)||t,data:{nbformat:h.MAJOR_VERSION,nbformat_minor:h.MINOR_VERSION,metadata:{kernelspec:{name:"",display_name:""},language_info:{name:null!=(n=e.languagePreference)?n:""}}}}),this._cells=new M(this.sharedModel),this._trans=(e.translator||u.nullTranslator).load("jupyterlab"),this._deletedCells=[],this._collaborationEnabled=!!(null==e?void 0:e.collaborationEnabled),this._cells.changed.connect(this._onCellsChanged,this),this.sharedModel.changed.connect(this._onStateChanged,this),this.sharedModel.metadataChanged.connect(this._onMetadataChanged,this)}get contentChanged(){return this._contentChanged}get metadataChanged(){return this._metadataChanged}get stateChanged(){return this._stateChanged}get cells(){return this._cells}get dirty(){return this.sharedModel.dirty}set dirty(e){e!==this.dirty&&(this.sharedModel.dirty=e)}get readOnly(){return this._readOnly}set readOnly(e){if(e===this._readOnly)return;let t=this._readOnly;this._readOnly=e,this.triggerStateChange({name:"readOnly",oldValue:t,newValue:e})}get metadata(){return this.sharedModel.metadata}get nbformat(){return this.sharedModel.nbformat}get nbformatMinor(){return this.sharedModel.nbformat_minor}get defaultKernelName(){var e;let t=this.getMetadata("kernelspec");return null!=(e=null==t?void 0:t.name)?e:""}get deletedCells(){return this._deletedCells}get defaultKernelLanguage(){var e;let t=this.getMetadata("language_info");return null!=(e=null==t?void 0:t.name)?e:""}get collaborative(){return this._collaborationEnabled}dispose(){if(this.isDisposed)return;this._isDisposed=!0;let e=this.cells;this._cells=null,e.dispose(),this.standaloneModel&&this.sharedModel.dispose(),g.Signal.clearData(this)}deleteMetadata(e){return this.sharedModel.deleteMetadata(e)}getMetadata(e){return this.sharedModel.getMetadata(e)}setMetadata(e,t){void 0===t?this.sharedModel.deleteMetadata(e):this.sharedModel.setMetadata(e,t)}toString(){return JSON.stringify(this.toJSON())}fromString(e){this.fromJSON(JSON.parse(e))}toJSON(){return this._ensureMetadata(),this.sharedModel.toJSON()}fromJSON(e){var t,n;let i=m.JSONExt.deepCopy(e),o=e.metadata.orig_nbformat;if(i.nbformat=Math.max(e.nbformat,h.MAJOR_VERSION),(i.nbformat!==e.nbformat||i.nbformat_minor<h.MINOR_VERSION)&&(i.nbformat_minor=h.MINOR_VERSION),void 0!==o&&i.nbformat!==o){let e;e=i.nbformat>o?this._trans.__(`This notebook has been converted from an older notebook format (v%1)
to the current notebook format (v%2).
The next time you save this notebook, the current notebook format (v%2) will be used.
'Older versions of Jupyter may not be able to read the new format.' To preserve the original format version,
close the notebook without saving it.`,o,i.nbformat):this._trans.__(`This notebook has been converted from an newer notebook format (v%1)
to the current notebook format (v%2).
The next time you save this notebook, the current notebook format (v%2) will be used.
Some features of the original notebook may not be available.' To preserve the original format version,
close the notebook without saving it.`,o,i.nbformat),(0,l.showDialog)({title:this._trans.__("Notebook converted"),body:e,buttons:[l.Dialog.okButton({label:this._trans.__("Ok")})]})}(null!=(n=null==(t=i.cells)?void 0:t.length)?n:0)===0&&(i.cells=[{cell_type:"code",source:"",metadata:{trusted:!0}}]),this.sharedModel.setSource(i),this._ensureMetadata()}_onCellsChanged(e,t){switch(t.type){case"add":case"set":t.newValues.forEach(e=>{e.contentChanged.connect(this.triggerContentChange,this)})}this.triggerContentChange()}_onMetadataChanged(e,t){this._metadataChanged.emit(t),this.triggerContentChange()}_onStateChanged(e,t){t.stateChange&&t.stateChange.forEach(e=>{e.oldValue!==e.newValue&&this.triggerStateChange({newValue:void 0,oldValue:void 0,...e})})}_ensureMetadata(e=""){this.getMetadata("language_info")||this.sharedModel.setMetadata("language_info",{name:e}),this.getMetadata("kernelspec")||this.sharedModel.setMetadata("kernelspec",{name:"",display_name:""})}triggerStateChange(e){this._stateChanged.emit(e)}triggerContentChange(){this._contentChanged.emit(void 0)}get isDisposed(){return this._isDisposed}}class F{constructor(e={}){var t,n;this._disposed=!1,this._disableDocumentWideUndoRedo=null==(t=e.disableDocumentWideUndoRedo)||t,this._collaborative=null==(n=e.collaborative)||n}get disableDocumentWideUndoRedo(){return this._disableDocumentWideUndoRedo}set disableDocumentWideUndoRedo(e){this._disableDocumentWideUndoRedo=e}get name(){return"notebook"}get contentType(){return"notebook"}get fileFormat(){return"json"}get collaborative(){return this._collaborative}get isDisposed(){return this._disposed}dispose(){this._disposed=!0}createNew(e={}){return new O({languagePreference:e.languagePreference,sharedModel:e.sharedModel,collaborationEnabled:e.collaborationEnabled&&this.collaborative,disableDocumentWideUndoRedo:this._disableDocumentWideUndoRedo})}preferredLanguage(e){return""}}function W(e){let t=(e.translator||u.nullTranslator).load("jupyterlab");return A.createElement(w.TextItem,{source:t.__("Mode: %1",e.modeNames[e.notebookMode])})}class H extends j.VDomRenderer{constructor(e){super(new H.Model),this.translator=e||u.nullTranslator,this._trans=this.translator.load("jupyterlab"),this._modeNames={command:this._trans.__("Command"),edit:this._trans.__("Edit")}}render(){return this.model?(this.node.title=this._trans.__("Notebook is in %1 mode",this._modeNames[this.model.notebookMode]),A.createElement(W,{notebookMode:this.model.notebookMode,translator:this.translator,modeNames:this._modeNames})):null}}!function(e){class t extends j.VDomModel{constructor(){super(...arguments),this._onChanged=e=>{let t=this._notebookMode;this._notebook?this._notebookMode=e.mode:this._notebookMode="command",this._triggerChange(t,this._notebookMode)},this._notebookMode="command",this._notebook=null}get notebookMode(){return this._notebookMode}set notebook(e){let t=this._notebook;null!==t&&(t.stateChanged.disconnect(this._onChanged,this),t.activeCellChanged.disconnect(this._onChanged,this),t.modelContentChanged.disconnect(this._onChanged,this));let n=this._notebookMode;this._notebook=e,null===this._notebook?this._notebookMode="command":(this._notebookMode=this._notebook.mode,this._notebook.stateChanged.connect(this._onChanged,this),this._notebook.activeCellChanged.connect(this._onChanged,this),this._notebook.modelContentChanged.connect(this._onChanged,this)),this._triggerChange(n,this._notebookMode)}_triggerChange(e,t){e!==t&&this.stateChanged.emit(void 0)}}e.Model=t}(H||(H={}));var U=n(78071),Y=n(62861);class V extends Y.WidgetLSPAdapter{constructor(e,t){super(e,t),this.editorWidget=e,this.options=t,this._type="code",this._readyDelegate=new m.PromiseDelegate,this._editorToCell=new Map,this.editor=e.content,this._cellToEditor=new WeakMap,this.isReady=this.isReady.bind(this),Promise.all([this.widget.context.sessionContext.ready,this.connectionManager.ready]).then(async()=>{await this.initOnceReady(),this._readyDelegate.resolve()}).catch(console.error)}get documentPath(){return this.widget.context.path}get mimeType(){var e;let t,n=this.language_info();return Array.isArray(t=n&&n.mimetype?n.mimetype:this.widget.content.codeMimetype)?null!=(e=t[0])?e:U.IEditorMimeTypeService.defaultMimeType:t}get languageFileExtension(){let e=this.language_info();if(e&&e.file_extension)return e.file_extension.replace(".","")}get wrapperElement(){return this.widget.node}get editors(){if(this.isDisposed)return[];let e=this.widget.content;return(this._editorToCell.clear(),e.isDisposed)?[]:e.widgets.map(e=>({ceEditor:this._getCellEditor(e),type:e.model.type,value:e.model.sharedModel.getSource()}))}get activeEditor(){return this.editor.activeCell?this._getCellEditor(this.editor.activeCell):void 0}get ready(){return this._readyDelegate.promise}getEditorIndexAt(e){let t=this._getCellAt(e);return this.widget.content.widgets.findIndex(e=>t===e)}getEditorIndex(e){let t=this._editorToCell.get(e);return this.editor.widgets.findIndex(e=>t===e)}getEditorWrapper(e){return this._editorToCell.get(e).node}async onKernelChanged(e,t){if(t.newValue)try{let e=this._languageInfo;await (0,Y.untilReady)(this.isReady,-1),await this._updateLanguageInfo();let t=this._languageInfo;(null==e?void 0:e.name)!=t.name||(null==e?void 0:e.mimetype)!=(null==t?void 0:t.mimetype)||(null==e?void 0:e.file_extension)!=(null==t?void 0:t.file_extension)?(console.log(`Changed to ${this._languageInfo.name} kernel, reconnecting`),this.reloadConnection()):console.log("Keeping old LSP connection as the new kernel uses the same language")}catch(e){console.warn(e),this.reloadConnection()}}dispose(){this.isDisposed||(this.widget.context.sessionContext.kernelChanged.disconnect(this.onKernelChanged,this),this.widget.content.activeCellChanged.disconnect(this._activeCellChanged,this),super.dispose(),this._editorToCell.clear(),g.Signal.clearData(this))}isReady(){var e;return!this.widget.isDisposed&&this.widget.context.isReady&&this.widget.content.isVisible&&this.widget.content.widgets.length>0&&(null==(e=this.widget.context.sessionContext.session)?void 0:e.kernel)!=null}async handleCellChange(e,t){let n=[],i=[],o=this._type;if("set"===t.type){let e=[],r=[];if(t.newValues.length===t.oldValues.length){for(let n=0;n<t.newValues.length;n++)t.oldValues[n].type===o&&t.newValues[n].type!==o?e.push(t.newValues[n]):t.oldValues[n].type!==o&&t.newValues[n].type===o&&r.push(t.newValues[n]);n=r,i=e}}else"add"==t.type&&(n=t.newValues.filter(e=>e.type===o));for(let e of((i.length||n.length||"set"===t.type||"move"===t.type||"remove"===t.type||"clear"===t.type)&&await this.updateDocuments(),n)){let t=this.widget.content.widgets.find(t=>t.model.id===e.id);if(!t){console.warn(`Widget for added cell with ID: ${e.id} not found!`);continue}this._getCellEditor(t)}}createVirtualDocument(){return new Y.VirtualDocument({language:this.language,foreignCodeExtractors:this.options.foreignCodeExtractorsManager,path:this.documentPath,fileExtension:this.languageFileExtension,standalone:!1,hasLspSupportedFile:!1})}language_info(){return this._languageInfo}async initOnceReady(){await (0,Y.untilReady)(this.isReady.bind(this),-1),await this._updateLanguageInfo(),this.initVirtual(),this.connectDocument(this.virtualDocument,!1).catch(console.warn),this.widget.context.sessionContext.kernelChanged.connect(this.onKernelChanged,this),this.widget.content.activeCellChanged.connect(this._activeCellChanged,this),this._connectModelSignals(this.widget),this.editor.modelChanged.connect(e=>{console.warn("Model changed, connecting cell change handler; this is not something we were expecting"),this._connectModelSignals(e)})}_connectModelSignals(e){null===e.model?console.warn(`Model is missing for notebook ${e}, cannot connect cell changed signal!`):e.model.cells.changed.connect(this.handleCellChange,this)}async _updateLanguageInfo(){var e,t,n,i;let o=null==(i=await (null==(n=null==(t=null==(e=this.widget.context.sessionContext)?void 0:e.session)?void 0:t.kernel)?void 0:n.info))?void 0:i.language_info;if(o)this._languageInfo=o;else throw Error("Language info update failed (no session, kernel, or info available)")}_activeCellChanged(e,t){t&&t.model.type===this._type&&this._activeEditorChanged.emit({editor:this._getCellEditor(t)})}_getCellAt(e){let t=this.virtualDocument.getEditorAtVirtualLine(e);return this._editorToCell.get(t)}_getCellEditor(e){if(!this._cellToEditor.has(e)){let t=Object.freeze({getEditor:()=>e.editor,ready:async()=>(await e.ready,e.editor),reveal:async()=>(await this.editor.scrollToCell(e),e.editor)});this._cellToEditor.set(e,t),this._editorToCell.set(t,e),e.disposed.connect(()=>{this._cellToEditor.delete(e),this._editorToCell.delete(t),this._editorRemoved.emit({editor:t})}),this._editorAdded.emit({editor:t})}return this._cellToEditor.get(e)}}var q=n(52782),G=n(93771),$=n(64001);class J extends $.Widget{constructor(){super(),this._items=[],this.layout=new $.PanelLayout,this.addClass("jp-RankedPanel")}addWidget(e,t){let n={widget:e,rank:t},i=p.ArrayExt.upperBound(this._items,n,r.itemCmp);p.ArrayExt.insert(this._items,i,n),this.layout.insertWidget(i,e)}onChildRemoved(e){let t=p.ArrayExt.findFirstIndex(this._items,t=>t.widget===e.child);-1!==t&&p.ArrayExt.removeAt(this._items,t)}}class K extends $.Widget{constructor(e){super(),this.addClass("jp-NotebookTools"),this.translator=e.translator||u.nullTranslator,this._tools=[],this.layout=new $.PanelLayout,this._tracker=e.tracker,this._tracker.currentChanged.connect(this._onActiveNotebookPanelChanged,this),this._tracker.activeCellChanged.connect(this._onActiveCellChanged,this),this._tracker.selectionChanged.connect(this._onSelectionChanged,this),this._onActiveNotebookPanelChanged(),this._onActiveCellChanged(),this._onSelectionChanged()}get activeCell(){return this._tracker.activeCell}get selectedCells(){let e=this._tracker.currentWidget;if(!e)return[];let t=e.content;return t.widgets.filter(e=>t.isSelectedOrActive(e))}get activeNotebookPanel(){return this._tracker.currentWidget}addItem(e){var t;let n,i=e.tool,o=null!=(t=e.rank)?t:100,r=this._tools.find(t=>t.section===e.section);if(r)n=r.panel;else throw Error(`The section ${e.section} does not exist`);i.addClass("jp-NotebookTools-tool"),n.addWidget(i,o),i.notebookTools=this,G.MessageLoop.sendMessage(i,K.ActiveNotebookPanelMessage),G.MessageLoop.sendMessage(i,K.ActiveCellMessage)}addSection(e){var t;let n=e.sectionName,i=e.label||e.sectionName,o=e.tool,r=null!=(t=e.rank)?t:null,s=new J;if(s.title.label=i,o&&s.addWidget(o,0),this._tools.push({section:n,panel:s,rank:r}),null!=r)this.layout.insertWidget(r,new j.Collapser({widget:s}));else{let e=null,t=this.layout;for(let n=0;n<t.widgets.length;n++){let i=t.widgets[n];if(i instanceof j.Collapser&&"advancedToolsSection"===i.widget.id){e=n;break}}null!==e?this.layout.insertWidget(e,new j.Collapser({widget:s})):this.layout.addWidget(new j.Collapser({widget:s}))}}_onActiveNotebookPanelChanged(){this._prevActiveNotebookModel&&!this._prevActiveNotebookModel.isDisposed&&this._prevActiveNotebookModel.metadataChanged.disconnect(this._onActiveNotebookPanelMetadataChanged,this);let e=this.activeNotebookPanel&&this.activeNotebookPanel.content?this.activeNotebookPanel.content.model:null;for(let t of(this._prevActiveNotebookModel=e,e&&e.metadataChanged.connect(this._onActiveNotebookPanelMetadataChanged,this),this._toolChildren()))G.MessageLoop.sendMessage(t,K.ActiveNotebookPanelMessage)}_onActiveCellChanged(){this._prevActiveCell&&!this._prevActiveCell.isDisposed&&this._prevActiveCell.metadataChanged.disconnect(this._onActiveCellMetadataChanged,this);let e=this.activeCell?this.activeCell.model:null;for(let t of(this._prevActiveCell=e,e&&e.metadataChanged.connect(this._onActiveCellMetadataChanged,this),this._toolChildren()))G.MessageLoop.sendMessage(t,K.ActiveCellMessage)}_onSelectionChanged(){for(let e of this._toolChildren())G.MessageLoop.sendMessage(e,K.SelectionMessage)}_onActiveNotebookPanelMetadataChanged(e,t){let n=new q.ObservableJSON.ChangeMessage("activenotebookpanel-metadata-changed",{oldValue:void 0,newValue:void 0,...t});for(let e of this._toolChildren())G.MessageLoop.sendMessage(e,n)}_onActiveCellMetadataChanged(e,t){let n=new q.ObservableJSON.ChangeMessage("activecell-metadata-changed",{newValue:void 0,oldValue:void 0,...t});for(let e of this._toolChildren())G.MessageLoop.sendMessage(e,n)}*_toolChildren(){for(let e of this._tools)yield*e.panel.children()}}!function(e){e.ActiveNotebookPanelMessage=new G.ConflatableMessage("activenotebookpanel-changed"),e.ActiveCellMessage=new G.ConflatableMessage("activecell-changed"),e.SelectionMessage=new G.ConflatableMessage("selection-changed");class t extends $.Widget{dispose(){super.dispose(),this.notebookTools&&(this.notebookTools=null)}processMessage(e){switch(super.processMessage(e),e.type){case"activenotebookpanel-changed":this.onActiveNotebookPanelChanged(e);break;case"activecell-changed":this.onActiveCellChanged(e);break;case"selection-changed":this.onSelectionChanged(e);break;case"activecell-metadata-changed":this.onActiveCellMetadataChanged(e);break;case"activenotebookpanel-metadata-changed":this.onActiveNotebookPanelMetadataChanged(e)}}onActiveNotebookPanelChanged(e){}onActiveCellChanged(e){}onSelectionChanged(e){}onActiveCellMetadataChanged(e){}onActiveNotebookPanelMetadataChanged(e){}}e.Tool=t;class n extends t{constructor(e){super();const{editorFactory:t}=e;this.addClass("jp-MetadataEditorTool");const n=this.layout=new $.PanelLayout;this._editorFactory=t,this._editorLabel=e.label||"Edit Metadata",this.createEditor();const i=new $.Widget({node:document.createElement("label")});i.node.textContent=e.label||"Edit Metadata",n.addWidget(i),n.addWidget(this.editor)}get editor(){return this._editor}onActiveNotebookPanelChanged(e){this.editor.dispose(),this.notebookTools.activeNotebookPanel&&this.createEditor()}createEditor(){this._editor=new U.JSONEditor({editorFactory:this._editorFactory}),this.editor.title.label=this._editorLabel,this.layout.addWidget(this.editor)}}e.MetadataEditorTool=n}(K||(K={})),function(e){e.itemCmp=function(e,t){return e.rank-t.rank}}(r||(r={}));var Z=n(31997),Q=n(45251),X=n(53193),ee=n(11957),et=n(17981),en=n(19953);let ei="jp-mod-dropTarget",eo="jp-mod-dropSource";var er=n(59807);function es(e){if(!e)return!1;let t=e.closest(".jp-WindowedPanel-viewport");if(t&&"true"==t.dataset.isScrolling)return!0;let n=e.getRootNode();return!!(n&&n instanceof ShadowRoot&&es(n.host))}function ea(e){return!!e&&!!e.closest(".cm-editor")}window.IntersectionObserver=class extends window.IntersectionObserver{constructor(e,t){super(e=>{this._delayCallbackInScrollingNotebook(e)},t),this.callback=e,this._delayCallbackInScrollingNotebook=e=>{let t=[],n=[];for(let i of e)es(i.target)&&!ea(i.target)?t.push(i):n.push(i);n.length&&this.callback(n,this),t.length&&this._throttler.invoke(t)},this._throttler=new er.Throttler(e=>{this._delayCallbackInScrollingNotebook(e)},{limit:1e3,edge:"trailing"})}},window.ResizeObserver=class extends window.ResizeObserver{constructor(e){super(e=>{this._delayCallbackInScrollingNotebook(e)}),this.callback=e,this._delayCallbackInScrollingNotebook=e=>{let t=[],n=[];for(let i of e)es(i.target)?t.push(i):n.push(i);n.length&&this.callback(n,this),t.length&&this._throttler.invoke(t)},this._throttler=new er.Throttler(e=>{this._delayCallbackInScrollingNotebook(e)},{limit:1e3,edge:"trailing"})}};class el extends j.WindowedListModel{constructor(e,t){super(t),this.cells=e,this.estimateWidgetSize=e=>{let t=this.cells[e];if(!t)return console.warn(`estimateWidgetSize requested for cell ${e} in notebook with only ${this.cells.length} cells`),0;let n=t.model,i=this.cellsEstimatedHeight.get(n.id);if("number"==typeof i)return i;let o=n.sharedModel.getSource().split("\n").length,r=0;if(n instanceof d.CodeCellModel&&!n.isDisposed)for(let e=0;e<n.outputs.length;e++){let t=n.outputs.get(e).data["text/plain"];"string"==typeof t?r+=t.split("\n").length:Array.isArray(t)&&(r+=t.join("").split("\n").length)}return el.DEFAULT_EDITOR_LINE_HEIGHT*(o+r)+el.DEFAULT_CELL_MARGIN},this.widgetRenderer=e=>this.cells[e],this.scrollDownThreshold=el.DEFAULT_CELL_MARGIN/2+el.DEFAULT_EDITOR_LINE_HEIGHT,this.scrollUpThreshold=el.DEFAULT_CELL_MARGIN/2,this.cellsEstimatedHeight=new Map,this._emitEstimatedHeightChanged=new er.Debouncer(()=>{this._stateChanged.emit({name:"estimatedWidgetSize",newValue:null,oldValue:null})}),this._estimatedWidgetSize=el.DEFAULT_CELL_SIZE}setEstimatedWidgetSize(e,t){null===t?this.cellsEstimatedHeight.has(e)&&this.cellsEstimatedHeight.delete(e):(this.cellsEstimatedHeight.set(e,t),this._emitEstimatedHeightChanged.invoke().catch(e=>{console.error("Fail to trigger an update following a estimated height update.",e)}))}}el.DEFAULT_CELL_SIZE=39,el.DEFAULT_EDITOR_LINE_HEIGHT=17,el.DEFAULT_CELL_MARGIN=22;class ed extends j.WindowedLayout{constructor(){super(...arguments),this._header=null,this._footer=null,this._willBeRemoved=null,this._topHiddenCodeCells=-1}get header(){return this._header}set header(e){var t;this._header&&this._header.isAttached&&$.Widget.detach(this._header),this._header=e,this._header&&(null==(t=this.parent)?void 0:t.isAttached)&&$.Widget.attach(this._header,this.parent.node)}get footer(){return this._footer}set footer(e){var t;this._footer&&this._footer.isAttached&&$.Widget.detach(this._footer),this._footer=e,this._footer&&(null==(t=this.parent)?void 0:t.isAttached)&&$.Widget.attach(this._footer,this.parent.outerNode)}get activeCell(){return this._activeCell}set activeCell(e){this._activeCell=e}dispose(){var e,t;this.isDisposed||(null==(e=this._header)||e.dispose(),null==(t=this._footer)||t.dispose(),super.dispose())}removeWidget(e){let t=this.widgets.indexOf(e);t>=0?this.removeWidgetAt(t):e===this._willBeRemoved&&this.parent&&this.detachWidget(t,e)}attachWidget(e,t){let n=t.isPlaceholder(),i=this._isSoftHidden(t);if(this.parent.isAttached&&!i&&G.MessageLoop.sendMessage(t,$.Widget.Msg.BeforeAttach),i&&this._toggleSoftVisibility(t,!0),!n&&t instanceof d.CodeCell&&t.node.parentElement)t.node.style.display="",this._topHiddenCodeCells=-1,this.parent.isAttached&&!t.isAttached&&t.setFlag($.Widget.Flag.IsAttached);else if(!i){let e=this._findNearestChildBinarySearch(this.parent.viewportNode.childElementCount-1,0,parseInt(t.dataset.windowedListIndex,10)+1),n=this.parent.viewportNode.children[e];this.parent.viewportNode.insertBefore(t.node,n),this.parent.isAttached&&G.MessageLoop.sendMessage(t,$.Widget.Msg.AfterAttach)}t.inViewport=!0}detachWidget(e,t){(t.inViewport=!1,t===this.activeCell&&t!==this._willBeRemoved||t.node.querySelector("defs,.myst"))?this._toggleSoftVisibility(t,!1):(t instanceof d.CodeCell&&!t.node.classList.contains(eo)&&t!==this._willBeRemoved?(t.node.style.display="none",this._topHiddenCodeCells=-1):(this.parent.isAttached&&G.MessageLoop.sendMessage(t,$.Widget.Msg.BeforeDetach),this.parent.viewportNode.removeChild(t.node),t.node.classList.remove(ei)),this.parent.isAttached&&G.MessageLoop.sendMessage(t,$.Widget.Msg.AfterDetach))}moveWidget(e,t,n){if(this._topHiddenCodeCells<0){this._topHiddenCodeCells=0;for(let e=0;e<this.parent.viewportNode.children.length;e++)if("none"==this.parent.viewportNode.children[e].style.display)this._topHiddenCodeCells++;else break}let i=this.parent.viewportNode.children[t+this._topHiddenCodeCells];e<t?i.insertAdjacentElement("afterend",n.node):i.insertAdjacentElement("beforebegin",n.node)}onAfterAttach(e){super.onAfterAttach(e),this._header&&!this._header.isAttached&&$.Widget.attach(this._header,this.parent.node,this.parent.node.firstElementChild),this._footer&&!this._footer.isAttached&&$.Widget.attach(this._footer,this.parent.outerNode)}onBeforeDetach(e){var t,n;(null==(t=this._header)?void 0:t.isAttached)&&$.Widget.detach(this._header),(null==(n=this._footer)?void 0:n.isAttached)&&$.Widget.detach(this._footer),super.onBeforeDetach(e)}onChildRemoved(e){this._willBeRemoved=e.child,super.onChildRemoved(e),this._willBeRemoved=null}_toggleSoftVisibility(e,t){t?(e.node.style.opacity="",e.node.style.height="",e.node.style.padding=""):(e.node.style.opacity="0",e.node.style.height="0",e.node.style.padding="0")}_isSoftHidden(e){return"0"===e.node.style.opacity}_findNearestChildBinarySearch(e,t,n){for(;t<=e;){let i=t+Math.floor((e-t)/2),o=parseInt(this.parent.viewportNode.children[i].dataset.windowedListIndex,10);if(o===n)return i;o<n?t=i+1:o>n&&(e=i-1)}return t>0?t:0}}let ec="jp-Notebook-footer";class eh extends $.Widget{constructor(e){super({node:document.createElement("button")}),this.notebook=e;const t=e.translator.load("jupyterlab");this.addClass(ec),this.node.setAttribute("tabindex","-1"),this.node.innerText=t.__("Click to add a cell.")}handleEvent(e){switch(e.type){case"click":this.onClick();break;case"keydown":"ArrowUp"===e.key&&this.onArrowUp()}}onClick(){this.notebook.widgets.length>0&&(this.notebook.activeCellIndex=this.notebook.widgets.length-1),y.insertBelow(this.notebook),y.focusActiveCell(this.notebook)}onArrowUp(){}onAfterAttach(e){super.onAfterAttach(e),this.node.addEventListener("click",this),this.node.addEventListener("keydown",this)}onBeforeDetach(e){this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this),super.onBeforeDetach(e)}}let eu="jpKernelUser",ep="jpCodeRunner",em="jpUndoer",eg="jp-Notebook",eA="jp-Notebook-cell",eC="jp-mod-editMode",ef="jp-mod-commandMode",eb="jp-mod-active",ev="jp-mod-selected",e_="jp-mod-dirty",ey="jp-mod-multiSelected",eE="jp-mod-unconfined",ew="jp-mod-readWrite",ej="jp-dragImage",ex="jp-dragImage-singlePrompt",eB="jp-dragImage-content",eS="jp-dragImage-prompt",eM="jp-dragImage-multipleBack",eI="application/vnd.jupyter.cells",ek=5,eD=50,eT="jp-collapseHeadingButton",eL="jp-mod-showHiddenCellsButton",eN="jp-mod-sideBySide";void 0===window.requestIdleCallback&&(window.requestIdleCallback=function(e){let t=Date.now();return setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},window.cancelIdleCallback=function(e){clearTimeout(e)});class eP extends j.WindowedList{constructor(e){var t,n,i,o,r,s;const a=[],l=(null!=(n=null==(t=e.notebookConfig)?void 0:t.windowingMode)?n:eP.defaultNotebookConfig.windowingMode)==="full";super({model:new el(a,{overscanCount:null!=(o=null==(i=e.notebookConfig)?void 0:i.overscanCount)?o:eP.defaultNotebookConfig.overscanCount,windowingActive:l}),layout:new ed,renderer:null!=(r=e.renderer)?r:j.WindowedList.defaultRenderer,scrollbar:!1}),this._cellCollapsed=new g.Signal(this),this._cellInViewportChanged=new g.Signal(this),this._renderingLayoutChanged=new g.Signal(this),this._contentVisibilityObserver=null,this.addClass(eg),this.cellsArray=a,this._idleCallBack=null,this._editorConfig=eP.defaultEditorConfig,this._notebookConfig=eP.defaultNotebookConfig,this._mimetype=U.IEditorMimeTypeService.defaultMimeType,this._notebookModel=null,this._modelChanged=new g.Signal(this),this._modelContentChanged=new g.Signal(this),this.node.dataset[eu]="true",this.node.dataset[em]="true",this.node.dataset[ep]="true",this.rendermime=e.rendermime,this.translator=e.translator||u.nullTranslator,this.contentFactory=e.contentFactory,this.editorConfig=e.editorConfig||eP.defaultEditorConfig,this.notebookConfig=e.notebookConfig||eP.defaultNotebookConfig,this._updateNotebookConfig(),this._mimetypeService=e.mimeTypeService,this.renderingLayout=null==(s=e.notebookConfig)?void 0:s.renderingLayout,this.kernelHistory=e.kernelHistory}get cellCollapsed(){return this._cellCollapsed}get cellInViewportChanged(){return this._cellInViewportChanged}get modelChanged(){return this._modelChanged}get modelContentChanged(){return this._modelContentChanged}get renderingLayoutChanged(){return this._renderingLayoutChanged}get model(){return this._notebookModel}set model(e){var t;if(e=e||null,this._notebookModel===e)return;let n=this._notebookModel;this._notebookModel=e,this._onModelChanged(n,e),this.onModelChanged(n,e),this._modelChanged.emit(void 0),this.viewModel.itemsList=null!=(t=null==e?void 0:e.cells)?t:null}get codeMimetype(){return this._mimetype}get widgets(){return this.cellsArray}get editorConfig(){return this._editorConfig}set editorConfig(e){this._editorConfig=e,this._updateEditorConfig()}get notebookConfig(){return this._notebookConfig}set notebookConfig(e){this._notebookConfig=e,this._updateNotebookConfig()}get renderingLayout(){return this._renderingLayout}set renderingLayout(e){var t;this._renderingLayout=e,"side-by-side"===this._renderingLayout?this.node.classList.add(eN):this.node.classList.remove(eN),this._renderingLayoutChanged.emit(null!=(t=this._renderingLayout)?t:"default")}dispose(){var e;this.isDisposed||(this._notebookModel=null,null==(e=this.layout.header)||e.dispose(),this._contentVisibilityObserver&&(this._contentVisibilityObserver.disconnect(),this._contentVisibilityObserver=null),super.dispose())}onBeforeDetach(e){this._contentVisibilityObserver&&(this._contentVisibilityObserver.disconnect(),this._contentVisibilityObserver=null),super.onBeforeDetach(e)}moveCell(e,t,n=1){if(!this.model)return;let i=Math.min(this.model.cells.length-1,Math.max(0,t));if(i===e)return;let o=Array(n),r=Array(n);for(let t=0;t<n;t++){o[t]={};let n=this.widgets[e+t];if("markdown"===n.model.type)for(let e of["rendered","headingCollapsed"])o[t][e]=n[e];else if("code"===n.model.type){let e=n.model;r[t]=e.isDirty}}this.model.sharedModel.moveCells(e,i,n);for(let t=0;t<n;t++){let s=e>i?i+t:i-n+1+t,a=this.widgets[s],l=o[t];for(let e in l)a[e]=l[e];e>i?"code"===this.widgets[i+t].model.type&&(this.widgets[i+t].model.isDirty=r[t]):"code"===this.widgets[i+t-n+1].model.type&&(this.widgets[i+t-n+1].model.isDirty=r[t])}this._refreshCollapsedHeadingVisibility()}renderCellOutputs(e){let t=this.viewModel.widgetRenderer(e);t instanceof d.CodeCell&&t.isPlaceholder()&&(t.dataset.windowedListIndex=`${e}`,this.layout.insertWidget(e,t),"full"===this.notebookConfig.windowingMode&&requestAnimationFrame(()=>{this.layout.removeWidget(t)}))}addHeader(){let e=this.translator.load("jupyterlab"),t=new $.Widget;t.node.textContent=e.__("The notebook is empty. Click the + button on the toolbar to add a new cell."),this.layout.header=t}removeHeader(){var e;null==(e=this.layout.header)||e.dispose(),this.layout.header=null}onModelChanged(e,t){}onModelContentChanged(e,t){this._modelContentChanged.emit(void 0)}onMetadataChanged(e,t){"language_info"===t.key&&this._updateMimetype()}onCellInserted(e,t){}onCellRemoved(e,t){}onUpdateRequest(e){["defer","contentVisibility"].includes(this.notebookConfig.windowingMode)?this._runOnIdleTime():super.onUpdateRequest(e)}_onModelChanged(e,t){var n;if(e)for(e.contentChanged.disconnect(this.onModelContentChanged,this),e.metadataChanged.disconnect(this.onMetadataChanged,this),e.cells.changed.disconnect(this._onCellsChanged,this);this.cellsArray.length;)this._removeCell(0);if(!t){this._mimetype=U.IEditorMimeTypeService.defaultMimeType;return}this._updateMimetype();let i=t.cells;null!=(n=t.collaborative)&&n||i.length||t.sharedModel.insertCell(0,{cell_type:this.notebookConfig.defaultCell,metadata:"code"===this.notebookConfig.defaultCell?{trusted:!0}:{}});let o=-1;for(let e of i)this._insertCell(++o,e);this._syncMarkdownCellTrust(),t.cells.changed.connect(this._onCellsChanged,this),t.metadataChanged.connect(this.onMetadataChanged,this),t.contentChanged.connect(this.onModelContentChanged,this)}_onCellsChanged(e,t){switch(this.removeHeader(),t.type){case"add":{let e=0;for(let n of(e=t.newIndex,t.newValues))this._insertCell(e++,n);this._updateDataWindowedListIndex(t.newIndex,t.newValues.length);break}case"remove":for(let e=t.oldValues.length;e>0;e--)this._removeCell(t.oldIndex);if(this._updateDataWindowedListIndex(t.oldIndex,-1*t.oldValues.length),!e.length){let e=this.model;requestAnimationFrame(()=>{!e||e.isDisposed||e.sharedModel.cells.length||e.sharedModel.insertCell(0,{cell_type:this.notebookConfig.defaultCell,metadata:"code"===this.notebookConfig.defaultCell?{trusted:!0}:{}})})}break;default:return}this.model.sharedModel.cells.length||this.addHeader(),this._syncMarkdownCellTrust(),this.update()}_insertCell(e,t){let n;switch(t.type){case"code":(n=this._createCodeCell(t)).model.mimeType=this._mimetype;break;case"markdown":n=this._createMarkdownCell(t),""===t.sharedModel.getSource()&&(n.rendered=!1);break;default:n=this._createRawCell(t)}t.stateChanged.connect(this._onCellStateChanged,this),n.inViewportChanged.connect(this._onCellInViewportChanged,this),n.addClass(eA),p.ArrayExt.insert(this.cellsArray,e,n),this._syncMarkdownCellTrust(n),this.onCellInserted(e,n),this._scheduleCellRenderOnIdle()}_createCodeCell(e){let t=this.rendermime,n={contentFactory:this.contentFactory,editorConfig:this.editorConfig.code,inputHistoryScope:this.notebookConfig.inputHistoryScope,showInputPlaceholder:this.notebookConfig.showInputPlaceholder,maxNumberOutputs:this.notebookConfig.maxNumberOutputs,model:e,placeholder:"none"!==this._notebookConfig.windowingMode,rendermime:t,translator:this.translator},i=this.contentFactory.createCodeCell(n);return void 0===i.syncCollapse&&(i.syncCollapse=!0),void 0===i.syncEditable&&(i.syncEditable=!0),void 0===i.syncScrolled&&(i.syncScrolled=!0),i.outputArea.inputRequested.connect((e,t)=>{this._onInputRequested(i).catch(e=>{console.error("Failed to scroll to cell requesting input.",e)}),t.disposed.connect(()=>{i.node.focus()})}),i}_createMarkdownCell(e){let t=this.rendermime,n={contentFactory:this.contentFactory,editorConfig:this.editorConfig.markdown,model:e,placeholder:"none"!==this._notebookConfig.windowingMode,rendermime:t,showEditorForReadOnlyMarkdown:this._notebookConfig.showEditorForReadOnlyMarkdown},i=this.contentFactory.createMarkdownCell(n);return void 0===i.syncCollapse&&(i.syncCollapse=!0),void 0===i.syncEditable&&(i.syncEditable=!0),i.headingCollapsedChanged.connect(this._onCellCollapsed,this),i}_createRawCell(e){let t=this.contentFactory,n={editorConfig:this.editorConfig.raw,model:e,contentFactory:t,placeholder:"none"!==this._notebookConfig.windowingMode},i=this.contentFactory.createRawCell(n);return void 0===i.syncCollapse&&(i.syncCollapse=!0),void 0===i.syncEditable&&(i.syncEditable=!0),i}_removeCell(e){let t=this.cellsArray[e];t.model.stateChanged.disconnect(this._onCellStateChanged,this),t.parent=null,p.ArrayExt.removeAt(this.cellsArray,e),this.onCellRemoved(e,t),t.dispose()}_shouldTrustMarkdown(){if(!this._notebookModel)return!1;let e=!1;for(let t of this._notebookModel.cells)if("code"===t.type&&(e=!0,!t.trusted))return!1;return e}_syncMarkdownCellTrust(e){let t=this._shouldTrustMarkdown(),n=this.rendermime.trustHandler;if(n)for(let i of e?[e]:this.widgets)i instanceof d.MarkdownCell&&(t?n.markTrusted(i.node):n.unmarkTrusted(i.node))}_onCellStateChanged(e,t){"trusted"===t.name&&this._syncMarkdownCellTrust()}_updateMimetype(){var e;let t=null==(e=this._notebookModel)?void 0:e.getMetadata("language_info");if(t)for(let e of(this._mimetype=this._mimetypeService.getMimeTypeByLanguage(t),this.widgets))"code"===e.model.type&&(e.model.mimeType=this._mimetype)}_onCellCollapsed(e,t){e.getHeadings().then(()=>{e.isDisposed||e instanceof d.MarkdownCell&&e.headingCollapsed!==t||(y.setHeadingCollapse(e,t,this),this._cellCollapsed.emit(e))}).catch(e=>{console.warn("Failed to resolve headings: ",e)})}_refreshCollapsedHeadingVisibility(){for(let e of this.widgets)e.setHidden(!1);for(let e of this.widgets)if(e instanceof d.MarkdownCell&&e.headingCollapsed){if(e.headingsResolved){y.setHeadingCollapse(e,!0,this);continue}e.getHeadings().then(()=>{!e.isDisposed&&e.headingCollapsed&&this._refreshCollapsedHeadingVisibility()}).catch(e=>{console.warn("Failed to resolve headings: ",e)})}}_onCellInViewportChanged(e){this._cellInViewportChanged.emit(e)}async _onInputRequested(e){if(!e.inViewport){let t=this.widgets.findIndex(t=>t===e);if(t>=0){await this.scrollToItem(t);let n=e.node.querySelector(".jp-Stdin");n&&(X.ElementExt.scrollIntoViewIfNeeded(this.node,n),n.focus())}}}_scheduleCellRenderOnIdle(){"none"===this.notebookConfig.windowingMode||this.isDisposed||this._idleCallBack||(this._idleCallBack=requestIdleCallback(e=>{this._idleCallBack=null,this._runOnIdleTime(e.didTimeout?eD:e.timeRemaining())},{timeout:3e3}))}_updateDataWindowedListIndex(e,t){for(let n of this.cellsArray){let i=parseInt(n.dataset.windowedListIndex,10);i>=e&&(n.node.dataset.windowedListIndex=`${i+t}`)}}_updateEditorConfig(){for(let e=0;e<this.widgets.length;e++){let t=this.widgets[e],n={};switch(t.model.type){case"code":n=this._editorConfig.code;break;case"markdown":n=this._editorConfig.markdown;break;default:n=this._editorConfig.raw}t.updateEditorConfig({...n})}}async _runOnIdleTime(e=eD){let t=Date.now(),n=0;for(;Date.now()-t<e&&n<this.cellsArray.length;){let e=this.cellsArray[n];if(e.isPlaceholder()&&["defer","full","contentVisibility"].includes(this.notebookConfig.windowingMode)){if(await this._updateForDeferMode(e,n),"full"===this.notebookConfig.windowingMode)requestAnimationFrame(()=>{this.viewModel.setEstimatedWidgetSize(e.model.id,e.node.getBoundingClientRect().height),this.layout.removeWidget(e)});else if("contentVisibility"===this.notebookConfig.windowingMode){let t=e.node.getBoundingClientRect().height;this.viewModel.setEstimatedWidgetSize(e.model.id,t),e.node.style.containIntrinsicSize=`auto ${t}px`}}n++}n<this.cellsArray.length?"defer"===this.notebookConfig.windowingMode&&this.viewportNode.clientHeight<this.node.clientHeight?await this._runOnIdleTime():this._scheduleCellRenderOnIdle():this._idleCallBack&&(window.cancelIdleCallback(this._idleCallBack),this._idleCallBack=null)}async _updateForDeferMode(e,t){e.dataset.windowedListIndex=`${t}`,this.layout.insertWidget(t,e),await e.ready}_updateNotebookConfig(){this.toggleClass("jp-mod-scrollPastEnd",this._notebookConfig.scrollPastEnd),this.toggleClass(eL,this._notebookConfig.showHiddenCellsButton);let e=this._notebookConfig.showEditorForReadOnlyMarkdown;if(void 0!==e)for(let t of this.cellsArray)"markdown"===t.model.type&&(t.showEditorForReadOnly=e);this.viewModel.windowingActive="full"===this._notebookConfig.windowingMode;let t="contentVisibility"===this._notebookConfig.windowingMode;this.viewportNode.classList.toggle("jp-content-visibility-mode",t),t?(requestAnimationFrame(()=>{this.cellsArray.forEach((e,t)=>{let n=this._viewModel.estimateWidgetSize(t);e.node.style.containIntrinsicSize=`auto ${n}px`})}),this._setupContentVisibilityObserver()):(this.cellsArray.forEach(e=>{e.node.style.removeProperty("contain-intrinsic-size"),e.node.style.removeProperty("content-visibility"),e.node.style.removeProperty("contain")}),this._contentVisibilityObserver&&(this._contentVisibilityObserver.disconnect(),this._contentVisibilityObserver=null))}onAfterAttach(e){super.onAfterAttach(e),"contentVisibility"===this._notebookConfig.windowingMode&&(this.viewportNode.classList.toggle("jp-content-visibility-mode",!0),requestAnimationFrame(()=>{this.cellsArray.forEach((e,t)=>{let n=this._viewModel.estimateWidgetSize(t);e.node.style.containIntrinsicSize=`auto ${n}px`,e.node.style.contentVisibility="auto",e.node.style.contain="layout style paint"})}),this._setupContentVisibilityObserver())}_setupContentVisibilityObserver(){var e;this._contentVisibilityObserver||(this._contentVisibilityObserver=new IntersectionObserver(e=>{for(let t of e){let e=t.target;t.isIntersecting?(e.style.contentVisibility="visible",e.style.contain="style"):(e.style.contentVisibility="auto",e.style.contain="layout style paint")}},{root:null,threshold:.1})),this.cellsArray.forEach(e=>this._contentVisibilityObserver.observe(e.node)),null==(e=this.model)||e.cells.changed.connect(()=>{requestAnimationFrame(()=>{this.cellsArray.forEach((e,t)=>{let n=this._viewModel.estimateWidgetSize(t);e.node.style.containIntrinsicSize=`auto ${n}px`,this._contentVisibilityObserver.observe(e.node)})})})}}!function(e){e.defaultEditorConfig={code:{lineNumbers:!1,lineWrap:!1,matchBrackets:!0,tabFocusable:!1},markdown:{lineNumbers:!1,lineWrap:!0,matchBrackets:!1,tabFocusable:!1},raw:{lineNumbers:!1,lineWrap:!0,matchBrackets:!1,tabFocusable:!1}},e.defaultNotebookConfig={enableKernelInitNotification:!1,showHiddenCellsButton:!0,scrollPastEnd:!0,defaultCell:"code",recordTiming:!1,inputHistoryScope:"global",maxNumberOutputs:50,showEditorForReadOnlyMarkdown:!0,disableDocumentWideUndoRedo:!0,autoRenderMarkdownCells:!1,renderingLayout:"default",sideBySideLeftMarginOverride:"10px",sideBySideRightMarginOverride:"10px",sideBySideOutputRatio:1,overscanCount:1,windowingMode:"contentVisibility",accessKernelHistory:!1,showInputPlaceholder:!0,showMinimap:!1};class t extends d.Cell.ContentFactory{createCodeCell(e){return new d.CodeCell(e).initializeState()}createMarkdownCell(e){return new d.MarkdownCell(e).initializeState()}createRawCell(e){return new d.RawCell(e).initializeState()}}e.ContentFactory=t}(eP||(eP={}));class ez{constructor(e){this.render=e=>{if(!this._element&&(this._element=this._createElement(),this._notebook.activeCellChanged.connect(this._updateActive),this._notebook.selectionChanged.connect(this._updateSelection),"code"===this._model.type)){let e=this._model;e.outputs.changed.connect(this._updatePrompt),e.stateChanged.connect(this._updateState)}this._model.type!=this._element.dataset.type&&(this._element.dataset.type=this._model.type);let t=this._model.sharedModel.source,n=t.length>1e4?t.substring(0,1e4):t;return n!==this._source.textContent&&(this._source.textContent=n),this._updateActive(),this._updateSelection(),this._updatePrompt(),this._updateDirty(),this._element},this.dispose=()=>{if(this._isDisposed=!0,this._notebook.activeCellChanged.disconnect(this._updateActive),this._notebook.selectionChanged.disconnect(this._updateSelection),"code"===this._model.type){let e=this._model;e.outputs&&(e.outputs.changed.disconnect(this._updatePrompt),e.stateChanged.disconnect(this._updateState))}},this._updateState=(e,t)=>{switch(t.name){case"executionCount":case"executionState":this._updatePrompt();break;case"isDirty":this._updateDirty()}},this._updatePrompt=()=>{let e;if("code"!==this._model.type)return;let t=this._model,n=!1;for(let e=0;e<t.outputs.length;e++)if("error"===t.outputs.get(e).type){n=!0;break}let i="";n?(e="[!]",i="error"):e="running"==t.executionState?"[*]":t.executionCount?`[${t.executionCount}]`:"[ ]",this._executionIndicator.textContent!==e&&(this._executionIndicator.textContent=e),this._element.dataset.output!==i&&(this._element.dataset.output=i)},this._updateActive=()=>{var e;this._element||(this._element=this._createElement());let t=this._element,n=t.classList.contains(eb);(null==(e=this._notebook.activeCell)?void 0:e.model)===this._model?n||t.classList.add(eb):n&&(t.classList.remove(eb),t.classList.remove(ev))},this._updateSelection=()=>{this._element||(this._element=this._createElement());let e=this._element,t=e.classList.contains(ev);this._notebook.selectedCells.some(e=>this._model===e.model)?t||e.classList.add(ev):t&&e.classList.remove(ev)},this._isDisposed=!1,this._element=null,this._model=e.model,this._notebook=e.notebook}get key(){return this._model.id}get isDisposed(){return!this._isDisposed&&this._model.isDisposed&&this.dispose(),this._isDisposed}_updateDirty(){if("code"!==this._model.type||!this._element)return;let e=this._model;this._element.classList.contains(e_)!==e.isDirty&&(e.isDirty?this._element.classList.add(e_):this._element.classList.remove(e_))}_createElement(){let e=document.createElement("li"),t=this._executionIndicator=document.createElement("div");t.className="jp-scrollbarItem-executionIndicator";let n=this._source=document.createElement("div");return n.className="jp-scrollbarItem-source",e.append(t),e.append(n),e}}class eR extends eP{constructor(e){const t=(e.translator||u.nullTranslator).load("jupyterlab");super({renderer:{createOuter:()=>document.createElement("div"),createViewport(){let e=document.createElement("div");return e.setAttribute("role","feed"),e.setAttribute("aria-label",t.__("Cells")),e},createScrollbar:()=>document.createElement("ol"),createScrollbarViewportIndicator:()=>document.createElement("div"),createScrollbarItem:(e,t,n)=>new ez({notebook:e,model:n})},...e}),this._lastModifiedCellBackStack=[],this._lastModifiedCellForwardStack=[],this._activeCellIndex=-1,this._activeCell=null,this._mode="command",this._drag=null,this._dragData=null,this._selectData=null,this._mouseMode=null,this._activeCellChanged=new g.Signal(this),this._stateChanged=new g.Signal(this),this._selectionChanged=new g.Signal(this),this._cellsPasted=new g.Signal(this),this._localCopy=[],this._checkCacheOnNextResize=!1,this._lastClipboardInteraction=null,this._selectedCells=[],this.outerNode.setAttribute("data-lm-dragscroll","true"),this.activeCellChanged.connect(this._updateSelectedCells,this),this.jumped.connect((e,t)=>this.activeCellIndex=t),this.selectionChanged.connect(this._updateSelectedCells,this),this.addFooter()}get selectedCells(){return this._selectedCells}addFooter(){let e=new eh(this);this.layout.footer=e}_onCellsChanged(e,t){var n,i;let o=null==(n=this.activeCell)?void 0:n.model.id;if(super._onCellsChanged(e,t),o){let e=null==(i=this.model)?void 0:i.sharedModel.cells.findIndex(e=>e.getId()===o);null!=e&&(this.activeCellIndex=e)}switch(t.type){case"add":case"set":t.oldValues.forEach(e=>{e.contentChanged.disconnect(this._onCellContentChanged,this)}),t.newValues.forEach(e=>{e.contentChanged.connect(this._onCellContentChanged,this)});break;case"remove":case"clear":t.oldValues.forEach(e=>{e&&e.contentChanged.disconnect(this._onCellContentChanged,this)})}}get activeCellChanged(){return this._activeCellChanged}get stateChanged(){return this._stateChanged}get selectionChanged(){return this._selectionChanged}get cellsPasted(){return this._cellsPasted}get mode(){return this._mode}set mode(e){this.setMode(e)}setMode(e,t={}){var n;let i=null==(n=t.focus)||n,o=this.activeCell;if(o||(e="command"),e===this._mode){i&&this._ensureFocus();return}this.update();let r=this._mode;if(this._mode=e,"edit"===e){for(let e of this.widgets)this.deselect(e);o instanceof d.MarkdownCell&&(o.rendered=!1),o.inputHidden=!1}else i&&y.focusActiveCell(this,{waitUntilReady:!1,preventScroll:!0});this._stateChanged.emit({name:"mode",oldValue:r,newValue:e}),i&&this._ensureFocus()}get activeCellIndex(){return this.model&&this.widgets.length?this._activeCellIndex:-1}set activeCellIndex(e){var t,n;let i=this._activeCellIndex;e=this.model&&this.widgets.length?Math.min(e=Math.max(e,0),this.widgets.length-1):-1,this._activeCellIndex=e;let o=null!=(t=this.widgets[i])?t:null,r=null!=(n=this.widgets[e])?n:null;this.layout.activeCell=r;let s=r!==this._activeCell;s&&(this.update(),this._activeCell=r),(s||e!=i)&&this._activeCellChanged.emit(r),"edit"===this.mode&&(r instanceof d.MarkdownCell&&(r.rendered=!1),this.notebookConfig.autoRenderMarkdownCells&&s&&o instanceof d.MarkdownCell&&(o.rendered=!0)),this._ensureFocus(),e!==i&&(this._trimSelections(),this._stateChanged.emit({name:"activeCellIndex",oldValue:i,newValue:e}))}get activeCell(){return this._activeCell}get lastClipboardInteraction(){return this._lastClipboardInteraction}set lastClipboardInteraction(e){this._lastClipboardInteraction=e}recordCellClipboardInteraction(e,t){let n=this._lastClipboardInteraction;if("copy"===e||"cut"===e)this._localCopy=t;else if("paste"===e){let e=t,i=p.ArrayExt.shallowEqual(e,this._localCopy,m.JSONExt.deepEqual);this._cellsPasted.emit({previousInteraction:i?n:null,cellCount:e.length})}this.lastClipboardInteraction=e}dispose(){this.isDisposed||(this._activeCell=null,super.dispose())}moveCell(e,t,n=1){let i=e<=this.activeCellIndex&&this.activeCellIndex<e+n?this.activeCellIndex+t-e-(e>t?0:n-1):-1,o=this.widgets.slice(e,e+n).map(e=>this.isSelected(e));super.moveCell(e,t,n),i>=0&&(this.activeCellIndex=i),e>t?o.forEach((e,n)=>{e&&this.select(this.widgets[t+n])}):o.forEach((e,i)=>{e&&this.select(this.widgets[t-n+1+i])})}select(e){s.selectedProperty.get(e)||(s.selectedProperty.set(e,!0),this._selectionChanged.emit(void 0),this.update())}deselect(e){s.selectedProperty.get(e)&&(s.selectedProperty.set(e,!1),this._selectionChanged.emit(void 0),this.update())}isSelected(e){return s.selectedProperty.get(e)}isSelectedOrActive(e){return e===this._activeCell||s.selectedProperty.get(e)}deselectAll(){let e=!1;for(let t of this.widgets)s.selectedProperty.get(t)&&(e=!0),s.selectedProperty.set(t,!1);e&&this._selectionChanged.emit(void 0),this.activeCellIndex=this.activeCellIndex,this.update()}extendContiguousSelectionTo(e){let t,{head:n,anchor:i}=this.getContiguousSelection();if(null===i||null===n){if(e===this.activeCellIndex)return;n=this.activeCellIndex,i=this.activeCellIndex}if(this.activeCellIndex=e,(e=this.activeCellIndex)===i)return void this.deselectAll();let o=!1;if(n<e)for(n<i&&(s.selectedProperty.set(this.widgets[n],!1),o=!0),t=n+1;t<e;t++)t!==i&&(s.selectedProperty.set(this.widgets[t],!s.selectedProperty.get(this.widgets[t])),o=!0);else if(e<n)for(i<n&&(s.selectedProperty.set(this.widgets[n],!1),o=!0),t=e+1;t<n;t++)t!==i&&(s.selectedProperty.set(this.widgets[t],!s.selectedProperty.get(this.widgets[t])),o=!0);s.selectedProperty.get(this.widgets[i])||(o=!0),s.selectedProperty.set(this.widgets[i],!0),s.selectedProperty.get(this.widgets[e])||(o=!0),s.selectedProperty.set(this.widgets[e],!0),o&&this._selectionChanged.emit(void 0)}getContiguousSelection(){let e=this.widgets,t=p.ArrayExt.findFirstIndex(e,e=>this.isSelected(e));if(-1===t)return{head:null,anchor:null};let n=p.ArrayExt.findLastIndex(e,e=>this.isSelected(e),-1,t);for(let i=t;i<=n;i++)if(!this.isSelected(e[i]))throw Error("Selection not contiguous");let i=this.activeCellIndex;if(t!==i&&n!==i)throw Error("Active cell not at endpoint of selection");return t===i?{head:t,anchor:n}:{head:n,anchor:t}}async scrollToCell(e,t="auto"){try{await this.scrollToItem(this.widgets.findIndex(t=>t===e),t)}catch(e){}this.deselectAll(),this.select(e),e.activate()}_parseFragment(e){let t=e.slice(1);if(!t)return;let n=t.split("=");return 1===n.length?{kind:"legacy",value:t}:{kind:n[0],value:n.slice(1).join("=")}}async setFragment(e){let t,n=this._parseFragment(e);if(!n)return;switch(n.kind){case"heading":t=await this._findHeading(n.value);break;case"cell-id":t=this._findCellById(n.value);break;case"legacy":t=await this._findLegacy(n.value);break;default:console.warn(`Unknown target type for URI fragment ${e}, interpreting as a heading`),t=await this._findLegacy(n.kind+"="+n.value)}if(null==t)return;let{cell:i,element:o}=t;i.inViewport||await this.scrollToCell(i,"center"),null==o&&(o=i.node),o.scrollIntoView()}handleEvent(e){if(this.model)switch(e.type){case"contextmenu":e.eventPhase===Event.CAPTURING_PHASE&&this._evtContextMenuCapture(e);break;case"mousedown":e.eventPhase===Event.CAPTURING_PHASE?this._evtMouseDownCapture(e):e.defaultPrevented||this._evtMouseDown(e);break;case"mouseup":e.currentTarget===document&&this._evtDocumentMouseup(e);break;case"mousemove":e.currentTarget===document&&this._evtDocumentMousemove(e);break;case"keydown":this._ensureFocus(!0);break;case"dblclick":this._evtDblClick(e);break;case"focusin":this._evtFocusIn(e);break;case"focusout":this._evtFocusOut(e);break;case"lm-dragenter":this._evtDragEnter(e);break;case"lm-dragleave":this._evtDragLeave(e);break;case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e);break;default:super.handleEvent(e)}}popLastModifiedCell(){var e;let t=null==(e=this.activeCell)?void 0:e.model.id;for(;this._lastModifiedCellBackStack.length;){let e=this._lastModifiedCellBackStack.pop();if(e===t){this._lastModifiedCellForwardStack.push(e);continue}let n=this.widgets.find(t=>t.model.id===e);if(n&&!n.isDisposed)return this._lastModifiedCellForwardStack.push(e),n}return null}popNextModifiedCell(){var e;let t=null==(e=this.activeCell)?void 0:e.model.id;for(;this._lastModifiedCellForwardStack.length;){let e=this._lastModifiedCellForwardStack.pop();if(e===t){this._lastModifiedCellBackStack.push(e);continue}let n=this.widgets.find(t=>t.model.id===e);if(n&&!n.isDisposed)return this._lastModifiedCellBackStack.push(e),n}return null}hasNavigableModifiedCellBack(){var e;let t=null==(e=this.activeCell)?void 0:e.model.id;for(let e=this._lastModifiedCellBackStack.length-1;e>=0;e--){let n=this._lastModifiedCellBackStack[e];if(n!==t){let e=this.widgets.find(e=>e.model.id===n);if(e&&!e.isDisposed)return!0}}return!1}hasNavigableModifiedCellForward(){var e;let t=null==(e=this.activeCell)?void 0:e.model.id;for(let e=this._lastModifiedCellForwardStack.length-1;e>=0;e--){let n=this._lastModifiedCellForwardStack[e];if(n!==t){let e=this.widgets.find(e=>e.model.id===n);if(e&&!e.isDisposed)return!0}}return!1}onAfterAttach(e){super.onAfterAttach(e);let t=this.node;t.addEventListener("contextmenu",this,!0),t.addEventListener("mousedown",this,!0),t.addEventListener("mousedown",this),t.addEventListener("keydown",this),t.addEventListener("dblclick",this),t.addEventListener("focusin",this),t.addEventListener("focusout",this),t.addEventListener("lm-dragenter",this,!0),t.addEventListener("lm-dragleave",this,!0),t.addEventListener("lm-dragover",this,!0),t.addEventListener("lm-drop",this,!0)}onBeforeDetach(e){let t=this.node;t.removeEventListener("contextmenu",this,!0),t.removeEventListener("mousedown",this,!0),t.removeEventListener("mousedown",this),t.removeEventListener("keydown",this),t.removeEventListener("dblclick",this),t.removeEventListener("focusin",this),t.removeEventListener("focusout",this),t.removeEventListener("lm-dragenter",this,!0),t.removeEventListener("lm-dragleave",this,!0),t.removeEventListener("lm-dragover",this,!0),t.removeEventListener("lm-drop",this,!0),document.removeEventListener("mousemove",this,!0),document.removeEventListener("mouseup",this,!0),super.onBeforeDetach(e)}onAfterShow(e){super.onAfterShow(e),this._checkCacheOnNextResize=!0}onResize(e){var t;if(!this._checkCacheOnNextResize)return super.onResize(e);super.onResize(e),this._checkCacheOnNextResize=!1;let n=this._cellLayoutStateCache,i=parseInt(this.node.style.width,10);if(!n||i!==n.width)for(let e of(this._cellLayoutStateCache={width:i},this.widgets))e instanceof d.Cell&&e.inViewport&&(null==(t=e.editorWidget)||t.update())}onBeforeHide(e){super.onBeforeHide(e);let t=parseInt(this.node.style.width,10);this._cellLayoutStateCache={width:t}}onActivateRequest(e){super.onActivateRequest(e),this._ensureFocus(!0)}onUpdateRequest(e){super.onUpdateRequest(e);let t=this.activeCell;"edit"===this.mode?(this.addClass(eC),this.removeClass(ef)):(this.addClass(ef),this.removeClass(eC));let n=0;for(let e of this.widgets)e===t?(t.addClass(eb),t.addClass(ev),t.node.tabIndex=0):(e.node.tabIndex=-1,e.removeClass(eb),e.removeClass(ey)),this.isSelectedOrActive(e)?(e.addClass(ev),n++):e.removeClass(ev);t&&n>1&&t.addClass(ey)}onCellInserted(e,t){t.ready.then(()=>{t.isDisposed||t.editor.edgeRequested.connect(this._onEdgeRequest,this)}),t.scrollRequested.connect((e,n)=>{if(t!==this.activeCell||!n.defaultPrevented)return;let i=this.outerNode;if(t.inViewport)return n.scrollWithinCell({scroller:i});this.scrollToItem(this.activeCellIndex).then(()=>{t.ready.then(()=>{n.scrollWithinCell({scroller:i})})}).catch(e=>{})}),this.activeCellIndex=e<=this.activeCellIndex?this.activeCellIndex+1:this.activeCellIndex}onCellRemoved(e,t){this.activeCellIndex=e<=this.activeCellIndex?this.activeCellIndex-1:this.activeCellIndex,this.isSelected(t)&&this._selectionChanged.emit(void 0)}onModelChanged(e,t){super.onModelChanged(e,t),this.activeCellIndex=0}_onEdgeRequest(e,t){this.setMode("edit",{focus:!1});let n=this.activeCellIndex;if("top"===t){if(this.activeCellIndex--,this.activeCellIndex<n){let e=this.activeCell.editor;if(e){let t=e.lineCount-1;e.setCursorPosition({line:t,column:0})}}}else if("bottom"===t&&(this.activeCellIndex++,this.activeCellIndex>n)){let e=this.activeCell.editor;e&&e.setCursorPosition({line:0,column:0})}this.mode="edit"}_ensureFocus(e=!1){var t,n;let i=this.layout.footer;if(i&&document.activeElement===i.node)return;let o=this.activeCell;"edit"===this.mode&&o&&(null==(t=o.editor)?void 0:t.hasFocus())!==!0&&(o.inViewport?null==(n=o.editor)||n.focus():this.scrollToItem(this.activeCellIndex).then(()=>{o.ready.then(()=>{var e;null==(e=o.editor)||e.focus()})}).catch(e=>{})),e&&o&&!o.node.contains(document.activeElement)&&y.focusActiveCell(this,{preventScroll:!0})}_findCell(e){let t=e;for(;t&&t!==this.node;){if(t.classList.contains(eA)){let e=p.ArrayExt.findFirstIndex(this.widgets,e=>e.node===t);if(-1!==e)return e;break}t=t.parentElement}return -1}_findEventTargetAndCell(e){let t=e.target,n=this._findCell(t);return -1===n&&(t=document.elementFromPoint(e.clientX,e.clientY),n=this._findCell(t)),[t,n]}async _findHeading(e){var t;for(let n=0;n<this.widgets.length;n++){let i=this.widgets[n];if("raw"!==i.model.type&&("markdown"!==i.model.type||i.rendered))for(let n of i.headings){let o="";switch(n.type){case d.Cell.HeadingType.HTML:o=n.id;break;case d.Cell.HeadingType.Markdown:{let e=n;o=await Q.TableOfContentsUtils.Markdown.getHeadingId(this.rendermime.markdownParser,e.raw,e.level,this.rendermime.sanitizer)}}if(o===e){let e=null!=(t=this.rendermime.sanitizer.allowNamedProperties)&&t?"id":"data-jupyter-id";return{cell:i,element:this.node.querySelector(`h${n.level}[${e}="${CSS.escape(o)}"]`)}}}}return null}_findCellById(e){for(let t=0;t<this.widgets.length;t++){let n=this.widgets[t];if(n.model.id===e)return{cell:n}}return null}async _findLegacy(e){var t;for(let n=0;n<this.widgets.length;n++){let i=this.widgets[n];if("raw"===i.model.type||"markdown"===i.model.type&&!i.rendered)continue;let o=null!=(t=this.rendermime.sanitizer.allowNamedProperties)&&t?"id":"data-jupyter-id",r=i.node.querySelector(`[${o}="${CSS.escape(e)}"]`);if(null!==r)return{cell:i,element:r}}return null}_evtContextMenuCapture(e){var t;if(e.shiftKey)return;let[n,i]=this._findEventTargetAndCell(e),o=this.widgets[i];o&&(null==(t=o.editorWidget)?void 0:t.node.contains(n))&&!n.closest("[data-jp-suppress-context-menu]")&&e.preventDefault()}_evtMouseDownCapture(e){var t;let{button:n,shiftKey:i}=e,[o,r]=this._findEventTargetAndCell(e),s=this.widgets[r];2===n&&!i&&s&&(null==(t=s.editorWidget)?void 0:t.node.contains(o))&&(this.mode="command",e.preventDefault())}_evtMouseDown(e){var t,n,i;let o,{button:r,shiftKey:s}=e;if(0!==r&&2!==r||s&&2===r)return;let[a,l]=this._findEventTargetAndCell(e),d=this.widgets[l];if("input"!=(o=d?(null==(t=d.editorWidget)?void 0:t.node.contains(a))?"input":(null==(n=d.promptNode)?void 0:n.contains(a))?"prompt":"cell":"notebook")&&(this.mode="command"),"notebook"===o)this.deselectAll();else if("prompt"===o||"cell"===o){let t=""!==(null!=(i=window.getSelection())?i:"").toString();if(0!==r||!s||t||["INPUT","OPTION"].includes(a.tagName))0!==r||s?2===r&&(this.isSelectedOrActive(d)||(this.deselectAll(),this.activeCellIndex=l),e.preventDefault()):("prompt"===o&&(this._dragData={pressX:e.clientX,pressY:e.clientY,index:l},this._mouseMode="couldDrag",document.addEventListener("mouseup",this,!0),document.addEventListener("mousemove",this,!0),e.preventDefault()),this.isSelectedOrActive(d)||(this.deselectAll(),this.activeCellIndex=l));else{e.preventDefault();try{this.extendContiguousSelectionTo(l)}catch(e){console.error(e),this.deselectAll();return}this._mouseMode="select",this._selectData={startedOnActiveCell:l==this.activeCellIndex,startingCellIndex:this.activeCellIndex},document.addEventListener("mouseup",this,!0),document.addEventListener("mousemove",this,!0)}}else"input"!==o||2!==r||this.isSelectedOrActive(d)||(this.deselectAll(),this.activeCellIndex=l);this._ensureFocus(!0)}_evtDocumentMouseup(e){let[,t]=this._findEventTargetAndCell(e),n=!0;if("select"===this._mouseMode&&this._selectData){let{startedOnActiveCell:e,startingCellIndex:i}=this._selectData;e&&t===i&&(n=!1),this._selectData=null}n&&(e.preventDefault(),e.stopPropagation()),document.removeEventListener("mousemove",this,!0),document.removeEventListener("mouseup",this,!0),"couldDrag"===this._mouseMode&&(this.deselectAll(),this.activeCellIndex=t,this.activeCell.node.contains(document.activeElement)||y.focusActiveCell(this)),this._mouseMode=null}_evtDocumentMousemove(e){switch(e.preventDefault(),e.stopPropagation(),this._mouseMode){case"select":{let t=e.target,n=this._findCell(t);-1!==n&&this.extendContiguousSelectionTo(n);break}case"couldDrag":{let t=this._dragData,n=Math.abs(e.clientX-t.pressX),i=Math.abs(e.clientY-t.pressY);(n>=ek||i>=ek)&&(this._mouseMode=null,this._startDrag(t.index,e.clientX,e.clientY))}}}_evtDragEnter(e){if(!e.mimeData.hasData(eI))return;e.preventDefault(),e.stopPropagation();let t=e.target,n=this._findCell(t);-1===n||this.cellsArray[n].node.classList.add(ei)}_evtDragLeave(e){if(!e.mimeData.hasData(eI))return;e.preventDefault(),e.stopPropagation();let t=this.node.getElementsByClassName(ei);t.length&&t[0].classList.remove(ei)}_evtDragOver(e){if(!e.mimeData.hasData(eI))return;e.preventDefault(),e.stopPropagation(),e.dropAction=e.proposedAction;let t=this.node.getElementsByClassName(ei);t.length&&t[0].classList.remove(ei);let n=e.target,i=this._findCell(n);-1===i||this.cellsArray[i].node.classList.add(ei)}_evtDrop(e){if(!e.mimeData.hasData(eI))return;if(e.preventDefault(),e.stopPropagation(),"none"===e.proposedAction){e.dropAction="none";return}let t=e.target;for(;t&&t.parentElement;){if(t.classList.contains(ei)){t.classList.remove(ei);break}t=t.parentElement}let n=this.model,i=e.source;if(i===this){e.dropAction="move";let n=e.mimeData.getData("internal:cells"),o=n[n.length-1];if(o instanceof d.MarkdownCell&&o.headingCollapsed){let e=y.findNextParentHeading(o,i);if(e>0){let t=(0,p.findIndex)(i.widgets,e=>o.model.id===e.model.id);n.push(...i.widgets.slice(t+1,e))}}let r=p.ArrayExt.firstIndexOf(this.widgets,n[0]),s=this._findCell(t);if(-1!==s&&s>r?s-=1:-1===s&&(s=this.widgets.length-1),s>=r&&s<r+n.length)return;y.moveCells(this,r,s,n.length)}else{e.dropAction="copy";let i=this._findCell(t);-1===i&&(i=this.widgets.length);let o=i,r=e.mimeData.getData(eI);n.sharedModel.insertCells(i,r),this.deselectAll(),this.activeCellIndex=o,this.extendContiguousSelectionTo(i-1)}y.focusActiveCell(this)}_startDrag(e,t,n){var i;let o,r=this.model.cells,a=[],l=[],d=-1;for(let e of this.widgets){let t=r.get(++d);this.isSelectedOrActive(e)&&(e.addClass(eo),a.push(t.toJSON()),l.push(e))}let c=this.activeCell,h=null;if((null==c?void 0:c.model.type)==="code"){let e=c.model.executionCount;o=" ",e&&(o=e.toString())}else o="";h=s.createDragImage(a.length,o,null!=(i=null==c?void 0:c.model.sharedModel.getSource().split("\n")[0].slice(0,26))?i:""),this._drag=new ee.Drag({mimeData:new m.MimeData,dragImage:h,supportedActions:"copy-move",proposedAction:"copy",source:this}),this._drag.mimeData.setData(eI,a),this._drag.mimeData.setData("internal:cells",l);let u=l.map(e=>e.model.sharedModel.getSource()).join("\n");this._drag.mimeData.setData("text/plain",u),document.removeEventListener("mousemove",this,!0),document.removeEventListener("mouseup",this,!0),this._mouseMode=null,this._drag.start(t,n).then(e=>{if(!this.isDisposed)for(let e of(this._drag=null,l))e.removeClass(eo)})}_updateReadWrite(){let e=l.DOMUtils.hasActiveEditableElement(this.node);this.node.classList.contains(ew)!==e&&this.node.classList.toggle(ew,e)}_evtFocusIn(e){var t,n;this._updateReadWrite();let i=e.target,o=this._findCell(i);if(-1!==o){let e=this.widgets[o];e.editorWidget&&!e.editorWidget.node.contains(i)&&this.setMode("command",{focus:!1}),this.activeCellIndex=o;let n=null==(t=e.editorWidget)?void 0:t.node;(null==n?void 0:n.contains(i))&&this.setMode("edit",{focus:!1})}else{this.setMode("command",{focus:!1}),e.preventDefault();let t=e.relatedTarget;this._activeCell&&!this._activeCell.node.contains(t)?this._activeCell.ready.then(()=>{var e;null==(e=this._activeCell)||e.node.focus({preventScroll:!0})}).catch(()=>{var e;null==(e=this.layout.footer)||e.node.focus({preventScroll:!0})}):null==(n=this.layout.footer)||n.node.focus({preventScroll:!0})}}_evtFocusOut(e){var t;let n=e.relatedTarget;if(!n)return void this._updateReadWrite();let i=this._findCell(n);-1!==i&&(null==(t=this.widgets[i].editorWidget)?void 0:t.node.contains(n))||("command"!==this.mode&&this.setMode("command",{focus:!1}),this._updateReadWrite())}_evtDblClick(e){let t=this.model;if(!t)return;this.deselectAll();let[n,i]=this._findEventTargetAndCell(e);e.target.classList.contains(eT)||-1!==i&&(this.activeCellIndex=i,"markdown"===t.cells.get(i).type?this.widgets[i].rendered=!1:"img"===n.localName&&n.classList.toggle(eE))}_trimSelections(){for(let e=0;e<this.widgets.length;e++)if(e!==this._activeCellIndex){let t=this.widgets[e];if(!t.model.isDisposed&&t.editor){t.model.selections.delete(t.editor.uuid);let e=t.editor.getCursorPosition();t.editor.setCursorPosition(e,{scroll:!1})}}}_onCellContentChanged(e){let t=e.id,n=this._lastModifiedCellBackStack;if(n.length>0&&n[n.length-1]===t)return;let i=n.lastIndexOf(t);-1!==i&&n.splice(i,1),n.push(t),n.length>eR.MAX_MODIFIED_STACK&&n.shift(),this._lastModifiedCellForwardStack=[],this._stateChanged.emit({name:"lastModifiedCellStack",oldValue:null,newValue:null})}_updateSelectedCells(){this._selectedCells=this.widgets.filter(e=>this.isSelectedOrActive(e)),this.kernelHistory&&this.kernelHistory.reset()}}eR.MAX_MODIFIED_STACK=50,function(e){class t extends eP.ContentFactory{}e.ContentFactory=t}(eR||(eR={})),function(e){e.selectedProperty=new et.AttachedProperty({name:"selected",create:()=>!1});class t extends $.PanelLayout{onUpdateRequest(e){}}e.NotebookPanelLayout=t,e.createDragImage=function(e,t,n){if(e>1)if(""!==t)return en.VirtualDOM.realize(en.h.div(en.h.div({className:ej},en.h.span({className:eS},"["+t+"]:"),en.h.span({className:eB},n)),en.h.div({className:eM},"")));else return en.VirtualDOM.realize(en.h.div(en.h.div({className:ej},en.h.span({className:eS}),en.h.span({className:eB},n)),en.h.div({className:eM},"")));return""!==t?en.VirtualDOM.realize(en.h.div(en.h.div({className:`${ej} ${ex}`},en.h.span({className:eS},"["+t+"]:"),en.h.span({className:eB},n)))):en.VirtualDOM.realize(en.h.div(en.h.div({className:`${ej} ${ex}`},en.h.span({className:eS}),en.h.span({className:eB},n))))}}(s||(s={}));let eO="jp-NotebookPanel",eF="jp-NotebookPanel-toolbar",eW="jp-NotebookPanel-notebook";class eH extends Z.DocumentWidget{constructor(e){super(e),this._autorestarting=!1,this.addClass(eO),this.toolbar.addClass(eF),this.content.addClass(eW),this.content.model=this.context.model,this.context.sessionContext.kernelChanged.connect(this._onKernelChanged,this),this.context.sessionContext.statusChanged.connect(this._onSessionStatusChanged,this),this.context.saveState.connect(this._onSave,this),this.revealed.then(()=>{if(!this.isDisposed&&1===this.content.widgets.length){let e=this.content.widgets[0].model;"code"===e.type&&""===e.sharedModel.getSource()&&(this.content.mode="edit")}})}_onSave(e,t){if("started"===t&&this.model){for(let e of this.model.cells)if((0,d.isMarkdownCellModel)(e))for(let t of e.attachments.keys)e.sharedModel.getSource().includes(t)||e.attachments.remove(t)}}get sessionContext(){return this.context.sessionContext}get model(){return this.content.model}setConfig(e){this.content.editorConfig=e.editorConfig,this.content.notebookConfig=e.notebookConfig;let t=this.context.sessionContext.kernelPreference;this.context.sessionContext.kernelPreference={...t,shutdownOnDispose:e.kernelShutdown,autoStartDefault:e.autoStartDefault}}setFragment(e){this.context.ready.then(()=>{this.content.setFragment(e)})}dispose(){this.content.dispose(),super.dispose()}[l.Printing.symbol](){return async()=>{this.context.model.dirty&&!this.context.model.readOnly&&await this.context.save(),await l.Printing.printURL(c.PageConfig.getNBConvertURL({format:"html",download:!1,path:this.context.path}))}}onBeforeHide(e){super.onBeforeHide(e),this.content.isParentHidden=!0}onBeforeShow(e){this.content.isParentHidden=!1,super.onBeforeShow(e)}_onKernelChanged(e,t){if(!this.model||!t.newValue)return;let{newValue:n}=t;n.info.then(e=>{var t;this.model&&(null==(t=this.context.sessionContext.session)?void 0:t.kernel)===n&&this._updateLanguage(e.language_info)}),this._updateSpec(n)}_onSessionStatusChanged(e,t){var n;"autorestarting"!==t||this._autorestarting?"restarting"===t||(this._autorestarting=!1):((0,l.showDialog)({title:this._trans.__("Kernel Restarting"),body:this._trans.__("The kernel for %1 appears to have died. It will restart automatically.",null==(n=this.sessionContext.session)?void 0:n.path),buttons:[l.Dialog.okButton({label:this._trans.__("Ok")})]}),this._autorestarting=!0)}_updateLanguage(e){this.model.setMetadata("language_info",e)}async _updateSpec(e){let t=await e.spec;this.isDisposed||this.model.setMetadata("kernelspec",{name:e.name,display_name:null==t?void 0:t.display_name,language:null==t?void 0:t.language})}}!function(e){class t extends eR.ContentFactory{createNotebook(e){return new eR(e)}}e.ContentFactory=t,e.IContentFactory=new m.Token("@jupyterlab/notebook:IContentFactory",`A factory object that creates new notebooks.
    Use this if you want to create and host notebooks in your own UI elements.`)}(eH||(eH={}));var eU=n(86149);class eY extends eU.SearchProvider{constructor(e,t=u.nullTranslator){super(e),this.translator=t,this._textSelection=null,this._currentProviderIndex=null,this._delayedActiveCellChangeHandler=null,this._onSelection=!1,this._selectedCells=1,this._selectedLines=0,this._query=null,this._searchProviders=[],this._editorSelectionsObservable=null,this._selectionSearchMode="cells",this._selectionLock=!1,this._searchActive=!1,this._handleHighlightsAfterActiveCellChange=this._handleHighlightsAfterActiveCellChange.bind(this),this.widget.model.cells.changed.connect(this._onCellsChanged,this),this.widget.content.activeCellChanged.connect(this._onActiveCellChanged,this),this.widget.content.selectionChanged.connect(this._onCellSelectionChanged,this),this.widget.content.stateChanged.connect(this._onNotebookStateChanged,this),this._observeActiveCell(),this._filtersChanged.connect(this._setEnginesSelectionSearchMode,this)}_onNotebookStateChanged(e,t){"mode"===t.name&&window.setTimeout(()=>{var e;"command"===t.newValue&&(null==(e=document.activeElement)?void 0:e.closest(".jp-DocumentSearch-overlay"))||(this._updateSelectionMode(),this._filtersChanged.emit())},0)}static isApplicable(e){return e instanceof eH}static createNew(e,t){return new eY(e,t)}get currentMatchIndex(){let e=0,t=!1;for(let n=0;n<this._searchProviders.length;n++){let i=this._searchProviders[n];if(this._currentProviderIndex==n){let n=i.currentMatchIndex;if(null===n)return null;e+=n,t=!0;break}e+=i.matchesCount}return t?e:null}get matchesCount(){return this._searchProviders.reduce((e,t)=>e+=t.matchesCount,0)}get isReadOnly(){var e,t,n;return null!=(n=null==(t=null==(e=this.widget)?void 0:e.content.model)?void 0:t.readOnly)&&n}get replaceOptionsSupport(){return{preserveCase:!0}}getSelectionState(){let e="cells"===this._selectionSearchMode,t=e?this._selectedCells:this._selectedLines;return t>1?"multiple":1!==t||e?"none":"single"}dispose(){var e;if(this.isDisposed)return;this.widget.content.activeCellChanged.disconnect(this._onActiveCellChanged,this),null==(e=this.widget.model)||e.cells.changed.disconnect(this._onCellsChanged,this),this.widget.content.stateChanged.disconnect(this._onNotebookStateChanged,this),this.widget.content.selectionChanged.disconnect(this._onCellSelectionChanged,this),this._stopObservingLastCell(),super.dispose();let t=this.widget.content.activeCellIndex;this.endQuery().then(()=>{this.widget.isDisposed||(this.widget.content.activeCellIndex=t)}).catch(e=>{console.error(`Fail to end search query in notebook:
${e}`)})}getFilters(){let e=this.translator.load("jupyterlab");return{output:{title:e.__("Search Cell Outputs"),description:e.__("Search in the cell outputs."),disabledDescription:e.__("Search in the cell outputs (not available when replace options are shown)."),default:!1,supportReplace:!1},selection:{title:"cells"===this._selectionSearchMode?e._n("Search in %1 Selected Cell","Search in %1 Selected Cells",this._selectedCells):e._n("Search in %1 Selected Line","Search in %1 Selected Lines",this._selectedLines),description:e.__("Search only in the selected cells or text (depending on edit/command mode)."),default:!1,supportReplace:!0}}}_updateSelectionMode(){this._selectionLock||(this._selectionSearchMode=1===this._selectedCells&&"edit"===this.widget.content.mode&&0!==this._selectedLines?"text":"cells")}getInitialQuery(){var e;return(null==(e=window.getSelection())?void 0:e.toString())||""}async clearHighlight(){this._selectionLock=!0,null!==this._currentProviderIndex&&this._currentProviderIndex<this._searchProviders.length&&(await this._searchProviders[this._currentProviderIndex].clearHighlight(),this._currentProviderIndex=null),this._selectionLock=!1}async highlightNext(e=!0,t){let n=await this._stepNext(!1,e,t);return null!=n?n:void 0}async highlightPrevious(e=!0,t){let n=await this._stepNext(!0,e,t);return null!=n?n:void 0}async startQuery(e,t){if(!this.widget)return;await this.endQuery(),this._searchActive=!0;let n=this.widget.content.widgets;this._query=e,this._filters={output:!1,selection:!1,...null!=t?t:{}},this._onSelection=this._filters.selection;let i=this.widget.content.activeCellIndex;return this._searchProviders=await Promise.all(n.map(async(t,n)=>{let o=(0,d.createCellSearchProvider)(t);return await o.setIsActive(!this._filters.selection||this.widget.content.isSelectedOrActive(t)),this._onSelection&&"text"===this._selectionSearchMode&&n===i&&this._textSelection&&await o.setSearchSelection(this._textSelection),await o.startQuery(e,this._filters),o})),this._currentProviderIndex=i,await this.highlightNext(!0,{from:"selection-start",scroll:!1,select:!1}),Promise.resolve()}async endQuery(){await Promise.all(this._searchProviders.map(e=>e.endQuery().then(()=>{e.dispose()}))),this._searchActive=!1,this._searchProviders.length=0,this._currentProviderIndex=null}async replaceCurrentMatch(e,t=!0,n){let i=!1,o=async(e=!1)=>{var n;let i=null==(n=this.widget)?void 0:n.content.activeCell;(null==i?void 0:i.model.type)==="markdown"&&i.rendered&&(i.rendered=!1,e&&await this.highlightNext(t))};if(null!==this._currentProviderIndex){await o();let r=this._searchProviders[this._currentProviderIndex];i=await r.replaceCurrentMatch(e,!1,n),null===r.currentMatchIndex&&await this.highlightNext(t,{from:"previous-match"})}return await o(!0),i}async replaceAllMatches(e,t){return(await Promise.all(this._searchProviders.map(n=>n.replaceAllMatches(e,t)))).includes(!0)}async validateFilter(e,t){if("output"!==e)return t;if(t&&this.widget.content.widgets.some(e=>e instanceof d.CodeCell&&e.isPlaceholder())){let e=this.translator.load("jupyterlab");if(!(await (0,l.showDialog)({title:e.__("Confirmation"),body:e.__("Searching outputs requires you to run all cells and render their outputs. Are you sure you want to search in the cell outputs?"),buttons:[l.Dialog.cancelButton({label:e.__("Cancel")}),l.Dialog.okButton({label:e.__("Ok")})]})).button.accept)return!1;this.widget.content.widgets.forEach((e,t)=>{e instanceof d.CodeCell&&e.isPlaceholder()&&this.widget.content.renderCellOutputs(t)})}return t}_addCellProvider(e){var t,n;let i=this.widget.content.widgets[e],o=(0,d.createCellSearchProvider)(i);p.ArrayExt.insert(this._searchProviders,e,o),o.setIsActive(!(null!=(n=null==(t=this._filters)?void 0:t.selection)&&n)||this.widget.content.isSelectedOrActive(i)).then(()=>{this._searchActive&&o.startQuery(this._query,this._filters)})}_removeCellProvider(e){let t=p.ArrayExt.removeAt(this._searchProviders,e);null==t||t.dispose()}async _onCellsChanged(e,t){switch(t.type){case"add":t.newValues.forEach((e,n)=>{this._addCellProvider(t.newIndex+n)});break;case"move":p.ArrayExt.move(this._searchProviders,t.oldIndex,t.newIndex);break;case"remove":for(let e=0;e<t.oldValues.length;e++)this._removeCellProvider(t.oldIndex);break;case"set":t.newValues.forEach((e,n)=>{this._addCellProvider(t.newIndex+n),this._removeCellProvider(t.newIndex+n+1)});break;case"clear":for(let e=this._searchProviders.length-1;e>=0;e--)this._removeCellProvider(e)}this._stateChanged.emit()}async _stepNext(e=!1,t=!1,n){var i;let o=async e=>{var t;if(!(null==(t=null==n?void 0:n.scroll)||t))return;if(this._selectionLock=!0,this.widget.content.activeCellIndex!==this._currentProviderIndex&&(this.widget.content.activeCellIndex=this._currentProviderIndex),-1===this.widget.content.activeCellIndex){console.warn("No active cell (no cells or no model), aborting search"),this._selectionLock=!1;return}let i=this.widget.content.activeCell;if(!i.inViewport)try{await this.widget.content.scrollToItem(this._currentProviderIndex)}catch(e){}if(i.inputHidden&&(i.inputHidden=!1),!i.inViewport){this._selectionLock=!1;return}await i.ready;let o=i.editor;o.revealPosition(o.getPositionAt(e.position)),this._selectionLock=!1};null===this._currentProviderIndex&&(this._currentProviderIndex=this.widget.content.activeCellIndex),e&&"command"===this.widget.content.mode&&(this._searchProviders[this._currentProviderIndex].getCurrentMatch()||(this._currentProviderIndex-=1),t&&(this._currentProviderIndex=(this._currentProviderIndex+this._searchProviders.length)%this._searchProviders.length));let r="previous-match"===(null!=(i=null==n?void 0:n.from)?i:"")&&null===this._searchProviders[this._currentProviderIndex].currentMatchIndex,s=this._currentProviderIndex;r&&this._searchProviders[this._currentProviderIndex].clearHighlight(),t&&r&&this._currentProviderIndex+1>=this._searchProviders.length?this._currentProviderIndex=0:this._currentProviderIndex+=+!!r;do{let i=this._searchProviders[this._currentProviderIndex],r=e?await i.highlightPrevious(!1,n):await i.highlightNext(!1,n);if(r)return await o(r),r;this._currentProviderIndex=this._currentProviderIndex+(e?-1:1),t&&(this._currentProviderIndex=(this._currentProviderIndex+this._searchProviders.length)%this._searchProviders.length)}while(t?this._currentProviderIndex!==s:0<=this._currentProviderIndex&&this._currentProviderIndex<this._searchProviders.length);if(t){let t=this._searchProviders[s],i=e?await t.highlightPrevious(!1,n):await t.highlightNext(!1,n);if(i)return await o(i),i}return this._currentProviderIndex=null,null}async _onActiveCellChanged(){null!==this._delayedActiveCellChangeHandler&&(clearTimeout(this._delayedActiveCellChangeHandler),this._delayedActiveCellChangeHandler=null),this.widget.content.activeCellIndex!==this._currentProviderIndex&&(this._delayedActiveCellChangeHandler=window.setTimeout(()=>{this.delayedActiveCellChangeHandlerReady=this._handleHighlightsAfterActiveCellChange()},0)),this._observeActiveCell()}async _handleHighlightsAfterActiveCellChange(){if(this._onSelection){let e=null!==this._currentProviderIndex&&this._currentProviderIndex<this.widget.content.widgets.length?this.widget.content.widgets[this._currentProviderIndex]:null;e&&this.widget.content.isSelectedOrActive(e)||(await this._updateCellSelection(),await this.clearHighlight(),this._currentProviderIndex=this.widget.content.activeCellIndex)}await this._ensureCurrentMatch()}async _ensureCurrentMatch(){if(null!==this._currentProviderIndex){let e=this._searchProviders[this._currentProviderIndex];e&&!e.getCurrentMatch()&&this.matchesCount&&await this.highlightNext(!0,{from:"start",scroll:!1,select:!1})}}_observeActiveCell(){var e;let t=null==(e=this.widget.content.activeCell)?void 0:e.editor;t&&(this._stopObservingLastCell(),t.model.selections.changed.connect(this._setSelectedLines,this),this._editorSelectionsObservable=t.model.selections)}_stopObservingLastCell(){this._editorSelectionsObservable&&this._editorSelectionsObservable.changed.disconnect(this._setSelectedLines,this)}_setSelectedLines(){var e;let t=null==(e=this.widget.content.activeCell)?void 0:e.editor;if(!t)return;let n=t.getSelection(),{start:i,end:o}=n,r=o.line===i.line&&o.column===i.column?0:o.line-i.line+1;this._textSelection=n,r!==this._selectedLines&&(this._selectedLines=r,this._updateSelectionMode()),this._filtersChanged.emit()}async _setEnginesSelectionSearchMode(){let e;e=!!this._onSelection&&"text"===this._selectionSearchMode,this._selectionLock||await Promise.all(this._searchProviders.map((t,n)=>{let i=this.widget.content.activeCellIndex===n;return t.setProtectSelection(i&&this._onSelection),t.setSearchSelection(i&&e?this._textSelection:null)}))}async _onCellSelectionChanged(){if(null!==this._delayedActiveCellChangeHandler&&(clearTimeout(this._delayedActiveCellChangeHandler),this._delayedActiveCellChangeHandler=null),await this._updateCellSelection(),null===this._currentProviderIndex){let e=this.widget.content.widgets.findIndex(e=>this.widget.content.isSelectedOrActive(e));this._currentProviderIndex=e}await this._ensureCurrentMatch()}async _updateCellSelection(){let e=this.widget.content.widgets,t=0;await Promise.all(e.map(async(e,n)=>{let i=this._searchProviders[n],o=this.widget.content.isSelectedOrActive(e);o&&(t+=1),i&&this._onSelection&&await i.setIsActive(o)})),t!==this._selectedCells&&(this._selectedCells=t,this._updateSelectionMode()),this._filtersChanged.emit()}}let eV=6;!function(e){e[e.Idle=-1]="Idle",e[e.Error=-.5]="Error",e[e.Scheduled=0]="Scheduled",e[e.Running=1]="Running"}(a||(a={}));class eq extends Q.TableOfContentsModel{constructor(e,t,n,i){super(e,i),this.parser=t,this.sanitizer=n,this.configMetadataMap={numberHeaders:["toc-autonumbering","toc/number_sections"],numberingH1:["!toc/skip_h1_title"],baseNumbering:["toc/base_numbering"]},this._runningCells=[],this._errorCells=[],this._cellToHeadingIndex=new WeakMap,e.context.ready.then(()=>{this.setConfiguration({})}),this.widget.context.model.metadataChanged.connect(this.onMetadataChanged,this),this.widget.content.activeCellChanged.connect(this.onActiveCellChanged,this),y.executionScheduled.connect(this.onExecutionScheduled,this),y.executed.connect(this.onExecuted,this),y.outputCleared.connect(this.onOutputCleared,this),this.headingsChanged.connect(this.onHeadingsChanged,this)}get documentType(){return"notebook"}get isAlwaysActive(){return!0}get supportedOptions(){return["baseNumbering","maximalDepth","numberingH1","numberHeaders","includeOutput","syncCollapseState"]}getCellHeadings(e){let t=[],n=this._cellToHeadingIndex.get(e);if(void 0!==n){let e=this.headings[n];for(t.push(e);this.headings[n-1]&&this.headings[n-1].cellRef===e.cellRef;)n--,t.unshift(this.headings[n])}return t}dispose(){var e,t,n;this.isDisposed||(this.headingsChanged.disconnect(this.onHeadingsChanged,this),null==(t=null==(e=this.widget.context)?void 0:e.model)||t.metadataChanged.disconnect(this.onMetadataChanged,this),null==(n=this.widget.content)||n.activeCellChanged.disconnect(this.onActiveCellChanged,this),y.executionScheduled.disconnect(this.onExecutionScheduled,this),y.executed.disconnect(this.onExecuted,this),y.outputCleared.disconnect(this.onOutputCleared,this),this._runningCells.length=0,this._errorCells.length=0,super.dispose())}setConfiguration(e){let t=this.loadConfigurationFromMetadata();super.setConfiguration({...this.configuration,...t,...e})}toggleCollapse(e){super.toggleCollapse(e),this.updateRunningStatus(this.headings)}async getHeadings(){let e=this.widget.content.widgets,t=[],n=[];for(let i=0;i<e.length;i++){let o=e[i];switch(o.model.type){case"code":!this.configuration.syncCollapseState&&this.configuration.includeOutput&&t.push(...Q.TableOfContentsUtils.filterHeadings(await o.getHeadings(),this.configuration,n).map(e=>({...e,cellRef:o,collapsed:!1,isRunning:a.Idle})));break;case"markdown":{let e=Q.TableOfContentsUtils.filterHeadings(await o.getHeadings(),this.configuration,n).map((e,t)=>({...e,cellRef:o,collapsed:!1,isRunning:a.Idle}));if(this.configuration.syncCollapseState&&o.headingCollapsed){let t=Math.min(...e.map(e=>e.level));e.find(e=>e.level===t).collapsed=o.headingCollapsed}t.push(...e)}}t.length>0?this._cellToHeadingIndex.set(o,t.length-1):this._cellToHeadingIndex.delete(o)}return this.updateRunningStatus(t),Promise.resolve(t)}isHeadingEqual(e,t){return super.isHeadingEqual(e,t)&&e.cellRef===t.cellRef}loadConfigurationFromMetadata(){let e=this.widget.content.model,t={};if(e)for(let n in this.configMetadataMap)for(let i of this.configMetadataMap[n]){let o=i,r="!"===o[0];r&&(o=o.slice(1));let s=o.split("/"),a=e.getMetadata(s[0]);for(let e=1;e<s.length;e++)a=(null!=a?a:{})[s[e]];void 0!==a&&("boolean"==typeof a&&r&&(a=!a),t[n]=a)}return t}onActiveCellChanged(e,t){let n=this.getCellHeadings(t)[0];this.setActiveHeading(null!=n?n:null,!1)}onHeadingsChanged(){this.widget.content.activeCell&&this.onActiveCellChanged(this.widget.content,this.widget.content.activeCell)}onExecuted(e,t){this._runningCells.forEach((e,n)=>{var i;if(e===t.cell){this._runningCells.splice(n,1);let o=this._cellToHeadingIndex.get(e);if(void 0!==o){let n=this.headings[o];if(t.success||(null==(i=t.error)?void 0:i.errorName)===void 0){n.isRunning=a.Idle;return}n.isRunning=a.Error,this._errorCells.includes(e)||this._errorCells.push(e)}}}),this.updateRunningStatus(this.headings),this.stateChanged.emit()}onExecutionScheduled(e,t){this._runningCells.includes(t.cell)||this._runningCells.push(t.cell),this._errorCells.forEach((e,n)=>{e===t.cell&&this._errorCells.splice(n,1)}),this.updateRunningStatus(this.headings),this.stateChanged.emit()}onOutputCleared(e,t){this._errorCells.forEach((e,n)=>{if(e===t.cell){this._errorCells.splice(n,1);let t=this._cellToHeadingIndex.get(e);void 0!==t&&(this.headings[t].isRunning=a.Idle)}}),this.updateRunningStatus(this.headings),this.stateChanged.emit()}onMetadataChanged(){this.setConfiguration({})}updateRunningStatus(e){this._runningCells.forEach((e,t)=>{let n=this._cellToHeadingIndex.get(e);if(void 0!==n){let e=this.headings[n];e.isRunning!==a.Running&&(e.isRunning=t>0?a.Scheduled:a.Running)}}),this._errorCells.forEach((e,t)=>{let n=this._cellToHeadingIndex.get(e);if(void 0!==n){let e=this.headings[n];e.isRunning===a.Idle&&(e.isRunning=a.Error)}});let t=0;for(;t<e.length;){let i=e[t];if(t++,i.collapsed){let t=Math.max(i.isRunning,n(e,i.level));i.dataset={...i.dataset,"data-running":t.toString()}}else i.dataset={...i.dataset,"data-running":i.isRunning.toString()}}function n(e,i){let o=a.Idle;for(;t<e.length;){let r=e[t];if(r.dataset={...r.dataset,"data-running":r.isRunning.toString()},r.level>i)t++,o=Math.max(r.isRunning,o),r.collapsed&&(o=Math.max(o,n(e,r.level)),r.dataset={...r.dataset,"data-running":o.toString()});else break}return o}}}class eG extends Q.TableOfContentsFactory{constructor(e,t,n,i){super(e),this.parser=t,this.sanitizer=n,this.commands=i,this._scrollToTop=!0}get scrollToTop(){return this._scrollToTop}set scrollToTop(e){this._scrollToTop=e}_createNew(e,t){let n=new eq(e,this.parser,this.sanitizer,t),i=new WeakMap,o=(t,n)=>{if(n){let t=async t=>{if(!t.inViewport)return;let o=i.get(n);if(o)if(this.scrollToTop)o.scrollIntoView({block:"start"}),e.content.outerNode.scrollTop-=eV;else{let t=e.content.node.getBoundingClientRect(),n=o.getBoundingClientRect();(n.top>t.bottom||n.bottom<t.top)&&o.scrollIntoView({block:"center"})}else console.debug("scrolling to heading: using fallback strategy"),await e.content.scrollToItem(e.content.activeCellIndex,this.scrollToTop?"start":void 0,0)},o=n.cellRef,s=e.content.widgets.indexOf(o);"markdown"==o.model.type&&"command"!=e.content.mode&&(e.content.mode="command"),e.content.activeCellIndex=s,o.inViewport?t(o).catch(e=>{console.error(`Fail to scroll to cell to display the required heading (${e}).`)}):e.content.scrollToItem(s,this.scrollToTop?"start":void 0).then(()=>r(o)).then(()=>t(o)).catch(e=>{console.error(`Fail to scroll to cell to display the required heading (${e}).`)})}},r=e=>Promise.all(n.getCellHeadings(e).map(async e=>{var t,n,o;let r=await e$(e,this.parser,this.sanitizer),s=null!=(t=this.sanitizer.allowNamedProperties)&&t?"id":"data-jupyter-id",a=r?`h${e.level}[${s}="${CSS.escape(r)}"]`:`h${e.level}`;void 0!==e.outputIndex?i.set(e,Q.TableOfContentsUtils.addPrefix(e.cellRef.outputArea.widgets[e.outputIndex].node,a,null!=(n=e.prefix)?n:"")):i.set(e,Q.TableOfContentsUtils.addPrefix(e.cellRef.node,a,null!=(o=e.prefix)?o:""))})).then(()=>void 0),s=t=>{if(this.parser)return Q.TableOfContentsUtils.clearNumbering(e.content.node),i=new WeakMap,Promise.all(e.content.widgets.map(e=>r(e)))},a=(t,i)=>{var o,r,s,a;if(n.configuration.syncCollapseState)if(null!==i){let e=i.cellRef;e.headingCollapsed!==(null!=(o=i.collapsed)&&o)&&(e.headingCollapsed=null!=(r=i.collapsed)&&r)}else{let t=null!=(a=null==(s=n.headings[0])?void 0:s.collapsed)&&a;e.content.widgets.forEach(e=>{e instanceof d.MarkdownCell&&e.headingInfo.level>=0&&(e.headingCollapsed=t)})}},l=(e,t)=>{if(n.configuration.syncCollapseState){let e=n.getCellHeadings(t)[0];e&&n.toggleCollapse({heading:e,collapsed:t.headingCollapsed})}},c=(e,t)=>{var n;t.inViewport?null==(n=r(t))||n.catch(console.warn):Q.TableOfContentsUtils.clearNumbering(t.node)};return e.context.ready.then(()=>{var t;null==(t=s(n))||t.catch(console.warn),n.activeHeadingChanged.connect(o),n.headingsChanged.connect(s),n.collapseChanged.connect(a),e.content.cellCollapsed.connect(l),e.content.cellInViewportChanged.connect(c),e.disposed.connect(()=>{n.activeHeadingChanged.disconnect(o),n.headingsChanged.disconnect(s),n.collapseChanged.disconnect(a),e.content.cellCollapsed.disconnect(l),e.content.cellInViewportChanged.disconnect(c)})}),n}getToolbarItems(e){return this.commands?[{name:"select-last-modified-back",widget:new j.CommandToolbarButton({commands:this.commands,id:"notebook:select-last-modified-cell",args:{toolbar:!0},icon:j.jumpBackIcon,label:""})},{name:"select-last-modified-forward",widget:new j.CommandToolbarButton({commands:this.commands,id:"notebook:select-next-modified-cell",args:{toolbar:!0},icon:j.jumpForwardIcon,label:""})}]:[]}}async function e$(e,t,n){let i=null;return e.type===d.Cell.HeadingType.Markdown?i=await Q.TableOfContentsUtils.Markdown.getHeadingId(t,e.raw,e.level,n):e.type===d.Cell.HeadingType.HTML&&(i=e.id),i}let eJ=new m.Token("@jupyterlab/notebook:INotebookWidgetFactory","A service to create the notebook viewer."),eK=new m.Token("@jupyterlab/notebook:INotebookTools",`A service for the "Notebook Tools" panel in the
  right sidebar. Use this to add your own functionality to the panel.`),eZ=new m.Token("@jupyterlab/notebook:INotebookTracker",`A widget tracker for notebooks.
  Use this if you want to be able to iterate over and interact with notebooks
  created by the application.`),eQ=new m.Token("@jupyterlab/notebook:INotebookCellExecutor","The notebook cell executor");class eX extends l.WidgetTracker{constructor(){super(...arguments),this._activeCell=null,this._activeCellChanged=new g.Signal(this),this._selectionChanged=new g.Signal(this)}get activeCell(){let e=this.currentWidget;return e&&e.content.activeCell||null}get activeCellChanged(){return this._activeCellChanged}get selectionChanged(){return this._selectionChanged}add(e){let t=super.add(e);return e.content.activeCellChanged.connect(this._onActiveCellChanged,this),e.content.selectionChanged.connect(this._onSelectionChanged,this),t}dispose(){this._activeCell=null,super.dispose()}onCurrentChanged(e){let t=this.activeCell;t&&t===this._activeCell||(this._activeCell=t,e&&this._activeCellChanged.emit(e.content.activeCell||null))}_onActiveCellChanged(e,t){this.currentWidget&&this.currentWidget.content===e&&(this._activeCell=t||null,this._activeCellChanged.emit(this._activeCell))}_onSelectionChanged(e){this.currentWidget&&this.currentWidget.content===e&&this._selectionChanged.emit(void 0)}}let e0="jp-StatusItem-trust";function e1(e,t){let n=(t=t||u.nullTranslator).load("jupyterlab");return e.trustedCells===e.totalCells?n.__("Notebook trusted: %1 of %2 code cells trusted.",e.trustedCells,e.totalCells):e.activeCellTrusted?n.__("Active cell trusted: %1 of %2 code cells trusted.",e.trustedCells,e.totalCells):n.__("Notebook not trusted: %1 of %2 code cells trusted.",e.trustedCells,e.totalCells)}function e2(e){return e.allCellsTrusted?C().createElement(j.trustedIcon.react,{top:"2px",stylesheet:"statusBar"}):C().createElement(j.notTrustedIcon.react,{top:"2px",stylesheet:"statusBar"})}class e4 extends j.VDomRenderer{constructor(e){super(new e4.Model),this.translator=e||u.nullTranslator,this.node.classList.add(e0)}render(){if(!this.model)return null;let e=e1(this.model,this.translator);return e!==this.node.title&&(this.node.title=e),C().createElement(e2,{allCellsTrusted:this.model.trustedCells===this.model.totalCells,activeCellTrusted:this.model.activeCellTrusted,totalCells:this.model.totalCells,trustedCells:this.model.trustedCells})}}!function(e){class t extends j.VDomModel{constructor(){super(...arguments),this._trustedCells=0,this._totalCells=0,this._activeCellTrusted=!1,this._notebook=null}get trustedCells(){return this._trustedCells}get totalCells(){return this._totalCells}get activeCellTrusted(){return this._activeCellTrusted}get notebook(){return this._notebook}set notebook(e){let t=this._notebook;null!==t&&(t.activeCellChanged.disconnect(this._onActiveCellChanged,this),t.modelContentChanged.disconnect(this._onModelChanged,this));let n=this._getAllState();if(this._notebook=e,null===this._notebook)this._trustedCells=0,this._totalCells=0,this._activeCellTrusted=!1;else{this._notebook.activeCellChanged.connect(this._onActiveCellChanged,this),this._notebook.modelContentChanged.connect(this._onModelChanged,this),this._notebook.activeCell?this._activeCellTrusted=this._notebook.activeCell.model.trusted:this._activeCellTrusted=!1;let{total:e,trusted:t}=this._deriveCellTrustState(this._notebook.model);this._totalCells=e,this._trustedCells=t}this._triggerChange(n,this._getAllState())}_onModelChanged(e){let t=this._getAllState(),{total:n,trusted:i}=this._deriveCellTrustState(e.model);this._totalCells=n,this._trustedCells=i,this._triggerChange(t,this._getAllState())}_onActiveCellChanged(e,t){let n=this._getAllState();t?this._activeCellTrusted=t.model.trusted:this._activeCellTrusted=!1,this._triggerChange(n,this._getAllState())}_deriveCellTrustState(e){if(null===e)return{total:0,trusted:0};let t=0,n=0;for(let i of e.cells)"code"===i.type&&(t++,i.trusted&&n++);return{total:t,trusted:n}}_getAllState(){return[this._trustedCells,this._totalCells,this.activeCellTrusted]}_triggerChange(e,t){(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2])&&this.stateChanged.emit(void 0)}}e.Model=t}(e4||(e4={}));class e5 extends Z.ABCWidgetFactory{constructor(e){super(e),this.rendermime=e.rendermime,this.contentFactory=e.contentFactory,this.mimeTypeService=e.mimeTypeService,this._editorConfig=e.editorConfig||eP.defaultEditorConfig,this._notebookConfig=e.notebookConfig||eP.defaultNotebookConfig}get editorConfig(){return this._editorConfig}set editorConfig(e){this._editorConfig=e}get notebookConfig(){return this._notebookConfig}set notebookConfig(e){this._notebookConfig=e}createNewWidget(e,t){let n=e.translator,i=new P({sessionContext:e.sessionContext,translator:n}),o={rendermime:t?t.content.rendermime:this.rendermime.clone({resolver:e.urlResolver}),contentFactory:this.contentFactory,mimeTypeService:this.mimeTypeService,editorConfig:t?t.content.editorConfig:this._editorConfig,notebookConfig:t?t.content.notebookConfig:this._notebookConfig,translator:n,kernelHistory:i},r=this.contentFactory.createNotebook(o);return new eH({context:e,content:r})}}},16382(e,t,n){"use strict";n(82311),n(97777),n(82946),n(62971),n(22595),n(13443),n(38415),n(5241),n(92508),n(45350),n(74047),n(58613),n(13137);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(8726),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},37629(e,t,n){"use strict";n.r(t),n.d(t,{ModelDB:()=>A,ObservableJSON:()=>c,ObservableList:()=>p,ObservableMap:()=>d,ObservableString:()=>h,ObservableUndoableList:()=>m,ObservableValue:()=>g});var i,o,r=n(55187),s=n(63995),a=n(20659),l=n(93771);class d{constructor(e={}){if(this._map=new Map,this._changed=new a.Signal(this),this._isDisposed=!1,this._itemCmp=e.itemCmp||i.itemCmp,e.values)for(const t in e.values)this._map.set(t,e.values[t])}get type(){return"Map"}get changed(){return this._changed}get isDisposed(){return this._isDisposed}get size(){return this._map.size}set(e,t){let n=this._map.get(e);if(void 0===t)throw Error("Cannot set an undefined value, use remove");let i=this._itemCmp;return void 0!==n&&i(n,t)||(this._map.set(e,t),this._changed.emit({type:n?"change":"add",key:e,oldValue:n,newValue:t})),n}get(e){return this._map.get(e)}has(e){return this._map.has(e)}keys(){let e=[];return this._map.forEach((t,n)=>{e.push(n)}),e}values(){let e=[];return this._map.forEach((t,n)=>{e.push(t)}),e}delete(e){let t=this._map.get(e);return this._map.delete(e)&&this._changed.emit({type:"remove",key:e,oldValue:t,newValue:void 0}),t}clear(){let e=this.keys();for(let t=0;t<e.length;t++)this.delete(e[t])}dispose(){this.isDisposed||(this._isDisposed=!0,a.Signal.clearData(this),this._map.clear())}}!function(e){e.itemCmp=function(e,t){return e===t}}(i||(i={}));class c extends d{constructor(e={}){super({itemCmp:r.JSONExt.deepEqual,values:e.values})}toJSON(){let e=Object.create(null);for(let t of this.keys()){let n=this.get(t);void 0!==n&&(e[t]=r.JSONExt.deepCopy(n))}return e}}!function(e){class t extends l.Message{constructor(e,t){super(e),this.args=t}}e.ChangeMessage=t}(c||(c={}));class h{constructor(e=""){this._text="",this._isDisposed=!1,this._changed=new a.Signal(this),this._text=e}get type(){return"String"}get changed(){return this._changed}set text(e){(e.length!==this._text.length||e!==this._text)&&(this._text=e,this._changed.emit({type:"set",start:0,end:e.length,value:e}))}get text(){return this._text}insert(e,t,n){this._text=this._text.slice(0,e)+t+this._text.slice(e),this._changed.emit({type:"insert",start:e,end:e+t.length,value:t,options:n})}remove(e,t,n){let i=this._text.slice(e,t);this._text=this._text.slice(0,e)+this._text.slice(t),this._changed.emit({type:"remove",start:e,end:t,value:i,options:n})}clear(){this.text=""}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,a.Signal.clearData(this),this.clear())}}var u=n(65819);class p{constructor(e={}){if(this._array=[],this._isDisposed=!1,this._changed=new a.Signal(this),e.values)for(const t of e.values)this._array.push(t);this._itemCmp=e.itemCmp||o.itemCmp}get type(){return"List"}get changed(){return this._changed}get length(){return this._array.length}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,a.Signal.clearData(this),this.clear())}[Symbol.iterator](){return this._array[Symbol.iterator]()}get(e){return this._array[e]}set(e,t){let n=this._array[e];if(void 0===t)throw Error("Cannot set an undefined item");(0,this._itemCmp)(n,t)||(this._array[e]=t,this._changed.emit({type:"set",oldIndex:e,newIndex:e,oldValues:[n],newValues:[t]}))}push(e){let t=this._array.push(e);return this._changed.emit({type:"add",oldIndex:-1,newIndex:this.length-1,oldValues:[],newValues:[e]}),t}insert(e,t){e===this._array.length?this._array.push(t):u.ArrayExt.insert(this._array,e,t),this._changed.emit({type:"add",oldIndex:-2,newIndex:e,oldValues:[],newValues:[t]})}removeValue(e){let t=this._itemCmp,n=u.ArrayExt.findFirstIndex(this._array,n=>t(n,e));return n<0||this.remove(n),n}remove(e){let t=u.ArrayExt.removeAt(this._array,e);if(void 0!==t)return this._changed.emit({type:"remove",oldIndex:e,newIndex:-1,newValues:[],oldValues:[t]}),t}clear(){let e=this._array.slice();this._array.length=0,this._changed.emit({type:"clear",oldIndex:0,newIndex:0,newValues:[],oldValues:e})}move(e,t){if(this.length<=1||e===t)return;let n=[this._array[e]];u.ArrayExt.move(this._array,e,t),this._changed.emit({type:"move",oldIndex:e,newIndex:t,oldValues:n,newValues:n})}pushAll(e){let t=this.length;for(let t of e)this._array.push(t);return this._changed.emit({type:"add",oldIndex:-1,newIndex:t,oldValues:[],newValues:Array.from(e)}),this.length}insertAll(e,t){let n=e;for(let n of t)u.ArrayExt.insert(this._array,e++,n);this._changed.emit({type:"add",oldIndex:-2,newIndex:n,oldValues:[],newValues:Array.from(t)})}removeRange(e,t){let n=this._array.slice(e,t);for(let n=e;n<t;n++)u.ArrayExt.removeAt(this._array,e);return this._changed.emit({type:"remove",oldIndex:e,newIndex:-1,oldValues:n,newValues:[]}),this.length}}!function(e){e.itemCmp=function(e,t){return e===t}}(o||(o={}));class m extends p{constructor(e){super(),this._inCompound=!1,this._isUndoable=!0,this._madeCompoundChange=!1,this._index=-1,this._stack=[],this._serializer=e,this.changed.connect(this._onListChanged,this)}get canRedo(){return this._index<this._stack.length-1}get canUndo(){return this._index>=0}beginCompoundOperation(e){this._inCompound=!0,this._isUndoable=!1!==e,this._madeCompoundChange=!1}endCompoundOperation(){this._inCompound=!1,this._isUndoable=!0,this._madeCompoundChange&&this._index++}undo(){if(!this.canUndo)return;let e=this._stack[this._index];for(let t of(this._isUndoable=!1,e.reverse()))this._undoChange(t);this._isUndoable=!0,this._index--}redo(){if(!this.canRedo)return;this._index++;let e=this._stack[this._index];for(let t of(this._isUndoable=!1,e))this._redoChange(t);this._isUndoable=!0}clearUndo(){this._index=-1,this._stack=[]}_onListChanged(e,t){if(this.isDisposed||!this._isUndoable)return;this._inCompound&&this._madeCompoundChange||(this._stack=this._stack.slice(0,this._index+1));let n=this._copyChange(t);this._stack[this._index+1]?this._stack[this._index+1].push(n):this._stack.push([n]),this._inCompound?this._madeCompoundChange=!0:this._index++}_undoChange(e){let t=0,n=this._serializer;switch(e.type){case"add":for(let t=e.newValues.length;t>0;t--)this.remove(e.newIndex);break;case"set":for(let i of(t=e.oldIndex,e.oldValues))this.set(t++,n.fromJSON(i));break;case"remove":for(let i of(t=e.oldIndex,e.oldValues))this.insert(t++,n.fromJSON(i));break;case"move":this.move(e.newIndex,e.oldIndex);break;case"clear":for(let i of(t=0,e.oldValues))this.insert(t++,n.fromJSON(i));break;default:return}}_redoChange(e){let t=0,n=this._serializer;switch(e.type){case"add":for(let i of(t=e.newIndex,e.newValues))this.insert(t++,n.fromJSON(i));break;case"set":for(let i of(t=e.newIndex,e.newValues))this.set(e.newIndex++,n.fromJSON(i));break;case"remove":for(let t=e.oldValues.length;t>0;t--)this.remove(e.oldIndex);break;case"move":this.move(e.oldIndex,e.newIndex);break;case"clear":this.clear();break;default:return}}_copyChange(e){let t=[];for(let n of e.oldValues)t.push(this._serializer.toJSON(n));let n=[];for(let t of e.newValues)n.push(this._serializer.toJSON(t));return{type:e.type,oldIndex:e.oldIndex,newIndex:e.newIndex,oldValues:t,newValues:n}}}!function(e){class t{toJSON(e){return e}fromJSON(e){return e}}e.IdentitySerializer=t}(m||(m={}));class g{constructor(e=null){this._value=null,this._changed=new a.Signal(this),this._isDisposed=!1,this._value=e}get type(){return"Value"}get isDisposed(){return this._isDisposed}get changed(){return this._changed}get(){return this._value}set(e){let t=this._value;r.JSONExt.deepEqual(t,e)||(this._value=e,this._changed.emit({oldValue:t,newValue:e}))}dispose(){this._isDisposed||(this._isDisposed=!0,a.Signal.clearData(this),this._value=null)}}!function(e){class t{}e.IChangedArgs=t}(g||(g={}));class A{constructor(e={}){this.isPrepopulated=!1,this.isCollaborative=!1,this.connected=Promise.resolve(void 0),this._toDispose=!1,this._isDisposed=!1,this._disposables=new s.DisposableSet,this._basePath=e.basePath||"",e.baseDB?this._db=e.baseDB:(this._db=new d,this._toDispose=!0)}get basePath(){return this._basePath}get isDisposed(){return this._isDisposed}get(e){return this._db.get(this._resolvePath(e))}has(e){return this._db.has(this._resolvePath(e))}createString(e){let t=new h;return this._disposables.add(t),this.set(e,t),t}createList(e){let t=new m(new m.IdentitySerializer);return this._disposables.add(t),this.set(e,t),t}createMap(e){let t=new c;return this._disposables.add(t),this.set(e,t),t}createValue(e){let t=new g;return this._disposables.add(t),this.set(e,t),t}getValue(e){let t=this.get(e);if(!t||"Value"!==t.type)throw Error("Can only call getValue for an ObservableValue");return t.get()}setValue(e,t){let n=this.get(e);if(!n||"Value"!==n.type)throw Error("Can only call setValue on an ObservableValue");n.set(t)}view(e){let t=new A({basePath:e,baseDB:this});return this._disposables.add(t),t}set(e,t){this._db.set(this._resolvePath(e),t)}dispose(){this.isDisposed||(this._isDisposed=!0,this._toDispose&&this._db.dispose(),this._disposables.dispose())}_resolvePath(e){return this._basePath&&(e=this._basePath+"."+e),e}}},86960(e,t,n){"use strict";n.r(t),n.d(t,{OutputArea:()=>M,OutputAreaModel:()=>h,OutputPrompt:()=>k,SimplifiedOutputArea:()=>I,Stdin:()=>D});var i,o,r=n(64421),s=n(52782),a=n(31031),l=n(65819),d=n(55187),c=n(20659);class h{constructor(e={}){if(this.clearNext=!1,this._lastStreamName="",this._trusted=!1,this._isDisposed=!1,this._stateChanged=new c.Signal(this),this._changed=new c.Signal(this),this._streamIndex=0,this._trusted=!!e.trusted,this.contentFactory=e.contentFactory||h.defaultContentFactory,this.list=new s.ObservableList,e.values)for(const t of e.values){const e=this._add(t)-1;this.list.get(e).changed.connect(this._onGenericChange,this)}this.list.changed.connect(this._onListChanged,this)}get stateChanged(){return this._stateChanged}get changed(){return this._changed}get length(){return this.list?this.list.length:0}get trusted(){return this._trusted}set trusted(e){if(e===this._trusted)return;let t=this._trusted=e;for(let e=0;e<this.list.length;e++){let n=this.list.get(e),i=n.toJSON(),o=this._createItem({value:i,trusted:t});this.list.set(e,o),n.dispose()}}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this.list.dispose(),c.Signal.clearData(this))}get(e){return this.list.get(e)}set(e,t){t=d.JSONExt.deepCopy(t),i.normalize(t);let n=this._createItem({value:t,trusted:this._trusted});this.list.set(e,n)}removeStreamOutput(e){let t=this.list.get(this.length-1).streamText,n=t.text.length,i={silent:!0};t.remove(n-e,n,i)}appendStreamOutput(e){let t=this.list.get(this.length-1).streamText,n=t.text.length,i={silent:!0};t.insert(n,e,i)}add(e){return this.clearNext&&(this.clear(),this.clearNext=!1),this._add(e)}remove(e){var t;null==(t=this.list.remove(e))||t.dispose()}clear(e=!1){if(this._lastStreamName="",e){this.clearNext=!0;return}for(let e of this.list)e.dispose();this.list.clear()}fromJSON(e){for(let t of(this.clear(),e))this._add(t)}toJSON(){return Array.from((0,l.map)(this.list,e=>e.toJSON()))}_add(e){let t=this._trusted;if(e=d.JSONExt.deepCopy(e),i.normalize(e),r.isStream(e)&&e.name===this._lastStreamName&&this.length>0&&this.shouldCombine({value:e,lastModel:this.list.get(this.length-1)})){let t=this.list.get(this.length-1).streamText,n="string"==typeof e.text?e.text:e.text.join("");return this._streamIndex=i.addText(this._streamIndex,t,n),this.length}if(r.isStream(e)){"string"!=typeof e.text&&(e.text=e.text.join(""));let{text:t,index:n}=i.processText(0,e.text);this._streamIndex=n,e.text=t}let n=this._createItem({value:e,trusted:t}),o=this.list.push(n);return r.isStream(e)?this._lastStreamName=e.name:this._lastStreamName="",o}shouldCombine(e){return!0}_createItem(e){return this.contentFactory.createOutputModel(e)}_onListChanged(e,t){switch(t.type){case"add":t.newValues.forEach(e=>{e.changed.connect(this._onGenericChange,this)});break;case"remove":case"clear":t.oldValues.forEach(e=>{e.changed.disconnect(this._onGenericChange,this)});break;case"set":t.newValues.forEach(e=>{e.changed.connect(this._onGenericChange,this)}),t.oldValues.forEach(e=>{e.changed.disconnect(this._onGenericChange,this)})}this._changed.emit(t)}_onGenericChange(e){let t,n=null;for(t=0;t<this.list.length&&(n=this.list.get(t))!==e;t++);null!=n&&(this._stateChanged.emit(t),this._changed.emit({type:"set",newIndex:t,oldIndex:t,oldValues:[n],newValues:[n]}))}}!function(e){class t{createOutputModel(e){return new a.OutputModel(e)}}e.ContentFactory=t,e.defaultContentFactory=new t}(h||(h={})),function(e){function t(e,t,n){let i=e.slice(n).search(t);return i>=0?i+n:i}function n(e,n,i){if(void 0===i&&(i=""),!(n.includes("\b")||n.includes("\r")||n.includes("\n")))return{text:i=i.slice(0,e)+n+i.slice(e+n.length),index:e+n.length};let o=e,r=-1,s=0,a=/[\n\b\r]/;for(;;){r=t(n,a,s);let e=n.slice(s,-1===r?n.length:r);if(i=i.slice(0,o)+e+i.slice(o+e.length),s=r+1,o+=e.length,-1===r)break;let l=n[r];if("\b"===l)o>0&&"\n"!==i[o-1]&&(i=i.slice(0,o-1)+i.slice(o+1),o--);else if("\r"===l){let e=!1;for(;!e;)0===o||"\n"===i[o-1]?e=!0:o--}else if("\n"===l)i+="\n",o=i.length;else throw Error("This should not happen")}return{text:i,index:o}}function i(e){return JSON.parse(JSON.stringify(e))}e.normalize=function(e){r.isStream(e)&&Array.isArray(e.text)&&(e.text=e.text.join("\n"))},e.processText=n,e.addText=function(e,t,o){let{text:r,index:s}=n(e,o,t.text),a=!1,l=0;for(;!a;)l===r.length?(l===t.text.length||t.remove(l,t.text.length),a=!0):l===t.text.length?l!==r.length&&(t.insert(t.text.length,i(r.slice(l))),a=!0):r[l]!==t.text[l]?(t.remove(l,t.text.length),t.insert(l,i(r.slice(l))),a=!0):l++;return s}}(i||(i={}));var u=n(97518),p=n(53040),m=n(2786),g=n(17981),A=n(64001);let C="jp-OutputArea",f="jp-OutputArea-child",b="jp-OutputArea-output",v="jp-OutputArea-prompt",_="jp-OutputArea-stdin-hiding",y="jp-OutputPrompt",E="jp-OutputArea-executeResult",w="jp-OutputArea-stdin-item",j="jp-Stdin",x="jp-Stdin-prompt",B="jp-Stdin-input",S="jp-OutputArea-promptOverlay";class M extends A.Widget{constructor(e){var t,n,i,o,r;super(),this.outputLengthChanged=new c.Signal(this),this._onIOPub=e=>{let t,n,i=this.model,o=e.header.msg_type,r=(e.content.transient||{}).display_id;switch(o){case"execute_result":case"display_data":case"stream":case"error":t={...e.content,output_type:o},i.add(t);break;case"clear_output":{let t=e.content.wait;i.clear(t);break}case"update_display_data":if(t={...e.content,output_type:"display_data"},n=this._displayIdMap.get(r))for(let e of n)i.set(e,t);break;case"status":"idle"===e.content.execution_state&&(this._pendingInput=!1)}r&&"display_data"===o&&((n=this._displayIdMap.get(r)||[]).push(i.length-1),this._displayIdMap.set(r,n))},this._onExecuteReply=e=>{let t=this.model,n=e.content;if("ok"!==n.status)return;let i=n&&n.payload;if(!i||!i.length)return;let o=i.filter(e=>"page"===e.source);if(!o.length)return;let r={output_type:"display_data",data:JSON.parse(JSON.stringify(o[0])).data,metadata:{}};t.add(r)},this._displayIdMap=new Map,this._minHeightTimeout=null,this._inputRequested=new c.Signal(this),this._toggleScrolling=new c.Signal(this),this._initialize=new c.Signal(this),this._outputTracker=new u.WidgetTracker({namespace:d.UUID.uuid4()}),this._inputHistoryScope="global",this._pendingInput=!1,this._showInputPlaceholder=!0,super.layout=new A.PanelLayout,this.addClass(C),this.contentFactory=null!=(t=e.contentFactory)?t:M.defaultContentFactory,this.rendermime=e.rendermime,this._maxNumberOutputs=null!=(n=e.maxNumberOutputs)?n:1/0,this._translator=null!=(i=e.translator)?i:m.nullTranslator,this._inputHistoryScope=null!=(o=e.inputHistoryScope)?o:"global",this._showInputPlaceholder=null==(r=e.showInputPlaceholder)||r;const s=this.model=e.model;for(let e=0;e<Math.min(s.length,this._maxNumberOutputs+1);e++){const t=s.get(e);this._insertOutput(e,t),"stream"===t.type&&t.streamText.changed.connect((n,i)=>{this._setOutput(e,t)})}s.changed.connect(this.onModelChanged,this),s.stateChanged.connect(this.onStateChanged,this),e.promptOverlay&&this._addPromptOverlay()}get layout(){return super.layout}get widgets(){return this.layout.widgets}get future(){return this._future}set future(e){this._setFuture(e,!0)}_setFuture(e,t){if(this.model.isDisposed)throw Error("Model is disposed");this._future!==e&&(this._future&&this._future.dispose(),this._future=e,e.done.finally(()=>{this._pendingInput=!1}).catch(()=>{}),t&&(this.model.clear(),this.widgets.length&&(this._clear(),this.outputLengthChanged.emit(Math.min(this.model.length,this._maxNumberOutputs)))),e.onIOPub=this._onIOPub,e.onReply=this._onExecuteReply,e.onStdin=t=>{p.KernelMessage.isInputRequestMsg(t)&&this.onInputRequest(t,e)})}get inputRequested(){return this._inputRequested}get pendingInput(){return this._pendingInput}get maxNumberOutputs(){return this._maxNumberOutputs}set maxNumberOutputs(e){if(e<=0)return void console.warn("OutputArea.maxNumberOutputs must be strictly positive.");let t=this._maxNumberOutputs;this._maxNumberOutputs=e,t<e&&this._showTrimmedOutputs(t)}dispose(){this._future&&(this._future.dispose(),this._future=null),this._displayIdMap.clear(),this._outputTracker.dispose(),super.dispose()}detachFuture(){let e=this._future;return e?(e.onIOPub=()=>void 0,e.onReply=()=>void 0,e.onStdin=()=>void 0,this._future=null,e):null}reattachFuture(e){this._setFuture(e,!1)}onModelChanged(e,t){switch(t.type){case"add":let n=t.newValues[0];this._insertOutput(t.newIndex,n),"stream"===n.type&&n.streamText.changed.connect((e,i)=>{this._setOutput(t.newIndex,n)});break;case"remove":if(this.widgets.length)if(0===this.model.length)this._clear();else{let e=t.oldIndex;for(let n=0;n<t.oldValues.length&&e<this.widgets.length;++n){let t=this.widgets[e];t.parent=null,t.dispose()}this._moveDisplayIdIndices(e,t.oldValues.length),this._preventHeightChangeJitter()}break;case"clear":this._clear();break;case"set":this._setOutput(t.newIndex,t.newValues[0])}this.outputLengthChanged.emit(Math.min(this.model.length,this._maxNumberOutputs))}get toggleScrolling(){return this._toggleScrolling}get initialize(){return this._initialize}_addPromptOverlay(){let e=document.createElement("div");e.className=S,e.addEventListener("click",()=>{this._toggleScrolling.emit()}),this.node.appendChild(e),requestAnimationFrame(()=>{this._initialize.emit()})}_moveDisplayIdIndices(e,t){this._displayIdMap.forEach(n=>{let i=e+t,o=n.length;for(let r=o-1;r>=0;--r){let o=n[r];o>=e&&o<i?n.splice(r,1):o>=i&&(n[r]-=t)}})}onStateChanged(e,t){let n=Math.min(this.model.length,this._maxNumberOutputs);if(t){if(t>=this._maxNumberOutputs)return;this._setOutput(t,this.model.get(t))}else for(let e=0;e<n;e++)this._setOutput(e,this.model.get(e));this.outputLengthChanged.emit(n)}_clear(){if(!this.widgets.length)return;let e=this.widgets.length;for(let t=0;t<e;t++){let e=this.widgets[0];e.parent=null,e.dispose()}this._displayIdMap.clear(),this._preventHeightChangeJitter()}_preventHeightChangeJitter(){let e=this.node.getBoundingClientRect();this.node.style.minHeight=`${e.height}px`,this._minHeightTimeout&&window.clearTimeout(this._minHeightTimeout),this._minHeightTimeout=window.setTimeout(()=>{this.isDisposed||(this.node.style.minHeight="")},50)}onInputRequest(e,t){let n=this.contentFactory,i=e.content.prompt,o=e.content.password,r=new A.Panel;r.addClass(f),r.addClass(w);let s=n.createOutputPrompt();s.addClass(v),r.addWidget(s),this._pendingInput=!0;let a=n.createStdin({parent_header:e.header,prompt:i,password:o,future:t,translator:this._translator,inputHistoryScope:this._inputHistoryScope,showInputPlaceholder:this._showInputPlaceholder});a.addClass(b),r.addWidget(a),this.model.length>=this.maxNumberOutputs&&(this.maxNumberOutputs=this.model.length),this._inputRequested.emit(a);let l=a.node.getElementsByTagName("input")[0];a.value.then(e=>{this.model.length>=this.maxNumberOutputs&&(this.maxNumberOutputs=this.model.length+1),r.addClass(_),this.model.add({output_type:"stream",name:"stdin",text:e+"\n"}),l.focus(),this._pendingInput=!1,window.setTimeout(()=>{let e=document.activeElement;r.dispose(),e&&e instanceof HTMLElement&&e.focus()},500)}),this.layout.addWidget(r)}_setOutput(e,t){if(e>=this._maxNumberOutputs)return;let n=this.layout.widgets[e],i=n.widgets?n.widgets.filter(e=>"renderModel"in e).pop():n,r=this.rendermime.preferredMimeType(t.data,t.trusted?"any":"ensure");o.currentPreferredMimetype.get(i)===r&&M.isIsolated(r,t.metadata)===i instanceof o.IsolatedRenderer?i.renderModel(t):(this.layout.widgets[e].dispose(),this._insertOutput(e,t))}_insertOutput(e,t){if(e>this._maxNumberOutputs)return;let n=this.layout;if(e===this._maxNumberOutputs){let t=new o.TrimmedOutputs(this._maxNumberOutputs,()=>{let e=this._maxNumberOutputs;this._maxNumberOutputs=1/0,this._showTrimmedOutputs(e)},this._translator);n.insertWidget(e,this._wrappedOutput(t))}else{let i=this.createOutputItem(t);i?i.toggleClass(E,null!==t.executionCount):i=new A.Widget,this._outputTracker.has(i)||this._outputTracker.add(i),n.insertWidget(e,i)}}get outputTracker(){return this._outputTracker}_showTrimmedOutputs(e){this.widgets[e].dispose();for(let t=e;t<this.model.length;t++)this._insertOutput(t,this.model.get(t));this.outputLengthChanged.emit(Math.min(this.model.length,this._maxNumberOutputs))}createOutputItem(e){let t=this.createRenderedMimetype(e);return t?this._wrappedOutput(t,e.executionCount):null}createRenderedMimetype(e){let t=this.rendermime.preferredMimeType(e.data,e.trusted?"any":"ensure");if(!t)return null;let n=this.rendermime.createRenderer(t);return!0===M.isIsolated(t,e.metadata)&&(n=new o.IsolatedRenderer(n)),o.currentPreferredMimetype.set(n,t),n.renderModel(e).catch(e=>{let t=document.createElement("pre");t.textContent=this._translator.load("jupyterlab").__("Javascript Error: %1",e.message),n.node.appendChild(t),n.node.className="lm-Widget jp-RenderedText",n.node.setAttribute("data-mime-type","application/vnd.jupyter.stderr")}),n}_wrappedOutput(e,t=null){let n=new o.OutputPanel;n.addClass(f);let i=this.contentFactory.createOutputPrompt();return i.executionCount=t,i.addClass(v),n.addWidget(i),e.addClass(b),n.addWidget(e),n}}class I extends M{onInputRequest(e,t){}createOutputItem(e){let t=this.createRenderedMimetype(e);if(!t)return null;let n=new o.OutputPanel;return n.addClass(f),t.addClass(b),n.addWidget(t),n}}!function(e){e.execute=async function(e,t,n,i){var o;let r=!0;i&&Array.isArray(i.tags)&&-1!==i.tags.indexOf("raises-exception")&&(r=!1);let s={code:e,stop_on_error:r},a=null==(o=n.session)?void 0:o.kernel;if(!a)throw Error("Session has no kernel.");let l=a.requestExecute(s,!1,i);return t.future=l,l.done},e.isIsolated=function(e,t){let n=t[e];return n&&void 0!==n.isolated?!!n.isolated:!!t.isolated};class t{createOutputPrompt(){return new k}createStdin(e){return new D(e)}}e.ContentFactory=t,e.defaultContentFactory=new t}(M||(M={}));class k extends A.Widget{constructor(){super(),this._executionCount=null,this.addClass(y)}get executionCount(){return this._executionCount}set executionCount(e){this._executionCount=e,null===e?this.node.textContent="":this.node.textContent=`[${e}]:`}}class D extends A.Widget{static _historyIx(e,t){let n=D._history.get(e);if(!n)return;let i=n.length;if(t<=0)return i+t}static _historyAt(e,t){let n=D._history.get(e);if(!n)return;let i=n.length,o=D._historyIx(e,t);if(void 0!==o&&o<i)return n[o]}static _historyPush(e,t){let n=D._history.get(e);n.push(t),n.length>1e3&&n.shift()}static _historySearch(e,t,n,i=!0){let o=D._history.get(e),r=o.length,s=D._historyIx(e,n),a=e=>-1!==e.search(t);if(void 0!==s)if(i){if(0===s)return;let e=o.slice(0,s).findLastIndex(a);if(-1!==e)return e-r}else{if(s>=r-1)return;let e=o.slice(s+1).findIndex(a);if(-1!==e)return e-r+s+1}}constructor(e){var t;super({node:o.createInputWidgetNode(e.prompt,e.password)}),this._promise=new d.PromiseDelegate,this._resolved=!1,this.addClass(j),this._future=e.future,this._historyIndex=0,this._historyKey="session"===e.inputHistoryScope?e.parent_header.session:"",this._historyPat="",this._parentHeader=e.parent_header,this._password=e.password,this._trans=(null!=(t=e.translator)?t:m.nullTranslator).load("jupyterlab"),this._value=e.prompt+" ",this._input=this.node.getElementsByTagName("input")[0],e.showInputPlaceholder&&!this._password?this._input.placeholder=this._trans.__("↑↓ for history. Search history with c-↑/c-↓"):this._input.placeholder="",D._history.has(this._historyKey)||D._history.set(this._historyKey,[])}get value(){return this._promise.promise.then(()=>this._value)}handleEvent(e){if(e.stopPropagation(),this._resolved)return void e.preventDefault();let t=this._input;if("keydown"===e.type){if("Enter"===e.key)this.resetSearch(),this._future.sendInputReply({status:"ok",value:t.value},this._parentHeader),this._password?this._value+="\xb7\xb7\xb7\xb7\xb7\xb7\xb7\xb7":(this._value+=t.value,D._historyPush(this._historyKey,t.value)),this._resolved=!0,this._promise.resolve(void 0);else if("Escape"===e.key)this.resetSearch(),t.blur();else if(e.ctrlKey&&("ArrowUp"===e.key||"ArrowDown"===e.key)){""===this._historyPat&&(this._historyPat=t.value);let n="ArrowUp"===e.key,i=D._historySearch(this._historyKey,this._historyPat,this._historyIndex,n);if(void 0!==i){let n=D._historyAt(this._historyKey,i);void 0!==n&&(0===this._historyIndex&&(this._valueCache=t.value),this._setInputValue(n),this._historyIndex=i,e.preventDefault())}}else if("ArrowUp"===e.key){this.resetSearch();let n=D._historyAt(this._historyKey,this._historyIndex-1);n&&(0===this._historyIndex&&(this._valueCache=t.value),this._setInputValue(n),--this._historyIndex,e.preventDefault())}else if("ArrowDown"===e.key)if(this.resetSearch(),0===this._historyIndex);else if(-1===this._historyIndex)this._setInputValue(this._valueCache),++this._historyIndex;else{let e=D._historyAt(this._historyKey,this._historyIndex+1);e&&(this._setInputValue(e),++this._historyIndex)}}}resetSearch(){this._historyPat=""}onAfterAttach(e){this._input.addEventListener("keydown",this),this._input.focus()}onBeforeDetach(e){this._input.removeEventListener("keydown",this)}_setInputValue(e){this._input.value=e,this._input.setSelectionRange(e.length,e.length)}}D._history=new Map,function(e){e.createInputWidgetNode=function(e,t){let n=document.createElement("div"),i=document.createElement("pre");i.className=x,i.textContent=e;let o=document.createElement("input");return o.className=B,t&&(o.type="password"),n.appendChild(i),i.appendChild(o),n};class t extends A.Widget{constructor(e){super({node:document.createElement("iframe")}),this.addClass("jp-mod-isolated"),this._wrapped=e;const t=this.node;t.frameBorder="0",t.scrolling="auto",t.addEventListener("load",()=>{t.contentDocument.open(),t.contentDocument.write(this._wrapped.node.innerHTML),t.contentDocument.close();let e=t.contentDocument.body;t.style.height=`${e.scrollHeight}px`,t.heightChangeObserver=new ResizeObserver(()=>{t.style.height=`${e.scrollHeight}px`}),t.heightChangeObserver.observe(e)})}renderModel(e){return this._wrapped.renderModel(e)}}e.IsolatedRenderer=t,e.currentPreferredMimetype=new g.AttachedProperty({name:"preferredMimetype",create:e=>""});class n extends A.Panel{constructor(e){super(e)}_onContext(e){this.node.focus()}onAfterAttach(e){super.onAfterAttach(e),this.node.addEventListener("contextmenu",this._onContext.bind(this))}onBeforeDetach(e){super.onAfterDetach(e),this.node.removeEventListener("contextmenu",this._onContext.bind(this))}}e.OutputPanel=n;class i extends A.Widget{constructor(e,t,n){const i=document.createElement("div"),o=(null!=n?n:m.nullTranslator).load("jupyterlab"),r=document.createElement("button");r.type="button",r.className="jp-TrimmedOutputs-button",r.title=o.__("The first %1 are displayed",e),r.textContent=o.__("Show more outputs"),i.appendChild(r),super({node:i}),this._onClick=t,this.addClass("jp-TrimmedOutputs")}handleEvent(e){"click"===e.type&&this._onClick(e)}onAfterAttach(e){super.onAfterAttach(e),this.node.addEventListener("click",this)}onBeforeDetach(e){super.onBeforeDetach(e),this.node.removeEventListener("click",this)}}e.TrimmedOutputs=i}(o||(o={}))},89413(e,t,n){"use strict";n(82311),n(62971),n(22595);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(59675),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},93034(e,t,n){"use strict";n.r(t),n.d(t,{RenderedPDF:()=>l,default:()=>c,rendererFactory:()=>d});var i,o=n(55187),r=n(63995),s=n(64001);let a="application/pdf";class l extends s.Widget{constructor(){super(),this._base64="",this._disposable=null,this._ready=new o.PromiseDelegate,this.addClass("jp-PDFContainer");const e=document.createElement("iframe");e.setAttribute("loading","lazy"),this.node.appendChild(e),e.onload=()=>{let t=e.contentWindow.document.createElement("body");t.style.margin="0px",e.contentWindow.document.body=t,this._object=e.contentWindow.document.createElement("object"),window.safari||(this._object.type=a),this._object.width="100%",this._object.height="100%",t.appendChild(this._object),this._ready.resolve(void 0)}}async renderModel(e){await this._ready.promise;let t=e.data[a];if(!t||t.length===this._base64.length&&t===this._base64){if(e.metadata.fragment&&this._object.data){let t=this._object.data;this._object.data=`${t.split("#")[0]}${e.metadata.fragment}`}return i.IS_FIREFOX&&(this._object.data=this._object.data),Promise.resolve(void 0)}this._base64=t;let n=i.b64toBlob(t,a);this._disposable&&this._disposable.dispose();let o=URL.createObjectURL(n);e.metadata.fragment&&(o+=e.metadata.fragment),this._object.data=o,this._disposable=new r.DisposableDelegate(()=>{try{URL.revokeObjectURL(o)}catch(e){}})}onBeforeHide(){i.IS_FIREFOX&&(this._object.data=this._object.data.split("#")[0])}dispose(){this._disposable&&this._disposable.dispose(),super.dispose()}}let d={safe:!1,mimeTypes:[a],defaultRank:100,createRenderer:e=>new l},c=[{id:"@jupyterlab/pdf-extension:factory",description:"Adds renderer for PDF content.",rendererFactory:d,dataType:"string",documentWidgetFactoryOptions:{name:"PDF",modelName:"base64",primaryFileType:"PDF",fileTypes:["PDF"],defaultFor:["PDF"]}}];!function(e){e.IS_FIREFOX=/Firefox/.test(navigator.userAgent),e.b64toBlob=function(e,t="",n=512){let i=atob(e),o=[];for(let e=0;e<i.length;e+=n){let t=i.slice(e,e+n),r=Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);let s=new Uint8Array(r);o.push(s)}return new Blob(o,{type:t})}}(i||(i={}))},12156(e,t,n){"use strict";n(82311);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(14033),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},49870(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>c});var i,o=n(57941),r=n(97518),s=n(2786),a=n(8989),l=n(90149);!function(e){e.open="pluginmanager:open",e.refreshPlugins="pluginmanager:refresh"}(i||(i={}));let d="@jupyterlab/pluginmanager-extension:plugin",c=[{id:d,description:"Enable or disable individual plugins.",autoStart:!0,requires:[o.JupyterLab.IInfo],optional:[s.ITranslator,r.ICommandPalette,o.ILayoutRestorer],provides:l.IPluginManager,activate:(e,t,n,o,c)=>{let{commands:h,shell:u}=e,p=(n=null!=n?n:s.nullTranslator).load("jupyterlab"),m=p.__("Plugin Manager"),g=p.__("Advanced Plugin Manager"),A=p.__("Refresh Plugin List"),C="plugin-manager",f=new r.WidgetTracker({namespace:C});function b(o){let c=new l.PluginListModel({...o,pluginData:{availablePlugins:t.availablePlugins},serverSettings:e.serviceManager.serverSettings,extraLockedPlugins:[d,"@jupyterlab/services-extension:service-manager","@jupyterlab/application-extension:layout","@jupyterlab/apputils-extension:resolver"],translator:null!=n?n:s.nullTranslator}),u=new l.Plugins({model:c,translator:null!=n?n:s.nullTranslator});u.title.label=g,u.title.icon=a.extensionIcon,u.title.caption=p.__("Plugin Manager");let m=new r.MainAreaWidget({content:u,reveal:c.ready});return m.toolbar.addItem("refresh-plugins",new a.CommandToolbarButton({id:i.refreshPlugins,args:{noLabel:!0},commands:h})),m}return h.addCommand(i.open,{label:g,execute:e=>{let t=b(e);return u.add(t,"main",{type:"Plugins"}),f.add(t),t.content.model.trackerDataChanged.connect(()=>{f.save(t)}),t},describedBy:{args:{type:"object",properties:{query:{type:"string",description:p.__("The search query for plugins")},isDisclaimed:{type:"boolean",description:p.__("Whether the disclaimer has been accepted")}}}}}),h.addCommand(i.refreshPlugins,{label:e=>e.noLabel?"":A,caption:p.__("Refresh plugins list"),icon:a.refreshIcon,execute:async()=>{var e;return null==(e=f.currentWidget)?void 0:e.content.model.refresh().catch(e=>{console.error(`Failed to refresh the available plugins list:
${e}`)})},describedBy:{args:{type:"object",properties:{noLabel:{type:"boolean",description:p.__("Whether to hide the label")}}}}}),o&&o.addItem({command:i.open,category:m}),c&&c.restore(f,{command:i.open,name:e=>"plugins",args:e=>{let{query:t,isDisclaimed:n}=e.content.model;return{query:t,isDisclaimed:n}}}),{open:()=>e.commands.execute(i.open)}}}]},57292(e,t,n){"use strict";n(97777),n(62971),n(67474),n(52863)},9138(e,t,n){"use strict";n.r(t),n.d(t,{IPluginManager:()=>_,PluginListModel:()=>m,Plugins:()=>A});var i=n(97518),o=n(28951),r=n(53040),s=n(8989),a=n(20659),l=n(55187),d=n(2786),c=n(60721);function h(e){return c.createElement(c.Fragment,null,e.trans.__('The plugin "%1" cannot be disabled as it is required by other plugins:',e.plugin.id),c.createElement("ul",null,e.dependants.map(e=>c.createElement("li",{key:"dependantsDialog-"+e.id},e.id))),e.trans.__("Please disable the dependent plugins first."))}function u(e){return c.createElement("div",{className:"jp-pluginmanager-PluginInUseMessage"},e.trans.__('While the plugin "%1" is not required by other enabled plugins, some plugins provide optional features depending on it. These plugins are:',e.plugin.id),c.createElement("ul",null,e.optionalDependants.map(e=>c.createElement("li",{key:"optionalDependantsDialog-"+e.id},e.id))),e.trans.__("Do you want to disable it anyway?"))}let p="lab/api/plugins";class m extends s.VDomModel{constructor(e){var t,n,i;super(),this.statusError=null,this.actionError=null,this._trackerDataChanged=new a.Signal(this),this._isLoading=!1,this._pendingActions=[],this._ready=new l.PromiseDelegate,this._pluginData=e.pluginData,this._serverSettings=e.serverSettings||r.ServerConnection.makeSettings(),this._query=e.query||"",this._isDisclaimed=null!=(t=e.isDisclaimed)&&t,this._extraLockedPlugins=null!=(n=e.extraLockedPlugins)?n:[],this.refresh().then(()=>this._ready.resolve()).catch(e=>this._ready.reject(e)),this._trans=(null!=(i=e.translator)?i:d.nullTranslator).load("jupyterlab")}get available(){return[...this._available.values()]}get isLoading(){return this._isLoading}get isDisclaimed(){return this._isDisclaimed}set isDisclaimed(e){e!==this._isDisclaimed&&(this._isDisclaimed=e,this.stateChanged.emit(),this._trackerDataChanged.emit(void 0))}get query(){return this._query}set query(e){this._query!==e&&(this._query=e,this.stateChanged.emit(),this._trackerDataChanged.emit(void 0))}get trackerDataChanged(){return this._trackerDataChanged}get ready(){return this._ready.promise}async enable(e){if(!this.isDisclaimed)throw Error("User has not confirmed the disclaimer");await this._performAction("enable",e),e.enabled=!0}async disable(e){if(!this.isDisclaimed)throw Error("User has not confirmed the disclaimer");let{dependants:t,optionalDependants:n}=this.getDependants(e);t.length>0?(0,i.showDialog)({title:this._trans.__("This plugin is required by other plugins"),body:h({plugin:e,dependants:t,trans:this._trans}),buttons:[i.Dialog.okButton()]}):(!(n.length>0)||(await (0,i.showDialog)({title:this._trans.__("This plugin is used by other plugins"),body:u({plugin:e,optionalDependants:n,trans:this._trans}),buttons:[i.Dialog.okButton({label:this._trans.__("Disable anyway")}),i.Dialog.cancelButton()]})).button.accept)&&(await this._performAction("disable",e),this.actionError||(e.enabled=!1))}getDependants(e){let t=[],n=[];if(e.provides){let i=e.provides.name;for(let e of this._available.values())e.enabled&&(e.requires.filter(e=>!!e).some(e=>e.name===i)&&t.push(e),e.optional.filter(e=>!!e).some(e=>e.name===i)&&n.push(e))}return{dependants:t,optionalDependants:n}}hasPendingActions(){return this._pendingActions.length>0}_performAction(e,t){this.actionError=null;let n=this._requestAPI({},{method:"POST",body:JSON.stringify({cmd:e,plugin_name:t.id})});return n.catch(e=>{this.actionError=e.toString()}),this._addPendingAction(n),n}_addPendingAction(e){this._pendingActions.push(e);let t=()=>{let t=this._pendingActions.indexOf(e);this._pendingActions.splice(t,1),this.stateChanged.emit(void 0)};e.then(t,t),this.stateChanged.emit(void 0)}async refresh(){var e;this.statusError=null,this._isLoading=!0,this.stateChanged.emit();try{let t={allLocked:!0,lockRules:[]},n=null!=(e=await this._requestAPI())?e:t;this._available=new Map(this._pluginData.availablePlugins.map(e=>{let t=e.provides?e.provides.name.split(":")[1]:void 0;return e.provides&&!t&&(t=e.provides.name),[e.id,{...e,locked:this._isLocked(e.id,n),tokenLabel:t}]}))}catch(e){this.statusError=e.toString()}finally{this._isLoading=!1,this.stateChanged.emit()}}_isLocked(e,t){if(t.allLocked||this._extraLockedPlugins.includes(e))return!0;let n=e.split(":")[0];return!!(t.lockRules.includes(n)||t.lockRules.includes(e))}async _requestAPI(e={},t={}){let n,i=this._serverSettings,s=o.URLExt.join(i.baseUrl,p);try{n=await r.ServerConnection.makeRequest(s+o.URLExt.objectToQueryString(e),t,i)}catch(e){throw new r.ServerConnection.NetworkError(e)}let a=await n.text();if(a.length>0)try{a=JSON.parse(a)}catch(e){console.log("Not a JSON response body.",n)}if(!n.ok)throw new r.ServerConnection.ResponseError(n,a.message||a);return a}}var g=n(64001);class A extends g.Panel{constructor(e){const{model:t,translator:n}=e;super(),this.model=t,this.addClass("jp-pluginmanager"),this.trans=n.load("jupyterlab"),this.addWidget(new f(t,this.trans));const i=new b(t,this.trans);this.addWidget(i);const o=new C(t,this.trans);this.addWidget(o)}}class C extends i.VDomRenderer{constructor(e,t){super(e),this.trans=t,this.addClass("jp-pluginmanager-AvailableList")}render(){return c.createElement(c.Fragment,null,null!==this.model.statusError?c.createElement(v,null,this.trans.__("Error querying installed extensions%1",this.model.statusError?`: ${this.model.statusError}`:".")):this.model.isLoading?c.createElement("div",{className:"jp-pluginmanager-loader"},this.trans.__("Updating plugin list…")):c.createElement(s.Table,{blankIndicator:()=>c.createElement("div",null,this.trans.__("No entries")),sortKey:"plugin-id",rows:this.model.available.filter(e=>{let t=RegExp(this.model.query,"i");return t.test(e.id)||t.test(e.extension)||e.tokenLabel&&t.test(e.tokenLabel)}).map(e=>({data:e,key:e.id})),columns:[{id:"plugin-id",label:this.trans.__("Plugin"),renderCell:e=>c.createElement(c.Fragment,null,c.createElement("code",null,e.id),c.createElement("br",null),e.description),sort:(e,t)=>e.id.localeCompare(t.id)},{id:"description",label:this.trans.__("Description"),renderCell:e=>c.createElement(c.Fragment,null,e.description),sort:(e,t)=>e.description&&t.description?e.description.localeCompare(t.description):void 0,isHidden:!0},{id:"autostart",label:this.trans.__("Autostart?"),renderCell:e=>{switch(e.autoStart){case"defer":return this.trans.__("Defer");case!0:return this.trans.__("Yes");case!1:case void 0:return this.trans.__("No");default:let t=e.autoStart;throw Error(`Unknown value: ${t}`)}},sort:(e,t)=>e.autoStart===t.autoStart?0:e.autoStart?-1:1},{id:"requires",label:this.trans.__("Depends on"),renderCell:e=>c.createElement(c.Fragment,null,e.requires.map(e=>e.name).join("\n")),sort:(e,t)=>(e.requires||[]).length-(t.requires||[]).length,isHidden:!0},{id:"extension",label:this.trans.__("Extension"),renderCell:e=>c.createElement(c.Fragment,null,e.extension),sort:(e,t)=>e.extension.localeCompare(t.extension)},{id:"provides",label:this.trans.__("Provides"),renderCell:e=>c.createElement(c.Fragment,null,e.provides?c.createElement("code",{title:e.provides.name},e.tokenLabel):"-"),sort:(e,t)=>(e.tokenLabel||"").localeCompare(t.tokenLabel||"")},{id:"enabled",label:this.trans.__("Enabled"),renderCell:e=>c.createElement(c.Fragment,null,c.createElement("input",{type:"checkbox",checked:e.enabled,disabled:e.locked||!this.model.isDisclaimed,title:e.locked||!this.model.isDisclaimed?e.locked?this.trans.__("This plugin is locked."):this.trans.__("To enable/disable, please acknowledge the disclaimer."):e.enabled?this.trans.__("Disable %1 plugin",e.id):this.trans.__("Enable %1 plugin",e.id),onChange:t=>{this.model.isDisclaimed&&(t.target.checked?this.onAction("enable",e):this.onAction("disable",e))}}),e.locked?c.createElement(s.lockIcon.react,{tag:"span",title:this.trans.__("This plugin was locked by system administrator or is a critical dependency and cannot be enabled/disabled.")}):""),sort:(e,t)=>e.enabled-t.enabled}]}))}onAction(e,t){switch(e){case"enable":return this.model.enable(t);case"disable":return this.model.disable(t);default:throw Error(`Invalid action: ${e}`)}}}class f extends i.VDomRenderer{constructor(e,t){super(e),this.trans=t,this.addClass("jp-pluginmanager-Disclaimer")}render(){return c.createElement("div",null,c.createElement("div",null,this.trans.__("Customise your experience/improve performance by disabling plugins you do not need. To disable or uninstall an entire extension use the Extension Manager instead. Changes will apply after reloading JupyterLab.")),c.createElement("label",null,c.createElement("input",{type:"checkbox",className:"jp-mod-styled jp-pluginmanager-Disclaimer-checkbox",defaultChecked:this.model.isDisclaimed,onChange:e=>{this.model.isDisclaimed=e.target.checked}}),this.trans.__("I understand that disabling core application plugins may render features and parts of the user interface unavailable and recovery using `jupyter labextension enable <plugin-name>` command may be required")))}}class b extends i.VDomRenderer{constructor(e,t){super(e),this.trans=t,this.addClass("jp-pluginmanager-Header")}render(){return c.createElement(c.Fragment,null,c.createElement(s.FilterBox,{placeholder:this.trans.__("Filter"),updateFilter:(e,t)=>{this.model.query=null!=t?t:""},initialQuery:this.model.query,useFuzzyFilter:!1}),c.createElement("div",{className:`jp-pluginmanager-pending ${this.model.hasPendingActions()?"jp-mod-hasPending":""}`}),this.model.actionError&&c.createElement(v,null,c.createElement("p",null,this.trans.__("Error when performing an action.")),c.createElement("p",null,this.trans.__("Reason given:")),c.createElement("pre",null,this.model.actionError)))}}function v(e){return c.createElement("div",{className:"jp-pluginmanager-error"},e.children)}let _=new l.Token("@jupyterlab/pluginmanager:IPluginManager","A canary for plugin manager presence, with a method to open the plugin manager widget.")},52863(e,t,n){"use strict";n(82311),n(97777),n(62971),n(67474);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(66069),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},36377(e,t,n){"use strict";n.r(t),n.d(t,{IPropertyInspectorProvider:()=>l,SideBarPropertyInspectorProvider:()=>c});var i,o=n(2786),r=n(8989),s=n(20659),a=n(64001);let l=new(n(55187)).Token("@jupyterlab/property-inspector:IPropertyInspectorProvider","A service to register new widgets in the property inspector side panel.");class d extends a.Widget{constructor(){super(),this._tracker=new a.FocusTracker,this._inspectors=new Map,this.addClass("jp-PropertyInspector"),this._tracker=new a.FocusTracker,this._tracker.currentChanged.connect(this._onCurrentChanged,this)}register(e){if(this._inspectors.has(e))throw Error("Widget is already registered");let t=new i.PropertyInspector(e);return e.disposed.connect(this._onWidgetDisposed,this),this._inspectors.set(e,t),t.onAction.connect(this._onInspectorAction,this),this._tracker.add(e),t}get currentWidget(){return this._tracker.currentWidget}refresh(){let e=this._tracker.currentWidget;if(!e)return void this.setContent(null);let t=this._inspectors.get(e);t&&this.setContent(t.content)}_onWidgetDisposed(e){let t=this._inspectors.get(e);t&&(t.dispose(),this._inspectors.delete(e))}_onInspectorAction(e,t){let n=e.owner,i=this._tracker.currentWidget;switch(t){case"content":i===n&&this.setContent(e.content);break;case"dispose":n&&(this._tracker.remove(n),this._inspectors.delete(n));break;case"show-panel":i===n&&this.showPanel();break;default:throw Error("Unsupported inspector action")}}_onCurrentChanged(){let e=this._tracker.currentWidget;if(e){let t=this._inspectors.get(e).content;this.setContent(t)}else this.setContent(null)}}class c extends d{constructor({shell:e,placeholder:t,translator:n}){super(),this._labshell=e,this.translator=n||o.nullTranslator,this._trans=this.translator.load("jupyterlab");const i=this.layout=new a.SingletonLayout;if(t)this._placeholder=t;else{const e=document.createElement("div"),t=document.createElement("div"),n=document.createElement("h3"),i=document.createElement("p");n.textContent=this._trans.__("No Properties"),i.textContent=this._trans.__("The property inspector allows to view and edit properties of a selected notebook."),t.className="jp-PropertyInspector-placeholderContent",t.appendChild(n),t.appendChild(i),e.appendChild(t),this._placeholder=new a.Widget({node:e}),this._placeholder.addClass("jp-PropertyInspector-placeholder")}i.widget=this._placeholder,this._labshell.currentChanged.connect(this._onShellCurrentChanged,this),this._onShellCurrentChanged()}setContent(e){let t=this.layout;t.widget&&(t.widget.removeClass("jp-PropertyInspector-content"),t.removeWidget(t.widget)),e||(e=this._placeholder),e.addClass("jp-PropertyInspector-content"),t.widget=e}showPanel(){this._labshell.activateById(this.id)}_onShellCurrentChanged(){let e=this.currentWidget;if(!e)return void this.setContent(null);let t=this._labshell.currentWidget;(null==t?void 0:t.node.contains(e.node))?this.refresh():this.setContent(null)}}!function(e){class t{constructor(e){this._isDisposed=!1,this._content=null,this._owner=null,this._onAction=new s.Signal(this),this._owner=e}get owner(){return this._owner}get content(){return this._content}get isDisposed(){return this._isDisposed}get onAction(){return this._onAction}showPanel(){this._isDisposed||this._onAction.emit("show-panel")}render(e){this._isDisposed||(e instanceof a.Widget?this._content=e:this._content=r.ReactWidget.create(e),this._onAction.emit("content"))}dispose(){this._isDisposed||(this._isDisposed=!0,this._content=null,this._owner=null,s.Signal.clearData(this))}}e.PropertyInspector=t}(i||(i={}))},335(e,t,n){"use strict";n(82311),n(97777),n(67474);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(52746),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},97872(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>l});var i,o=n(97518),r=n(18977),s=n(31031),a=n(2786);!function(e){e.handleLink="rendermime:handle-local-link"}(i||(i={}));let l={id:"@jupyterlab/rendermime-extension:plugin",description:"Provides the render mime registry.",optional:[r.IDocumentManager,s.ILatexTypesetter,o.ISanitizer,s.IMarkdownParser,a.ITranslator],provides:s.IRenderMimeRegistry,activate:c,autoStart:!0},d="debugger:open-source";function c(e,t,n,o,r,l){let c=(null!=l?l:a.nullTranslator).load("jupyterlab");return t&&e.commands.addCommand(i.handleLink,{label:c.__("Handle Local Link"),execute:n=>{let i=n.path,o=n.id,r=n.scope||"server";if(i)return"kernel"===r?e.commands.hasCommand(d)?e.commands.execute(d,{path:i}):void console.warn("Cannot open kernel file: debugger sources provider not available"):t.services.contents.get(i,{content:!1}).then(()=>{let e=t.registry.defaultRenderedWidgetFactory(i),n=t.openOrReveal(i,e.name);n&&o&&n.setFragment(o)})},describedBy:{args:{type:"object",properties:{path:{type:"string",description:c.__("The file path to open")},id:{type:"string",description:c.__("Fragment identifier to navigate to")},scope:{type:"string",enum:["kernel","server"],description:c.__("Scope of the file location")}},required:["path"]}}}),new s.RenderMimeRegistry({initialFactories:s.standardRendererFactories,trustHandler:{markTrusted:t=>{e.commandLinker.markTrusted(t)},unmarkTrusted:t=>{e.commandLinker.unmarkTrusted(t)}},linkHandler:t?{handleLink:(t,n,o)=>{"A"===t.tagName&&t.hasAttribute("download")||t.addEventListener("click",t=>{t.preventDefault(),e.commands.execute(i.handleLink,{path:n,id:o})})},handlePath:(t,n,o,r)=>{t.addEventListener("click",t=>{t.preventDefault(),e.commands.execute(i.handleLink,{path:n,id:r,scope:o})})}}:void 0,latexTypesetter:null!=n?n:void 0,markdownParser:null!=r?r:void 0,translator:null!=l?l:void 0,sanitizer:null!=o?o:void 0})}},80046(e,t,n){"use strict";n(62971),n(22595),n(67474),n(41603)},60479(e,t,n){"use strict";n.r(t)},32278(e,t,n){"use strict";n.d(t,{l:()=>a});var i,o=n(52782),r=n(55187),s=n(20659);class a{constructor(e){this.trusted=!1,this._changed=new s.Signal(this),this._raw={};const t=i.getData(e.value);this._data=new o.ObservableJSON({values:t}),this._rawData=t;const n=e.value;for(const e in n)"data"===e||(this._raw[e]=i.extract(n,e))}get changed(){return this._changed}dispose(){this._data.dispose(),s.Signal.clearData(this)}get data(){return this._rawData}get metadata(){return{}}setData(e){e.data&&(this._updateObservable(this._data,e.data),this._rawData=e.data),this._changed.emit(void 0)}toJSON(){let e={};for(let t in this._raw)e[t]=i.extract(this._raw,t);return e}_updateObservable(e,t){let n=e.keys(),i=Object.keys(t);for(let t of n)-1===i.indexOf(t)&&e.delete(t);for(let n of i){let i=e.get(n),o=t[n];i!==o&&e.set(n,o)}}}!function(e){e.getData=function(e){return i.getData(e)}}(a||(a={})),function(e){function t(e){return i(e)}function n(e,t){let n=e[t];return void 0===n||r.JSONExt.isPrimitive(n)?n:r.JSONExt.deepCopy(n)}function i(e){let t=Object.create(null);for(let i in e)t[i]=n(e,i);return t}e.getData=t,e.getBundleOptions=function(e){return{data:t(e.value)}},e.extract=n}(i||(i={}))},41586(e,t,n){"use strict";n.d(t,{Fh:()=>o,NQ:()=>r,SF:()=>s,U1:()=>l,dn:()=>u,hL:()=>a,hY:()=>h,jn:()=>c,qQ:()=>d});var i=n(18901);let o={safe:!0,mimeTypes:["text/html"],defaultRank:50,createRenderer:e=>new i.TH(e)},r={safe:!0,mimeTypes:["image/bmp","image/png","image/jpeg","image/gif","image/webp"],defaultRank:90,createRenderer:e=>new i.vf(e)},s={safe:!0,mimeTypes:["text/latex"],defaultRank:70,createRenderer:e=>new i.Kc(e)},a={safe:!0,mimeTypes:["text/markdown"],defaultRank:60,createRenderer:e=>new i.jL(e)},l={safe:!1,mimeTypes:["image/svg+xml"],defaultRank:80,createRenderer:e=>new i.Yk(e)},d={safe:!0,mimeTypes:["application/vnd.jupyter.stderr"],defaultRank:110,createRenderer:e=>new i.A6(e)},c={safe:!0,mimeTypes:["text/plain","application/vnd.jupyter.stdout"],defaultRank:120,createRenderer:e=>new i.Vx(e)},h={safe:!1,mimeTypes:["text/javascript","application/javascript"],defaultRank:110,createRenderer:e=>new i.TS(e)},u=[o,a,s,l,r,h,d,c]},17200(e,t,n){"use strict";n.r(t),n.d(t,{AttachmentModel:()=>r.l,ILatexTypesetter:()=>u.nc,IMarkdownParser:()=>u.co,IRenderMimeRegistry:()=>u.N3,IUrlResolverFactory:()=>u.D8,MimeModel:()=>l.w,OutputModel:()=>d.L,RenderMimeRegistry:()=>c.K,RenderedCommon:()=>p.nZ,RenderedError:()=>p.A6,RenderedHTML:()=>p.TH,RenderedHTMLCommon:()=>p.C6,RenderedImage:()=>p.vf,RenderedJavaScript:()=>p.TS,RenderedLatex:()=>p.Kc,RenderedMarkdown:()=>p.jL,RenderedSVG:()=>p.Yk,RenderedText:()=>p.Vx,errorRendererFactory:()=>s.qQ,hardenAnchorLinks:()=>h.N1,htmlRendererFactory:()=>s.Fh,imageRendererFactory:()=>s.NQ,javaScriptRendererFactory:()=>s.hY,latexRendererFactory:()=>s.SF,markdownRendererFactory:()=>s.hL,removeMath:()=>a.r,renderError:()=>h.vr,renderHTML:()=>h.e2,renderImage:()=>h.mx,renderLatex:()=>h.zG,renderMarkdown:()=>h.Gc,renderSVG:()=>h.d8,renderText:()=>h.S5,replaceMath:()=>a.H,standardRendererFactories:()=>s.dn,svgRendererFactory:()=>s.U1,textRendererFactory:()=>s.jn});var i=n(16569),o={};for(let e in i)"default"!==e&&(o[e]=()=>i[e]);n.d(t,o);var r=n(32278),s=n(41586),a=n(52608),l=n(51930),d=n(34354),c=n(71153),h=n(11364),u=n(21944),p=n(18901)},52608(e,t,n){"use strict";n.d(t,{H:()=>s,r:()=>r});let i="$",o=/(\$\$?|\\(?:begin|end)\{[a-z]*\*?\}|\\[{}$]|[{}]|(?:\n\s*)+|@@\d+@@|\\\\[()[\]])/i;function r(e){let t,n=[],r=null,s=null,l=null,d=0;e.includes("`")||e.includes("~~~")?(e=e.replace(/~/g,"~T").replace(/^(?<fence>`{3,}|(~T){3,})[^`\n]*\n([\s\S]*?)^\k<fence>`*$/gm,e=>e.replace(/\$/g,"~D")).replace(/(^|[^\\])(`+)([^\n]*?[^`\n])\2(?!`)/gm,e=>e.replace(/\$/g,"~D")),t=e=>e.replace(/~([TD])/g,(e,t)=>"T"===t?"~":i)):t=e=>e;let c=e.replace(/\r\n?/g,"\n").split(o);for(let e=1,o=c.length;e<o;e+=2){let o=c[e];"@"===o.charAt(0)?(c[e]="@@"+n.length+"@@",n.push(o)):null!==r?o===s?d?l=e:(c=a(r,e,t,n,c),r=null,s=null,l=null):o.match(/\n.*\n/)?(null!==l&&(c=a(r,e=l,t,n,c)),r=null,s=null,l=null,d=0):"{"===o?d++:"}"===o&&d&&d--:o===i||"$$"===o?(r=e,s=o,d=0):"\\\\("===o||"\\\\["===o?(r=e,s="("===o.slice(-1)?"\\\\)":"\\\\]",d=0):"begin"===o.substr(1,5)&&(r=e,s="\\end"+o.substr(6),d=0)}return null!==r&&null!==l&&(c=a(r,l,t,n,c),r=null,s=null,l=null),{text:t(c.join("")),math:n}}function s(e,t){let n=(e,n)=>{let i=t[n];return"\\\\("===i.substr(0,3)&&"\\\\)"===i.substr(i.length-3)?i="\\("+i.substring(3,i.length-3)+"\\)":"\\\\["===i.substr(0,3)&&"\\\\]"===i.substr(i.length-3)&&(i="\\["+i.substring(3,i.length-3)+"\\]"),i};return e.replace(/@@(\d+)@@/g,n)}function a(e,t,n,i,o){let r=o.slice(e,t+1).join("").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");for(navigator&&"Microsoft Internet Explorer"===navigator.appName&&(r=r.replace(/(%[^\n]*)\n/g,"$1<br/>\n"));t>e;)o[t]="",t--;return o[e]="@@"+i.length+"@@",n&&(r=n(r)),i.push(r),o}},51930(e,t,n){"use strict";var i;n.d(t,{w:()=>o});class o{constructor(e={}){this.trusted=!!e.trusted,this._data=e.data||{},this._metadata=e.metadata||{},this._callback=e.callback||i.noOp}get data(){return this._data}get metadata(){return this._metadata}setData(e){this._data=e.data||this._data,this._metadata=e.metadata||this._metadata,this._callback(e)}}!function(e){e.noOp=function(){}}(i||(i={}))},34354(e,t,n){"use strict";n.d(t,{L:()=>l});var i,o=n(64421),r=n(52782),s=n(55187),a=n(20659);class l{constructor(e){this._changed=new a.Signal(this),this._raw={},this._text=void 0;const{data:t,metadata:n,trusted:s}=i.getBundleOptions(e);this._rawData=t,void 0!==e.value&&o.isStream(e.value)&&(this._text=new r.ObservableString("string"==typeof e.value.text?e.value.text:e.value.text.join(""))),this._metadata=new r.ObservableJSON({values:n}),this._rawMetadata=n,this.trusted=s;const l=e.value;for(const e in l)switch(e){case"data":case"metadata":break;default:this._raw[e]=i.extract(l,e)}this.type=l.output_type,o.isExecuteResult(l)?this.executionCount=l.execution_count:this.executionCount=null}get changed(){return this._changed}dispose(){var e;null==(e=this._text)||e.dispose(),this._metadata.dispose(),a.Signal.clearData(this)}get data(){return i.getData(this.toJSON())}get streamText(){return this._text}get metadata(){return this._rawMetadata}setData(e){e.data&&(this._rawData=e.data),e.metadata&&(this._updateObservable(this._metadata,e.metadata),this._rawMetadata=e.metadata),this._changed.emit()}toJSON(){let e={};for(let t in this._raw)e[t]=i.extract(this._raw,t);switch(void 0!==this._text&&(e.text=this._text.text),this.type){case"display_data":case"execute_result":case"update_display_data":e.data=this._rawData,e.metadata=this.metadata}return delete e.transient,e}_updateObservable(e,t){let n=e.keys(),i=Object.keys(t);for(let t of n)-1===i.indexOf(t)&&e.delete(t);for(let n of i){let i=e.get(n),o=t[n];i!==o&&e.set(n,o)}}}!function(e){e.getData=function(e){return i.getData(e)},e.getMetadata=function(e){return i.getMetadata(e)}}(l||(l={})),function(e){function t(e){let t={};if(o.isExecuteResult(e)||o.isDisplayData(e)||o.isDisplayUpdate(e))t=e.data;else if(o.isStream(e))"stderr"===e.name?t["application/vnd.jupyter.stderr"]=e.text:t["application/vnd.jupyter.stdout"]=e.text;else if(o.isError(e)){t["application/vnd.jupyter.error"]=e;let n=e.traceback.join("\n");t["application/vnd.jupyter.stderr"]=n||`${e.ename}: ${e.evalue}`}return r(t)}function n(e){let t=Object.create(null);if(o.isExecuteResult(e)||o.isDisplayData(e))for(let n in e.metadata)t[n]=i(e.metadata,n);return t}function i(e,t){let n=e[t];return void 0===n||s.JSONExt.isPrimitive(n)?n:JSON.parse(JSON.stringify(n))}function r(e){let t=Object.create(null);for(let n in e)t[n]=i(e,n);return t}e.getData=t,e.getMetadata=n,e.getBundleOptions=function(e){let i=t(e.value);return{data:i,metadata:n(e.value),trusted:!!e.trusted}},e.extract=i}(i||(i={}))},71153(e,t,n){"use strict";n.d(t,{K:()=>d});var i,o=n(97518),r=n(28951),s=n(53040),a=n(2786),l=n(51930);class d{constructor(e={}){var t,n,i,r,s,l,d;if(this._id=0,this._ranks={},this._types=null,this._factories={},this.translator=null!=(t=e.translator)?t:a.nullTranslator,this.resolver=null!=(n=e.resolver)?n:null,this.linkHandler=null!=(i=e.linkHandler)?i:null,this.trustHandler=null!=(r=e.trustHandler)?r:null,this.latexTypesetter=null!=(s=e.latexTypesetter)?s:null,this.markdownParser=null!=(l=e.markdownParser)?l:null,this.sanitizer=null!=(d=e.sanitizer)?d:new o.Sanitizer,e.initialFactories)for(const t of e.initialFactories)this.addFactory(t)}get mimeTypes(){return this._types||(this._types=i.sortedTypes(this._ranks))}preferredMimeType(e,t="ensure"){if("ensure"===t||"prefer"===t){for(let t of this.mimeTypes)if(t in e&&this._factories[t].safe)return t}if("ensure"!==t){for(let t of this.mimeTypes)if(t in e)return t}}createRenderer(e){if(!(e in this._factories))throw Error(`No factory for mime type: '${e}'`);return this._factories[e].createRenderer({mimeType:e,resolver:this.resolver,sanitizer:this.sanitizer,linkHandler:this.linkHandler,trustHandler:this.trustHandler,latexTypesetter:this.latexTypesetter,markdownParser:this.markdownParser,translator:this.translator})}createModel(e={}){return new l.w(e)}clone(e={}){var t,n,i,o,r,s,a,l,c,h,u,p;let m=new d({resolver:null!=(n=null!=(t=e.resolver)?t:this.resolver)?n:void 0,sanitizer:null!=(o=null!=(i=e.sanitizer)?i:this.sanitizer)?o:void 0,linkHandler:null!=(s=null!=(r=e.linkHandler)?r:this.linkHandler)?s:void 0,trustHandler:null!=(l=null!=(a=e.trustHandler)?a:this.trustHandler)?l:void 0,latexTypesetter:null!=(h=null!=(c=e.latexTypesetter)?c:this.latexTypesetter)?h:void 0,markdownParser:null!=(p=null!=(u=e.markdownParser)?u:this.markdownParser)?p:void 0,translator:this.translator});return m._factories={...this._factories},m._ranks={...this._ranks},m._id=this._id,m}getFactory(e){return this._factories[e]}addFactory(e,t){for(let n of(void 0===t&&void 0===(t=e.defaultRank)&&(t=100),e.mimeTypes))this._factories[n]=e,this._ranks[n]={rank:t,id:this._id++};this._types=null}removeMimeType(e){delete this._factories[e],delete this._ranks[e],this._types=null}getRank(e){let t=this._ranks[e];return t&&t.rank}setRank(e,t){if(!this._ranks[e])return;let n=this._id++;this._ranks[e]={rank:t,id:n},this._types=null}}!function(e){class t{constructor(e){this._resolvePathApiAvailable=null,this._path=e.path,this._contents=e.contents,this._getKernelId=e.getKernelId}get path(){return this._path}set path(e){this._path=e}async resolveUrl(e){if(this.isLocal(e)){let t=encodeURI(r.PathExt.dirname(this.path));e=r.PathExt.resolve(t,e)}return e}async getDownloadUrl(e){return this.isLocal(e)?this._contents.getDownloadUrl(decodeURIComponent(e)):e}isLocal(e,t=!1){return!this.isMalformed(e)&&(r.URLExt.isLocal(e,t)||!!this._contents.driveName(decodeURI(e)))}async resolvePath(e){let t=await this._resolvePathUsingServerApi(e);return void 0!==t?t:this._resolvePathUsingLegacyHeuristics(e)}isMalformed(e){try{return decodeURI(e),!1}catch(e){if(e instanceof URIError)return!0;throw e}}async _resolvePathUsingServerApi(e){var t,n,o,r,s,a;if(!1===this._resolvePathApiAvailable)return;let l={path:e},d=null==(t=this._getKernelId)?void 0:t.call(this);d&&(l.kernel=d);let c=await this._makeResolvePathRequest(l);if(!c)return console.warn(`Could not resolve location of ${e} using server API`),null;if(404===c.status){this._resolvePathApiAvailable=!1;return}if(!c.ok)return console.warn(`Could not resolve location of ${e} using server API`),null;this._resolvePathApiAvailable=!0;try{let e=await c.json(),t=null!=(o=null==(n=null==e?void 0:e.resolved)?void 0:n.filter(i.isResolvedLocation))?o:[];if(s=null==(r=null==e?void 0:e.unresolved)?void 0:r.some(e=>!!e&&"object"==typeof e&&"kernel"===e.scope),!t.length)return null;return null!=(a=t.find(e=>"server"===e.scope))?a:t[0]}catch(t){return console.warn(`Could not resolve location of ${e} using server API`),null}}async _makeResolvePathRequest(e){let t=this._contents.serverSettings,n=r.URLExt.join(t.baseUrl,"api","resolvePath")+r.URLExt.objectToQueryString(e);try{return await s.ServerConnection.makeRequest(n,{},t)}catch(e){return null}}async _resolvePathUsingLegacyHeuristics(e){let t=r.PageConfig.getOption("rootUri").replace("file://","");if(e.startsWith("~/")&&t.startsWith("/home/")&&(e=t.split("/").slice(0,3).join("/")+e.substring(1)),e.startsWith(t)||e.startsWith("./"))try{let n=e.replace(t,"");return{path:(await this._contents.get(n,{content:!1})).path,scope:"server"}}catch(t){return console.warn(`Could not resolve location of ${e} on server`),null}return{path:e,scope:"kernel"}}}e.UrlResolver=t}(d||(d={})),function(e){e.isResolvedLocation=function(e){if(!e||"object"!=typeof e)return!1;let t=e;return"string"==typeof t.path&&("server"===t.scope||"kernel"===t.scope)},e.sortedTypes=function(e){return Object.keys(e).sort((t,n)=>{let i=e[t],o=e[n];return i.rank!==o.rank?i.rank-o.rank:i.id-o.id})}}(i||(i={}))},11364(e,t,n){"use strict";n.d(t,{Gc:()=>p,N1:()=>S,S5:()=>_,d8:()=>m,e2:()=>c,mx:()=>h,vr:()=>x,zG:()=>u});var i,o,r=n(28951),s=n(2786),a=n(67901),l=n.n(a),d=n(52608);async function c(e){let{host:t,source:n,trusted:i,sanitizer:r,resolver:a,linkHandler:l,shouldTypeset:d,latexTypesetter:c,translator:h}=e,u=null==(h=h||s.nullTranslator)?void 0:h.load("jupyterlab"),p=n;if(!n){t.textContent="";return}if(i||(p=`${n}`,n=r.sanitize(n)),t.innerHTML=n,t.getElementsByTagName("script").length>0)if(i)o.evalInnerHTMLScriptTags(t);else{let e=document.createElement("div"),n=document.createElement("pre");n.textContent=u.__("This HTML output contains inline scripts. Are you sure that you want to run arbitrary Javascript within your JupyterLab session?");let i=document.createElement("button");i.textContent=u.__("Run"),i.onclick=e=>{t.innerHTML=p,o.evalInnerHTMLScriptTags(t),t.firstChild&&t.removeChild(t.firstChild)},e.appendChild(n),e.appendChild(i),t.insertBefore(e,t.firstChild)}if(o.handleDefaults(t),d&&c){let e=c.typeset(t);e instanceof Promise?e.then(()=>S(t,a)).catch(console.warn):S(t,a)}else S(t,a);a&&await o.handleUrls(t,a,l)}async function h(e){let{host:t,mimeType:n,source:i,width:o,height:r,needsBackground:s,unconfined:a}=e;t.textContent="";let l=document.createElement("img");l.src=`data:${n};base64,${i}`,"number"==typeof r&&(l.height=r),"number"==typeof o&&(l.width=o),"light"===s?l.classList.add("jp-needs-light-background"):"dark"===s&&l.classList.add("jp-needs-dark-background"),!0===a&&l.classList.add("jp-mod-unconfined"),t.appendChild(l)}async function u(e){let{host:t,source:n,shouldTypeset:i,latexTypesetter:o,resolver:r}=e;if(t.textContent=n,i&&o){let e=o.typeset(t);e instanceof Promise?e.then(()=>S(t,r)).catch(console.warn):S(t,r)}}async function p(e){var t;let{host:n,source:i,markdownParser:r,...s}=e;if(!i){n.textContent="";return}let a="";if(r){let e=(0,d.r)(i);a=await r.render(e.text),a=(0,d.H)(a,e.math)}else a=`<pre>${i}</pre>`;await c({host:n,source:a,...s}),o.headerAnchors(n,null!=(t=e.sanitizer.allowNamedProperties)&&t)}async function m(e){let{host:t,source:n,trusted:i,unconfined:o}=e;if(!n){t.textContent="";return}if(!i){t.textContent="Cannot display an untrusted SVG. Maybe you need to run the cell?";return}let r="<svg[^>]+xmlns=[^>]+svg";0>n.search(r)&&(n=n.replace("<svg",'<svg xmlns="http://www.w3.org/2000/svg"'));let s=new Image;s.src=`data:image/svg+xml,${encodeURIComponent(n)}`,t.appendChild(s),!0===o&&t.classList.add("jp-mod-unconfined")}!function(e){e.createHeaderId=function(e){var t;return(null!=(t=e.textContent)?t:"").replace(/ /g,"-")}}(p||(p={})),function(e){let t="\\u0000-\\u0020\\u007f-\\u009f";e.webLinkRegex=RegExp("(?<path>(?:[a-zA-Z][a-zA-Z0-9+.-]{2,40}:\\/\\/|data:|www\\.)[^\\s"+t+'"]{2,}[^\\s'+t+"\"'(){}\\[\\],:;.!?])","gu");let n=/(?:[a-zA-Z]:(?:(?:\\|\/)[\w.-]*)+)/,i=/(?:(?:~|\.)(?:(?:\\|\/)[\w.-]*)+)/,o=RegExp(`(${n.source}|${i.source})`),r=/((?:~|\.)?(?:\/[\w.-]*)+)/,s=/(?:(?::|", line )(?<line>\d+))?(?::(?<column>\d+))?/,a=navigator.userAgent.indexOf("Windows")>=0;e.pathLinkRegex=RegExp(`(?<path>${a?o.source:r.source})${s.source}`,"g")}(i||(i={}));class g{constructor(){this.regex=i.webLinkRegex}createAnchor(e,t){let n=document.createElement("a");return n.href=e.startsWith("www.")?"https://"+e:e,n.rel="noopener",n.target="_blank",n.appendChild(document.createTextNode(t)),n}processPath(e){let t=-1!==[">","<"].indexOf(e.slice(-1))?e.length-1:e.length;return e=e.slice(0,t)}processLabel(e){return this.processPath(e)}}class A{constructor(){this.regex=i.pathLinkRegex}createAnchor(e,t,n){let i=document.createElement("a");i.dataset.path=e;let o=parseInt(n.line,10),r=isNaN(o)?"":`line=${o-1}`;return i.dataset.locator=r,i.appendChild(document.createTextNode(t)),i}}function C(e,t){let n=[];t.checkWeb&&n.push(new g),t.checkPaths&&n.push(new A);let i=[],o=(e,t)=>{let r;if(t>=n.length)return void i.push(document.createTextNode(e));let s=n[t],a=0,l=s.regex;for(l.lastIndex=0;null!=(r=l.exec(e));){let n=e.substring(a,r.index);n&&o(n,t+1);let{path:l,...d}=r.groups,c=s.processPath?s.processPath(l):l,h=s.processLabel?s.processLabel(r[0]):r[0];i.push(s.createAnchor(c,h,d)),a=r.index+h.length}let d=e.substring(a);d&&o(d,t+1)};return o(e,0),i}function f(e,t){var n,i;let o=e.cloneNode();o.textContent=null==(n=e.textContent)?void 0:n.slice(0,t);let r=e.cloneNode();return r.textContent=null==(i=e.textContent)?void 0:i.slice(t),{pre:o,post:r}}function*b(e){var t;let n,i=0;for(let o of e)n=i+((null==(t=o.textContent)?void 0:t.length)||0),yield{node:o,start:i,end:n,isText:o.nodeType===Node.TEXT_NODE},i=n}function*v(e,t){var n,i;let o=b(e),r=b(t),s=o.next(),a=r.next();for(;!s.done&&!a.done;){let e=s.value,t=a.value;if(e.isText&&e.start<=t.start&&e.end>=t.end)yield[null,t.node],a=r.next();else if(t.isText&&t.start<=e.start&&t.end>=e.end)yield[e.node,null],s=o.next();else if(e.end===t.end&&e.start===t.start)yield[e.node,t.node],s=o.next(),a=r.next();else if(e.end>t.end){let{pre:i,post:o}=f(e.node,t.end-e.start);t.start<e.start&&(t.node.textContent=null==(n=t.node.textContent)?void 0:n.slice(e.start-t.start)),yield[i,t.node],e.node=o,e.start=t.end,a=r.next()}else if(t.end>e.end){let{pre:n,post:r}=f(t.node,e.end-t.start);e.start<t.start&&(e.node.textContent=null==(i=e.node.textContent)?void 0:i.slice(t.start-e.start)),yield[e.node,n],t.node=r,t.start=e.end,s=o.next()}else throw Error(`Unexpected intersection: ${JSON.stringify(e)} ${JSON.stringify(t)}`)}}async function _(e){w(e,{checkWeb:!0,checkPaths:!1})}function y(e){let t=document.createElement("span");return t.textContent=e,t.innerHTML}let E="\x1b";function w(e,t){var n,i;let r,{host:s,sanitizer:a,source:l}=e,d=l.includes(E)?a.sanitize(o.ansiSpan(l),{allowedTags:["span"]}):y(l),c=document.createElement("pre");c.innerHTML=d;let h=c.textContent,u=[];t.checkWeb&&u.push("web"),t.checkPaths&&u.push("paths");let p=u.join("-"),m=o.autoLinkCache.get(p);if(m||(m=new WeakMap,o.autoLinkCache.set(p,m)),h){let e;if(null==(i=null==(n=a.getAutolink)?void 0:n.call(a))||i){let n=j(m.get(s),h);if(n){let{cachedNodes:i,addedText:o}=n,r=C(o,t),s=i[i.length-1],a=r[0];if(s instanceof Text&&a instanceof Text){let t=s;t.data+=a.data,e=[...i.slice(0,-1),t,...r.slice(1)]}else e=[...i,...r]}else e=C(h,t);m.set(s,{preTextContent:h,linkedNodes:e.map(e=>e.cloneNode(!0))})}else e=[document.createTextNode(d)];r=B(Array.from(c.childNodes),e)}else r=document.createElement("pre");s.appendChild(r)}function j(e,t){if(!e||t.length<e.preTextContent.length)return null;let n=t.substring(e.preTextContent.length),i=e.linkedNodes,o=e.linkedNodes[e.linkedNodes.length-1];if(e.preTextContent.endsWith("\n")||n.startsWith("\n"));else{if(!(o instanceof Text))return null;i=i.slice(0,-1),n=o.textContent+n}return t.startsWith(e.preTextContent)?{cachedNodes:i,addedText:n}:null}async function x(e){let{host:t,linkHandler:n,resolver:i}=e;w(e,{checkWeb:!0,checkPaths:!0}),i&&await o.handlePaths(t,i,n)}function B(e,t){let n=document.createElement("pre"),i=!1,o=[];for(let n of v(e,t)){if(n[0]){if(!n[1]){o.push(n[0]),i=!1;continue}}else{o.push(n[1]),i=n[1].nodeType!==Node.TEXT_NODE;continue}let[e,t]=n,r=o[o.length-1];i&&t.href===r.href?r.appendChild(e):t.nodeType!==Node.TEXT_NODE?(t.textContent="",t.appendChild(e),o.push(t),i=!0):(o.push(e),i=!1)}for(let e of o)n.appendChild(e);return n}function S(e,t){let n=e.getElementsByTagName("a");for(let e=0;e<n.length;e++){let i=n[e];if(!(i instanceof HTMLAnchorElement))continue;let o=i.href,s=t&&t.isLocal?t.isLocal(o):r.URLExt.isLocal(o);i.target||(i.target=s?"_self":"_blank"),s||(i.rel="noopener")}}!function(e){async function t(e,t,n){let i=e.getAttribute(t)||"",o=n.isLocal?n.isLocal(i):r.URLExt.isLocal(i);if(i&&o)try{let o=await n.resolveUrl(i,{attribute:t,tag:e.localName}),s=await n.getDownloadUrl(o);"data:"!==r.URLExt.parse(s).protocol&&(s+=(/\?/.test(s)?"&":"?")+new Date().getTime()),e.setAttribute(t,s)}catch(n){throw e.setAttribute(t,""),n}}async function n(e,t,n){let i=e.getAttribute("href")||"";if(!i)return;let o=e.hash;if(o&&o===i){e.target="_self",e.addEventListener("click",t=>{let n=o.slice(1),i=CSS.escape(n),r=e.ownerDocument,s=r.querySelector(`[data-jupyter-id="${i}"]`)||r.querySelector(`#${i}`);s&&(t.preventDefault(),s.scrollIntoView())});return}if(t.isLocal?t.isLocal(i):r.URLExt.isLocal(i))return o&&(i=i.replace(o,"")),t.resolveUrl(i,{attribute:"href",tag:"a"}).then(i=>{let r=decodeURIComponent(i);return n&&n.handleLink(e,r,o),t.getDownloadUrl(i)}).then(t=>{e.href=t+o}).catch(t=>{e.href=""})}async function i(e,t,n){let i=e.dataset.path||"",o=e.dataset.locator?"#"+e.dataset.locator:"";delete e.dataset.path,delete e.dataset.locator;let s=!0,a=t.isLocal?t.isLocal(i,s):r.URLExt.isLocal(i,s);if(!i||!a||!t.resolvePath||!n||!n.handlePath)return void e.replaceWith(...e.childNodes);try{let r=await t.resolvePath(i);if(!r)return void console.log("Path resolution bailing: does not exist");n.handlePath(e,r.path,r.scope,o),e.href=r.path+o}catch(t){console.warn("Path anchor error:",t),e.href="#linking-failed-see-console"}}e.autoLinkCache=new Map,e.evalInnerHTMLScriptTags=function(e){for(let t of Array.from(e.getElementsByTagName("script"))){if(!t.parentNode)continue;let e=document.createElement("script"),n=t.attributes;for(let t=0,i=n.length;t<i;++t){let{name:i,value:o}=n[t];e.setAttribute(i,o)}e.textContent=t.textContent,t.parentNode.replaceChild(e,t)}},e.handleDefaults=function(e){let t=e.getElementsByTagName("img");for(let e=0;e<t.length;e++)t[e].alt||(t[e].alt="Image")},e.handleUrls=async function(e,i,o){let r=[],s=e.querySelectorAll("*[src]");for(let e=0;e<s.length;e++)r.push(t(s[e],"src",i));let a=e.getElementsByTagName("a");for(let e=0;e<a.length;e++)r.push(n(a[e],i,o));let l=e.getElementsByTagName("link");for(let e=0;e<l.length;e++)r.push(t(l[e],"href",i));return Promise.all(r)},e.handlePaths=async function(e,t,n){return Promise.all(Array.from(e.querySelectorAll("a[data-path]")).map(e=>i(e,t,n)))},e.headerAnchors=function(e,t){for(let n of["h1","h2","h3","h4","h5","h6"]){let i=e.getElementsByTagName(n);for(let e=0;e<i.length;e++){let n=i[e],o=p.createHeaderId(n);t?n.id=o:n.setAttribute("data-jupyter-id",o);let r=document.createElement("a");r.target="_self",r.textContent="\xb6",r.href="#"+o,r.classList.add("jp-InternalAnchorLink"),n.appendChild(r)}}};let o=["ansi-black","ansi-red","ansi-green","ansi-yellow","ansi-blue","ansi-magenta","ansi-cyan","ansi-white","ansi-black-intense","ansi-red-intense","ansi-green-intense","ansi-yellow-intense","ansi-blue-intense","ansi-magenta-intense","ansi-cyan-intense","ansi-white-intense"];function s(e,t,n,i,r,s,a){if(e){let l=[],d=[];i&&"number"==typeof t&&0<=t&&t<8&&(t+=8),s&&([t,n]=[n,t]),"number"==typeof t?l.push(o[t]+"-fg"):t.length?d.push(`color: rgb(${t})`):s&&l.push("ansi-default-inverse-fg"),"number"==typeof n?l.push(o[n]+"-bg"):n.length?d.push(`background-color: rgb(${n})`):s&&l.push("ansi-default-inverse-bg"),i&&l.push("ansi-bold"),r&&l.push("ansi-underline"),l.length||d.length?(a.push("<span"),l.length&&a.push(` class="${l.join(" ")}"`),d.length&&a.push(` style="${d.join("; ")}"`),a.push(">"),a.push(e),a.push("</span>")):a.push(e)}}function a(e){let t,n,i,o=e.shift();if(2===o&&e.length>=3){if(t=e.shift(),[t,n=e.shift(),i=e.shift()].some(e=>e<0||255<e))throw RangeError("Invalid range for RGB colors")}else if(5===o&&e.length>=1){let o=e.shift();if(o<0)throw RangeError("Color index must be >= 0");if(o<16)return o;if(o<232)t=(t=Math.floor((o-16)/36))>0?55+40*t:0,n=(n=Math.floor((o-16)%36/6))>0?55+40*n:0,i=(i=(o-16)%6)>0?55+40*i:0;else if(o<256)t=n=i=(o-232)*10+8;else throw RangeError("Color index must be < 256")}else throw RangeError("Invalid extended color specification");return[t,n,i]}e.ansiSpan=function(e){let t,n=/\x1b\[(.*?)([@-~])/g,i=[],o=[],r=!1,d=!1,c=!1,h=[],u=[],p=0;for(e=l()(e)+"\x1b[m";t=n.exec(e);){if("m"===t[2]){let e=t[1].split(";");for(let t=0;t<e.length;t++){let n=e[t];if(""===n)u.push(0);else if(-1!==n.search(/^\d+$/))u.push(parseInt(n,10));else{u.length=0;break}}}for(s(e.substring(p,t.index),i,o,r,d,c,h),p=n.lastIndex;u.length;){let e=u.shift();switch(e){case 0:i=o=[],r=!1,d=!1,c=!1;break;case 1:case 5:r=!0;break;case 4:d=!0;break;case 7:c=!0;break;case 21:case 22:r=!1;break;case 24:d=!1;break;case 27:c=!1;break;case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:i=e-30;break;case 38:try{i=a(u)}catch(e){u.length=0}break;case 39:i=[];break;case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:o=e-40;break;case 48:try{o=a(u)}catch(e){u.length=0}break;case 49:o=[];break;case 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97:i=e-90+8;break;case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:o=e-100+8}}}return h.join("")}}(o||(o={}))},21944(e,t,n){"use strict";n.d(t,{D8:()=>a,N3:()=>o,co:()=>s,nc:()=>r});var i=n(55187);let o=new i.Token("@jupyterlab/rendermime:IRenderMimeRegistry",'A service for the rendermime registry for the application. Use this to create renderers for various mime-types in your extension. Many times it will be easier to create a "mime renderer extension" rather than using this service directly.'),r=new i.Token("@jupyterlab/rendermime:ILatexTypesetter","A service for the LaTeX typesetter for the application. Use this if you want to typeset math in your extension."),s=new i.Token("@jupyterlab/rendermime:IMarkdownParser","A service for rendering markdown syntax as HTML content."),a=new i.Token("@jupyterlab/rendermime:IUrlResolverFactory","A factory for resolver of asset URLs.")},18901(e,t,n){"use strict";n.d(t,{A6:()=>g,C6:()=>l,Kc:()=>c,TH:()=>d,TS:()=>A,Vx:()=>m,Yk:()=>p,jL:()=>u,nZ:()=>a,vf:()=>h});var i,o=n(2786),r=n(64001),s=n(11364);class a extends r.Widget{constructor(e){var t,n,i;super(),this.mimeType=e.mimeType,this.sanitizer=e.sanitizer,this.resolver=e.resolver,this.linkHandler=e.linkHandler,this.trustHandler=null!=(t=e.trustHandler)?t:null,this.translator=null!=(n=e.translator)?n:o.nullTranslator,this.latexTypesetter=e.latexTypesetter,this.markdownParser=null!=(i=e.markdownParser)?i:null,this.node.dataset.mimeType=this.mimeType}async renderModel(e,t){var n,i;if(!t)for(;this.node.firstChild;)this.node.removeChild(this.node.firstChild);this.toggleClass("jp-mod-trusted",e.trusted),e.trusted?null==(n=this.trustHandler)||n.markTrusted(this.node):null==(i=this.trustHandler)||i.unmarkTrusted(this.node),await this.render(e);let{fragment:o}=e.metadata;o&&this.setFragment(o)}setFragment(e){}}class l extends a{constructor(e){super(e),this.addClass("jp-RenderedHTMLCommon")}setFragment(e){let t;try{if(e.startsWith("#")){let n=e.slice(1),i=CSS.escape(n);t=this.sanitizer.allowNamedProperties?this.node.querySelector(`#${i}`):this.node.querySelector(`[data-jupyter-id="${i}"]`)}else t=this.node.querySelector(e)}catch(e){console.warn("Unable to set URI fragment identifier.",e)}t&&t.scrollIntoView()}}class d extends l{constructor(e){super(e),this._rendered=Promise.resolve(),this.addClass("jp-RenderedHTML")}render(e){return this._rendered=s.e2({host:this.node,source:String(e.data[this.mimeType]),trusted:e.trusted,resolver:this.resolver,sanitizer:this.sanitizer,linkHandler:this.linkHandler,shouldTypeset:this.isAttached,latexTypesetter:this.latexTypesetter,translator:this.translator})}onAfterAttach(e){this._rendered.then(()=>{this.latexTypesetter&&i.typeset(this.node,this.latexTypesetter,this.resolver)}).catch(console.warn)}}class c extends a{constructor(e){super(e),this._rendered=Promise.resolve(),this.addClass("jp-RenderedLatex")}render(e){return this._rendered=s.zG({host:this.node,source:String(e.data[this.mimeType]),shouldTypeset:this.isAttached,latexTypesetter:this.latexTypesetter,resolver:this.resolver})}onAfterAttach(e){this._rendered.then(()=>{this.latexTypesetter&&i.typeset(this.node,this.latexTypesetter,this.resolver)}).catch(console.warn)}}class h extends a{constructor(e){super(e),this.addClass("jp-RenderedImage")}render(e){let t=e.metadata[this.mimeType];return s.mx({host:this.node,mimeType:this.mimeType,source:String(e.data[this.mimeType]),width:t&&t.width,height:t&&t.height,needsBackground:e.metadata.needs_background,unconfined:t&&t.unconfined})}}class u extends l{constructor(e){super(e),this._rendered=Promise.resolve(),this.addClass("jp-RenderedMarkdown")}render(e){return this._rendered=s.Gc({host:this.node,source:String(e.data[this.mimeType]),trusted:e.trusted,resolver:this.resolver,sanitizer:this.sanitizer,linkHandler:this.linkHandler,shouldTypeset:this.isAttached,latexTypesetter:this.latexTypesetter,markdownParser:this.markdownParser,translator:this.translator})}async renderModel(e){await super.renderModel(e,!0)}onAfterAttach(e){this._rendered.then(()=>{this.latexTypesetter&&i.typeset(this.node,this.latexTypesetter,this.resolver)}).catch(console.warn)}}class p extends a{constructor(e){super(e),this._rendered=Promise.resolve(),this.addClass("jp-RenderedSVG")}render(e){let t=e.metadata[this.mimeType];return this._rendered=s.d8({host:this.node,source:String(e.data[this.mimeType]),trusted:e.trusted,unconfined:t&&t.unconfined,translator:this.translator})}onAfterAttach(e){this._rendered.then(()=>{this.latexTypesetter&&i.typeset(this.node,this.latexTypesetter,this.resolver)}).catch(console.warn)}}class m extends a{constructor(e){super(e),this.addClass("jp-RenderedText")}render(e){return s.S5({host:this.node,sanitizer:this.sanitizer,source:String(e.data[this.mimeType]),translator:this.translator})}}class g extends a{constructor(e){super(e),this.addClass("jp-RenderedText")}render(e){return s.vr({host:this.node,sanitizer:this.sanitizer,source:String(e.data[this.mimeType]),linkHandler:this.linkHandler,resolver:this.resolver,translator:this.translator})}}class A extends a{constructor(e){super(e),this.addClass("jp-RenderedJavaScript")}render(e){let t=this.translator.load("jupyterlab");return s.S5({host:this.node,sanitizer:this.sanitizer,source:t.__("JavaScript output is disabled in JupyterLab"),translator:this.translator})}}!function(e){e.typeset=function(e,t,n){let i=t.typeset(e);i instanceof Promise?i.then(()=>s.N1(e,n)).catch(console.warn):s.N1(e,n)}}(i||(i={}))},22595(e,t,n){"use strict";n(82311),n(62971);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(86099),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},57263(e,t,n){"use strict";n.r(t),n.d(t,{CommandIDs:()=>o,default:()=>B});var i,o,r=n(57941),s=n(97518),a=n(77509),l=n(18977),d=n(99873),c=n(2786),h=n(8989),u=n(28951),p=n(53040),m=n(59807),g=n(20659),A=n(60721),C=n.n(A);let f="jp-mod-kernel",b="jp-mod-kernelspec",v="jp-mod-kernel-widget",_="jp-RunningSessions-item-label-kernel-id";async function y(e,t,n){let{commands:r,contextMenu:a,serviceManager:l}=n,{kernels:d,kernelspecs:c,sessions:g}=l,{runningChanged:A,RunningKernel:b}=i,v=new m.Throttler(()=>A.emit(void 0),100),_=t.load("jupyterlab"),y=_.__("Shut Down Unused"),E=!1,w=new m.Throttler(x,1e4);function j(){return Array.from(d.running()).filter(e=>{var t;return(null!=(t=e.connections)?t:1)<1})}async function x(){E!==(E=j().length>0)&&r.notifyCommandChanged(o.kernelShutDownUnused)}d.runningChanged.connect(()=>{v.invoke(),w.invoke()}),g.runningChanged.connect(()=>void v.invoke()),await Promise.all([d.ready,c.ready,g.ready]),r.addCommand(o.kernelShutDownUnused,{label:e=>e.toolbar?"":y,icon:e=>e.toolbar?h.cleaningIcon:void 0,execute:async()=>{let e=j();0===e.length||(await (0,s.showDialog)({title:y,body:C().createElement(C().Fragment,null,_.__("Are you sure you want to shut down the following unused kernels?"),C().createElement("ul",null,e.map(e=>C().createElement("li",{key:e.id},_.__("%1 (%2)",e.name,e.id.slice(0,8)))))),buttons:[s.Dialog.cancelButton(),s.Dialog.warnButton({label:y})]})).button.accept&&(await Promise.allSettled(e.map(e=>p.KernelAPI.shutdownKernel(e.id))),await Promise.all([d.refreshRunning(),g.refreshRunning()]))},isEnabled:()=>E,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:_.__("Whether executed from toolbar")}}}}}),e.add({name:_.__("Kernels"),supportsMultipleViews:!0,running:e=>{var t;let n=new Map;for(let i of d.running()){let o=null!=(t=n.get(i.name))?t:[];n.set(i.name,o),o.push(new b({commands:r,kernel:i,kernels:d,sessions:g,trans:_,mode:e.mode}))}let o=Array.from(n.entries()).map(([e,t])=>{var n;return new i.KernelSpecItem({name:e,kernels:t,spec:null==(n=c.specs)?void 0:n.kernelspecs[e],trans:_})});return"tree"===e.mode?o:o.map(e=>e.children.map(e=>{var t;return null!=(t=e.children)?t:[]}).flat()).flat()},shutdownAll:()=>d.shutdownAll(),refreshRunning:()=>Promise.all([d.refreshRunning(),g.refreshRunning()]),runningChanged:A,shutdownLabel:_.__("Shut Down Kernel"),shutdownAllLabel:_.__("Shut Down All"),shutdownAllConfirmationText:()=>_._n("Are you sure you want to permanently shut down the running kernel?","Are you sure you want to permanently shut down the %1 running kernels?",d.runningCount),toolbarButtons:[new h.CommandToolbarButton({commands:r,id:o.kernelShutDownUnused,caption:y,args:{toolbar:!0}})]});let B=e=>e.classList.contains(f);r.addCommand(o.kernelNewConsole,{icon:h.consoleIcon,label:_.__("New Console for Kernel"),execute:e=>{var t;let i=n.contextMenuHitTest(B),o=null!=(t=e.id)?t:null==i?void 0:i.dataset.context;if(o)return r.execute("console:create",{kernelPreference:{id:o}})},describedBy:{args:{type:"object",properties:{id:{type:"string",description:_.__("Kernel ID to create console for")}}}}}),r.addCommand(o.kernelNewNotebook,{icon:h.notebookIcon,label:_.__("New Notebook for Kernel"),execute:e=>{var t;let i=n.contextMenuHitTest(B),o=null!=(t=e.id)?t:null==i?void 0:i.dataset.context;if(o)return r.execute("notebook:create-new",{kernelId:o})},describedBy:{args:{type:"object",properties:{id:{type:"string",description:_.__("Kernel ID to create notebook for")}}}}}),r.addCommand(o.kernelOpenSession,{icon:e=>"console"===e.type?h.consoleIcon:"notebook"===e.type?h.notebookIcon:void 0,isEnabled:({path:e,type:t})=>!!t||void 0!==e,label:({name:e,path:t})=>e||u.PathExt.basename(t||_.__("Unknown Session")),execute:({path:e,type:t})=>{if(!t||void 0===e)return;let n="console"===t?"console:open":"docmanager:open";return r.execute(n,{path:e})},describedBy:{args:{type:"object",properties:{path:{type:"string",description:_.__("Path to the session to open")},type:{type:"string",description:_.__("Type of session (console or notebook)")},name:{type:"string",description:_.__("Name of the session")}}}}}),r.addCommand(o.kernelShutDown,{icon:h.closeIcon,label:_.__("Shut Down Kernel"),execute:e=>{var t;let i=n.contextMenuHitTest(B),o=null!=(t=e.id)?t:null==i?void 0:i.dataset.context;if(o)return d.shutdown(o)},describedBy:{args:{type:"object",properties:{id:{type:"string",description:_.__("Kernel ID to shut down")}}}}});let S=[];a.opened.connect(async()=>{var e,t,i;let r=null!=(t=null==(e=a.menu.items.find(e=>{var t;return"submenu"===e.type&&(null==(t=e.submenu)?void 0:t.id)==="jp-contextmenu-connected-sessions"}))?void 0:e.submenu)?t:null;if(!r)return;S.forEach(e=>e.dispose()),S.length=0,r.clearItems();let s=n.contextMenuHitTest(B),l=null==s?void 0:s.dataset.context;if(!l)return;let d=o.kernelOpenSession;for(let e of g.running())if(l===(null==(i=e.kernel)?void 0:i.id)){let{name:t,path:n,type:i}=e;S.push(r.addItem({command:d,args:{name:t,path:n,type:i}}))}})}!function(e){class t{constructor(e){this._name=e.name,this.className=b,this._kernels=e.kernels,this.spec=e.spec||null,this.trans=e.trans}icon(){let{spec:e}=this;return e&&e.resources?e.resources["logo-svg"]||e.resources["logo-64x64"]||e.resources["logo-32x32"]:h.jupyterIcon}label(){let{_name:e,spec:t}=this;return(null==t?void 0:t.display_name)||e}get children(){return this._kernels}}e.KernelSpecItem=t;class n{constructor(e){this.className=f,this.commands=e.commands,this.kernel=e.kernel,this.context=this.kernel.id,this.kernels=e.kernels,this.sessions=e.sessions,this.trans=e.trans,this._mode=e.mode}get children(){var e;let t=[],n=o.kernelOpenSession,{commands:i}=this;for(let o of this.sessions.running())if(this.kernel.id===(null==(e=o.kernel)?void 0:e.id)){let{name:e,path:r,type:s}=o;t.push({className:v,context:this.kernel.id,open:()=>void i.execute(n,{name:e,path:r,type:s}),icon:()=>"console"===s?h.consoleIcon:"notebook"===s?h.notebookIcon:h.jupyterIcon,label:()=>{if("tree"===this._mode)return e;let t=this.kernel.id.split("-")[0];return C().createElement(C().Fragment,null,e," ",C().createElement("span",{className:_},"(",t,")"))},labelTitle:()=>r,name:()=>e})}return t}shutdown(){return this.kernels.shutdown(this.kernel.id)}icon(){return h.kernelIcon}label(){let{kernel:e}=this,t=e.id.split("-")[0];return C().createElement(C().Fragment,null,this._summary," ",C().createElement("span",{className:_},"(",t,")"))}labelTitle(){var e;let{trans:t}=this,{id:n}=this.kernel,i=[`${this._summary}: ${n}`];for(let n of this.sessions.running())if(this.kernel.id===(null==(e=n.kernel)?void 0:e.id)){let{path:e,type:o}=n;i.push(t.__(`%1
Path: %2`,o,e))}return i.join("\n\n")}get _summary(){let e=this.children;return 0===e.length?this.trans.__("No sessions connected"):1==e.length?e[0].name():this.trans.__("%1 and %2 more",e[0].name(),e.length-1)}}e.RunningKernel=n,e.runningChanged=new g.Signal({})}(i||(i={}));var E=n(31997);class w{constructor(e){this._tabsChanged=new g.Signal(this),this._widgets=[],this._labShell=e,this._labShell.layoutModified.connect(this._emitTabsChanged,this)}get tabsChanged(){return this._tabsChanged}addWidget(e){e.title.changed.connect(this._emitTabsChanged,this),this._widgets.push(e)}_emitTabsChanged(){this._widgets.forEach(e=>{e.title.changed.disconnect(this._emitTabsChanged,this)}),this._widgets=[],this._tabsChanged.emit(void 0)}}function j(e,t,n){let i=new w(n),o=t.load("jupyterlab");e.add({name:o.__("Open Tabs"),supportsMultipleViews:!1,running:()=>Array.from(n.widgets("main")).map(e=>(i.addWidget(e),new r(e))),shutdownAll:()=>{for(let e of Array.from(n.widgets("main")))e.close()},refreshRunning:()=>{},runningChanged:i.tabsChanged,shutdownLabel:o.__("Close"),shutdownAllLabel:o.__("Close All"),shutdownAllConfirmationText:o.__("Are you sure you want to close all open tabs?")});class r{constructor(e){this._widget=e}open(){n.activateById(this._widget.id)}shutdown(){this._widget.close()}icon(){let e=this._widget.title.icon;return e instanceof h.LabIcon?e:h.fileIcon}label(){return h.TabBarSvg.titleLabel(this._widget.title)}labelTitle(){return this._widget instanceof E.DocumentWidget?this._widget.context.path:h.TabBarSvg.titleLabel(this._widget.title)}}}function x(e,t,n,i,o){let r=o.load("jupyterlab");e.add({name:r.__("Recently Closed"),supportsMultipleViews:!1,running:()=>t.recentlyClosed.map(e=>new s(e)),shutdownAll:()=>{for(let e of t.recentlyClosed)t.removeRecent(e,"closed")},refreshRunning:()=>{},runningChanged:t.changed,shutdownLabel:r.__("Forget"),shutdownAllLabel:r.__("Forget All"),shutdownAllConfirmationText:r.__("Are you sure you want to clear recently closed tabs?")});class s{constructor(e){this._recent=e}async open(){let e=this._recent;await t.validate(e)&&(await n.execute("docmanager:open",{path:e.path,factory:e.factory}),t.removeRecent(e,"closed"))}shutdown(){t.removeRecent(this._recent,"closed")}icon(){if(!this._recent.factory)return h.fileIcon;for(let e of i.getFileTypesForPath(this._recent.path)){let t=e.icon;if(t instanceof h.LabIcon)return t}let e=i.getWidgetFactory(this._recent.factory);if(e)for(let t of e.fileTypes){let e=i.getFileType(t),n=null==e?void 0:e.icon;if(n instanceof h.LabIcon)return n}return h.fileIcon}label(){return u.PathExt.basename(this._recent.path)}labelTitle(){return this._recent.path}}}!function(e){e.kernelNewConsole="running:kernel-new-console",e.kernelNewNotebook="running:kernel-new-notebook",e.kernelOpenSession="running:kernel-open-session",e.kernelShutDown="running:kernel-shut-down",e.kernelShutDownUnused="running:kernel-shut-down-unused",e.showPanel="running:show-panel",e.showModal="running:show-modal"}(o||(o={}));let B=[{id:"@jupyterlab/running-extension:plugin",description:"Provides the running session managers.",provides:a.IRunningSessionManagers,requires:[c.ITranslator],optional:[r.ILabShell],autoStart:!0,activate:(e,t,n)=>{let i=new a.RunningSessionManagers;return n&&j(i,t,n),y(i,t,e),i}},{id:"@jupyterlab/running-extension:sidebar",description:"Provides the running session sidebar.",provides:a.IRunningSessionSidebar,requires:[a.IRunningSessionManagers,c.ITranslator],optional:[r.ILayoutRestorer,d.IStateDB,s.IMovableSectionRegistry],autoStart:!0,activate:(e,t,n,i,r,s)=>{let l=n.load("jupyterlab"),d=new a.RunningSessions(t,n,r);return d.id="jp-running-sessions",d.title.dataset={...d.title.dataset,jpTabLabel:l.__("Sessions and Tabs")},d.title.caption=l.__("Running Terminals and Kernels"),d.title.icon=h.runningIcon,d.node.setAttribute("role","region"),d.node.setAttribute("aria-label",l.__("Running Sessions section")),i&&i.add(d,"running-sessions"),e.shell.add(d,"left",{rank:200,type:"Sessions and Tabs"}),e.commands.addCommand(o.showPanel,{label:l.__("Sessions and Tabs"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{e.shell.activateById(d.id)}}),s&&s.registerSource("@jupyterlab/running-extension:running-sessions",l.__("Running Sessions"),d),d}},{id:"@jupyterlab/running-extension:recently-closed",description:"Adds recently closed documents list.",requires:[a.IRunningSessionManagers,l.IRecentsManager,c.ITranslator],autoStart:!0,activate:(e,t,n,i)=>{x(t,n,e.commands,e.docRegistry,i)}},{id:"@jupyterlab/running-extension:search-tabs",description:"Adds a widget to search open and closed tabs.",requires:[a.IRunningSessionManagers,c.ITranslator],optional:[s.ICommandPalette,a.IRunningSessionSidebar],autoStart:!0,activate:(e,t,n,i,r)=>{let l=n.load("jupyterlab");if(e.commands.addCommand(o.showModal,{execute:()=>{let e=new a.SearchableSessions(t,n),i=new s.Dialog({title:l.__("Tabs and Running Sessions"),body:e,buttons:[s.Dialog.okButton({})],hasClose:!0});return i.addClass("jp-SearchableSessions-modal"),i.launch()},label:l.__("Search Tabs and Running Sessions"),describedBy:{args:{type:"object",properties:{}}}}),i&&i.addItem({command:o.showModal,category:l.__("Running")}),r){let t=new h.CommandToolbarButton({commands:e.commands,id:o.showModal,icon:h.launcherIcon,label:""});r.toolbar.addItem("open-as-modal",t)}}}]},54289(e,t,n){"use strict";n(82311),n(97777),n(62971),n(45350),n(67474),n(41603),n(64840)},19503(e,t,n){"use strict";n.r(t),n.d(t,{IRunningSessionManagers:()=>S,IRunningSessionSidebar:()=>M,RunningSessionManagers:()=>I,RunningSessions:()=>P,SearchableSessions:()=>O,SearchableSessionsList:()=>F,Section:()=>N});var i=n(75777),o=n(97518),r=n(2786),s=n(8989),a=n(55187),l=n(63995),d=n(53193),c=n(20659),h=n(64001),u=n(60721),p=n.n(u);let m="jp-RunningSessions",g="jp-SearchableSessions",A="jp-RunningSessions-section",C="jp-RunningSessions-sectionContainer",f="jp-RunningSessions-item",b="jp-RunningSessions-itemLabel",v="jp-RunningSessions-itemDetail",_="jp-RunningSessions-itemShutdown",y="jp-RunningSessions-shutdownAll",E="jp-RunningSessions-icon",w="jp-mod-running-list-view",j="jp-RunningSessions-viewButton",x="jp-RunningSessions-collapseButton",B="jp-running-sessions",S=new a.Token("@jupyterlab/running:IRunningSessionManagers","A service to add running session managers."),M=new a.Token("@jupyterlab/running:IRunningSessionsSidebar","A token allowing to modify the running sessions sidebar.");class I{constructor(){this._added=new c.Signal(this),this._managers=[]}get added(){return this._added}add(e){return this._managers.push(e),this._added.emit(e),new l.DisposableDelegate(()=>{let t=this._managers.indexOf(e);t>-1&&this._managers.splice(t,1)})}items(){return this._managers}}function k(e){var t,n;let{runningItem:o}=e,[a,l]=p().useState(!1),d=(0,u.useRef)(!1),c=[f],h=null==(t=o.detail)?void 0:t.call(o),m=o.icon(),g=o.labelTitle?o.labelTitle():"",A=e.translator||r.nullTranslator,C=A.load("jupyterlab"),y=e.shutdownItemIcon||s.closeIcon,w=null!=(n="function"==typeof e.shutdownLabel?e.shutdownLabel(o):e.shutdownLabel)?n:C.__("Shut Down"),j=(0,u.useCallback)(e=>{var t;d.current=!0,e.preventDefault(),null==(t=o.shutdown)||t.call(o)},[o,d]),x=o.children,B=!!(null==x?void 0:x.length),S=(0,u.useCallback)(e=>{if(d.current)return;let t=(0,s.getTreeItemElement)(e.target);e.currentTarget===t&&B&&l(!a)},[B,a,d]);return e.collapseToggled.connect((e,t)=>l(t)),o.className&&c.push(o.className),p().createElement(p().Fragment,null,p().createElement(i.TreeItem,{className:`${c.join(" ")} jp-TreeItem nested`,onClick:S,"data-context":o.context||"",expanded:!a},m?"string"==typeof m?p().createElement("img",{src:m,className:E,slot:"start"}):p().createElement(m.react,{slot:"start",tag:"span",className:E}):void 0,p().createElement("span",{className:b,title:g,onClick:o.open&&(()=>o.open())},o.label()),h&&p().createElement("span",{className:v},h),o.shutdown&&p().createElement(i.Button,{appearance:"stealth",className:_,onClick:j,title:w,slot:"end"},p().createElement(y.react,{tag:null})),x&&p().createElement(D,{runningItems:x,shutdownItemIcon:y,translator:A,collapseToggled:e.collapseToggled})))}function D(e){let t=e.filter,n=t?e.runningItems.map(e=>({item:e,score:t(e)})).filter(({score:e})=>null!==e).sort((e,t)=>e.score.score-t.score.score).map(({item:e})=>e):e.runningItems;return p().createElement(p().Fragment,null,n.map((t,n)=>p().createElement(k,{child:e.child,key:n,runningItem:t,shutdownLabel:e.shutdownLabel,shutdownItemIcon:e.shutdownItemIcon,translator:e.translator,collapseToggled:e.collapseToggled})))}class T extends s.ReactWidget{constructor(e){super(),this._filterFn=e=>({score:0}),this._filterChanged=new c.Signal(this),this.filter=this.filter.bind(this),this._updateFilter=this._updateFilter.bind(this),this._trans=e.load("jupyterlab"),this.addClass("jp-SearchableSessions-filter")}get filterChanged(){return this._filterChanged}render(){return p().createElement(s.FilterBox,{placeholder:this._trans.__("Search"),updateFilter:this._updateFilter,useFuzzyFilter:!1,caseSensitive:!1})}filter(e){var t;let n=[this._getTextContent(e.label())];for(let i of null!=(t=e.children)?t:[])n.push(this._getTextContent(i.label()));return this._filterFn(n.join(" "))}_getTextContent(e){return"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?""+e:Array.isArray(e)?e.map(e=>this._getTextContent(e)).join(" "):e&&(0,u.isValidElement)(e)?e.props.children.map(e=>this._getTextContent(e)).join(" "):""}_updateFilter(e){this._filterFn=e,this._filterChanged.emit()}}class L extends s.ReactWidget{constructor(e){super(),this._options=e,this._update=new c.Signal(this),e.manager.runningChanged.connect(this._emitUpdate,this),e.filterProvider&&e.filterProvider.filterChanged.connect(this._emitUpdate,this)}get mode(){return this._mode}set mode(e){this._mode!==e&&(this._mode=e,this._update.emit())}dispose(){c.Signal.clearData(this),super.dispose()}onBeforeShow(e){super.onBeforeShow(e),this._update.emit()}render(){let e=this._options,t=!0;return p().createElement(s.UseSignal,{signal:this._update},()=>{var n;t?t=!1:e.runningItems=e.manager.running({mode:this.mode});let o=["jp-TreeView"];return"list"===this.mode&&o.push("jp-mod-flat"),p().createElement("div",{className:C},p().createElement(i.TreeView,{className:o.join(" ")},p().createElement(D,{runningItems:e.runningItems,shutdownLabel:e.manager.shutdownLabel,shutdownItemIcon:e.manager.shutdownItemIcon,filter:null==(n=e.filterProvider)?void 0:n.filter,translator:e.translator,collapseToggled:e.collapseToggled})))})}_emitUpdate(){this.isVisible&&this._update.emit()}}class N extends s.PanelWithToolbar{constructor(e){var t;super(),this._buttons=null,this._listView=!1,this._collapseToggled=new c.Signal(this),this._viewChanged=new c.Signal(this),this._listView=(null!=(t=e.viewMode)?t:"tree")==="list",this._manager=e.manager,this._filterProvider=e.filterProvider;const n=e.translator||r.nullTranslator;this._trans=n.load("jupyterlab"),this.addClass(A),this.title.label=e.manager.name,this._manager.runningChanged.connect(this._onListChanged,this),e.filterProvider&&e.filterProvider.filterChanged.connect(this._onListChanged,this),this._updateEmptyClass();const i=e.manager.running({mode:e.manager.supportsMultipleViews&&!this._listView?"tree":"list"});!1!==e.showToolbar&&this._initializeToolbar(i),this._listWidget=new L({runningItems:i,collapseToggled:this._collapseToggled,...e}),this._listWidget.mode=e.manager.supportsMultipleViews&&!this._listView?"tree":"list",this.addWidget(this._listWidget)}toggleListView(e){let t=void 0!==e?e:!this._listView;this._listView=t,this._buttons&&(this._buttons["switch-view"].pressed=t),this._collapseToggled.emit(!1),void 0===this._manager.supportsMultipleViews&&this.toggleClass(w,t),this._updateButtons(),this._listWidget.mode=this._manager.supportsMultipleViews&&!this._listView?"tree":"list",this._viewChanged.emit({mode:t?"list":"tree"})}dispose(){this.isDisposed||(c.Signal.clearData(this),super.dispose())}get _shutdownAllLabel(){return this._manager.shutdownAllLabel||this._trans.__("Shut Down All")}_initializeToolbar(e){let t=e.length>0,n=this._shutdownAllLabel,i=`${n}?`,r=()=>{var e;let t=null!=(e="function"==typeof this._manager.shutdownAllConfirmationText?this._manager.shutdownAllConfirmationText():this._manager.shutdownAllConfirmationText)?e:`${n} ${this._manager.name}`;(0,o.showDialog)({title:i,body:t,buttons:[o.Dialog.cancelButton(),o.Dialog.warnButton({label:n})]}).then(e=>{e.button.accept&&this._manager.shutdownAll()})},a=new s.ToolbarButton({label:n,className:`${y}${!t?" jp-mod-disabled":""}`,enabled:t,onClick:r.bind(this)}),l=new s.ToolbarButton({className:j,enabled:t,icon:s.tableRowsIcon,pressedIcon:s.treeViewIcon,onClick:()=>this.toggleListView(),tooltip:this._trans.__("Switch to List View"),pressedTooltip:this._trans.__("Switch to Tree View")}),d=new s.ToolbarButton({className:x,enabled:t,icon:s.collapseAllIcon,pressedIcon:s.expandAllIcon,onClick:()=>{let e=!d.pressed;this._collapseToggled.emit(e),d.pressed=e},tooltip:this._trans.__("Collapse All"),pressedTooltip:this._trans.__("Expand All")});for(let e of(this._buttons={"switch-view":l,"collapse-expand":d,"shutdown-all":a},this._updateButtons(),this._manager.runningChanged.connect(this._updateButtons,this),this._manager.toolbarButtons&&this._manager.toolbarButtons.forEach(e=>this.toolbar.addItem(e instanceof s.CommandToolbarButton?e.commandId:e.id,e)),["collapse-expand","switch-view","shutdown-all"]))this.toolbar.addItem(e,this._buttons[e]);this.toolbar.addClass("jp-RunningSessions-toolbar"),this._toolbar.node.setAttribute("aria-label",this._trans.__("%1 toolbar",this.title.label))}_onListChanged(){this._updateButtons(),this._updateEmptyClass()}_updateEmptyClass(){this._filterProvider&&(0===this._manager.running({mode:this._manager.supportsMultipleViews&&!this._listView?"tree":"list"}).filter(this._filterProvider.filter).length?this.node.classList.toggle("jp-mod-empty",!0):this.node.classList.toggle("jp-mod-empty",!1))}get viewChanged(){return this._viewChanged}_updateButtons(){if(!this._buttons)return;let e=this._manager.running({mode:this._manager.supportsMultipleViews&&!this._listView?"tree":"list"}),t=e.length>0,n=void 0===this._manager.supportsMultipleViews?0!==e.filter(e=>e.children).length:this._manager.supportsMultipleViews,i=n&&!this._buttons["switch-view"].pressed;this._buttons["switch-view"].node.style.display=n?"flex":"none",this._buttons["collapse-expand"].node.style.display=i?"flex":"none",this._buttons["collapse-expand"].enabled=t,this._buttons["switch-view"].enabled=t,this._buttons["shutdown-all"].enabled=t}}class P extends s.SidePanel{constructor(e,t,n){super(),this._sectionMap=new Map,this._sectionAdded=new c.Signal(this),this.managers=e,this._stateDB=null!=n?n:null,this.translator=null!=t?t:r.nullTranslator;const i=this.translator.load("jupyterlab");this.addClass(m),this.toolbar.addItem("refresh",new s.ToolbarButton({tooltip:i.__("Refresh List"),icon:s.refreshIcon,onClick:()=>e.items().forEach(e=>e.refreshRunning())})),e.items().forEach(t=>this.addSection(e,t)),e.added.connect(this.addSection,this)}get accordionPanel(){return this.content}dispose(){this.isDisposed||(this.managers.added.disconnect(this.addSection,this),super.dispose())}removeSectionById(e){var t;let n=null!=(t=this._sectionMap.get(e))?t:null;return n&&(n.parent=null),n}reinsertSection(e){this.addWidget(e)}async addSection(e,t){let n=new N({manager:t,translator:this.translator});this._sectionMap.set(t.name,n),this.addWidget(n);let i=(await this._getState()).listViewSections,o=t.name;i&&i.includes(o)&&n.toggleListView(!0),n.viewChanged.connect(async(e,t)=>{await this._updateState(o,t.mode)});let r=this.content,s=Array.from(r.widgets).indexOf(n);s>=0&&this._sectionAdded.emit({id:t.name,titleNode:r.titles[s],widget:n})}async _updateState(e,t){var n;let i=null!=(n=(await this._getState()).listViewSections)?n:[];"list"!==t||i.includes(e)?i=i.filter(t=>t!==e):i.push(e);let o={listViewSections:i};this._stateDB&&await this._stateDB.save(B,o)}async _getState(){var e;return this._stateDB&&null!=(e=await this._stateDB.fetch(B))?e:{}}get sectionAdded(){return this._sectionAdded}getSections(){let e=this.content,t=[];for(let[n,i]of this._sectionMap){let o=Array.from(e.widgets).indexOf(i);o>=0&&e.titles[o]&&t.push({id:n,titleNode:e.titles[o],widget:i})}return t}}class z extends N{constructor(e){super(e);const t=document.createElement("h3");t.className="jp-SearchableSessions-title";const n=t.appendChild(document.createElement("span"));n.className="jp-SearchableSessions-titleLabel",n.textContent=this.title.label,this.node.insertAdjacentElement("afterbegin",t)}}class R extends h.Widget{constructor(e){super();const t=e.load("jupyterlab");this.addClass("jp-SearchableSessions-emptyIndicator"),this.node.textContent=t.__("No matches")}}class O extends h.Panel{constructor(e,t){super(),this._activeIndex=0,this._translator=null!=t?t:r.nullTranslator,this.addClass(m),this.addClass(g),this._filterWidget=new T(this._translator),this.addWidget(this._filterWidget),this._list=new F(e,this._filterWidget,t),this.addWidget(this._list),this._filterWidget.filterChanged.connect(()=>{this._activeIndex=0,this._updateActive(0)},this)}dispose(){this.isDisposed||(c.Signal.clearData(this),super.dispose())}getValue(){let e=[...this.node.querySelectorAll("."+b)],t=Math.min(Math.max(this._activeIndex,0),e.length-1);e[t].click()}handleEvent(e){"keydown"===e.type&&this._evtKeydown(e)}onAfterAttach(e){this._forceFocusInput(),this.node.addEventListener("keydown",this),setTimeout(()=>{this._updateActive(0)},0)}onAfterDetach(e){this.node.removeEventListener("keydown",this)}_forceFocusInput(){var e;null==(e=this._filterWidget.renderPromise)||e.then(()=>{var e;let t=this._filterWidget.node.querySelector("jp-search"),n=null==(e=null==t?void 0:t.shadowRoot)?void 0:e.querySelector("input");n?n.focus():console.warn("Input element not found, cannot focus")}).catch(console.warn)}_evtKeydown(e){if("ArrowDown"===e.key||"ArrowUp"===e.key){let t="ArrowDown"===e.key?1:-1;this._updateActive(t)&&e.preventDefault()}}_updateActive(e){let t=[...this.node.querySelectorAll("."+f)].filter(e=>e.checkVisibility());if(!t.length)return!1;for(let e of t)e.classList.contains("jp-mod-active")&&e.classList.toggle("jp-mod-active",!1);let n=this._activeIndex,i=null;return null!==(i=-1===n?1===e?0:t.length-1:Math.min(Math.max(n+e,0),t.length-1))&&(t[i].classList.add("jp-mod-active"),d.ElementExt.scrollIntoViewIfNeeded(this._list.node,t[i]),this._activeIndex=i,!0)}}class F extends h.Panel{constructor(e,t,n){super(),this._managers=e,this._translator=null!=n?n:r.nullTranslator,this._filterWidget=t,this.addClass("jp-SearchableSessions-list"),this._emptyIndicator=new R(this._translator),this.addWidget(this._emptyIndicator),e.items().forEach(t=>this.addSection(e,t)),e.added.connect(this.addSection,this)}dispose(){this.isDisposed||(this._managers.added.disconnect(this.addSection,this),super.dispose())}addSection(e,t){let n=new z({manager:t,translator:this._translator,showToolbar:!1,filterProvider:this._filterWidget,viewMode:"list"});n.toggleListView(!0),this.addWidget(n),this.addWidget(this._emptyIndicator)}}},64840(e,t,n){"use strict";n(82311),n(97777),n(62971);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(46456),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},28560(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>b});var i=n(53040);let o={id:"@jupyterlab/services-extension:config-section-manager",autoStart:!0,provides:i.IConfigSectionManager,optional:[i.IServerSettings],description:"Provides the config section manager.",activate:(e,t)=>{let n=new i.ConfigSectionManager({serverSettings:t});return i.ConfigSection._setConfigSectionManager(n),n}},r={id:"@jupyterlab/services-extension:connection-status",autoStart:!0,provides:i.IConnectionStatus,description:"Provides the default connection status.",activate:()=>new i.ConnectionStatus},s={id:"@jupyterlab/services-extension:contents-manager",description:"The default contents manager plugin.",autoStart:!0,provides:i.IContentsManager,requires:[i.IDefaultDrive,i.IServerSettings],activate:(e,t,n)=>new i.ContentsManager({defaultDrive:t,serverSettings:n})},a={id:"@jupyterlab/services-extension:default-content-provider",description:"The default content provider for the contents manager.",autoStart:!0,provides:i.IDefaultContentProvider,optional:[i.IServerSettings],activate:(e,t)=>{let n="api/contents";return t=null!=t?t:i.ServerConnection.makeSettings(),new i.RestContentProvider({serverSettings:t,apiEndpoint:n})}},l={id:"@jupyterlab/services-extension:content-provider-warning",description:"Warn if user is overwriting the deprecated contentprovider plugin.",autoStart:!0,requires:[i.IDefaultContentProvider],activate:(e,t)=>{t instanceof i.RestContentProvider||console.error("Defining a IDefaultContentProvider plugin is deprecated since JupyterLab 4.5.1 and does not be have any effect.")}},d={id:"@jupyterlab/services-extension:default-drive",description:"The default drive for the contents manager.",autoStart:!0,provides:i.IDefaultDrive,optional:[i.IServerSettings],activate:(e,t)=>new i.Drive({serverSettings:null!=t?t:void 0})},c={id:"@jupyterlab/services-extension:event-manager",description:"The event manager plugin.",autoStart:!0,provides:i.IEventManager,optional:[i.IServerSettings,i.IConnectionStatus],activate:(e,t,n)=>new i.EventManager({serverSettings:t,standby:()=>!(null==n?void 0:n.isConnected)||"when-hidden"})},h={id:"@jupyterlab/services-extension:kernel-manager",description:"The kernel manager plugin.",autoStart:!0,provides:i.IKernelManager,optional:[i.IServerSettings,i.IConnectionStatus],activate:(e,t,n)=>new i.KernelManager({serverSettings:t,standby:()=>!(null==n?void 0:n.isConnected)||"when-hidden"})},u={id:"@jupyterlab/services-extension:kernel-spec-manager",description:"The kernel spec manager plugin.",autoStart:!0,provides:i.IKernelSpecManager,optional:[i.IServerSettings,i.IConnectionStatus],activate:(e,t,n)=>new i.KernelSpecManager({serverSettings:t,standby:()=>!(null==n?void 0:n.isConnected)||"when-hidden"})},p={id:"@jupyterlab/services-extension:nbconvert-manager",description:"The nbconvert manager plugin.",autoStart:!0,provides:i.INbConvertManager,optional:[i.IServerSettings],activate:(e,t)=>new i.NbConvertManager({serverSettings:t})},m={id:"@jupyterlab/services-extension:session-manager",description:"The session manager plugin.",autoStart:!0,provides:i.ISessionManager,requires:[i.IKernelManager],optional:[i.IServerSettings,i.IConnectionStatus],activate:(e,t,n,o)=>new i.SessionManager({kernelManager:t,serverSettings:n,standby:()=>!(null==o?void 0:o.isConnected)||"when-hidden"})},g={id:"@jupyterlab/services-extension:setting-manager",description:"The setting manager plugin.",autoStart:!0,provides:i.ISettingManager,optional:[i.IServerSettings],activate:(e,t)=>new i.SettingManager({serverSettings:t})},A={id:"@jupyterlab/services-extension:terminal-manager",description:"The terminal manager plugin.",autoStart:!0,provides:i.ITerminalManager,optional:[i.IServerSettings,i.IConnectionStatus],activate:(e,t,n)=>i.Terminal.isAvailable()?new i.TerminalManager({serverSettings:t,standby:()=>!(null==n?void 0:n.isConnected)||"when-hidden"}):new i.TerminalManager.NoopManager},C={id:"@jupyterlab/services-extension:user-manager",description:"The user manager plugin.",autoStart:!0,provides:i.IUserManager,optional:[i.IServerSettings,i.IConnectionStatus],activate:(e,t,n)=>new i.UserManager({serverSettings:t,standby:()=>!(null==n?void 0:n.isConnected)||"when-hidden"})},f={id:"@jupyterlab/services-extension:workspace-manager",description:"The workspace manager plugin.",autoStart:!0,provides:i.IWorkspaceManager,optional:[i.IServerSettings],activate:(e,t)=>new i.WorkspaceManager({serverSettings:t})},b=[o,r,s,a,l,d,c,h,u,p,m,g,{id:"@jupyterlab/services-extension:server-settings",description:"The default server settings plugin.",autoStart:!0,provides:i.IServerSettings,activate:e=>i.ServerConnection.makeSettings()},{id:"@jupyterlab/services-extension:service-manager",description:"The default service manager plugin.",autoStart:!0,provides:i.IServiceManager,optional:[i.IConnectionStatus,i.IContentsManager,i.IDefaultDrive,i.IServerSettings,i.IEventManager,i.IKernelManager,i.IKernelSpecManager,i.INbConvertManager,i.ISessionManager,i.ISettingManager,i.ITerminalManager,i.IUserManager,i.IWorkspaceManager],activate:(e,t,n,o,r,s,a,l,d,c,h,u,p,m)=>new i.ServiceManager({standby:()=>!(null==t?void 0:t.isConnected)||"when-hidden",contents:n,defaultDrive:o,serverSettings:r,events:s,kernels:a,kernelspecs:l,nbconvert:d,sessions:c,settings:h,terminals:u,user:p,workspaces:m})},A,C,f]},5412(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseManager=void 0;let i=n(20659),o=n(1089);class r{constructor(e){var t;this._isDisposed=!1,this._disposed=new i.Signal(this),this.serverSettings=null!=(t=e.serverSettings)?t:o.ServerConnection.makeSettings()}get disposed(){return this._disposed}get isDisposed(){return this._isDisposed}get isActive(){return!0}dispose(){this.isDisposed||(this._isDisposed=!0,this._disposed.emit(void 0),i.Signal.clearData(this))}}t.BaseManager=r},44816(e,t,n){"use strict";var i;i={value:!0},t.BuildManager=void 0;let o=n(28951),r=n(1089),s="api/build";class a{constructor(e={}){var t;this.serverSettings=null!=(t=e.serverSettings)?t:r.ServerConnection.makeSettings()}get isAvailable(){return"true"===o.PageConfig.getOption("buildAvailable").toLowerCase()}get shouldCheck(){return"true"===o.PageConfig.getOption("buildCheck").toLowerCase()}getStatus(){let{_url:e,serverSettings:t}=this;return r.ServerConnection.makeRequest(e,{},t).then(e=>{if(200!==e.status)throw new r.ServerConnection.ResponseError(e);return e.json()}).then(e=>{if("string"!=typeof e.status||"string"!=typeof e.message)throw Error("Invalid data");return e})}build(){let{_url:e,serverSettings:t}=this,n={method:"POST"};return r.ServerConnection.makeRequest(e,n,t).then(e=>{if(400===e.status)throw new r.ServerConnection.ResponseError(e,"Build aborted");if(200!==e.status){let t=`Build failed with ${e.status}.

        If you are experiencing the build failure after installing an extension (or trying to include previously installed extension after updating JupyterLab) please check the extension repository for new installation instructions as many extensions migrated to the prebuilt extensions system which no longer requires rebuilding JupyterLab (but uses a different installation procedure, typically involving a package manager such as 'pip' or 'conda').

        If you specifically intended to install a source extension, please run 'jupyter lab build' on the server for full output.`;throw new r.ServerConnection.ResponseError(e,t)}})}cancel(){let{_url:e,serverSettings:t}=this,n={method:"DELETE"};return r.ServerConnection.makeRequest(e,n,t).then(e=>{if(204!==e.status)throw new r.ServerConnection.ResponseError(e)})}get _url(){let{baseUrl:e,appUrl:t}=this.serverSettings;return o.URLExt.join(e,t,s)}}t.BuildManager=a},39851(e,t,n){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigWithDefaults=t.ConfigSection=t.ConfigSectionManager=void 0;let o=n(28951),r=n(50608),s="api/config";class a{constructor(e){var t;this.serverSettings=null!=(t=e.serverSettings)?t:r.ServerConnection.makeSettings()}async create(e){let t=new l({...e,serverSettings:this.serverSettings});return await t.load(),t}}t.ConfigSectionManager=a,function(e){let t;e.create=async function(e){if(!t){let t=new l(e);return await t.load(),t}return await t.create(e)},e._setConfigSectionManager=function(e){if(t)throw Error("ConfigSectionManager already set. If you would like to create a config section, use the `IConfigSectionManager` token in a plugin.");t=e}}(i||(t.ConfigSection=i={}));class l{constructor(e){var t;this.serverSettings=null!=(t=e.serverSettings)?t:r.ServerConnection.makeSettings(),this._name=e.name}get data(){return this._data}async load(){let e=await r.ServerConnection.makeRequest(this._url,{},this.serverSettings);if(200!==e.status)throw await r.ServerConnection.ResponseError.create(e);this._data=await e.json()}async update(e){this._data={...this._data,...e};let t={method:"PATCH",body:JSON.stringify(e)},n=await r.ServerConnection.makeRequest(this._url,t,this.serverSettings);if(200!==n.status)throw await r.ServerConnection.ResponseError.create(n);return this._data=await n.json(),this._data}get _url(){return o.URLExt.join(this.serverSettings.baseUrl,s,encodeURIComponent(this._name))}}class d{constructor(e){var t,n;this._className="",this._section=e.section,this._defaults=null!=(t=e.defaults)?t:{},this._className=null!=(n=e.className)?n:""}get(e){let t=this._classData();return e in t?t[e]:this._defaults[e]}set(e,t){let n={};if(n[e]=t,!this._className)return this._section.update(n);{let e={};return e[this._className]=n,this._section.update(e)}}_classData(){let e=this._section.data;return this._className&&this._className in e?e[this._className]:e}}t.ConfigWithDefaults=d},39923(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConnectionStatus=void 0;class n{constructor(){this.isConnected=!0}}t.ConnectionStatus=n},97375(e,t,n){"use strict";var i,o,r=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(){var e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var i=e(t),o=0;o<i.length;o++)"default"!==i[o]&&r(n,t,i[o]);return s(n,t),n}}();Object.defineProperty(t,"__esModule",{value:!0}),t.RestContentProvider=t.ContentProviderRegistry=t.Drive=t.ContentsManager=t.Contents=void 0;let l=n(28951),d=n(55187),c=n(63995),h=n(20659),u=n(50608),p=a(n(77821)),m="api/contents",g="files";!function(e){e.validateContentsModel=function(e){p.validateContentsModel(e)},e.validateCheckpointModel=function(e){p.validateCheckpointModel(e)}}(i||(t.Contents=i={}));class A{constructor(e={}){var t,n;this._isDisposed=!1,this._additionalDrives=new Map,this._fileChanged=new h.Signal(this);const i=this.serverSettings=null!=(t=e.serverSettings)?t:u.ServerConnection.makeSettings();this._defaultDrive=null!=(n=e.defaultDrive)?n:new C({serverSettings:i}),this._defaultDrive.fileChanged.connect(this._onFileChanged,this)}get defaultDrive(){return this._defaultDrive}get fileChanged(){return this._fileChanged}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,h.Signal.clearData(this))}addDrive(e){this._additionalDrives.set(e.name,e),e.fileChanged.connect(this._onFileChanged,this)}getSharedModelFactory(e,t){var n,i;let[o]=this._driveForPath(e),r=null==(n=o.contentProviderRegistry)?void 0:n.getProvider(null==t?void 0:t.contentProviderId);return(null==r?void 0:r.sharedModelFactory)?r.sharedModelFactory:null!=(i=o.sharedModelFactory)?i:null}localPath(e){let t=e.split("/"),n=t[0].split(":");return 1!==n.length&&this._additionalDrives.has(n[0])?l.PathExt.join(n.slice(1).join(":"),...t.slice(1)):l.PathExt.removeSlash(e)}normalize(e){let t=e.split(":");return 1===t.length?l.PathExt.normalize(e):`${t[0]}:${l.PathExt.normalize(t.slice(1).join(":"))}`}resolvePath(e,t){let n=this.driveName(e),i=this.localPath(e),o=l.PathExt.resolve("/",i,t);return n?`${n}:${o}`:o}driveName(e){let t=e.split("/")[0].split(":");return 1===t.length?"":this._additionalDrives.has(t[0])?t[0]:""}get(e,t){let[n,i]=this._driveForPath(e);return n.get(i,t).then(e=>{let t=[];if("directory"!==e.type||!e.content)return{...e,path:this._toGlobalPath(n,i),serverPath:e.path};for(let i of e.content)t.push({...i,path:this._toGlobalPath(n,i.path)});return{...e,path:this._toGlobalPath(n,i),content:t,serverPath:e.path}})}getDownloadUrl(e){let[t,n]=this._driveForPath(e);return t.getDownloadUrl(n)}newUntitled(e={}){if(!e.path)return this._defaultDrive.newUntitled(e);{let t=this.normalize(e.path),[n,i]=this._driveForPath(t);return n.newUntitled({...e,path:i}).then(e=>({...e,path:l.PathExt.join(t,e.name),serverPath:e.path}))}}delete(e){let[t,n]=this._driveForPath(e);return t.delete(n)}rename(e,t){let[n,i]=this._driveForPath(e),[o,r]=this._driveForPath(t);if(n!==o)throw Error("ContentsManager: renaming files must occur within a Drive");return n.rename(i,r).then(e=>({...e,path:this._toGlobalPath(n,r),serverPath:e.path}))}async overwrite(e,t){let n=`${t}.${d.UUID.uuid4()}`;return await this.rename(e,n),await this.delete(t),await this.rename(n,t)}save(e,t={}){let n=this.normalize(e),[i,o]=this._driveForPath(e);return i.save(o,{...t,path:o}).then(e=>({...e,path:n,serverPath:e.path}))}copy(e,t){let[n,i]=this._driveForPath(e),[o,r]=this._driveForPath(t);if(n===o)return n.copy(i,r).then(e=>({...e,path:this._toGlobalPath(n,e.path),serverPath:e.path}));throw Error("Copying files between drives is not currently implemented")}createCheckpoint(e){let[t,n]=this._driveForPath(e);return t.createCheckpoint(n)}listCheckpoints(e){let[t,n]=this._driveForPath(e);return t.listCheckpoints(n)}restoreCheckpoint(e,t){let[n,i]=this._driveForPath(e);return n.restoreCheckpoint(i,t)}deleteCheckpoint(e,t){let[n,i]=this._driveForPath(e);return n.deleteCheckpoint(i,t)}_toGlobalPath(e,t){return e===this._defaultDrive?l.PathExt.removeSlash(t):`${e.name}:${l.PathExt.removeSlash(t)}`}_driveForPath(e){let t=this.driveName(e),n=this.localPath(e);return t?[this._additionalDrives.get(t),n]:[this._defaultDrive,n]}_onFileChanged(e,t){var n,i;if(e===this._defaultDrive)this._fileChanged.emit(t);else{let o=null,r=null;(null==(n=t.newValue)?void 0:n.path)&&(o={...t.newValue,path:this._toGlobalPath(e,t.newValue.path)}),(null==(i=t.oldValue)?void 0:i.path)&&(r={...t.oldValue,path:this._toGlobalPath(e,t.oldValue.path)}),this._fileChanged.emit({type:t.type,newValue:o,oldValue:r})}}}t.ContentsManager=A;class C{constructor(e={}){var t,n,i;this._isDisposed=!1,this._fileChanged=new h.Signal(this),this.name=null!=(t=e.name)?t:"Default",this._apiEndpoint=null!=(n=e.apiEndpoint)?n:m,this.serverSettings=null!=(i=e.serverSettings)?i:u.ServerConnection.makeSettings(),this._restContentProvider=new b({...e,apiEndpoint:this._apiEndpoint,serverSettings:this.serverSettings}),e.defaultContentProvider?this.contentProviderRegistry=new f({defaultProvider:e.defaultContentProvider}):this.contentProviderRegistry=new f,this.contentProviderRegistry.fileChanged.connect((e,t)=>{this._fileChanged.emit(t)})}get fileChanged(){return this._fileChanged}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,h.Signal.clearData(this))}async get(e,t){let n=this.contentProviderRegistry.getProvider(null==t?void 0:t.contentProviderId);return n?n.get(e,t):await this._restContentProvider.get(e,t)}getDownloadUrl(e){let t=this.serverSettings.baseUrl,n=l.URLExt.join(t,g,l.URLExt.encodeParts(e)),i="";try{i=document.cookie}catch(e){}let o=i.match("\\b_xsrf=([^;]*)\\b");if(o){let e=new URL(n);e.searchParams.append("_xsrf",o[1]),n=e.toString()}return Promise.resolve(n)}async newUntitled(e={}){var t;let n="{}";e&&(e.ext&&(e.ext=o.normalizeExtension(e.ext)),n=JSON.stringify(e));let i=this.serverSettings,r=this._getUrl(null!=(t=e.path)?t:""),s={method:"POST",body:n},a=await u.ServerConnection.makeRequest(r,s,i);if(201!==a.status)throw await u.ServerConnection.ResponseError.create(a);let l=await a.json();return p.validateContentsModel(l),this._fileChanged.emit({type:"new",oldValue:null,newValue:l}),l}async delete(e){let t=this._getUrl(e),n=this.serverSettings,i={method:"DELETE"},o=await u.ServerConnection.makeRequest(t,i,n);if(204!==o.status)throw await u.ServerConnection.ResponseError.create(o);this._fileChanged.emit({type:"delete",oldValue:{path:e},newValue:null})}async rename(e,t){let n=this.serverSettings,i=this._getUrl(e),o={method:"PATCH",body:JSON.stringify({path:t})},r=await u.ServerConnection.makeRequest(i,o,n);if(200!==r.status)throw await u.ServerConnection.ResponseError.create(r);let s=await r.json();return p.validateContentsModel(s),this._fileChanged.emit({type:"rename",oldValue:{path:e},newValue:s}),s}async save(e,t={}){let n,i=this.contentProviderRegistry.getProvider(null==t?void 0:t.contentProviderId);return n=i?await i.save(e,t):await this._restContentProvider.save(e,t),this._fileChanged.emit({type:"save",oldValue:null,newValue:n}),n}async copy(e,t){let n=this.serverSettings,i=this._getUrl(t),o={method:"POST",body:JSON.stringify({copy_from:e})},r=await u.ServerConnection.makeRequest(i,o,n);if(201!==r.status)throw await u.ServerConnection.ResponseError.create(r);let s=await r.json();return p.validateContentsModel(s),this._fileChanged.emit({type:"new",oldValue:null,newValue:s}),s}async createCheckpoint(e){let t=this._getUrl(e,"checkpoints"),n={method:"POST"},i=await u.ServerConnection.makeRequest(t,n,this.serverSettings);if(201!==i.status)throw await u.ServerConnection.ResponseError.create(i);let o=await i.json();return p.validateCheckpointModel(o),o}async listCheckpoints(e){let t=this._getUrl(e,"checkpoints"),n=await u.ServerConnection.makeRequest(t,{},this.serverSettings);if(200!==n.status)throw await u.ServerConnection.ResponseError.create(n);let i=await n.json();if(!Array.isArray(i))throw Error("Invalid Checkpoint list");for(let e=0;e<i.length;e++)p.validateCheckpointModel(i[e]);return i}async restoreCheckpoint(e,t){let n=this._getUrl(e,"checkpoints",t),i={method:"POST"},o=await u.ServerConnection.makeRequest(n,i,this.serverSettings);if(204!==o.status)throw await u.ServerConnection.ResponseError.create(o)}async deleteCheckpoint(e,t){let n=this._getUrl(e,"checkpoints",t),i={method:"DELETE"},o=await u.ServerConnection.makeRequest(n,i,this.serverSettings);if(204!==o.status)throw await u.ServerConnection.ResponseError.create(o)}_getUrl(...e){let t=e.map(e=>l.URLExt.encodeParts(e)),n=this.serverSettings.baseUrl;return l.URLExt.join(n,this._apiEndpoint,...t)}}t.Drive=C,function(e){e.normalizeExtension=function(e){return e.length>0&&0!==e.indexOf(".")&&(e=`.${e}`),e}}(o||(o={}));class f{constructor(e){this._providers=new Map,this._fileChanged=new h.Signal(this),(null==e?void 0:e.defaultProvider)&&this.register("default",e.defaultProvider)}register(e,t){if(this._providers.has(e))throw Error(`Provider with ${e} identifier was already registered on this drive`);this._providers.set(e,t);let n=(e,t)=>{this._fileChanged.emit(t)};return t.fileChanged&&t.fileChanged.connect(n),new c.DisposableDelegate(()=>{t.fileChanged&&t.fileChanged.disconnect(n),this._providers.has(e)&&this._providers.delete(e)})}getProvider(e){if(!e)return null;let t=this._providers.get(e);if(!t)throw Error(`Provider ${e} is not registered`);return t}get fileChanged(){return this._fileChanged}}t.ContentProviderRegistry=f;class b{constructor(e){this._options=e}async get(e,t){let n=this._getUrl(e);if(t){"notebook"===t.type&&delete t.format;let e=t.content?"1":"0",i=t.hash?"1":"0",o={...t,content:e,hash:i};n+=l.URLExt.objectToQueryString(o)}let i=this._options.serverSettings,o=await u.ServerConnection.makeRequest(n,{},i);if(200!==o.status)throw await u.ServerConnection.ResponseError.create(o);let r=await o.json();return p.validateContentsModel(r),r}async save(e,t={}){let n=this._options.serverSettings,i=this._getUrl(e),o={method:"PUT",body:new File([JSON.stringify(t)],"data.json",{type:"application/json"})},r=await u.ServerConnection.makeRequest(i,o,n);if(200!==r.status&&201!==r.status)throw await u.ServerConnection.ResponseError.create(r);let s=await r.json();return p.validateContentsModel(s),s}_getUrl(...e){let t=e.map(e=>l.URLExt.encodeParts(e)),n=this._options.serverSettings.baseUrl;return l.URLExt.join(n,this._options.apiEndpoint,...t)}}t.RestContentProvider=b},77821(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateContentsModel=o,t.validateCheckpointModel=r;let i=n(1480);function o(e){(0,i.validateProperty)(e,"name","string"),(0,i.validateProperty)(e,"path","string"),(0,i.validateProperty)(e,"type","string"),(0,i.validateProperty)(e,"created","string"),(0,i.validateProperty)(e,"last_modified","string"),(0,i.validateProperty)(e,"mimetype","object"),(0,i.validateProperty)(e,"content","object"),(0,i.validateProperty)(e,"format","object")}function r(e){(0,i.validateProperty)(e,"id","string"),(0,i.validateProperty)(e,"last_modified","string")}},1091(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventManager=void 0;let i=n(28951),o=n(59807),r=n(20659),s=n(1089),a="api/events";class l{constructor(e={}){var t,n;this._socket=null,this.serverSettings=null!=(t=e.serverSettings)?t:s.ServerConnection.makeSettings(),this._poll=new o.Poll({factory:()=>this._subscribe(),standby:null!=(n=e.standby)?n:"when-hidden"}),this._stream=new r.Stream(this),this._poll.start()}get isDisposed(){return this._poll.isDisposed}get stream(){return this._stream}dispose(){if(this.isDisposed)return;this._poll.dispose();let e=this._socket;e&&(this._socket=null,e.onopen=()=>void 0,e.onerror=()=>void 0,e.onmessage=()=>void 0,e.onclose=()=>void 0,e.close()),r.Signal.clearData(this),this._stream.stop()}async emit(e){let{serverSettings:t}=this,{baseUrl:n}=t,{makeRequest:o,ResponseError:r}=s.ServerConnection,l=i.URLExt.join(n,a),d={body:JSON.stringify(e),method:"POST"},c=await o(l,d,t);if(204!==c.status)throw new r(c)}_subscribe(){return new Promise((e,t)=>{if(this.isDisposed)return;let{appendToken:n,token:o,WebSocket:r,wsUrl:s}=this.serverSettings,l=i.URLExt.join(s,a,"subscribe");n&&""!==o&&(l+=`?token=${encodeURIComponent(o)}`);let d=this._socket=new r(l),c=this._stream;d.onclose=()=>t(Error("EventManager socket closed")),d.onmessage=e=>e.data&&c.emit(JSON.parse(e.data))})}}t.EventManager=l},50608(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n(5412),t),o(n(39851),t),o(n(39923),t),o(n(97375),t),o(n(1091),t),o(n(14272),t),o(n(76807),t),o(n(90139),t),o(n(1089),t),o(n(86923),t),o(n(95399),t),o(n(67569),t),o(n(80856),t),o(n(18430),t),o(n(90362),t),o(n(93892),t)},52570(e,t,n){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(){var e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var i=e(t),s=0;s<i.length;s++)"default"!==i[s]&&o(n,t,i[s]);return r(n,t),n}}();Object.defineProperty(t,"__esModule",{value:!0}),t.CommHandler=t.CommsOverSubshells=void 0;let a=n(55187),l=n(63995),d=s(n(59798));!function(e){e.Disabled="disabled",e.PerComm="perComm",e.PerCommTarget="perCommTarget"}(i||(t.CommsOverSubshells=i={}));class c extends l.DisposableDelegate{constructor(e,t,n,o,r){super(o),this._subshellStarted=new a.PromiseDelegate,this._subshellId=null,this._target="",this._id="",this._id=t,this._target=e,this._kernel=n,this._kernel.statusChanged.connect(()=>{"restarting"===this._kernel.status&&this._cleanSubshells()}),this.commsOverSubshells=null!=r?r:i.PerCommTarget}get commId(){return this._id}get targetName(){return this._target}get subshellId(){return this._subshellId}get subshellStarted(){return this._subshellStarted.promise}get commsOverSubshells(){return this._commsOverSubshells}set commsOverSubshells(e){if(e===this._commsOverSubshells)return;let t=this._maybeCloseSubshell(this._commsOverSubshells);this._commsOverSubshells=e,t.then(()=>{this._commsOverSubshells!==i.Disabled&&this._maybeStartSubshell()}).catch(console.warn)}get onClose(){return this._onClose}set onClose(e){this._onClose=e}get onMsg(){return this._onMsg}set onMsg(e){this._onMsg=e}open(e,t,n=[]){if(this.isDisposed||this._kernel.isDisposed)throw Error("Cannot open");let i=d.createMessage({msgType:"comm_open",channel:"shell",username:this._kernel.username,session:this._kernel.clientId,subshellId:this._subshellId||this._kernel.subshellId,content:{comm_id:this._id,target_name:this._target,data:null!=e?e:{}},metadata:t,buffers:n});return this._kernel.sendShellMessage(i,!1,!0)}send(e,t,n=[],i=!0){if(this.isDisposed||this._kernel.isDisposed)throw Error("Cannot send");let o=d.createMessage({msgType:"comm_msg",channel:"shell",username:this._kernel.username,session:this._kernel.clientId,subshellId:this._subshellId||this._kernel.subshellId,content:{comm_id:this._id,data:e},metadata:t,buffers:n});return this._kernel.sendShellMessage(o,!1,i)}close(e,t,n=[]){if(this.isDisposed||this._kernel.isDisposed)throw Error("Cannot close");let i=d.createMessage({msgType:"comm_close",channel:"shell",username:this._kernel.username,session:this._kernel.clientId,subshellId:this._subshellId||this._kernel.subshellId,content:{comm_id:this._id,data:null!=e?e:{}},metadata:t,buffers:n}),o=this._kernel.sendShellMessage(i,!1,!0),r=this._onClose;return r&&r(d.createMessage({msgType:"comm_close",channel:"iopub",username:this._kernel.username,session:this._kernel.clientId,subshellId:this._subshellId||this._kernel.subshellId,content:{comm_id:this._id,data:null!=e?e:{}},metadata:t,buffers:n})),this.dispose(),o}dispose(){this._maybeCloseSubshell(this._commsOverSubshells),super.dispose()}_cleanSubshells(){let e=this._kernel.id;c._commTargetSubShellsId.hasOwnProperty(e)&&delete c._commTargetSubShellsId[e]}async _maybeStartSubshell(){if(await this._kernel.info,!this._kernel.supportsSubshells)return;if(this._commsOverSubshells===i.PerComm){let e=await this._kernel.requestCreateSubshell({}).done;this._subshellId=e.content.subshell_id,this._subshellStarted.resolve();return}let e=this._subshellStarted,t=this._kernel.id;c._commTargetSubShellsId.hasOwnProperty(t)||(c._commTargetSubShellsId[t]={});let n=c._commTargetSubShellsId[t],o=n[this._target];if(o){o.referenceCount+=1;try{this._subshellId=await o.subshellId,e.resolve()}catch(t){await this._closePerCommTargetSubshell(!1),e.reject(`Per comm-target subshell creation failed: ${t}`)}return}let r={subshellId:this._kernel.requestCreateSubshell({}).done.then(e=>e.content.subshell_id),referenceCount:1};n[this._target]=r;try{this._subshellId=await r.subshellId,e.resolve()}catch(t){await this._closePerCommTargetSubshell(!1),e.reject(`Per comm-target subshell creation failed: ${t}`)}}async _closePerCommTargetSubshell(e=!0){let t=this._kernel.id,n=this._target;if(c._commTargetSubShellsId.hasOwnProperty(t)){let i=c._commTargetSubShellsId[t],o=i[n];if(o&&(o.referenceCount-=1,o.referenceCount<=0)){if(e){let e=null;try{e=await o.subshellId}catch(e){console.warn(`Subshell identifier not available in the closeout sequence, will not request deletion: ${e}`)}null!==e&&this._kernel.requestDeleteSubshell({subshell_id:e},!0)}delete i[n]}0===Object.keys(i).length&&delete c._commTargetSubShellsId[t],this._subshellId=null}this._subshellStarted=new a.PromiseDelegate}async _maybeCloseSubshell(e){if("dead"!==this._kernel.status)switch(e){case i.PerComm:this._subshellId&&(this._kernel.requestDeleteSubshell({subshell_id:this._subshellId},!0),this._subshellId=null),this._subshellStarted=new a.PromiseDelegate;break;case i.PerCommTarget:await this._closePerCommTargetSubshell();case i.Disabled:}}}t.CommHandler=c,c._commTargetSubShellsId={}},45089(e,t,n){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(){var e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var i=e(t),s=0;s<i.length;s++)"default"!==i[s]&&o(n,t,i[s]);return r(n,t),n}}();Object.defineProperty(t,"__esModule",{value:!0}),t.KernelConnection=t.DEFAULT_KERNEL_INFO_TIMEOUT=void 0;let a=n(28951),l=n(55187),d=n(20659),c=n(50608),h=n(52570),u=s(n(59798)),p=n(46073),m=s(n(38872)),g=n(38662),A=n(321),C=n(28951);t.DEFAULT_KERNEL_INFO_TIMEOUT=3e3;let f="_RESTARTING_",b="";class v{constructor(e){var n,o,r,s,h,p,C,f,b;this._createSocket=(e=!0)=>{this._errorIfDisposed(),this._clearSocket(),this._updateConnectionStatus("connecting");let t=this.serverSettings,n=a.URLExt.join(t.wsUrl,g.KERNEL_SERVICE_URL,encodeURIComponent(this._id)),o=n.replace(/^((?:\w+:)?\/\/)[^@/]+@/,"$1");console.debug(`Starting WebSocket: ${o}`);let r=a.URLExt.join(n,"channels?session_id="+encodeURIComponent(this._clientId)),s=t.token;t.appendToken&&""!==s&&(r+=`&token=${encodeURIComponent(s)}`);let l=e?this._supportedProtocols:[];this._ws=new t.WebSocket(r,l),this._ws.binaryType="arraybuffer";let d=!1,h=async e=>{var t,n;if(!this._isDisposed){this._reason="",this._model=void 0;try{let t=await this._kernelAPIClient.getModel(this._id);this._model=t,(null==t?void 0:t.execution_state)==="dead"?this._updateStatus("dead"):this._onWSClose(e)}catch(o){o instanceof c.ServerConnection.NetworkError||(null==(t=o.response)?void 0:t.status)===503||(null==(n=o.response)?void 0:n.status)===424?setTimeout(h,1e3*i.getRandomIntInclusive(10,30),e):(this._reason="Kernel died unexpectedly",this._updateStatus("dead"))}}},u=async e=>{d||(d=!0,await h(e))};this._ws.onmessage=this._onWSMessage,this._ws.onopen=this._onWSOpen,this._ws.onclose=u,this._ws.onerror=u},this._onWSOpen=e=>{if(""!==this._ws.protocol&&!this._supportedProtocols.includes(this._ws.protocol))throw console.log("Server selected unknown kernel wire protocol:",this._ws.protocol),this._updateStatus("dead"),Error(`Unknown kernel wire protocol:  ${this._ws.protocol}`);this._selectedProtocol=this._ws.protocol,this._ws.onclose=this._onWSClose,this._ws.onerror=this._onWSClose,this._updateConnectionStatus("connected")},this._onWSMessage=e=>{let t;try{t=this.serverSettings.serializer.deserialize(e.data,this._ws.protocol),m.validateMessage(t)}catch(e){throw e.message=`Kernel message validation error: ${e.message}`,e}this._kernelSession=t.header.session,this._msgChain=this._msgChain.then(()=>this._handleMessage(t)).catch(e=>{e.message.startsWith("Canceled future for ")&&console.error(e)}),this._anyMessage.emit({msg:t,direction:"recv"})},this._onWSClose=e=>{if(!this.isDisposed){if("code"in e&&(1e3===e.code||1001===e.code))return void this._updateConnectionStatus("disconnected");this._reconnect()}},this._id="",this._name="",this._status="unknown",this._connectionStatus="connecting",this._kernelSession="",this._isDisposed=!1,this._ws=null,this._username="",this._reconnectLimit=7,this._reconnectAttempt=0,this._reconnectTimeout=null,this._supportedProtocols=Object.values(u.supportedKernelWebSocketProtocols),this._selectedProtocol="",this._commsOverSubshells=c.CommsOverSubshells.PerCommTarget,this._futures=new Map,this._comms=new Map,this._targetRegistry=Object.create(null),this._info=new l.PromiseDelegate,this._pendingMessages=[],this._statusChanged=new d.Signal(this),this._connectionStatusChanged=new d.Signal(this),this._disposed=new d.Signal(this),this._iopubMessage=new d.Signal(this),this._anyMessage=new d.Signal(this),this._pendingInput=new d.Signal(this),this._unhandledMessage=new d.Signal(this),this._displayIdToParentIds=new Map,this._msgIdToDisplayIds=new Map,this._msgChain=Promise.resolve(),this._hasPendingInput=!1,this._reason="",this._noOp=()=>{},this._supportsSubshells=!1,this._kernelInfoTimeout=t.DEFAULT_KERNEL_INFO_TIMEOUT,this._name=e.model.name,this._id=e.model.id,this.serverSettings=null!=(n=e.serverSettings)?n:c.ServerConnection.makeSettings(),this._kernelAPIClient=null!=(o=e.kernelAPIClient)?o:new g.KernelAPIClient({serverSettings:this.serverSettings}),this._kernelSpecAPIClient=null!=(r=e.kernelSpecAPIClient)?r:new A.KernelSpecAPIClient({serverSettings:this.serverSettings}),this._clientId=null!=(s=e.clientId)?s:l.UUID.uuid4(),this._username=null!=(h=e.username)?h:"",this.handleComms=null==(p=e.handleComms)||p,this._commsOverSubshells=null!=(C=e.commsOverSubshells)?C:c.CommsOverSubshells.PerCommTarget,this._subshellId=null!=(f=e.subshellId)?f:null,this._createSocket(),this._kernelInfoTimeout=null!=(b=null==e?void 0:e.kernelInfoTimeout)?b:t.DEFAULT_KERNEL_INFO_TIMEOUT}get disposed(){return this._disposed}get commsOverSubshells(){return this._commsOverSubshells}set commsOverSubshells(e){for(let[t,n]of(this._commsOverSubshells=e,this._comms))n.commsOverSubshells=e}get statusChanged(){return this._statusChanged}get connectionStatusChanged(){return this._connectionStatusChanged}get iopubMessage(){return this._iopubMessage}get unhandledMessage(){return this._unhandledMessage}get model(){return this._model||{id:this.id,name:this.name,reason:this._reason}}get anyMessage(){return this._anyMessage}get pendingInput(){return this._pendingInput}get id(){return this._id}get name(){return this._name}get username(){return this._username}get clientId(){return this._clientId}get subshellId(){return this._subshellId}set subshellId(e){this._subshellId=e}get status(){return this._status}get connectionStatus(){return this._connectionStatus}get isDisposed(){return this._isDisposed}get info(){return this._info.promise}get spec(){return this._specPromise||(this._specPromise=this._kernelSpecAPIClient.get().then(e=>e.kernelspecs[this._name])),this._specPromise}get supportsSubshells(){return this._supportsSubshells}clone(e={}){return new v({model:this.model,username:this.username,serverSettings:this.serverSettings,handleComms:!1,kernelAPIClient:this._kernelAPIClient,commsOverSubshells:c.CommsOverSubshells.Disabled,kernelInfoTimeout:this._kernelInfoTimeout,...e})}dispose(){if(this.isDisposed)return;let e=()=>{this._isDisposed=!0,this._disposed.emit(),this._updateConnectionStatus("disconnected"),this._clearKernelState(),this._pendingMessages=[],this._clearSocket(),d.Signal.clearData(this)};null!==this._subshellId?this.requestDeleteSubshell({subshell_id:this._subshellId},!0).onReply=t=>{e()}:e()}sendShellMessage(e,t=!1,n=!0){return this._sendKernelShellControl(p.KernelShellFutureHandler,e,t,n)}sendControlMessage(e,t=!1,n=!0){return this._sendKernelShellControl(p.KernelControlFutureHandler,e,t,n)}_sendKernelShellControl(e,t,n=!1,i=!0){this._sendMessage(t),this._anyMessage.emit({msg:t,direction:"send"});let o=new e(()=>{let e=t.header.msg_id;this._futures.delete(e);let n=this._msgIdToDisplayIds.get(e);n&&(n.forEach(t=>{let n=this._displayIdToParentIds.get(t);if(n){let i=n.indexOf(e);if(-1===i)return;1===n.length?this._displayIdToParentIds.delete(t):(n.splice(i,1),this._displayIdToParentIds.set(t,n))}}),this._msgIdToDisplayIds.delete(e))},t,n,i,this);return this._futures.set(t.header.msg_id,o),o}_sendMessage(e,t=!0){if("dead"===this.status)throw Error("Kernel is dead");if((this._kernelSession===b||this._kernelSession===f)&&u.isInfoRequestMsg(e))if("connected"===this.connectionStatus)return void this._ws.send(this.serverSettings.serializer.serialize(e,this._ws.protocol));else throw Error("Could not send message: status is not connected");if(t&&this._pendingMessages.length>0)return void this._pendingMessages.push(e);if("connected"===this.connectionStatus&&this._kernelSession!==f)this._ws.send(this.serverSettings.serializer.serialize(e,this._ws.protocol));else if(t)this._pendingMessages.push(e);else throw Error("Could not send message")}async interrupt(){if(this.hasPendingInput=!1,"dead"===this.status)throw Error("Kernel is dead");return this._kernelAPIClient.interrupt(this.id)}async restart(){if("dead"===this.status)throw Error("Kernel is dead");this._updateStatus("restarting"),this._clearKernelState(),this._kernelSession=f,await this._kernelAPIClient.restart(this.id),await this.reconnect(),this.hasPendingInput=!1}reconnect(){this._errorIfDisposed();let e=new l.PromiseDelegate,t=(n,i)=>{"connected"===i?(e.resolve(),this.connectionStatusChanged.disconnect(t,this)):"disconnected"===i&&(e.reject(Error("Kernel connection disconnected")),this.connectionStatusChanged.disconnect(t,this))};return this.connectionStatusChanged.connect(t,this),this._reconnectAttempt=0,this._reconnect(),e.promise}async shutdown(){"dead"!==this.status&&await this._kernelAPIClient.shutdown(this.id),this.handleShutdown()}handleShutdown(){this._updateStatus("dead"),this.dispose()}async requestKernelInfo(){let e,t=u.createMessage({msgType:"kernel_info_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:{}});try{e=await i.handleShellMessage(this,t)}catch(e){if(this.isDisposed)return;throw e}if(this._errorIfDisposed(),!e)return;if(void 0===e.content.status&&(e.content.status="ok"),"ok"!==e.content.status)return this._info.reject("Kernel info reply errored"),e;this._info.resolve(e.content),this._kernelSession=e.header.session;let n=e.content.supported_features;return this._supportsSubshells=void 0!==n&&n.includes("kernel subshells"),e}requestComplete(e){let t=u.createMessage({msgType:"complete_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:e});return i.handleShellMessage(this,t)}requestInspect(e){let t=u.createMessage({msgType:"inspect_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:e});return i.handleShellMessage(this,t)}requestHistory(e){let t=u.createMessage({msgType:"history_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:e});return i.handleShellMessage(this,t)}requestExecute(e,t=!0,n){let i={silent:!1,store_history:!0,user_expressions:{},allow_stdin:!0,stop_on_error:!1},o=u.createMessage({msgType:"execute_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:{...i,...e},metadata:n});return this.sendShellMessage(o,!0,t)}requestDebug(e,t=!0){let n=u.createMessage({msgType:"debug_request",channel:"control",username:this._username,session:this._clientId,content:e});return this.sendControlMessage(n,!0,t)}requestCreateSubshell(e,t=!0){if(!this.supportsSubshells)throw Error("Kernel subshells are not supported");let n=u.createMessage({msgType:"create_subshell_request",channel:"control",username:this._username,session:this._clientId,content:e});return this.sendControlMessage(n,!0,t)}requestDeleteSubshell(e,t=!0){if(!this.supportsSubshells)throw Error("Kernel subshells are not supported");let n=u.createMessage({msgType:"delete_subshell_request",channel:"control",username:this._username,session:this._clientId,content:e});return this.sendControlMessage(n,!0,t)}requestListSubshell(e,t=!0){if(!this.supportsSubshells)throw Error("Kernel subshells are not supported");let n=u.createMessage({msgType:"list_subshell_request",channel:"control",username:this._username,session:this._clientId,content:e});return this.sendControlMessage(n,!0,t)}requestIsComplete(e){let t=u.createMessage({msgType:"is_complete_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:e});return i.handleShellMessage(this,t)}requestCommInfo(e){let t=u.createMessage({msgType:"comm_info_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:e});return i.handleShellMessage(this,t)}sendInputReply(e,t){let n=u.createMessage({msgType:"input_reply",channel:"stdin",username:this._username,session:this._clientId,content:e});n.parent_header=t,this._sendMessage(n),this._anyMessage.emit({msg:n,direction:"send"}),this.hasPendingInput=!1}createComm(e,t=l.UUID.uuid4()){if(!this.handleComms)throw Error("Comms are disabled on this kernel connection");if(this._comms.has(t))throw Error("Comm is already created");let n=new h.CommHandler(e,t,this,()=>{this._unregisterComm(t)},this._commsOverSubshells);return this._comms.set(t,n),n}hasComm(e){return this._comms.has(e)}registerCommTarget(e,t){this.handleComms&&(this._targetRegistry[e]=t)}removeCommTarget(e,t){this.handleComms&&(this.isDisposed||this._targetRegistry[e]!==t||delete this._targetRegistry[e])}registerMessageHook(e,t){var n;let i=null==(n=this._futures)?void 0:n.get(e);i&&i.registerMessageHook(t)}removeMessageHook(e,t){var n;let i=null==(n=this._futures)?void 0:n.get(e);i&&i.removeMessageHook(t)}removeInputGuard(){this.hasPendingInput=!1}async _handleDisplayId(e,t){var n,i;let o=t.parent_header.msg_id,r=this._displayIdToParentIds.get(e);if(r){let e={header:l.JSONExt.deepCopy(t.header),parent_header:l.JSONExt.deepCopy(t.parent_header),metadata:l.JSONExt.deepCopy(t.metadata),content:l.JSONExt.deepCopy(t.content),channel:t.channel,buffers:t.buffers?t.buffers.slice():[]};e.header.msg_type="update_display_data",await Promise.all(r.map(async t=>{let n=this._futures&&this._futures.get(t);n&&await n.handleMsg(e)}))}if("update_display_data"===t.header.msg_type)return!0;-1===(r=null!=(n=this._displayIdToParentIds.get(e))?n:[]).indexOf(o)&&r.push(o),this._displayIdToParentIds.set(e,r);let s=null!=(i=this._msgIdToDisplayIds.get(o))?i:[];return -1===s.indexOf(o)&&s.push(o),this._msgIdToDisplayIds.set(o,s),!1}_clearSocket(){null!==this._ws&&(this._ws.onopen=this._noOp,this._ws.onclose=this._noOp,this._ws.onerror=this._noOp,this._ws.onmessage=this._noOp,this._ws.close(),this._ws=null)}_updateStatus(e){this._status!==e&&"dead"!==this._status&&(this._status=e,i.logKernelStatus(this),this._statusChanged.emit(e),"dead"===e&&this.dispose())}_sendPending(){for(;"connected"===this.connectionStatus&&this._kernelSession!==f&&this._pendingMessages.length>0;)this._sendMessage(this._pendingMessages[0],!1),this._pendingMessages.shift()}_clearKernelState(){this._kernelSession="",this._pendingMessages=[],this._futures.forEach(e=>{e.dispose()}),this._comms.forEach(e=>{e.dispose()}),this._msgChain=Promise.resolve(),this._futures=new Map,this._comms=new Map,this._displayIdToParentIds.clear(),this._msgIdToDisplayIds.clear()}_assertCurrentMessage(e){if(this._errorIfDisposed(),e.header.session!==this._kernelSession)throw Error(`Canceling handling of old message: ${e.header.msg_type}`)}async _handleCommOpen(e){this._assertCurrentMessage(e);let t=e.content,n=new h.CommHandler(t.target_name,t.comm_id,this,()=>{this._unregisterComm(t.comm_id)},this.commsOverSubshells);this._comms.set(t.comm_id,n);try{let o=await i.loadObject(t.target_name,t.target_module,this._targetRegistry);await o(n,e)}catch(e){throw n.close(),console.error("Exception opening new comm"),e}}async _handleCommClose(e){this._assertCurrentMessage(e);let t=e.content,n=this._comms.get(t.comm_id);if(!n)return void console.error("Comm not found for comm id "+t.comm_id);this._unregisterComm(n.commId);let i=n.onClose;i&&await i(e),n.dispose()}async _handleCommMsg(e){this._assertCurrentMessage(e);let t=e.content,n=this._comms.get(t.comm_id);if(!n)return;let i=n.onMsg;i&&await i(e)}_unregisterComm(e){this._comms.delete(e)}_updateConnectionStatus(e){if(this._connectionStatus!==e){if(this._connectionStatus=e,"connecting"!==e&&(this._reconnectAttempt=0,clearTimeout(this._reconnectTimeout)),"dead"!==this.status)if("connected"===e){let e=this._kernelSession===f,t=this.requestKernelInfo(),n=!1,i=()=>{!n&&(n=!0,e&&this._kernelSession===f&&(this._kernelSession=""),clearTimeout(o),this._pendingMessages.length>0&&this._sendPending())};t.then(i);let o=setTimeout(i,this._kernelInfoTimeout)}else this._updateStatus("unknown");this._connectionStatusChanged.emit(e)}}async _handleMessage(e){var t,n;let i=!1;if(e.parent_header&&"iopub"===e.channel&&(u.isDisplayDataMsg(e)||u.isUpdateDisplayDataMsg(e)||u.isExecuteResultMsg(e))){let n=(null!=(t=e.content.transient)?t:{}).display_id;n&&(i=await this._handleDisplayId(n,e),this._assertCurrentMessage(e))}if(!i&&e.parent_header){let t=e.parent_header,i=null==(n=this._futures)?void 0:n.get(t.msg_id);if(i)await i.handleMsg(e),this._assertCurrentMessage(e);else{let n=t.session===this.clientId;"iopub"!==e.channel&&n&&this._unhandledMessage.emit(e)}}if("iopub"===e.channel){switch(e.header.msg_type){case"status":{if(JSON.parse(C.PageConfig.getOption("untracked_message_types")||"[]").includes(e.parent_header.msg_type))break;let t=e.content.execution_state;"restarting"===t&&Promise.resolve().then(async()=>{this._updateStatus("autorestarting"),this._clearKernelState(),await this.reconnect()}),this._updateStatus(t);break}case"comm_open":this.handleComms&&await this._handleCommOpen(e);break;case"comm_msg":this.handleComms&&await this._handleCommMsg(e);break;case"comm_close":this.handleComms&&await this._handleCommClose(e)}this.isDisposed||(this._assertCurrentMessage(e),this._iopubMessage.emit(e))}}_reconnect(){if(this._errorIfDisposed(),clearTimeout(this._reconnectTimeout),this._reconnectAttempt<this._reconnectLimit){this._updateConnectionStatus("connecting");let e=i.getRandomIntInclusive(0,1e3*(Math.pow(2,this._reconnectAttempt)-1));console.warn(`Connection lost, reconnecting in ${Math.floor(e/1e3)} seconds.`);let t=""!==this._selectedProtocol;this._reconnectTimeout=setTimeout(this._createSocket,e,t),this._reconnectAttempt+=1}else this._updateConnectionStatus("disconnected");this._clearSocket()}_errorIfDisposed(){if(this.isDisposed)throw Error("Kernel connection is disposed")}get hasPendingInput(){return this._hasPendingInput}set hasPendingInput(e){this._hasPendingInput=e,this._pendingInput.emit(e)}}t.KernelConnection=v,function(e){e.logKernelStatus=function(e){switch(e.status){case"idle":case"busy":case"unknown":return;default:console.debug(`Kernel: ${e.status} (${e.id})`)}},e.handleShellMessage=async function(e,t){return e.sendShellMessage(t,!0).done},e.loadObject=function(e,t,n){return new Promise((i,o)=>{if(t){if("u"<typeof requirejs)throw Error("requirejs not found");requirejs([t],n=>{void 0===n[e]?o(Error(`Object '${e}' not found in module '${t}'`)):i(n[e])},o)}else(null==n?void 0:n[e])?i(n[e]):o(Error(`Object '${e}' not found in registry`))})},e.getRandomIntInclusive=function(e,t){return e=Math.ceil(e),Math.floor(Math.random()*((t=Math.floor(t))-e+1))+e}}(i||(i={}))},46073(e,t,n){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(){var e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var i=e(t),s=0;s<i.length;s++)"default"!==i[s]&&o(n,t,i[s]);return r(n,t),n}}();Object.defineProperty(t,"__esModule",{value:!0}),t.KernelShellFutureHandler=t.KernelControlFutureHandler=t.KernelFutureHandler=void 0;let a=n(55187),l=n(63995),d=s(n(59798));class c extends l.DisposableDelegate{constructor(e,t,n,o,r){super(e),this._status=0,this._stdin=i.noOp,this._iopub=i.noOp,this._reply=i.noOp,this._done=new a.PromiseDelegate,this._hooks=new i.HookList,this._disposeOnDone=!0,this._msg=t,n||this._setFlag(i.KernelFutureFlag.GotReply),this._disposeOnDone=o,this._kernel=r}get msg(){return this._msg}get done(){return this._done.promise}get onReply(){return this._reply}set onReply(e){this._reply=e}get onIOPub(){return this._iopub}set onIOPub(e){this._iopub=e}get onStdin(){return this._stdin}set onStdin(e){this._stdin=e}registerMessageHook(e){if(this.isDisposed)throw Error("Kernel future is disposed");this._hooks.add(e)}removeMessageHook(e){this.isDisposed||this._hooks.remove(e)}sendInputReply(e,t){this._kernel.sendInputReply(e,t)}dispose(){this._stdin=i.noOp,this._iopub=i.noOp,this._reply=i.noOp,this._hooks=null,this._testFlag(i.KernelFutureFlag.IsDone)||(this._done.promise.catch(()=>{}),this._done.reject(Error(`Canceled future for ${this.msg.header.msg_type} message before replies were done`))),super.dispose()}async handleMsg(e){switch(e.channel){case"control":case"shell":e.channel===this.msg.channel&&e.parent_header.msg_id===this.msg.header.msg_id&&await this._handleReply(e);break;case"stdin":await this._handleStdin(e);break;case"iopub":await this._handleIOPub(e)}}async _handleReply(e){let t=this._reply;t&&await t(e),this._replyMsg=e,this._setFlag(i.KernelFutureFlag.GotReply),this._testFlag(i.KernelFutureFlag.GotIdle)&&this._handleDone()}async _handleStdin(e){this._kernel.hasPendingInput=!0;let t=this._stdin;t&&await t(e)}async _handleIOPub(e){let t=await this._hooks.process(e),n=this._iopub;t&&n&&await n(e),d.isStatusMsg(e)&&"idle"===e.content.execution_state&&(this._setFlag(i.KernelFutureFlag.GotIdle),this._testFlag(i.KernelFutureFlag.GotReply)&&this._handleDone())}_handleDone(){!this._testFlag(i.KernelFutureFlag.IsDone)&&(this._setFlag(i.KernelFutureFlag.IsDone),this._done.resolve(this._replyMsg),this._disposeOnDone&&this.dispose())}_testFlag(e){return(this._status&e)!=0}_setFlag(e){this._status|=e}}t.KernelFutureHandler=c;class h extends c{}t.KernelControlFutureHandler=h;class u extends c{}t.KernelShellFutureHandler=u,function(e){let t;e.noOp=()=>{};let n="function"==typeof requestAnimationFrame?requestAnimationFrame:setImmediate;class i{constructor(){this._hooks=[]}add(e){this.remove(e),this._hooks.push(e)}remove(e){let t=this._hooks.indexOf(e);t>=0&&(this._hooks[t]=null,this._scheduleCompact())}async process(e){let t;await this._processing;let n=new a.PromiseDelegate;this._processing=n.promise;for(let i=this._hooks.length-1;i>=0;i--){let o=this._hooks[i];if(null!==o){try{t=await o(e)}catch(e){t=!0,console.error(e)}if(!1===t)return n.resolve(void 0),!1}}return n.resolve(void 0),!0}_scheduleCompact(){this._compactScheduled||(this._compactScheduled=!0,n(()=>{this._processing=this._processing.then(()=>{this._compactScheduled=!1,this._compact()})}))}_compact(){let e=0;for(let t=0,n=this._hooks.length;t<n;t++){let n=this._hooks[t];null===this._hooks[t]?e++:this._hooks[t-e]=n}this._hooks.length-=e}}e.HookList=i,function(e){e[e.GotReply=1]="GotReply",e[e.GotIdle=2]="GotIdle",e[e.IsDone=4]="IsDone",e[e.DisposeOnDone=8]="DisposeOnDone"}(t=e.KernelFutureFlag||(e.KernelFutureFlag={}))}(i||(i={}))},14272(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(){var e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var r=e(t),s=0;s<r.length;s++)"default"!==r[s]&&i(n,t,r[s]);return o(n,t),n}}(),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.CommsOverSubshells=t.KernelConnection=t.KernelAPI=t.KernelMessage=t.Kernel=void 0;let a=n(52570);Object.defineProperty(t,"CommsOverSubshells",{enumerable:!0,get:function(){return a.CommsOverSubshells}}),t.Kernel=r(n(92343)),t.KernelMessage=r(n(59798)),t.KernelAPI=r(n(38662));let l=n(45089);Object.defineProperty(t,"KernelConnection",{enumerable:!0,get:function(){return l.KernelConnection}}),s(n(47275),t)},92343(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},47275(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KernelManager=void 0;let i=n(59807),o=n(20659),r=n(50608),s=n(5412),a=n(38662),l=n(45089),d=n(321);class c extends s.BaseManager{constructor(e={}){var t,n,s;super(e),this._commsOverSubshells=r.CommsOverSubshells.PerCommTarget,this._isReady=!1,this._kernelConnections=new Set,this._models=new Map,this._runningChanged=new o.Signal(this),this._connectionFailure=new o.Signal(this),this._kernelInfoTimeout=l.DEFAULT_KERNEL_INFO_TIMEOUT,this._kernelAPIClient=null!=(t=e.kernelAPIClient)?t:new a.KernelAPIClient({serverSettings:this.serverSettings}),this._kernelSpecAPIClient=null!=(n=e.kernelSpecAPIClient)?n:new d.KernelSpecAPIClient({serverSettings:this.serverSettings}),this._pollModels=new i.Poll({auto:!1,factory:()=>this.requestRunning(),frequency:{interval:1e4,backoff:!0,max:3e5},name:"@jupyterlab/services:KernelManager#models",standby:null!=(s=e.standby)?s:"when-hidden"}),this._ready=(async()=>{await this._pollModels.start(),await this._pollModels.tick,this._isReady=!0})()}get isReady(){return this._isReady}get ready(){return this._ready}get runningChanged(){return this._runningChanged}get connectionFailure(){return this._connectionFailure}get kernelInfoTimeout(){return this._kernelInfoTimeout}set kernelInfoTimeout(e){this._kernelInfoTimeout=e}dispose(){this.isDisposed||(this._models.clear(),this._kernelConnections.forEach(e=>e.dispose()),this._pollModels.dispose(),super.dispose())}connectTo(e){var t;let{id:n}=e.model,i=null==(t=e.handleComms)||t;if(void 0===e.handleComms){for(let e of this._kernelConnections)if(e.id===n&&e.handleComms){i=!1;break}}e.commsOverSubshells=this._commsOverSubshells;let o=new l.KernelConnection({handleComms:i,...e,serverSettings:this.serverSettings,kernelAPIClient:this._kernelAPIClient,kernelSpecAPIClient:this._kernelSpecAPIClient,kernelInfoTimeout:this._kernelInfoTimeout});return this._onStarted(o),this._models.has(n)||this.refreshRunning().catch(()=>{}),o}running(){return this._models.values()}get runningCount(){return this._models.size}get commsOverSubshells(){return this._commsOverSubshells}set commsOverSubshells(e){for(let t of(this._commsOverSubshells=e,this._kernelConnections))t.commsOverSubshells=e}async refreshRunning(){await this._pollModels.refresh(),await this._pollModels.tick}async startNew(e={},t={}){let n=await this._kernelAPIClient.startNew(e);return this.connectTo({...t,model:n})}async shutdown(e){await this._kernelAPIClient.shutdown(e),await this.refreshRunning()}async shutdownAll(){await this.refreshRunning(),await Promise.all([...this._models.keys()].map(e=>this._kernelAPIClient.shutdown(e))),await this.refreshRunning()}async findById(e){return this._models.has(e)||await this.refreshRunning(),this._models.get(e)}async requestRunning(){var e,t;let n;try{n=await this._kernelAPIClient.listRunning()}catch(n){throw(n instanceof r.ServerConnection.NetworkError||(null==(e=n.response)?void 0:e.status)===503||(null==(t=n.response)?void 0:t.status)===424)&&this._connectionFailure.emit(n),n}this.isDisposed||this._models.size===n.length&&n.every(e=>{let t=this._models.get(e.id);return!!t&&t.connections===e.connections&&t.execution_state===e.execution_state&&t.last_activity===e.last_activity&&t.name===e.name&&t.reason===e.reason&&t.traceback===e.traceback})||(this._models=new Map(n.map(e=>[e.id,e])),this._kernelConnections.forEach(e=>{this._models.has(e.id)||e.handleShutdown()}),this._runningChanged.emit(n))}_onStarted(e){this._kernelConnections.add(e),e.statusChanged.connect(this._onStatusChanged,this),e.disposed.connect(this._onDisposed,this)}_onDisposed(e){this._kernelConnections.delete(e),this.refreshRunning().catch(()=>{})}_onStatusChanged(e,t){"dead"===t&&this.refreshRunning().catch(()=>{})}}t.KernelManager=c,function(e){class t extends e{constructor(){super(...arguments),this._readyPromise=new Promise(()=>{})}get isActive(){return!1}get parentReady(){return super.ready}async startNew(e={},t={}){return Promise.reject(Error("Not implemented in no-op Kernel Manager"))}connectTo(e){throw Error("Not implemented in no-op Kernel Manager")}async shutdown(e){return Promise.reject(Error("Not implemented in no-op Kernel Manager"))}get ready(){return this.parentReady.then(()=>this._readyPromise)}async requestRunning(){return Promise.resolve()}}e.NoopManager=t}(c||(t.KernelManager=c={}))},59798(e,t,n){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.supportedKernelWebSocketProtocols=void 0,t.createMessage=r,t.isStreamMsg=s,t.isDisplayDataMsg=a,t.isUpdateDisplayDataMsg=l,t.isExecuteInputMsg=d,t.isExecuteResultMsg=c,t.isErrorMsg=h,t.isStatusMsg=u,t.isClearOutputMsg=p,t.isDebugEventMsg=m,t.isCommOpenMsg=g,t.isCommCloseMsg=A,t.isCommMsgMsg=C,t.isInfoRequestMsg=f,t.isExecuteReplyMsg=b,t.isDebugRequestMsg=v,t.isDebugReplyMsg=_,t.isInputRequestMsg=y,t.isInputReplyMsg=E;let o=n(55187);function r(e){var t,n,i,r,s,a;return{buffers:null!=(t=e.buffers)?t:[],channel:e.channel,content:e.content,header:{date:new Date().toISOString(),msg_id:null!=(n=e.msgId)?n:o.UUID.uuid4(),msg_type:e.msgType,session:e.session,username:null!=(i=e.username)?i:"",subshell_id:null!=(r=e.subshellId)?r:null,version:"5.2"},metadata:null!=(s=e.metadata)?s:{},parent_header:null!=(a=e.parentHeader)?a:{}}}function s(e){return"stream"===e.header.msg_type}function a(e){return"display_data"===e.header.msg_type}function l(e){return"update_display_data"===e.header.msg_type}function d(e){return"execute_input"===e.header.msg_type}function c(e){return"execute_result"===e.header.msg_type}function h(e){return"error"===e.header.msg_type}function u(e){return"status"===e.header.msg_type}function p(e){return"clear_output"===e.header.msg_type}function m(e){return"debug_event"===e.header.msg_type}function g(e){return"comm_open"===e.header.msg_type}function A(e){return"comm_close"===e.header.msg_type}function C(e){return"comm_msg"===e.header.msg_type}function f(e){return"kernel_info_request"===e.header.msg_type}function b(e){return"execute_reply"===e.header.msg_type}function v(e){return"debug_request"===e.header.msg_type}function _(e){return"debug_reply"===e.header.msg_type}function y(e){return"input_request"===e.header.msg_type}function E(e){return"input_reply"===e.header.msg_type}!function(e){e.v1KernelWebsocketJupyterOrg="v1.kernel.websocket.jupyter.org"}(i||(t.supportedKernelWebSocketProtocols=i={}))},38662(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KernelAPIClient=t.KERNEL_SERVICE_URL=void 0,t.listRunning=s,t.startNew=a,t.restartKernel=l,t.interruptKernel=d,t.shutdownKernel=c,t.getKernelModel=h;let i=n(1089),o=n(28951),r=n(38872);async function s(e=i.ServerConnection.makeSettings()){let n=o.URLExt.join(e.baseUrl,t.KERNEL_SERVICE_URL),a=await i.ServerConnection.makeRequest(n,{},e);if(200!==a.status)throw await i.ServerConnection.ResponseError.create(a);let l=await a.json();return(0,r.validateModels)(l),l}async function a(e={},n=i.ServerConnection.makeSettings()){let s=o.URLExt.join(n.baseUrl,t.KERNEL_SERVICE_URL),l={method:"POST",body:JSON.stringify(e)},d=await i.ServerConnection.makeRequest(s,l,n);if(201!==d.status)throw await i.ServerConnection.ResponseError.create(d);let c=await d.json();return(0,r.validateModel)(c),c}async function l(e,n=i.ServerConnection.makeSettings()){let s=o.URLExt.join(n.baseUrl,t.KERNEL_SERVICE_URL,encodeURIComponent(e),"restart"),a={method:"POST"},d=await i.ServerConnection.makeRequest(s,a,n);if(200!==d.status)throw await i.ServerConnection.ResponseError.create(d);let c=await d.json();(0,r.validateModel)(c)}async function d(e,n=i.ServerConnection.makeSettings()){let r=o.URLExt.join(n.baseUrl,t.KERNEL_SERVICE_URL,encodeURIComponent(e),"interrupt"),s={method:"POST"},a=await i.ServerConnection.makeRequest(r,s,n);if(204!==a.status)throw await i.ServerConnection.ResponseError.create(a)}async function c(e,n=i.ServerConnection.makeSettings()){let r=o.URLExt.join(n.baseUrl,t.KERNEL_SERVICE_URL,encodeURIComponent(e)),s={method:"DELETE"},a=await i.ServerConnection.makeRequest(r,s,n);if(404===a.status)console.warn(`The kernel "${e}" does not exist on the server`);else if(204!==a.status)throw await i.ServerConnection.ResponseError.create(a)}async function h(e,n=i.ServerConnection.makeSettings()){let s=o.URLExt.join(n.baseUrl,t.KERNEL_SERVICE_URL,encodeURIComponent(e)),a=await i.ServerConnection.makeRequest(s,{},n);if(404===a.status)return;if(200!==a.status)throw await i.ServerConnection.ResponseError.create(a);let l=await a.json();return(0,r.validateModel)(l),l}t.KERNEL_SERVICE_URL="api/kernels";class u{constructor(e={}){var t;this.serverSettings=null!=(t=e.serverSettings)?t:i.ServerConnection.makeSettings()}async listRunning(){return s(this.serverSettings)}async getModel(e){return h(e,this.serverSettings)}async startNew(e={}){return a(e,this.serverSettings)}async restart(e){return l(e,this.serverSettings)}async interrupt(e){return d(e,this.serverSettings)}async shutdown(e){return c(e,this.serverSettings)}}t.KernelAPIClient=u},93962(e,t,n){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(){var e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var i=e(t),s=0;s<i.length;s++)"default"!==i[s]&&o(n,t,i[s]);return r(n,t),n}}();Object.defineProperty(t,"__esModule",{value:!0}),t.serialize=l,t.deserialize=d;let a=s(n(59798));function l(e,t=""){return t===a.supportedKernelWebSocketProtocols.v1KernelWebsocketJupyterOrg?i.serializeV1KernelWebsocketJupyterOrg(e):i.serializeDefault(e)}function d(e,t=""){return t===a.supportedKernelWebSocketProtocols.v1KernelWebsocketJupyterOrg?i.deserializeV1KernelWebsocketJupyterOrg(e):i.deserializeDefault(e)}!function(e){function t(e){let t=new DataView(e),n=t.getUint32(0),i=[];if(n<2)throw Error("Invalid incoming Kernel Message");for(let e=1;e<=n;e++)i.push(t.getUint32(4*e));let o=new Uint8Array(e.slice(i[0],i[1])),r=JSON.parse(new TextDecoder("utf8").decode(o));r.buffers=[];for(let t=1;t<n;t++){let n=i[t],o=i[t+1]||e.byteLength;r.buffers.push(new DataView(e.slice(n,o)))}return r}function n(e){let t=[],n=[],i=new TextEncoder,o=[];void 0!==e.buffers&&(o=e.buffers,delete e.buffers);let r=i.encode(JSON.stringify(e));n.push(r.buffer);for(let e=0;e<o.length;e++){let t=o[e];n.push(ArrayBuffer.isView(t)?t.buffer:t)}let s=n.length;t.push(4*(s+1));for(let e=0;e+1<n.length;e++)t.push(t[t.length-1]+n[e].byteLength);let a=new Uint8Array(t[t.length-1]+n[n.length-1].byteLength),l=new DataView(a.buffer);l.setUint32(0,s);for(let e=0;e<t.length;e++)l.setUint32(4*(e+1),t[e]);for(let e=0;e<n.length;e++)a.set(new Uint8Array(n[e]),t[e]);return a.buffer}e.deserializeV1KernelWebsocketJupyterOrg=function(e){let t=new DataView(e),n=Number(t.getBigUint64(0,!0)),i=[];for(let e=0;e<n;e++)i.push(Number(t.getBigUint64(8*(e+1),!0)));let o=new TextDecoder("utf8"),r=o.decode(e.slice(i[0],i[1])),s=JSON.parse(o.decode(e.slice(i[1],i[2]))),a=JSON.parse(o.decode(e.slice(i[2],i[3]))),l=JSON.parse(o.decode(e.slice(i[3],i[4]))),d=JSON.parse(o.decode(e.slice(i[4],i[5]))),c=[];for(let t=5;t<i.length-1;t++)c.push(new DataView(e.slice(i[t],i[t+1])));return{channel:r,header:s,parent_header:a,metadata:l,content:d,buffers:c}},e.serializeV1KernelWebsocketJupyterOrg=function(e){let t=JSON.stringify(e.header),n=null==e.parent_header?"{}":JSON.stringify(e.parent_header),i=JSON.stringify(e.metadata),o=JSON.stringify(e.content),r=void 0!==e.buffers?e.buffers:[],s=5+r.length+1,a=[];a.push(8*(1+s)),a.push(e.channel.length+a[a.length-1]);let l=new TextEncoder,d=l.encode(e.channel),c=l.encode(t),h=l.encode(n),u=l.encode(i),p=l.encode(o),m=new Uint8Array(d.length+c.length+h.length+u.length+p.length);for(let e of(m.set(d),m.set(c,d.length),m.set(h,d.length+c.length),m.set(u,d.length+c.length+h.length),m.set(p,d.length+c.length+h.length+u.length),[c.length,h.length,u.length,p.length]))a.push(e+a[a.length-1]);let g=0;for(let e of r){let t=e.byteLength;a.push(t+a[a.length-1]),g+=t}let A=new Uint8Array(8*(1+s)+m.byteLength+g),C=new ArrayBuffer(8),f=new DataView(C);f.setBigUint64(0,BigInt(s),!0),A.set(new Uint8Array(C),0);for(let e=0;e<a.length;e++)f.setBigUint64(0,BigInt(a[e]),!0),A.set(new Uint8Array(C),8*(e+1));A.set(m,a[0]);for(let e=0;e<r.length;e++){let t=r[e];A.set(new Uint8Array(ArrayBuffer.isView(t)?t.buffer:t),a[5+e])}return A.buffer},e.deserializeDefault=function(e){return"string"==typeof e?JSON.parse(e):t(e)},e.serializeDefault=function(e){var t;return(null==(t=e.buffers)?void 0:t.length)?n(e):JSON.stringify(e)}}(i||(i={}))},38872(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateMessage=a,t.validateModel=d,t.validateModels=c;let i=n(1480),o=["username","version","session","msg_id","msg_type"],r={stream:{name:"string",text:"string"},display_data:{data:"object",metadata:"object"},execute_input:{code:"string",execution_count:"number"},execute_result:{execution_count:"number",data:"object",metadata:"object"},error:{ename:"string",evalue:"string",traceback:"object"},status:{execution_state:["string",["starting","idle","busy","restarting","dead"]]},clear_output:{wait:"boolean"},comm_open:{comm_id:"string",target_name:"string",data:"object"},comm_msg:{comm_id:"string",data:"object"},comm_close:{comm_id:"string"},shutdown_reply:{restart:"boolean"}};function s(e){for(let t=0;t<o.length;t++)(0,i.validateProperty)(e,o[t],"string")}function a(e){(0,i.validateProperty)(e,"metadata","object"),(0,i.validateProperty)(e,"content","object"),(0,i.validateProperty)(e,"channel","string"),s(e.header),"iopub"===e.channel&&l(e)}function l(e){if("iopub"===e.channel){let t=r[e.header.msg_type];if(void 0===t)return;let n=Object.keys(t),o=e.content;for(let e=0;e<n.length;e++){let r=t[n[e]];Array.isArray(r)||(r=[r]),(0,i.validateProperty)(o,n[e],...r)}}}function d(e){(0,i.validateProperty)(e,"name","string"),(0,i.validateProperty)(e,"id","string")}function c(e){if(!Array.isArray(e))throw Error("Invalid kernel list");e.forEach(e=>d(e))}},76807(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(){var e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var r=e(t),s=0;s<r.length;s++)"default"!==r[s]&&i(n,t,r[s]);return o(n,t),n}}(),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.KernelSpecAPI=t.KernelSpec=void 0,t.KernelSpec=r(n(51229)),t.KernelSpecAPI=r(n(321)),s(n(26224),t)},51229(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},26224(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KernelSpecManager=void 0;let i=n(55187),o=n(59807),r=n(20659),s=n(5412),a=n(321);class l extends s.BaseManager{constructor(e={}){var t,n;super(e),this._isReady=!1,this._connectionFailure=new r.Signal(this),this._specs=null,this._specsChanged=new r.Signal(this),this._kernelSpecAPIClient=null!=(t=e.kernelSpecAPIClient)?t:new a.KernelSpecAPIClient({serverSettings:this.serverSettings}),this._ready=Promise.all([this.requestSpecs()]).then(e=>void 0).catch(e=>void 0).then(()=>{this.isDisposed||(this._isReady=!0)}),this._pollSpecs=new o.Poll({auto:!1,factory:()=>this.requestSpecs(),frequency:{interval:61e3,backoff:!0,max:3e5},name:"@jupyterlab/services:KernelSpecManager#specs",standby:null!=(n=e.standby)?n:"when-hidden"}),this.ready.then(()=>{this._pollSpecs.start()})}get isReady(){return this._isReady}get ready(){return this._ready}get specs(){return this._specs}get specsChanged(){return this._specsChanged}get connectionFailure(){return this._connectionFailure}dispose(){this._pollSpecs.dispose(),super.dispose()}async refreshSpecs(){await this._pollSpecs.refresh(),await this._pollSpecs.tick}async requestSpecs(){let e=await this._kernelSpecAPIClient.get();!this.isDisposed&&(i.JSONExt.deepEqual(e,this._specs)||(this._specs=e,this._specsChanged.emit(e)))}}t.KernelSpecManager=l},321(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KernelSpecAPIClient=void 0,t.getSpecs=a;let i=n(1089),o=n(79237),r=n(28951),s="api/kernelspecs";async function a(e=i.ServerConnection.makeSettings()){let t=r.URLExt.join(e.baseUrl,s),n=await i.ServerConnection.makeRequest(t,{},e);if(200!==n.status)throw await i.ServerConnection.ResponseError.create(n);let l=await n.json();return(0,o.validateSpecModels)(l)}class l{constructor(e={}){var t;this.serverSettings=null!=(t=e.serverSettings)?t:i.ServerConnection.makeSettings()}async get(){return a(this.serverSettings)}}t.KernelSpecAPIClient=l},79237(e,t,n){"use strict";var i;i={value:!0},i=r,t.validateSpecModels=s;let o=n(1480);function r(e){let t=e.spec;if(!t)throw Error("Invalid kernel spec");(0,o.validateProperty)(e,"name","string"),(0,o.validateProperty)(e,"resources","object"),(0,o.validateProperty)(t,"language","string"),(0,o.validateProperty)(t,"display_name","string"),(0,o.validateProperty)(t,"argv","array");let n=null;t.hasOwnProperty("metadata")&&((0,o.validateProperty)(t,"metadata","object"),n=t.metadata);let i=null;return t.hasOwnProperty("env")&&((0,o.validateProperty)(t,"env","object"),i=t.env),t.hasOwnProperty("interrupt_mode")&&((0,o.validateProperty)(t,"interrupt_mode","string"),i=t.env),{name:e.name,resources:e.resources,language:t.language,display_name:t.display_name,argv:t.argv,metadata:n,env:i}}function s(e){if(!e.hasOwnProperty("kernelspecs"))throw Error("No kernelspecs found");let t=Object.keys(e.kernelspecs),n=Object.create(null),i=e.default;for(let i=0;i<t.length;i++){let o=e.kernelspecs[t[i]];try{n[t[i]]=r(o)}catch(e){console.warn(`Removing errant kernel spec: ${t[i]}`)}}if(!(t=Object.keys(n)).length)throw Error("No valid kernelspecs found");return i&&"string"==typeof i&&i in n||(i=t[0],console.warn(`Default kernel not found, using '${t[0]}'`)),{default:i,kernelspecs:n}}},90139(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ServiceManager=void 0;let i=n(20659),o=n(44816),r=n(97375),s=n(1091),a=n(14272),l=n(76807),d=n(93892),c=n(1089),h=n(86923),u=n(95399),p=n(67569),m=n(18430),g=n(90362);class A{constructor(e={}){var t,n;this._isDisposed=!1,this._connectionFailure=new i.Signal(this),this._isReady=!1;const A=e.defaultDrive,C=null!=(t=e.serverSettings)?t:c.ServerConnection.makeSettings(),f={defaultDrive:A,serverSettings:C,standby:null!=(n=e.standby)?n:"when-hidden"};this.serverSettings=C,this.contents=e.contents||new r.ContentsManager(f),this.events=e.events||new s.EventManager(f),this.kernels=e.kernels||new a.KernelManager(f),this.sessions=e.sessions||new h.SessionManager({...f,kernelManager:this.kernels}),this.settings=e.settings||new u.SettingManager(f),this.terminals=e.terminals||new p.TerminalManager(f),this.builder=e.builder||new o.BuildManager(f),this.workspaces=e.workspaces||new g.WorkspaceManager(f),this.nbconvert=e.nbconvert||new d.NbConvertManager(f),this.kernelspecs=e.kernelspecs||new l.KernelSpecManager(f),this.user=e.user||new m.UserManager(f),this.kernelspecs.connectionFailure.connect(this._onConnectionFailure,this),this.sessions.connectionFailure.connect(this._onConnectionFailure,this),this.terminals.connectionFailure.connect(this._onConnectionFailure,this);const b=[this.sessions.ready,this.kernelspecs.ready];this.terminals.isAvailable()&&b.push(this.terminals.ready),this._readyPromise=Promise.all(b).then(()=>{this._isReady=!0})}get connectionFailure(){return this._connectionFailure}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,i.Signal.clearData(this),this.contents.dispose(),this.events.dispose(),this.sessions.dispose(),this.terminals.dispose())}get isReady(){return this._isReady}get ready(){return this._readyPromise}_onConnectionFailure(e,t){this._connectionFailure.emit(t)}}t.ServiceManager=A},93892(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NbConvertManager=void 0;let i=n(28951),o=n(1089),r=n(55187),s="api/nbconvert",a="nbconvert";class l{constructor(e={}){var t;this._exportFormats=null,this.serverSettings=null!=(t=e.serverSettings)?t:o.ServerConnection.makeSettings()}async fetchExportFormats(){this._requestingFormats=new r.PromiseDelegate,this._exportFormats=null;let e=this.serverSettings.baseUrl,t=i.URLExt.join(e,s),{serverSettings:n}=this,a=await o.ServerConnection.makeRequest(t,{},n);if(200!==a.status)throw await o.ServerConnection.ResponseError.create(a);let l=await a.json(),d={};return Object.keys(l).forEach(function(e){let t=l[e].output_mimetype;d[e]={output_mimetype:t}}),this._exportFormats=d,this._requestingFormats.resolve(d),d}async getExportFormats(e=!0){return this._requestingFormats?this._requestingFormats.promise:e||!this._exportFormats?await this.fetchExportFormats():this._exportFormats}async exportAs(e){let{format:t,path:n}=e,{download:o=!1,sanitizeHtml:r=!1}=e.exporterOptions||{},s=this.serverSettings.baseUrl,l=i.URLExt.encodeParts(n),d=i.URLExt.join(s,a,t,l),c=new URLSearchParams;o&&c.set("download","true"),r&&c.set("sanitize_html","true");let h=c.toString();h&&(d+=`?${h}`),null==window||window.open(d,"_blank","noopener")}}t.NbConvertManager=l},1089(e,t,n){"use strict";let i;var o,r,s=n(65606);Object.defineProperty(t,"__esModule",{value:!0}),t.ServerConnection=void 0;let a=n(28951),l=n(93962);i="u"<typeof window?n(36513):WebSocket,function(e){e.makeSettings=function(e){return r.makeSettings(e)},e.makeRequest=function(e,t,n){return r.handleRequest(e,t,n)};class t extends Error{static async create(e){try{let{message:n,traceback:i}=await e.json();return i&&console.error(i),new t(e,null!=n?n:t._defaultMessage(e),null!=i?i:"")}catch(n){return console.debug(n),new t(e)}}constructor(e,n=t._defaultMessage(e),i=""){super(n),this.response=e,this.traceback=i}static _defaultMessage(e){return`Invalid response: ${e.status} ${e.statusText}`}}e.ResponseError=t;class n extends TypeError{constructor(e){super(e.message),this.stack=e.stack}}e.NetworkError=n}(o||(t.ServerConnection=o={})),function(e){function t(e){let t,n="";try{n=document.cookie}catch(e){return}let i=e+"=";for(let e of n.split(";")){let n=e.trim();n.startsWith(i)&&(t=n.substring(i.length))}return t}e.makeSettings=function(e={}){var t;let n,o=a.PageConfig.getBaseUrl(),r=a.PageConfig.getWsUrl(),d=a.URLExt.normalize(e.baseUrl)||o,c=e.wsUrl;c||d!==o||(c=r),c||0!==d.indexOf("http")||(c="ws"+d.slice(4)),c=null!=c?c:r;let h=a.PageConfig.getOption("appendToken").toLowerCase();return n=""===h?"u"<typeof window||void 0!==s&&(null==(t=null==s?void 0:s.env)?void 0:t.JEST_WORKER_ID)!==void 0||a.URLExt.getHostName(o)!==a.URLExt.getHostName(c):"true"===h,{init:{cache:"no-store",credentials:"same-origin"},fetch,Headers,Request,WebSocket:i,token:a.PageConfig.getToken(),appUrl:a.PageConfig.getOption("appUrl"),appendToken:n,serializer:{serialize:l.serialize,deserialize:l.deserialize},...e,baseUrl:d,wsUrl:c}},e.handleRequest=function(e,n,i){var r;if(0!==e.indexOf(i.baseUrl))throw Error("Can only be used for notebook server requests");"no-store"===(null!=(r=n.cache)?r:i.init.cache)&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let s=new i.Request(e,{...i.init,...n}),a=!1;if(i.token&&(a=!0,s.headers.append("Authorization",`token ${i.token}`)),"u">typeof document){let e=t("_xsrf");void 0!==e&&(a=!0,s.headers.append("X-XSRFToken",e))}return!s.headers.has("Content-Type")&&a&&s.headers.set("Content-Type","application/json"),i.fetch.call(null,s).catch(e=>{throw new o.NetworkError(e)})}}(r||(r={}))},26830(e,t,n){"use strict";var i;i={value:!0},t.SessionConnection=void 0;let o=n(20659),r=n(50608),s=n(55187),a=n(70637);class l{constructor(e){var t,n,i,l,d;this._id="",this._path="",this._name="",this._type="",this._kernel=null,this._isDisposed=!1,this._disposed=new o.Signal(this),this._kernelChanged=new o.Signal(this),this._statusChanged=new o.Signal(this),this._connectionStatusChanged=new o.Signal(this),this._pendingInput=new o.Signal(this),this._iopubMessage=new o.Signal(this),this._unhandledMessage=new o.Signal(this),this._anyMessage=new o.Signal(this),this._propertyChanged=new o.Signal(this),this._id=e.model.id,this._name=e.model.name,this._path=e.model.path,this._type=e.model.type,this._username=null!=(t=e.username)?t:"",this._clientId=null!=(n=e.clientId)?n:s.UUID.uuid4(),this._connectToKernel=e.connectToKernel,this._kernelConnectionOptions=null!=(i=e.kernelConnectionOptions)?i:{},this.serverSettings=null!=(l=e.serverSettings)?l:r.ServerConnection.makeSettings(),this._sessionAPIClient=null!=(d=e.sessionAPIClient)?d:new a.SessionAPIClient({serverSettings:this.serverSettings}),this.setupKernel(e.model.kernel)}get disposed(){return this._disposed}get kernelChanged(){return this._kernelChanged}get statusChanged(){return this._statusChanged}get connectionStatusChanged(){return this._connectionStatusChanged}get pendingInput(){return this._pendingInput}get iopubMessage(){return this._iopubMessage}get unhandledMessage(){return this._unhandledMessage}get anyMessage(){return this._anyMessage}get propertyChanged(){return this._propertyChanged}get id(){return this._id}get kernel(){return this._kernel}get path(){return this._path}get type(){return this._type}get name(){return this._name}get model(){return{id:this.id,kernel:this.kernel&&{id:this.kernel.id,name:this.kernel.name},path:this._path,type:this._type,name:this._name}}get isDisposed(){return this._isDisposed}update(e){let t=this.model;if(this._path=e.path,this._name=e.name,this._type=e.type,null===this._kernel&&null!==e.kernel||null!==this._kernel&&null===e.kernel||null!==this._kernel&&null!==e.kernel&&this._kernel.id!==e.kernel.id){null!==this._kernel&&this._kernel.dispose();let t=this._kernel||null;this.setupKernel(e.kernel);let n=this._kernel||null;this._kernelChanged.emit({name:"kernel",oldValue:t,newValue:n})}this._handleModelChange(t)}dispose(){if(!this.isDisposed){if(this._isDisposed=!0,this._disposed.emit(),this._kernel){this._kernel.dispose();let e=this._kernel;this._kernel=null;let t=this._kernel;this._kernelChanged.emit({name:"kernel",oldValue:e,newValue:t})}o.Signal.clearData(this)}}async setPath(e){if(this.isDisposed)throw Error("Session is disposed");await this._patch({path:e})}async setName(e){if(this.isDisposed)throw Error("Session is disposed");await this._patch({name:e})}async setType(e){if(this.isDisposed)throw Error("Session is disposed");await this._patch({type:e})}async changeKernel(e){if(this.isDisposed)throw Error("Session is disposed");return await this._patch({kernel:e}),this.kernel}async shutdown(){if(this.isDisposed)throw Error("Session is disposed");await this._sessionAPIClient.shutdown(this.id),this.dispose()}setupKernel(e){if(null===e){this._kernel=null;return}let t=this._connectToKernel({...this._kernelConnectionOptions,model:e,username:this._username,clientId:this._clientId,serverSettings:this.serverSettings});this._kernel=t,t.statusChanged.connect(this.onKernelStatus,this),t.connectionStatusChanged.connect(this.onKernelConnectionStatus,this),t.pendingInput.connect(this.onPendingInput,this),t.unhandledMessage.connect(this.onUnhandledMessage,this),t.iopubMessage.connect(this.onIOPubMessage,this),t.anyMessage.connect(this.onAnyMessage,this)}onKernelStatus(e,t){this._statusChanged.emit(t)}onKernelConnectionStatus(e,t){this._connectionStatusChanged.emit(t)}onPendingInput(e,t){this._pendingInput.emit(t)}onIOPubMessage(e,t){this._iopubMessage.emit(t)}onUnhandledMessage(e,t){this._unhandledMessage.emit(t)}onAnyMessage(e,t){this._anyMessage.emit(t)}async _patch(e){let t=await this._sessionAPIClient.update({...e,id:this._id});return this.update(t),t}_handleModelChange(e){e.name!==this._name&&this._propertyChanged.emit("name"),e.type!==this._type&&this._propertyChanged.emit("type"),e.path!==this._path&&this._propertyChanged.emit("path")}}t.SessionConnection=l},86923(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(){var e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var r=e(t),s=0;s<r.length;s++)"default"!==r[s]&&i(n,t,r[s]);return o(n,t),n}}(),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.SessionAPI=t.Session=void 0,t.Session=r(n(82827)),t.SessionAPI=r(n(70637)),s(n(57740),t)},57740(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SessionManager=void 0;let i=n(59807),o=n(20659),r=n(1089),s=n(5412),a=n(26830),l=n(70637);class d extends s.BaseManager{constructor(e){var t,n;super(e),this._isReady=!1,this._sessionConnections=new Set,this._models=new Map,this._runningChanged=new o.Signal(this),this._connectionFailure=new o.Signal(this),this._connectToKernel=e=>this._kernelManager.connectTo(e),this._kernelManager=e.kernelManager,this._sessionAPIClient=null!=(t=e.sessionAPIClient)?t:new l.SessionAPIClient({serverSettings:e.serverSettings}),this._pollModels=new i.Poll({auto:!1,factory:()=>this.requestRunning(),frequency:{interval:1e4,backoff:!0,max:3e5},name:"@jupyterlab/services:SessionManager#models",standby:null!=(n=e.standby)?n:"when-hidden"}),this._ready=(async()=>{await this._pollModels.start(),await this._pollModels.tick,this._kernelManager.isActive&&await this._kernelManager.ready,this._isReady=!0})()}get isReady(){return this._isReady}get ready(){return this._ready}get runningChanged(){return this._runningChanged}get connectionFailure(){return this._connectionFailure}dispose(){this.isDisposed||(this._models.clear(),this._sessionConnections.forEach(e=>e.dispose()),this._pollModels.dispose(),super.dispose())}connectTo(e){let t=new a.SessionConnection({...e,connectToKernel:this._connectToKernel,serverSettings:this.serverSettings,sessionAPIClient:this._sessionAPIClient});return this._onStarted(t),this._models.has(e.model.id)||this.refreshRunning().catch(()=>{}),t}running(){return this._models.values()}async refreshRunning(){await this._pollModels.refresh(),await this._pollModels.tick}async startNew(e,t={}){let n=await this._sessionAPIClient.startNew(e);return await this.refreshRunning(),this.connectTo({...t,model:n})}async shutdown(e){await this._sessionAPIClient.shutdown(e),await this.refreshRunning()}async shutdownAll(){await this.refreshRunning(),await Promise.all([...this._models.keys()].map(e=>this._sessionAPIClient.shutdown(e))),await this.refreshRunning()}async stopIfNeeded(e){try{let t=(await this._sessionAPIClient.listRunning()).filter(t=>t.path===e);if(1===t.length){let e=t[0].id;await this.shutdown(e)}}catch(e){}}async findById(e){return this._models.has(e)||await this.refreshRunning(),this._models.get(e)}async findByPath(e){for(let t of this._models.values())if(t.path===e)return t;for(let t of(await this.refreshRunning(),this._models.values()))if(t.path===e)return t}async requestRunning(){var e,t;let n;try{n=await this._sessionAPIClient.listRunning()}catch(n){throw(n instanceof r.ServerConnection.NetworkError||(null==(e=n.response)?void 0:e.status)===503||(null==(t=n.response)?void 0:t.status)===424)&&this._connectionFailure.emit(n),n}this.isDisposed||this._models.size===n.length&&n.every(e=>{var t,n,i,o;let r=this._models.get(e.id);return!!r&&(null==(t=r.kernel)?void 0:t.id)===(null==(n=e.kernel)?void 0:n.id)&&(null==(i=r.kernel)?void 0:i.name)===(null==(o=e.kernel)?void 0:o.name)&&r.name===e.name&&r.path===e.path&&r.type===e.type})||(this._models=new Map(n.map(e=>[e.id,e])),this._sessionConnections.forEach(e=>{this._models.has(e.id)?e.update(this._models.get(e.id)):e.dispose()}),this._runningChanged.emit(n))}_onStarted(e){this._sessionConnections.add(e),e.disposed.connect(this._onDisposed,this),e.propertyChanged.connect(this._onChanged,this),e.kernelChanged.connect(this._onChanged,this)}_onDisposed(e){this._sessionConnections.delete(e),this.refreshRunning().catch(()=>{})}_onChanged(){this.refreshRunning().catch(()=>{})}}t.SessionManager=d,function(e){class t extends e{constructor(){super(...arguments),this._readyPromise=new Promise(()=>{})}get isActive(){return!1}get parentReady(){return super.ready}async startNew(e,t={}){return Promise.reject(Error("Not implemented in no-op Session Manager"))}connectTo(e){throw Error("Not implemented in no-op Session Manager")}get ready(){return this.parentReady.then(()=>this._readyPromise)}async shutdown(e){return Promise.reject(Error("Not implemented in no-op Session Manager"))}async requestRunning(){return Promise.resolve()}}e.NoopManager=t}(d||(t.SessionManager=d={}))},70637(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SessionAPIClient=t.SESSION_SERVICE_URL=void 0,t.listRunning=s,t.getSessionUrl=a,t.shutdownSession=l,t.getSessionModel=d,t.startSession=c,t.updateSession=h;let i=n(1089),o=n(28951),r=n(11521);async function s(e=i.ServerConnection.makeSettings()){let n=o.URLExt.join(e.baseUrl,t.SESSION_SERVICE_URL),a=await i.ServerConnection.makeRequest(n,{},e);if(200!==a.status)throw await i.ServerConnection.ResponseError.create(a);let l=await a.json();if(!Array.isArray(l))throw Error("Invalid Session list");return l.forEach(e=>{(0,r.updateLegacySessionModel)(e),(0,r.validateModel)(e)}),l}function a(e,n){let i=o.URLExt.join(e,t.SESSION_SERVICE_URL),r=o.URLExt.join(i,n);if(!r.startsWith(i))throw Error("Can only be used for services requests");return r}async function l(e,t=i.ServerConnection.makeSettings()){var n;let o=a(t.baseUrl,e),r={method:"DELETE"},s=await i.ServerConnection.makeRequest(o,r,t);if(404===s.status)console.warn(null!=(n=(await s.json()).message)?n:`The session "${e}"" does not exist on the server`);else if(410===s.status)throw new i.ServerConnection.ResponseError(s,"The kernel was deleted but the session was not");else if(204!==s.status)throw await i.ServerConnection.ResponseError.create(s)}async function d(e,t=i.ServerConnection.makeSettings()){let n=a(t.baseUrl,e),o=await i.ServerConnection.makeRequest(n,{},t);if(200!==o.status)throw await i.ServerConnection.ResponseError.create(o);let s=await o.json();return(0,r.updateLegacySessionModel)(s),(0,r.validateModel)(s),s}async function c(e,n=i.ServerConnection.makeSettings()){let s=o.URLExt.join(n.baseUrl,t.SESSION_SERVICE_URL),a={method:"POST",body:JSON.stringify(e)},l=await i.ServerConnection.makeRequest(s,a,n);if(201!==l.status)throw await i.ServerConnection.ResponseError.create(l);let d=await l.json();return(0,r.updateLegacySessionModel)(d),(0,r.validateModel)(d),d}async function h(e,t=i.ServerConnection.makeSettings()){let n=a(t.baseUrl,e.id),o={method:"PATCH",body:JSON.stringify(e)},s=await i.ServerConnection.makeRequest(n,o,t);if(200!==s.status)throw await i.ServerConnection.ResponseError.create(s);let l=await s.json();return(0,r.updateLegacySessionModel)(l),(0,r.validateModel)(l),l}t.SESSION_SERVICE_URL="api/sessions";class u{constructor(e){var t;this.serverSettings=null!=(t=e.serverSettings)?t:i.ServerConnection.makeSettings()}async listRunning(){return s(this.serverSettings)}async getModel(e){return d(e,this.serverSettings)}async startNew(e){return c(e,this.serverSettings)}async shutdown(e){return l(e,this.serverSettings)}async update(e){return h(e,this.serverSettings)}}t.SessionAPIClient=u},82827(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},11521(e,t,n){"use strict";var i;i={value:!0},t.validateModel=s,t.updateLegacySessionModel=a,i=l;let o=n(38872),r=n(1480);function s(e){(0,r.validateProperty)(e,"id","string"),(0,r.validateProperty)(e,"type","string"),(0,r.validateProperty)(e,"name","string"),(0,r.validateProperty)(e,"path","string"),(0,r.validateProperty)(e,"kernel","object"),(0,o.validateModel)(e.kernel)}function a(e){void 0===e.path&&void 0!==e.notebook&&(e.path=e.notebook.path,e.type="notebook",e.name="")}function l(e){if(!Array.isArray(e))throw Error("Invalid session list");e.forEach(e=>s(e))}},95399(e,t,n){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SettingManager=void 0;let o=n(28951),r=n(99873),s=n(1089),a="api/settings";class l extends r.DataConnector{constructor(e={}){var t;super(),this.serverSettings=null!=(t=e.serverSettings)?t:s.ServerConnection.makeSettings()}async fetch(e){if(!e)throw Error("Plugin `id` parameter is required for settings fetch.");let{serverSettings:t}=this,{baseUrl:n,appUrl:o}=t,{makeRequest:r,ResponseError:a}=s.ServerConnection,l=n+o,d=i.url(l,e),c=await r(d,{},t);if(200!==c.status)throw await a.create(c);return c.json()}async list(e){var t,n,o,r;let{serverSettings:a}=this,{baseUrl:l,appUrl:d}=a,{makeRequest:c,ResponseError:h}=s.ServerConnection,u=l+d,p=i.url(u,"","ids"===e),m=await c(p,{},a);if(200!==m.status)throw new h(m);let g=await m.json(),A=null!=(n=null==(t=null==g?void 0:g.settings)?void 0:t.map(e=>e.id))?n:[],C=[];return e||(C=null!=(r=null==(o=null==g?void 0:g.settings)?void 0:o.map(e=>(e.data={composite:{},user:{}},e)))?r:[]),{ids:A,values:C}}async save(e,t){let{serverSettings:n}=this,{baseUrl:o,appUrl:r}=n,{makeRequest:a,ResponseError:l}=s.ServerConnection,d=o+r,c=i.url(d,e),h={body:JSON.stringify({raw:t}),method:"PUT"},u=await a(c,h,n);if(204!==u.status)throw new l(u)}}t.SettingManager=l,function(e){e.url=function(e,t,n){let i=n?o.URLExt.objectToQueryString({ids_only:!0}):"",r=o.URLExt.join(e,a),s=o.URLExt.join(r,t);if(!s.startsWith(r))throw Error("Can only be used for workspaces requests");return`${s}${i}`}}(i||(i={}))},12100(e,t,n){"use strict";var i,o;i={value:!0},t.TerminalConnection=void 0;let r=n(28951),s=n(55187),a=n(20659),l=n(50608),d=n(84903);class c{constructor(e){var t,n;this._createSocket=()=>{this._errorIfDisposed(),this._clearSocket(),this._updateConnectionStatus("connecting");let e=this._name,t=this.serverSettings,n=r.URLExt.join(t.wsUrl,"terminals","websocket",encodeURIComponent(e)),i=t.token;t.appendToken&&""!==i&&(n+=`?token=${encodeURIComponent(i)}`),this._ws=new t.WebSocket(n),this._ws.onmessage=this._onWSMessage,this._ws.onclose=this._onWSClose,this._ws.onerror=this._onWSClose},this._onWSMessage=e=>{if(this._isDisposed)return;let t=JSON.parse(e.data);if("disconnect"===t[0]&&this.dispose(),"connecting"===this._connectionStatus){"setup"===t[0]&&this._updateConnectionStatus("connected");return}this._messageReceived.emit({type:t[0],content:t.slice(1)})},this._onWSClose=e=>{console.warn(`Terminal websocket closed: ${e.code}`),this.isDisposed||1e3!==e.code&&1001!==e.code&&this._reconnect()},this._connectionStatus="connecting",this._connectionStatusChanged=new a.Signal(this),this._isDisposed=!1,this._disposed=new a.Signal(this),this._messageReceived=new a.Signal(this),this._reconnectTimeout=null,this._ws=null,this._noOp=()=>{},this._reconnectLimit=7,this._reconnectAttempt=0,this._pendingMessages=[],this._name=e.model.name,this.serverSettings=null!=(t=e.serverSettings)?t:l.ServerConnection.makeSettings(),this._terminalAPIClient=null!=(n=e.terminalAPIClient)?n:new d.TerminalAPIClient({serverSettings:this.serverSettings}),this._createSocket()}get disposed(){return this._disposed}get messageReceived(){return this._messageReceived}get name(){return this._name}get model(){return{name:this._name}}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._disposed.emit(),this._updateConnectionStatus("disconnected"),this._clearSocket(),a.Signal.clearData(this))}send(e){this._sendMessage(e)}_sendMessage(e,t=!0){if(!this._isDisposed&&e.content)if("connected"===this.connectionStatus&&this._ws){let t=[e.type,...e.content];this._ws.send(JSON.stringify(t))}else if(t)this._pendingMessages.push(e);else throw Error(`Could not send message: ${JSON.stringify(e)}`)}_sendPending(){for(;"connected"===this.connectionStatus&&this._pendingMessages.length>0;)this._sendMessage(this._pendingMessages[0],!1),this._pendingMessages.shift()}reconnect(){this._errorIfDisposed();let e=new s.PromiseDelegate,t=(n,i)=>{"connected"===i?(e.resolve(),this.connectionStatusChanged.disconnect(t,this)):"disconnected"===i&&(e.reject(Error("Terminal connection disconnected")),this.connectionStatusChanged.disconnect(t,this))};return this.connectionStatusChanged.connect(t,this),this._reconnectAttempt=0,this._reconnect(),e.promise}_reconnect(){if(this._errorIfDisposed(),clearTimeout(this._reconnectTimeout),this._reconnectAttempt<this._reconnectLimit){this._updateConnectionStatus("connecting");let e=o.getRandomIntInclusive(0,1e3*(Math.pow(2,this._reconnectAttempt)-1));console.error(`Connection lost, reconnecting in ${Math.floor(e/1e3)} seconds.`),this._reconnectTimeout=setTimeout(this._createSocket,e),this._reconnectAttempt+=1}else this._updateConnectionStatus("disconnected");this._clearSocket()}_clearSocket(){null!==this._ws&&(this._ws.onopen=this._noOp,this._ws.onclose=this._noOp,this._ws.onerror=this._noOp,this._ws.onmessage=this._noOp,this._ws.close(),this._ws=null)}async shutdown(){await this._terminalAPIClient.shutdown(this.name),this.dispose()}clone(){return new c({model:this.model,serverSettings:this.serverSettings,terminalAPIClient:this._terminalAPIClient})}_updateConnectionStatus(e){this._connectionStatus!==e&&(this._connectionStatus=e,"connecting"!==e&&(this._reconnectAttempt=0,clearTimeout(this._reconnectTimeout)),"connected"===e&&this._sendPending(),this._connectionStatusChanged.emit(e))}_errorIfDisposed(){if(this.isDisposed)throw Error("Terminal connection is disposed")}get connectionStatusChanged(){return this._connectionStatusChanged}get connectionStatus(){return this._connectionStatus}}t.TerminalConnection=c,function(e){e.getRandomIntInclusive=function(e,t){return e=Math.ceil(e),Math.floor(Math.random()*((t=Math.floor(t))-e+1))+e}}(o||(o={}))},67569(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(){var e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var r=e(t),s=0;s<r.length;s++)"default"!==r[s]&&i(n,t,r[s]);return o(n,t),n}}(),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalAPI=t.Terminal=void 0,t.Terminal=r(n(88917)),t.TerminalAPI=r(n(84903)),s(n(66810),t)},66810(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalManager=void 0;let i=n(59807),o=n(20659),r=n(50608),s=n(5412),a=n(84903),l=n(12100);class d extends s.BaseManager{constructor(e={}){var t,n;if(super(e),this._isReady=!1,this._names=[],this._terminalConnections=new Set,this._runningChanged=new o.Signal(this),this._connectionFailure=new o.Signal(this),this._terminalAPIClient=null!=(t=e.terminalAPIClient)?t:new a.TerminalAPIClient({serverSettings:this.serverSettings}),!this.isAvailable()){this._ready=Promise.reject("Terminals unavailable"),this._ready.catch(e=>void 0);return}const r=this._pollModels=new i.Poll({auto:!1,factory:()=>this.requestRunning(),frequency:{interval:1e4,backoff:!0,max:3e5},name:"@jupyterlab/services:TerminalManager#models",standby:null!=(n=e.standby)?n:"when-hidden"});this._ready=(async()=>{await r.start(),await r.tick,this._isReady=!0})()}get isReady(){return this._isReady}get ready(){return this._ready}get runningChanged(){return this._runningChanged}get connectionFailure(){return this._connectionFailure}dispose(){var e;this.isDisposed||(this._names.length=0,this._terminalConnections.forEach(e=>e.dispose()),null==(e=this._pollModels)||e.dispose(),super.dispose())}isAvailable(){return this._terminalAPIClient.isAvailable}connectTo(e){let t=new l.TerminalConnection({...e,serverSettings:this.serverSettings,terminalAPIClient:this._terminalAPIClient});return this._onStarted(t),this._names.includes(e.model.name)||this.refreshRunning().catch(()=>{}),t}running(){return this._models[Symbol.iterator]()}async refreshRunning(){this._pollModels&&(await this._pollModels.refresh(),await this._pollModels.tick)}async startNew(e={}){let{name:t,cwd:n}=e,i=await this._terminalAPIClient.startNew({name:t,cwd:n});return await this.refreshRunning(),this.connectTo({model:i})}async shutdown(e){await this._terminalAPIClient.shutdown(e),await this.refreshRunning()}async shutdownAll(){await this.refreshRunning(),await Promise.all(this._names.map(e=>this._terminalAPIClient.shutdown(e))),await this.refreshRunning()}async requestRunning(){var e,t;let n;try{n=await this._terminalAPIClient.listRunning()}catch(n){throw(n instanceof r.ServerConnection.NetworkError||(null==(e=n.response)?void 0:e.status)===503||(null==(t=n.response)?void 0:t.status)===424)&&this._connectionFailure.emit(n),n}if(this.isDisposed)return;let i=n.map(({name:e})=>e).sort();i!==this._names&&(this._names=i,this._terminalConnections.forEach(e=>{i.includes(e.name)||e.dispose()}),this._runningChanged.emit(this._models))}_onStarted(e){this._terminalConnections.add(e),e.disposed.connect(this._onDisposed,this)}_onDisposed(e){this._terminalConnections.delete(e),this.refreshRunning().catch(()=>{})}get _models(){return this._names.map(e=>({name:e}))}}t.TerminalManager=d,function(e){class t extends e{constructor(){super(...arguments),this._readyPromise=new Promise(()=>{})}get isActive(){return!1}get parentReady(){return super.ready}get ready(){return this.parentReady.then(()=>this._readyPromise)}async startNew(e){return Promise.reject(Error("Not implemented in no-op Terminal Manager"))}connectTo(e){throw Error("Not implemented in no-op Terminal Manager")}async shutdown(e){return Promise.reject(Error("Not implemented in no-op Terminal Manager"))}async requestRunning(){return Promise.resolve()}}e.NoopManager=t}(d||(t.TerminalManager=d={}))},84903(e,t,n){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalAPIClient=t.TERMINAL_SERVICE_URL=void 0,t.isAvailable=s,t.startNew=a,t.listRunning=l,t.shutdownTerminal=d;let o=n(28951),r=n(1089);function s(){return"true"===String(o.PageConfig.getOption("terminalsAvailable")).toLowerCase()}async function a(e=r.ServerConnection.makeSettings(),n,s){i.errorIfNotAvailable();let l=o.URLExt.join(e.baseUrl,t.TERMINAL_SERVICE_URL),d={method:"POST",body:JSON.stringify({name:n,cwd:s})},c=await r.ServerConnection.makeRequest(l,d,e);if(200!==c.status)throw await r.ServerConnection.ResponseError.create(c);return await c.json()}async function l(e=r.ServerConnection.makeSettings()){i.errorIfNotAvailable();let n=o.URLExt.join(e.baseUrl,t.TERMINAL_SERVICE_URL),s=await r.ServerConnection.makeRequest(n,{},e);if(200!==s.status)throw await r.ServerConnection.ResponseError.create(s);let a=await s.json();if(!Array.isArray(a))throw Error("Invalid terminal list");return a}async function d(e,n=r.ServerConnection.makeSettings()){var s;i.errorIfNotAvailable();let a=o.URLExt.join(n.baseUrl,t.TERMINAL_SERVICE_URL),l=o.URLExt.join(a,e);if(!l.startsWith(a))throw Error("Can only be used for terminal requests");let c={method:"DELETE"},h=await r.ServerConnection.makeRequest(l,c,n);if(404===h.status)console.warn(null!=(s=(await h.json()).message)?s:`The terminal session "${e}"" does not exist on the server`);else if(204!==h.status)throw await r.ServerConnection.ResponseError.create(h)}t.TERMINAL_SERVICE_URL="api/terminals";class c{constructor(e={}){var t;this.serverSettings=null!=(t=e.serverSettings)?t:r.ServerConnection.makeSettings()}get isAvailable(){return s()}async startNew(e={}){let{name:t,cwd:n}=e;return a(this.serverSettings,t,n)}async listRunning(){return l(this.serverSettings)}async shutdown(e){return d(e,this.serverSettings)}}t.TerminalAPIClient=c,function(e){e.errorIfNotAvailable=function(){if(!s())throw Error("Terminals Unavailable")}}(i||(i={}))},88917(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAvailable=void 0;let i=n(84903);Object.defineProperty(t,"isAvailable",{enumerable:!0,get:function(){return i.isAvailable}})},80856(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IWorkspaceManager=t.IUserManager=t.ITerminalManager=t.IServiceManager=t.ISettingManager=t.ISessionManager=t.IServerSettings=t.INbConvertManager=t.IKernelSpecManager=t.IKernelManager=t.IEventManager=t.IDefaultDrive=t.IDefaultContentProvider=t.IContentsManager=t.IConfigSectionManager=t.IConnectionStatus=void 0;let i=n(55187);t.IConnectionStatus=new i.Token("@jupyterlab/application:IConnectionStatus","A service providing the application connection status."),t.IConfigSectionManager=new i.Token("@jupyterlab/services:IConfigSectionManager","A service providing the config section manager."),t.IContentsManager=new i.Token("@jupyterlab/services:IContentsManager","The contents manager token."),t.IDefaultContentProvider=new i.Token("@jupyterlab/services:IDefaultContentProvider","The default content provider for the contents manager."),t.IDefaultDrive=new i.Token("@jupyterlab/services:IDefaultDrive","The default drive for the contents manager."),t.IEventManager=new i.Token("@jupyterlab/services:IEventManager","The event manager token."),t.IKernelManager=new i.Token("@jupyterlab/services:IKernelManager","The kernel manager token."),t.IKernelSpecManager=new i.Token("@jupyterlab/services:IKernelSpecManager","The kernel spec manager token."),t.INbConvertManager=new i.Token("@jupyterlab/services:INbConvertManager","The nbconvert manager token."),t.IServerSettings=new i.Token("@jupyterlab/services:IServerSettings","The server settings for the application."),t.ISessionManager=new i.Token("@jupyterlab/services:ISessionManager","The session manager token."),t.ISettingManager=new i.Token("@jupyterlab/services:ISettingManager","The setting manager token."),t.IServiceManager=new i.Token("@jupyterlab/services:IServiceManager","The service manager for the application."),t.ITerminalManager=new i.Token("@jupyterlab/services:ITerminalManager","The terminal manager token."),t.IUserManager=new i.Token("@jupyterlab/services:IUserManager","The user manager token."),t.IWorkspaceManager=new i.Token("@jupyterlab/services:IWorkspaceManager","The workspace manager token.")},18430(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(){var e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var r=e(t),s=0;s<r.length;s++)"default"!==r[s]&&i(n,t,r[s]);return o(n,t),n}}(),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.UserAPI=t.User=void 0,t.User=r(n(71483)),t.UserAPI=r(n(34320)),s(n(60961),t)},60961(e,t,n){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.UserManager=void 0;let o=n(55187),r=n(59807),s=n(20659),a=n(5412),l=n(34320),d="@jupyterlab/services:UserManager#user";class c extends a.BaseManager{constructor(e={}){var t,n;super(e),this._isReady=!1,this._userChanged=new s.Signal(this),this._connectionFailure=new s.Signal(this),this._userApiClient=null!=(t=e.userApiClient)?t:new l.UserAPIClient({serverSettings:this.serverSettings}),this._ready=this.requestUser().then(()=>{this.isDisposed||(this._isReady=!0)}).catch(e=>new Promise(()=>{})),this._pollUser=new r.Poll({auto:!1,factory:()=>this.requestUser(),frequency:{interval:61e3,backoff:!0,max:3e5},name:d,standby:null!=(n=e.standby)?n:"when-hidden"}),this.ready.then(()=>{this._pollUser.start()})}get isReady(){return this._isReady}get ready(){return this._ready}get identity(){return this._identity}get permissions(){return this._permissions}get userChanged(){return this._userChanged}get connectionFailure(){return this._connectionFailure}dispose(){this._pollUser.dispose(),super.dispose()}async refreshUser(){await this._pollUser.refresh(),await this._pollUser.tick}async requestUser(){if(this.isDisposed)return;let e={identity:this._identity,permissions:this._permissions},t=await this._userApiClient.get(),n=t.identity,{localStorage:r}=window,s=r.getItem(d);if(s&&(!n.initials||!n.color)){let e=JSON.parse(s);n.initials=n.initials||e.initials||n.name.substring(0,1),n.color=n.color||e.color||i.getRandomColor()}o.JSONExt.deepEqual(t,e)||(this._identity=n,this._permissions=t.permissions,r.setItem(d,JSON.stringify(n)),this._userChanged.emit(t))}}t.UserManager=c,function(e){let t=["var(--jp-collaborator-color1)","var(--jp-collaborator-color2)","var(--jp-collaborator-color3)","var(--jp-collaborator-color4)","var(--jp-collaborator-color5)","var(--jp-collaborator-color6)","var(--jp-collaborator-color7)"];e.getRandomColor=()=>t[Math.floor(Math.random()*t.length)]}(i||(i={}))},34320(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserAPIClient=void 0;let i=n(1089),o=n(28951),r="api/me";class s{constructor(e={}){var t;this.serverSettings=null!=(t=e.serverSettings)?t:i.ServerConnection.makeSettings()}async get(){let{baseUrl:e}=this.serverSettings,{makeRequest:t,ResponseError:n}=i.ServerConnection,s=o.URLExt.join(e,r),a=await t(s,{},this.serverSettings);if(200!==a.status)throw await n.create(a);return await a.json()}}t.UserAPIClient=s},71483(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},1480(e,t){"use strict";var n;n={value:!0},t.validateProperty=function e(t,n,i,o=[]){if(!t.hasOwnProperty(n))throw Error(`Missing property '${n}'`);let r=t[n];if(void 0!==i){let e;switch(i){case"array":e=Array.isArray(r);break;case"object":e=void 0!==r;break;default:e=typeof r===i}if(!e)throw Error(`Property '${n}' is not of type '${i}'`);if(o.length>0){let e;switch(i){case"string":case"number":case"boolean":e=o.includes(r);break;default:e=o.findIndex(e=>e===r)>=0}if(!e)throw Error(`Property '${n}' is not one of the valid values ${JSON.stringify(o)}`)}}}},90362(e,t,n){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceManager=void 0;let o=n(28951),r=n(99873),s=n(1089),a="api/workspaces";class l extends r.DataConnector{constructor(e={}){var t;super(),this.serverSettings=null!=(t=e.serverSettings)?t:s.ServerConnection.makeSettings()}async fetch(e){let{serverSettings:t}=this,{baseUrl:n,appUrl:o}=t,{makeRequest:r,ResponseError:a}=s.ServerConnection,l=n+o,d=i.url(l,e),c=await r(d,{},t);if(200!==c.status)throw await a.create(c);return c.json()}async list(){let{serverSettings:e}=this,{baseUrl:t,appUrl:n}=e,{makeRequest:o,ResponseError:r}=s.ServerConnection,a=t+n,l=i.url(a,""),d=await o(l,{},e);if(200!==d.status)throw await r.create(d);return(await d.json()).workspaces}async remove(e){let{serverSettings:t}=this,{baseUrl:n,appUrl:o}=t,{makeRequest:r,ResponseError:a}=s.ServerConnection,l=n+o,d=i.url(l,e),c={method:"DELETE"},h=await r(d,c,t);if(204!==h.status)throw await a.create(h)}async save(e,t){let{serverSettings:n}=this,{baseUrl:o,appUrl:r}=n,{makeRequest:a,ResponseError:l}=s.ServerConnection,d=o+r,c=i.url(d,e),h={body:JSON.stringify(t),method:"PUT"},u=await a(c,h,n);if(204!==u.status)throw await l.create(u)}}t.WorkspaceManager=l,function(e){e.url=function(e,t){let n=o.URLExt.join(e,a),i=o.URLExt.join(n,t);if(!i.startsWith(n))throw Error("Can only be used for workspaces requests");return i}}(i||(i={}))},57187(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>x});var i,o=n(57941),r=n(97518),s=n(78071),a=n(8989),l=n(31031),d=n(667),c=n(90149),h=n(46109),u=n(99873),p=n(2786),m=n(60721),g=n.n(m);let A=e=>{let t=e.translator.load("jupyterlab"),[n,i]=(0,m.useState)(e.importedSettings.reduce((e,t)=>(e[t]=!0,e),{})),o=(e,t)=>{i({...n,[e]:t})};return g().createElement("div",{className:"jp-SettingsImport-container"},g().createElement("div",{className:"jp-SettingsImport-header"},g().createElement("span",{className:"jp-SettingsImport-title"},t.__("Select settings sections to import")),g().createElement("button",{className:"jp-Button jp-mod-styled jp-mod-accept",onClick:()=>{e.handleImport(Object.keys(n).filter(e=>!n[e]))}},t.__("Import"))),g().createElement("div",{className:"jp-SettingsImport-list"},e.importedSettings.map(e=>g().createElement("label",{key:e,className:"jp-SettingsImport-item"},g().createElement("span",{className:"jp-SettingsImport-itemKey"},e),g().createElement("input",{type:"checkbox",checked:n[e],onChange:t=>o(e,t.target.checked),className:"jp-SettingsImport-checkbox"})))))};class C extends a.ReactWidget{constructor(e){const{importedSettings:t,handleImport:n,translator:i}=e;super(),this.importedSettings=t,this.handleImport=n,this.addClass("jp-SettingsImport-widget"),this.translator=i}render(){return g().createElement(A,{importedSettings:this.importedSettings,handleImport:this.handleImport,translator:this.translator})}}let f=e=>g().createElement("div",null,g().createElement("div",null,e.successMessage),e.failureMessage&&g().createElement("div",null,g().createElement("br",null),g().createElement("div",null,e.failureMessage),e.failedSettings&&e.failedSettings.map((e,t)=>g().createElement("div",{key:t},e))));class b extends a.ReactWidget{constructor(e){super(),this._props=e}render(){return g().createElement(f,{...this._props})}}var v=n(92286),_=n(98260);let y=["@jupyterlab/application-extension:context-menu","@jupyterlab/mainmenu-extension:plugin"];!function(e){e.open="settingeditor:open",e.openJSON="settingeditor:open-json",e.revert="settingeditor:revert",e.save="settingeditor:save",e.exportSettings="settingeditor:export",e.importSettings="settingeditor:import"}(i||(i={}));let E={id:"@jupyterlab/settingeditor-extension:form-ui",description:"Adds the interactive settings editor and provides its tracker.",requires:[h.ISettingRegistry,u.IStateDB,p.ITranslator,a.IFormRendererRegistry,o.ILabStatus],optional:[o.ILayoutRestorer,r.ICommandPalette,d.F,c.IPluginManager],autoStart:!0,provides:d.z,activate:w};function w(e,t,o,s,l,d,c,h,u,p){let m=s.load("jupyterlab"),{commands:g,shell:A}=e,C="setting-editor",f=new r.WidgetTracker({namespace:C});c&&c.restore(f,{command:i.open,args:e=>({}),name:e=>C});let b=async e=>{if(f.currentWidget&&!f.currentWidget.isDisposed){f.currentWidget.isAttached||A.add(f.currentWidget,"main",{type:"Settings"}),A.activateById(f.currentWidget.id),e.query&&f.currentWidget.content.updateQuery(e.query);return}let c=E.id,{SettingsEditor:h}=await n.e(774).then(n.t.bind(n,24517,23)),b=(await t.load(E.id)).get("toSkip").composite,v=[...new Set([...y,...Array.isArray(b)?b:[]])],_=new r.MainAreaWidget({content:new h({editorRegistry:l,key:c,registry:t,state:o,commands:g,toSkip:v,translator:s,status:d,query:e.query})});_.toolbar.addItem("export-settings",new a.CommandToolbarButton({commands:g,id:i.exportSettings,icon:a.downloadIcon,label:m.__("Export"),caption:m.__("Export settings to a JSON file")})),_.toolbar.addItem("import-settings",new a.CommandToolbarButton({commands:g,id:i.importSettings,icon:a.fileUploadIcon,label:m.__("Import"),caption:m.__("Import settings from a JSON file")})),_.toolbar.addItem("spacer",a.Toolbar.createSpacerItem()),p&&_.toolbar.addItem("open-plugin-manager",new a.ToolbarButton({onClick:async()=>{await p.open()},icon:a.launchIcon,label:m.__("Plugin Manager")})),u&&_.toolbar.addItem("open-json-editor",new a.CommandToolbarButton({commands:g,id:i.openJSON,icon:a.launchIcon,label:m.__("JSON Settings Editor")})),_.id=C,_.title.icon=a.settingsIcon,_.title.label=m.__("Settings"),_.title.closable=!0,f.add(_),A.add(_,"main",{type:"Settings"})};return g.addCommand(i.open,{execute:async e=>{var n;"ui"===e.settingEditorType?g.execute(i.open,{query:null!=(n=e.query)?n:""}):"json"===e.settingEditorType?g.execute(i.openJSON):t.load(E.id).then(t=>{var n;"json"===t.get("settingEditorType").composite?g.execute(i.openJSON):b({query:null!=(n=e.query)?n:""})})},label:e=>e.label?e.label:m.__("Settings Editor"),describedBy:{args:{type:"object",properties:{query:{type:"string",description:m.__("Search query to filter settings")},settingEditorType:{type:"string",enum:["ui","json"],description:m.__("Type of settings editor to open")},label:{type:"string",description:m.__("Custom label for the command")}}}}}),h&&h.addItem({category:m.__("Settings"),command:i.open,args:{settingEditorType:"ui"}}),f}function j(e,t,o,s,l,d,c,h,u){let p=c.load("jupyterlab"),{commands:m,shell:g}=e,A="json-setting-editor",f=o.factoryService.newInlineEditor,y=new r.WidgetTracker({namespace:A});function w(e){let t={};for(let[n,i]of Object.entries(e.plugins))if(i)try{if(i.raw){let e=i.raw.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,""),o=JSON.parse(e);Object.keys(o).length>0&&(t[n]=o)}}catch(e){console.error(`Error loading settings for plugin ${n}:`,e)}return t}function j(e,t){let n=new Blob([e],{type:"application/json"}),i=URL.createObjectURL(n),o=document.createElement("a");o.href=i,o.download=t,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(i)}return h&&h.restore(y,{command:i.openJSON,args:e=>({}),name:e=>A}),m.addCommand(i.openJSON,{execute:async()=>{if(y.currentWidget&&!y.currentWidget.isDisposed){y.currentWidget.isAttached||g.add(y.currentWidget,"main",{type:"Advanced Settings"}),g.activateById(y.currentWidget.id);return}let o=E.id,h=e.restored,{JsonSettingEditor:u}=await n.e(774).then(n.t.bind(n,24517,23)),C=new u({commands:{registry:m,revert:i.revert,save:i.save},editorFactory:e=>{var t;return f({...e,extensions:[...null!=(t=e.extensions)?t:[],(0,v.history)(),_.keymap.of(v.historyKeymap)]})},key:o,registry:t,rendermime:l,state:s,translator:c,when:h}),b=null;C.commandsChanged.connect((e,t)=>{t.forEach(e=>{m.notifyCommandChanged(e)}),C.canSaveRaw?b||(b=d.setDirty()):b&&(b.dispose(),b=null),C.disposed.connect(()=>{b&&b.dispose()})});let w=new r.MainAreaWidget({content:C});w.id=A,w.title.icon=a.settingsIcon,w.title.label=p.__("Advanced Settings Editor"),w.title.closable=!0,y.add(w),g.add(w,"main",{type:"Advanced Settings"})},label:p.__("Advanced Settings Editor"),describedBy:{args:{type:"object",properties:{}}}}),u&&u.addItem({category:p.__("Settings"),command:i.openJSON}),m.addCommand(i.revert,{execute:()=>{var e;null==(e=y.currentWidget)||e.content.revert()},icon:a.undoIcon,label:p.__("Revert User Settings"),isEnabled:()=>{var e,t;return null!=(t=null==(e=y.currentWidget)?void 0:e.content.canRevertRaw)&&t},describedBy:{args:{type:"object",properties:{}}}}),m.addCommand(i.save,{execute:()=>{var e;return null==(e=y.currentWidget)?void 0:e.content.save()},icon:a.saveIcon,label:p.__("Save User Settings"),isEnabled:()=>{var e,t;return null!=(t=null==(e=y.currentWidget)?void 0:e.content.canSaveRaw)&&t},describedBy:{args:{type:"object",properties:{}}}}),m.addCommand(i.exportSettings,{execute:()=>{j(JSON.stringify(w(t),null,2),"overrides.json")},label:p.__("Export Settings"),icon:a.downloadIcon,describedBy:{args:{type:"object",properties:{}}}}),m.addCommand(i.importSettings,{execute:()=>{let n=document.createElement("input");n.type="file",n.accept=".json";let i=4;n.addEventListener("change",async n=>{var o;let s=null==(o=n.target.files)?void 0:o[0];if(s)try{let n=await s.text(),o=JSON.parse(n);if("object"!=typeof o||Array.isArray(o))throw Error("Invalid settings file format");let l=[],d=async n=>{var s;let a=Object.entries(o);for(let[e,n]of a)if("object"!=typeof n||Array.isArray(n))console.warn(`Invalid settings for plugin ${e}. Skipping.`);else try{await t.upload(e,JSON.stringify(n,void 0,i))}catch(t){console.warn(`Failed to save settings for ${e}:`,t),l.push(e)}if(null==(s=e.shell.currentWidget)||s.close(),a.length){let e=a.length-l.length,t=p.__(`Imported settings across ${e} ${1===e?"category":"categories"} successfully.`),n=l.length?p.__(`Failed to upload settings for the following ${l.length} ${1===l.length?"plugin":"plugins"}`):"",i=new b({successMessage:t,failureMessage:n,failedSettings:l});await (0,r.showDialog)({title:p.__("Settings Imported"),body:i,buttons:[r.Dialog.okButton()]})}},h=Object.keys(o),u=new C({importedSettings:h,handleImport:d,translator:c}),m=new r.MainAreaWidget({content:u});m.title.label=p.__("Import Settings"),m.title.icon=a.fileUploadIcon,e.shell.add(m,"main"),e.shell.activateById(m.id)}catch(e){await (0,r.showErrorMessage)("Failed to import settings",e)}}),n.click()},label:p.__("Import Settings"),icon:a.fileUploadIcon,describedBy:{args:{type:"object",properties:{}}}}),y}let x=[E,{id:"@jupyterlab/settingeditor-extension:plugin",description:"Adds the JSON settings editor and provides its tracker.",requires:[h.ISettingRegistry,s.IEditorServices,u.IStateDB,l.IRenderMimeRegistry,o.ILabStatus,p.ITranslator],optional:[o.ILayoutRestorer,r.ICommandPalette],autoStart:!0,provides:d.F,activate:j}]},52730(e,t,n){"use strict";n(97777),n(62971),n(38415),n(22595),n(67474),n(52863),n(82311),n(51825);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(66314),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},82822(e,t,n){"use strict";n.r(t),n.d(t,{IJSONSettingEditorTracker:()=>W.F,ISettingEditorTracker:()=>W.z,JsonSettingEditor:()=>F,SettingsEditor:()=>x});var i,o,r,s=n(97518),a=n(2786),l=n(8989),d=n(20659),c=n(64001),h=n(60721),u=n.n(h),p=n(65819),m=n(55187);let g="jupyter.lab.setting-icon",A="jupyter.lab.setting-icon-class",C="jupyter.lab.setting-icon-label";class f extends s.ReactWidget{constructor(e){var t,n;super(),this._changed=new d.Signal(this),this._handleSelectSignal=new d.Signal(this),this._updateFilterSignal=new d.Signal(this),this._scrollTop=0,this._selection="",this._registry=this.registry=e.registry,this.translator=e.translator||a.nullTranslator,this.addClass("jp-PluginList"),this._confirm=e.confirm,this._model=null!=(t=e.model)?t:new f.Model(e),this._model.ready.then(()=>{this.update(),this._model.changed.connect(()=>{this.update()})}).catch(e=>{console.error(`Failed to load the plugin list model:
${e}`)}),this.mapPlugins=this.mapPlugins.bind(this),this.setFilter=this.setFilter.bind(this),this.setFilter(e.query?(0,l.updateFilterFunction)(e.query,!1,!1):null),this.setError=this.setError.bind(this),this._evtMousedown=this._evtMousedown.bind(this),this._query=null!=(n=e.query)?n:"",this._errors={}}get changed(){return this._changed}get scrollTop(){var e;return null==(e=this.node.querySelector("ul"))?void 0:e.scrollTop}get hasErrors(){for(let e in this._errors)if(this._errors[e])return!0;return!1}get filter(){return this._filter}get selection(){return this._selection}set selection(e){this._selection=e,this.update()}get updateFilterSignal(){return this._updateFilterSignal}get handleSelectSignal(){return this._handleSelectSignal}onUpdateRequest(e){let t=this.node.querySelector("ul");t&&void 0!==this._scrollTop&&(t.scrollTop=this._scrollTop),super.onUpdateRequest(e)}_evtMousedown(e){let t=e.currentTarget.getAttribute("data-id");t&&(this._confirm?this._confirm(t).then(()=>{this.selection=t,this._changed.emit(void 0),this.update()}).catch(()=>{}):(this._scrollTop=this.scrollTop,this._selection=t,this._handleSelectSignal.emit(t),this._changed.emit(void 0),this.update()))}getHint(e,t,n){let i=n.data.user[e];if(i||(i=n.data.composite[e]),i||(i=n.schema[e]),!i){let{properties:n}=t.schema;i=n&&n[e]&&n[e].default}return"string"==typeof i?i:""}getFilterString(e,t,n,i){var o;if(i&&n&&(t=null!=(o=n[i=i.replace("#/definitions/","")])?o:{}),t.properties)t=t.properties;else{if(!t.items)return[];t=t.items}return t.$ref?this.getFilterString(e,t,n,t.$ref):0===Object.keys(t).length?[]:Object.keys(t).reduce((i,o)=>{var r,s;let a=t[o];if(!a){if(e(null!=(r=t.title)?r:""))return t.title;if(e(o))return o}return e(null!=(s=a.title)?s:"")&&i.push(a.title),e(o)&&i.push(o),i.concat(this.getFilterString(e,a,n,a.$ref)),i},[])}setFilter(e,t){e?this._filter=t=>{var n,i;return!e||e(null!=(n=t.schema.title)?n:"")?null:this.getFilterString(e,null!=(i=t.schema)?i:{},t.schema.definitions)}:this._filter=null,this._query=t,this._updateFilterSignal.emit(this._filter),this.update()}setError(e,t){this._errors[e]!==t?(this._errors[e]=t,this.update()):this._errors[e]=t}mapPlugins(e){var t,n,i,o;let{id:r,schema:s,version:a}=e,d=this.translator.load("jupyterlab"),c="string"==typeof s.title?d._p("schema",s.title):r,h=p.StringExt.matchSumOfSquares(c.toLocaleLowerCase(),null!=(n=null==(t=this._query)?void 0:t.toLocaleLowerCase())?n:""),m=p.StringExt.highlight(c,null!=(i=null==h?void 0:h.indices)?i:[],e=>u().createElement("mark",null,e)),f="string"==typeof s.description?d._p("schema",s.description):"",b=`${f}
${r}
${a}`,v=this.getHint(g,this._registry,e),_=this.getHint(A,this._registry,e),y=this.getHint(C,this._registry,e),E=this._filter?null==(o=this._filter(e))?void 0:o.map(e=>{var t,n,i;let o=p.StringExt.matchSumOfSquares(e.toLocaleLowerCase(),null!=(n=null==(t=this._query)?void 0:t.toLocaleLowerCase())?n:""),s=p.StringExt.highlight(e,null!=(i=null==o?void 0:o.indices)?i:[],e=>u().createElement("mark",null,e));return u().createElement("li",{key:`${r}-${e}`}," ",s," ")}):void 0;return u().createElement("div",{onClick:this._evtMousedown,className:`${r===this.selection?"jp-mod-selected jp-PluginList-entry":"jp-PluginList-entry"} ${this._errors[r]?"jp-ErrorPlugin":""}`,"data-id":r,key:r,title:b},u().createElement("div",{className:"jp-PluginList-entry-label",role:"tab"},u().createElement("div",{className:"jp-SelectedIndicator"}),u().createElement(l.LabIcon.resolveReact,{icon:v||(_?void 0:l.settingsIcon),iconClass:(0,l.classes)(_,"jp-Icon"),title:y,tag:"span",stylesheet:"settingsEditor"}),u().createElement("span",{className:"jp-PluginList-entry-label-text"},m)),u().createElement("ul",null,E))}render(){let e=this.translator.load("jupyterlab"),t=this._model.plugins.filter(e=>{if(!this._filter)return!1;let t=this._filter(e);return null===t||t.length>0}),n=t.filter(e=>{var t;return null==(t=this._model.settings[e.id])?void 0:t.isModified}),i=n.map(this.mapPlugins),o=t.filter(e=>!n.includes(e)).map(this.mapPlugins);return u().createElement("div",{className:"jp-PluginList-wrapper"},u().createElement(l.FilterBox,{updateFilter:this.setFilter,useFuzzyFilter:!1,placeholder:e.__("Search settings…"),forceRefresh:!1,caseSensitive:!1,initialQuery:this._query}),i.length>0&&u().createElement("div",null,u().createElement("h1",{className:"jp-PluginList-header"},e.__("Modified")),u().createElement("ul",null,i)),o.length>0&&u().createElement("div",null,u().createElement("h1",{className:"jp-PluginList-header"},e.__("Settings")),u().createElement("ul",null,o)),0===i.length&&0===o.length&&u().createElement("p",{className:"jp-PluginList-noResults"},e.__("No items match your search.")))}}!function(e){e.sortPlugins=function(e){return Object.keys(e.plugins).map(t=>e.plugins[t]).sort((e,t)=>(e.schema.title||e.id).localeCompare(t.schema.title||t.id))};class t{constructor(e){var t;this._plugins=[],this._changed=new d.Signal(this),this._ready=new m.PromiseDelegate,this._settings={},this._settingsModified={},this._toSkip=null!=(t=e.toSkip)?t:[],this._registry=e.registry,this._registry.pluginChanged.connect(async(e,t)=>{let n=!1;if(this._plugins.map(e=>e.id).includes(t)||(this._plugins=this._loadPlugins(),n=!0),!this._settings[t]){let e=this._plugins.filter(e=>e.id===t);await this._loadSettings(e),n=!0}n&&this._changed.emit()},this),this._plugins=this._loadPlugins(),this._loadSettings(this._plugins).then(()=>{this._ready.resolve(void 0)}).catch(e=>{console.error(`Failed to load the settings:
${e}`)})}get plugins(){return this._plugins}get ready(){return this._ready.promise}get settings(){return this._settings}get changed(){return this._changed}_loadPlugins(){return this._sortPlugins(this._registry).filter(e=>{let{schema:t}=e,n=!0===t["jupyter.lab.setting-deprecated"],i=Object.keys(t.properties||{}).length>0,o=!1!==t.additionalProperties,r=!this._toSkip.includes(e.id);return!n&&r&&(i||o)})}async _loadSettings(e){for(let t of e){let e=await this._registry.load(t.id);e.changed.connect(()=>{e.isModified!==this._settingsModified[t.id]&&(this._changed.emit(),this._settingsModified[t.id]=e.isModified)}),this._settings[t.id]=e,this._settingsModified[t.id]=e.isModified}}_sortPlugins(e){return Object.keys(e.plugins).map(t=>e.plugins[t]).sort((e,t)=>(e.schema.title||e.id).localeCompare(t.schema.title||t.id))}}e.Model=t}(f||(f={}));var b=n(59807),v=n(72437),_=n.n(v);let y=4;class E extends u().Component{constructor(e){super(e),this._handleChange=(e,t)=>{if(t===this._changeId){if(!this.props.settings.isModified&&this.props.settings.isDefault(e)){this._lastSettledChangeId=t,this.props.updateDirtyState(!1);return}this.props.settings.save(JSON.stringify(e,void 0,y)).then(()=>{t===this._changeId&&(this._lastSettledChangeId=t,this._formData=this.props.settings.composite,this.props.updateDirtyState(!1),this.setState({isModified:this.props.settings.isModified}))}).catch(e=>{if(t!==this._changeId)return;this._lastSettledChangeId=t,this.props.updateDirtyState(!1);let n=this.props.translator.load("jupyterlab");(0,s.showErrorMessage)(n.__("Error saving settings."),e)})}},this.reset=async e=>{for(let t in e.stopPropagation(),this._changeId++,this._lastSettledChangeId=this._changeId,this.props.settings.user)await this.props.settings.remove(t);this._formData=this.props.settings.composite,this.setState({isModified:!1})},this._syncFormDataWithSettings=()=>{this._changeId===this._lastSettledChangeId&&(this._formData=this.props.settings.composite,this.setState((e,t)=>({isModified:t.settings.isModified})))},this._onChange=e=>{this.props.hasError(0!==e.errors.length);let t=m.JSONExt.deepCopy(this._formData);e.formData&&Object.keys(e.formData).forEach(n=>{let i=e.formData;i&&n in i&&(t[n]=i[n])}),this._formData=t;let n=++this._changeId;0===e.errors.length&&(this.props.updateDirtyState(!0),this._debouncer.invoke(this._formData,n)),this.props.onSelect(this.props.settings.id)},this._changeId=0,this._lastSettledChangeId=0;const{settings:t}=e;t.changed.connect(this._syncFormDataWithSettings),this._formData=t.composite,this.state={isModified:t.isModified,uiSchema:{},filteredSchema:this.props.settings.schema,formContext:{defaultFormData:this.props.settings.default(),settings:this.props.settings,schema:m.JSONExt.deepCopy(this.props.settings.schema)}},this.handleChange=this.handleChange.bind(this),this._debouncer=new b.Debouncer(this._handleChange)}componentDidMount(){this._setUiSchema(),this._setFilteredSchema()}componentDidUpdate(e){this._setUiSchema(e.renderers[e.settings.id]),this._setFilteredSchema(e.filteredValues),e.settings!==this.props.settings&&(e.settings.changed.disconnect(this._syncFormDataWithSettings),this.props.settings.changed.connect(this._syncFormDataWithSettings),this._formData=this.props.settings.composite,this._changeId++,this._lastSettledChangeId=this._changeId,this.setState(e=>({formContext:{...e.formContext,settings:this.props.settings,defaultFormData:this.props.settings.default()}})))}componentWillUnmount(){this.props.settings.changed.disconnect(this._syncFormDataWithSettings),this._debouncer.dispose()}handleChange(){this._handleChange(this._formData,this._changeId)}render(){let e=this.props.translator.load("jupyterlab");return u().createElement(u().Fragment,null,u().createElement("div",{className:"jp-SettingsHeader"},u().createElement("h2",{className:"jp-SettingsHeader-title",title:this.props.settings.schema.description},this.props.settings.schema.title),u().createElement("div",{className:"jp-SettingsHeader-buttonbar"},this.state.isModified&&u().createElement(l.Button,{className:"jp-RestoreButton",onClick:this.reset},e.__("Restore to Defaults"))),u().createElement("div",{className:"jp-SettingsHeader-description"},this.props.settings.schema.description)),u().createElement(l.FormComponent,{validator:_(),schema:this.state.filteredSchema,formData:this._getFilteredFormData(this.state.filteredSchema),uiSchema:this.state.uiSchema,fields:this.props.renderers[this.props.settings.id],formContext:this.state.formContext,liveValidate:!0,idPrefix:`jp-SettingsEditor-${this.props.settings.id}`,onChange:this._onChange,translator:this.props.translator,experimental_defaultFormStateBehavior:{emptyObjectFields:"populateRequiredDefaults"},buttonStyle:"icons"}))}_setUiSchema(e){var t;let n=this.props.renderers[this.props.settings.id];if(!m.JSONExt.deepEqual(Object.keys(null!=e?e:{}).sort(),Object.keys(null!=n?n:{}).sort())){let e={};for(let n in this.props.renderers[this.props.settings.id])Object.keys(null!=(t=this.props.settings.schema.properties)?t:{}).includes(n)&&(e[n]={"ui:field":n});this.setState({uiSchema:e})}}_setFilteredSchema(e){var t,n,i,o;if(void 0===e||!m.JSONExt.deepEqual(e,this.props.filteredValues)||!m.JSONExt.deepEqual(this.state.formContext.schema,this.props.settings.schema)){let e=m.JSONExt.deepCopy(this.props.settings.schema);if(null!=(n=null==(t=this.props.filteredValues)?void 0:t.length)&&n)for(let t in e.properties)(null==(i=this.props.filteredValues)?void 0:i.includes(null!=(o=e.properties[t].title)?o:t))||delete e.properties[t];this.setState(t=>({filteredSchema:e,formContext:{...t.formContext,schema:m.JSONExt.deepCopy(this.props.settings.schema)}}))}}_getFilteredFormData(e){if(!(null==e?void 0:e.properties))return this._formData;let t=m.JSONExt.deepCopy(this._formData);for(let n in t)e.properties[n]||delete t[n];return t}}let w=({translator:e})=>{let t=e.load("jupyterlab");return u().createElement("div",{className:"jp-SettingsEditor-placeholder"},u().createElement("div",{className:"jp-SettingsEditor-placeholderContent"},u().createElement("h3",null,t.__("No Plugin Selected")),u().createElement("p",null,t.__("Select a plugin from the list to view and edit its preferences."))))},j=({settings:e,editorRegistry:t,onSelect:n,handleSelectSignal:i,hasError:o,updateDirtyState:r,updateFilterSignal:s,translator:a,initialFilter:l})=>{let[d,c]=(0,h.useState)(null),[p,m]=(0,h.useState)(l?()=>l:null),g=u().useRef(null),A=u().useRef({});(0,h.useEffect)(()=>{var e;let t=(e,t)=>{t?m(()=>t):m(null)};s.connect(t);let n=(e,t)=>{c(t)};return null==(e=null==i?void 0:i.connect)||e.call(i,n),()=>{var e;s.disconnect(t),null==(e=null==i?void 0:i.disconnect)||e.call(i,n)}},[]);let C=u().useCallback((e,t)=>{if(A.current){for(let n in A.current[e]=t,A.current)if(A.current[n])return void r(!0)}r(!1)},[A,r]),f=u().useMemo(()=>Object.entries(t.renderers).reduce((e,[t,n])=>{let i=t.lastIndexOf("."),o=t.substring(0,i),r=t.substring(i+1);return e[o]||(e[o]={}),!e[o][r]&&n.fieldRenderer&&(e[o][r]=n.fieldRenderer),e},{}),[t]);return d||p?u().createElement("div",{className:"jp-SettingsPanel",ref:g},e.map(e=>{let t=p?p(e.plugin):null;if((!d||d===e.id)&&(null===t||0!==t.length))return u().createElement("div",{className:"jp-SettingsForm jp-zoom-target",key:`${e.id}SettingsEditor`},u().createElement(E,{filteredValues:t,settings:e,renderers:f,hasError:t=>{o(e.id,t)},updateDirtyState:t=>{C(e.id,t)},onSelect:n,translator:a}))})):u().createElement(w,{translator:a})};class x extends c.SplitPanel{constructor(e){super({orientation:"horizontal",renderer:c.SplitPanel.defaultRenderer,spacing:1}),this._clearDirty=null,this._dirty=!1,this._saveStateChange=new d.Signal(this),this.translator=e.translator||a.nullTranslator,this._status=e.status,this._listModel=new f.Model({registry:e.registry,toSkip:e.toSkip}),this._list=new f({registry:e.registry,translator:this.translator,query:e.query,model:this._listModel}),this._listModel.changed.connect(()=>{this.update()}),this.addWidget(this._list),this.setDirtyState=this.setDirtyState.bind(this);const t=l.ReactWidget.create(u().createElement(l.UseSignal,{signal:this._listModel.changed},()=>u().createElement(j,{settings:[...Object.values(this._listModel.settings)],editorRegistry:e.editorRegistry,handleSelectSignal:this._list.handleSelectSignal,onSelect:e=>this._list.selection=e,hasError:this._list.setError,updateFilterSignal:this._list.updateFilterSignal,updateDirtyState:this.setDirtyState,translator:this.translator,initialFilter:this._list.filter})));this._listModel.ready.then(()=>{this.addWidget(t)}).catch(e=>{console.error(`Failed to load the setting plugins:
${e}`)})}get saveStateChanged(){return this._saveStateChange}setDirtyState(e){this._dirty=e,this._dirty&&!this._clearDirty?this._clearDirty=this._status.setDirty():!this._dirty&&this._clearDirty&&(this._clearDirty.dispose(),this._clearDirty=null),e?this.title.className.includes("jp-mod-dirty")||(this.title.className+=" jp-mod-dirty"):this.title.className=this.title.className.replace("jp-mod-dirty",""),this._saveStateChange.emit(e?"started":"completed")}updateQuery(e){this._list.setFilter(e?(0,l.updateFilterFunction)(e,!1,!1):null,e)}onCloseRequest(e){let t=this.translator.load("jupyterlab");this._list.hasErrors?(0,s.showDialog)({title:t.__("Warning"),body:t.__("Unsaved changes due to validation error. Continue without saving?")}).then(t=>{t.button.accept&&(this.dispose(),super.onCloseRequest(e))}):this._dirty?(0,s.showDialog)({title:t.__("Warning"),body:t.__("Some changes have not been saved. Continue without saving?")}).then(t=>{t.button.accept&&(this.dispose(),super.onCloseRequest(e))}):(this.dispose(),super.onCloseRequest(e))}}var B=n(78071),S=n(14373),M=n(31031),I=n(99873);function k(e,t,n){let i=(n=n||a.nullTranslator).load("jupyterlab"),o=new D(e,n),r=new S.InspectorPanel({initialContent:i.__("Any errors will be listed here"),translator:n}),s=new S.InspectionHandler({connector:o,rendermime:t||new M.RenderMimeRegistry({initialFactories:M.standardRendererFactories,translator:n})});return r.addClass("jp-SettingsDebug"),r.source=s,s.editor=e.source,r}class D extends I.DataConnector{constructor(e,t){super(),this._current=0,this._editor=e,this._trans=(null!=t?t:a.nullTranslator).load("jupyterlab")}fetch(e){return new Promise(t=>{let n=this._current=window.setTimeout(()=>{if(n!==this._current)return t(void 0);let i=this._validate(e.text);if(!i)return t({data:{"text/markdown":this._trans.__("No errors found")},metadata:{}});t({data:this.render(i),metadata:{}})},100)})}render(e){return{"text/markdown":e.map(this.renderError.bind(this)).join("")}}renderError(e){var t;switch(e.keyword){case"additionalProperties":return`**\`[${this._trans.__("additional property error")}]\`**
          ${this._trans.__("`%1` is not a valid property",null==(t=e.params)?void 0:t.additionalProperty)}`;case"syntax":return`**\`[${this._trans.__("syntax error")}]\`** *${e.message}*`;case"type":return`**\`[${this._trans.__("type error")}]\`**
          \`${e.instancePath}\` ${e.message}`;default:return`**\`[${this._trans.__("error")}]\`** *${e.message}*`}}_validate(e){let t=this._editor;if(!t.settings)return null;let{id:n,schema:i,version:o}=t.settings,r={composite:{},user:{}};return t.registry.validator.validateData({data:r,id:n,raw:e,schema:i,version:o},!1)}}let T="jp-SettingsRawEditor",L="jp-SettingsRawEditor-user",N="jp-mod-error";class P extends c.SplitPanel{constructor(e){super({orientation:"horizontal",renderer:c.SplitPanel.defaultRenderer,spacing:1}),this._canRevert=!1,this._canSave=!1,this._commandsChanged=new d.Signal(this),this._settings=null,this._toolbar=new l.Toolbar;const{commands:t,editorFactory:n,registry:o,translator:r}=e;this.registry=o,this.translator=r||a.nullTranslator,this._commands=t;const s=this._defaults=new B.CodeEditorWrapper({editorOptions:{config:{readOnly:!0}},model:new B.CodeEditor.Model({mimeType:"text/javascript"}),factory:n}),h=this._user=new B.CodeEditorWrapper({editorOptions:{config:{lineNumbers:!0}},model:new B.CodeEditor.Model({mimeType:"text/javascript"}),factory:n});h.addClass(L),h.editor.model.sharedModel.changed.connect(this._onTextChanged,this),this._inspector=k(this,e.rendermime,this.translator),this.addClass(T),this._onSaveError=e.onSaveError,this.addWidget(i.defaultsEditor(s,this.translator)),this.addWidget(i.userEditor(h,this._toolbar,this._inspector,this.translator))}get canRevert(){return this._canRevert}get canSave(){return this._canSave}get commandsChanged(){return this._commandsChanged}get isDirty(){var e,t;return this._user.editor.model.sharedModel.getSource()!==(null!=(t=null==(e=this._settings)?void 0:e.raw)?t:"")}get settings(){return this._settings}set settings(e){if(!e&&!this._settings||e&&this._settings&&e.plugin===this._settings.plugin)return;let t=this._defaults,n=this._user;this._settings&&this._settings.changed.disconnect(this._onSettingsChanged,this),e?(this._settings=e,this._settings.changed.connect(this._onSettingsChanged,this),this._onSettingsChanged()):(this._settings=null,t.editor.model.sharedModel.setSource(""),n.editor.model.sharedModel.setSource("")),this.update()}get sizes(){return this.relativeSizes()}set sizes(e){this.setRelativeSizes(e)}get source(){return this._user.editor}dispose(){this.isDisposed||(this._defaults.model.dispose(),this._defaults.dispose(),this._user.model.dispose(),this._user.dispose(),super.dispose())}revert(){var e,t;this._user.editor.model.sharedModel.setSource(null!=(t=null==(e=this.settings)?void 0:e.raw)?t:""),this._updateToolbar(!1,!1)}save(){if(!this.isDirty||!this._settings)return Promise.resolve(void 0);let e=this._settings,t=this._user.editor.model.sharedModel.getSource();return e.save(t).then(()=>{this._updateToolbar(!1,!1)}).catch(e=>{this._updateToolbar(!0,!1),this._onSaveError(e,this.translator)})}onAfterAttach(e){i.populateToolbar(this._commands,this._toolbar),this.update()}_onTextChanged(){let e=this._user.editor.model.sharedModel.getSource(),t=this._settings;if(this.removeClass(N),!t||t.raw===e)return void this._updateToolbar(!1,!1);if(t.validate(e)){this.addClass(N),this._updateToolbar(!0,!1);return}this._updateToolbar(!0,!0)}_onSettingsChanged(){var e,t;let n=this._settings,i=this._defaults,o=this._user;i.editor.model.sharedModel.setSource(null!=(e=null==n?void 0:n.annotatedDefaults())?e:""),o.editor.model.sharedModel.setSource(null!=(t=null==n?void 0:n.raw)?t:"")}_updateToolbar(e=this._canRevert,t=this._canSave){let n=this._commands;this._canRevert=e,this._canSave=t,this._commandsChanged.emit([n.revert,n.save])}}!function(e){e.defaultsEditor=function(e,t){let n=(t=t||a.nullTranslator).load("jupyterlab"),i=new c.Widget,o=i.layout=new c.BoxLayout({spacing:0}),r=new c.Widget,s=new l.Toolbar;s.node.setAttribute("aria-label",n.__("Default editor toolbar"));let d=n.__("System Defaults");return r.node.innerText=d,s.insertItem(0,"banner",r),o.addWidget(s),o.addWidget(e),i},e.populateToolbar=function(e,t){let{registry:n,revert:i,save:o}=e;t.addItem("spacer",l.Toolbar.createSpacerItem()),[i,o].forEach(e=>{let i=new l.CommandToolbarButton({commands:n,id:e});t.addItem(e,i)})},e.userEditor=function(e,t,n,i){let o=(i=i||a.nullTranslator).load("jupyterlab").__("User Preferences"),r=new c.Widget,s=r.layout=new c.BoxLayout({spacing:0}),l=new c.Widget;return l.node.innerText=o,t.insertItem(0,"banner",l),s.addWidget(t),s.addWidget(e),s.addWidget(n),r}}(i||(i={}));let z="jp-PluginEditor";class R extends c.Widget{constructor(e){super(),this._settings=null,this._stateChanged=new d.Signal(this),this.addClass(z);const{commands:t,editorFactory:n,registry:i,rendermime:r,translator:s}=e;this.translator=s||a.nullTranslator,this._trans=this.translator.load("jupyterlab");const l=this.layout=new c.StackedLayout,{onSaveError:h}=o;this.raw=this._rawEditor=new P({commands:t,editorFactory:n,onSaveError:h,registry:i,rendermime:r,translator:s}),this._rawEditor.handleMoved.connect(this._onStateChanged,this),l.addWidget(this._rawEditor)}get isDirty(){return this._rawEditor.isDirty}get settings(){return this._settings}set settings(e){if(this._settings===e)return;let t=this._rawEditor;this._settings=t.settings=e,this.update()}get state(){let e=this._settings?this._settings.id:"",{sizes:t}=this._rawEditor;return{plugin:e,sizes:t}}set state(e){m.JSONExt.deepEqual(this.state,e)||(this._rawEditor.sizes=e.sizes,this.update())}get stateChanged(){return this._stateChanged}confirm(){return!this.isHidden&&this.isAttached&&this.isDirty?(0,s.showDialog)({title:this._trans.__("You have unsaved changes."),body:this._trans.__("Do you want to leave without saving?"),buttons:[s.Dialog.cancelButton({label:this._trans.__("Cancel")}),s.Dialog.okButton({label:this._trans.__("Ok")})]}).then(e=>{if(!e.button.accept)throw Error("User canceled.")}):Promise.resolve(void 0)}dispose(){this.isDisposed||(super.dispose(),this._rawEditor.dispose())}onAfterAttach(e){this.update()}onUpdateRequest(e){let t=this._rawEditor;this._settings?(this.show(),t.show()):this.hide()}_onStateChanged(){this.stateChanged.emit(void 0)}}!function(e){e.onSaveError=function(e,t){let n=(t=t||a.nullTranslator).load("jupyterlab");console.error(`Saving setting editor value failed: ${e.message}`),(0,s.showErrorMessage)(n.__("Your changes were not saved."),e)}}(o||(o={}));let O={sizes:[1,3],container:{editor:"raw",plugin:"",sizes:[1,1]}};class F extends c.SplitPanel{constructor(e){super({orientation:"horizontal",renderer:c.SplitPanel.defaultRenderer,spacing:1}),this._fetching=null,this._saving=!1,this._state=m.JSONExt.deepCopy(O),this.translator=e.translator||a.nullTranslator,this.addClass("jp-SettingEditor"),this.key=e.key,this.state=e.state;const{commands:t,editorFactory:n,rendermime:i}=e,o=this.registry=e.registry,r=this._instructions=l.ReactWidget.create(h.createElement(w,{translator:this.translator}));r.addClass("jp-SettingEditorInstructions");const s=this._editor=new R({commands:t,editorFactory:n,registry:o,rendermime:i,translator:this.translator}),d=()=>s.confirm(),u=this._list=new f({confirm:d,registry:o,translator:this.translator}),p=e.when;p&&(this._when=Array.isArray(p)?Promise.all(p):p),this.addWidget(u),this.addWidget(r),c.SplitPanel.setStretch(u,0),c.SplitPanel.setStretch(r,1),c.SplitPanel.setStretch(s,1),s.stateChanged.connect(this._onStateChanged,this),u.changed.connect(this._onStateChanged,this),this.handleMoved.connect(this._onStateChanged,this)}get canRevertRaw(){return this._editor.raw.canRevert}get canSaveRaw(){return this._editor.raw.canSave}get commandsChanged(){return this._editor.raw.commandsChanged}get settings(){return this._editor.settings}get source(){return this._editor.raw.source}dispose(){this.isDisposed||(super.dispose(),this._editor.dispose(),this._instructions.dispose(),this._list.dispose())}revert(){this._editor.raw.revert()}save(){return this._editor.raw.save()}onAfterAttach(e){super.onAfterAttach(e),this.hide(),this._fetchState().then(()=>{this.show(),this._setState()}).catch(e=>{console.error("Fetching setting editor state failed",e),this.show(),this._setState()})}onCloseRequest(e){this._editor.confirm().then(()=>{super.onCloseRequest(e),this.dispose()}).catch(()=>{})}_fetchState(){if(this._fetching)return this._fetching;let{key:e,state:t}=this,n=[t.fetch(e),this._when];return this._fetching=Promise.all(n).then(([e])=>{this._fetching=null,this._saving||(this._state=r.normalizeState(e,this._state))})}async _onStateChanged(){this._state.sizes=this.relativeSizes(),this._state.container=this._editor.state,this._state.container.plugin=this._list.selection;try{await this._saveState()}catch(e){console.error("Saving setting editor state failed",e)}this._setState()}async _saveState(){let{key:e,state:t}=this,n=this._state;this._saving=!0;try{await t.save(e,n),this._saving=!1}catch(e){throw this._saving=!1,e}}_setLayout(){let e=this._editor,t=this._state;e.state=t.container,requestAnimationFrame(()=>{this.setRelativeSizes(t.sizes)})}_setState(){let e=this._editor,t=this._list,{container:n}=this._state;if(!n.plugin){e.settings=null,t.selection="",this._setLayout();return}if(e.settings&&e.settings.id===n.plugin)return void this._setLayout();let i=this._instructions;this.registry.load(n.plugin).then(o=>{i.isAttached&&(i.parent=null),e.isAttached||this.addWidget(e),e.settings=o,t.selection=n.plugin,this._setLayout()}).catch(i=>{console.error(`Loading ${n.plugin} settings failed.`,i),t.selection=this._state.container.plugin="",e.settings=null,this._setLayout()})}}!function(e){e.normalizeState=function(e,n){if(!e)return m.JSONExt.deepCopy(O);if("sizes"in e&&t(e.sizes)||(e.sizes=m.JSONExt.deepCopy(O.sizes)),!("container"in e))return e.container=m.JSONExt.deepCopy(O.container),e;let i="container"in e&&e.container&&"object"==typeof e.container?e.container:{};return e.container={plugin:"string"==typeof i.plugin?i.plugin:O.container.plugin,sizes:t(i.sizes)?i.sizes:m.JSONExt.deepCopy(O.container.sizes)},e};function t(e){return Array.isArray(e)&&e.every(e=>"number"==typeof e)}}(r||(r={}));var W=n(667)},667(e,t,n){"use strict";n.d(t,{F:()=>r,z:()=>o});var i=n(55187);let o=new i.Token("@jupyterlab/settingeditor:ISettingEditorTracker",`A widget tracker for the interactive setting editor.
  Use this if you want to be able to iterate over and interact with setting editors
  created by the application.`),r=new i.Token("@jupyterlab/settingeditor:IJSONSettingEditorTracker",`A widget tracker for the JSON setting editor.
  Use this if you want to be able to iterate over and interact with setting editors
  created by the application.`)},34164(e,t,n){"use strict";n.r(t),n.d(t,{BaseSettings:()=>C,DefaultSchemaValidator:()=>g,ISettingConnector:()=>b,ISettingRegistry:()=>v,SettingRegistry:()=>A,Settings:()=>f});var i,o=n(46976),r=n(55187),s=n(63995),a=n(20659),l=n(63282),d=n.n(l),c=n(81219),h=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"JupyterLab Plugin Settings/Preferences Schema","description":"JupyterLab plugin settings/preferences schema","version":"1.0.0","type":"object","additionalProperties":true,"properties":{"jupyter.lab.internationalization":{"type":"object","properties":{"selectors":{"type":"array","items":{"type":"string","minLength":1}},"domain":{"type":"string","minLength":1}}},"jupyter.lab.menus":{"type":"object","properties":{"main":{"title":"Main menu entries","description":"List of menu items to add to the main menubar.","items":{"$ref":"#/definitions/menu"},"type":"array","default":[]},"context":{"title":"The application context menu.","description":"List of context menu items.","items":{"allOf":[{"$ref":"#/definitions/menuItem"},{"properties":{"selector":{"description":"The CSS selector for the context menu item.","type":"string"}}}]},"type":"array","default":[]}},"additionalProperties":false},"jupyter.lab.metadataforms":{"items":{"$ref":"#/definitions/metadataForm"},"type":"array","default":[]},"jupyter.lab.setting-deprecated":{"type":"boolean","default":false},"jupyter.lab.setting-icon":{"type":"string","default":""},"jupyter.lab.setting-icon-class":{"type":"string","default":""},"jupyter.lab.setting-icon-label":{"type":"string","default":"Plugin"},"jupyter.lab.shortcuts":{"items":{"$ref":"#/definitions/shortcut"},"type":"array","default":[]},"jupyter.lab.toolbars":{"properties":{"^\\\\w[\\\\w-\\\\.]*$":{"items":{"$ref":"#/definitions/toolbarItem"},"type":"array","default":[]}},"type":"object","default":{}},"jupyter.lab.transform":{"type":"boolean","default":false}},"definitions":{"menu":{"properties":{"disabled":{"description":"Whether the menu is disabled or not","type":"boolean","default":false},"icon":{"description":"Menu icon id","type":"string"},"id":{"description":"Menu unique id","oneOf":[{"type":"string","enum":["jp-menu-file","jp-menu-file-new","jp-menu-edit","jp-menu-help","jp-menu-kernel","jp-menu-run","jp-menu-settings","jp-menu-view","jp-menu-tabs"]},{"type":"string","pattern":"[a-z][a-z0-9\\\\-_]+"}]},"items":{"description":"Menu items","type":"array","items":{"$ref":"#/definitions/menuItem"}},"label":{"description":"Menu label","type":"string"},"mnemonic":{"description":"Mnemonic index for the label","type":"number","minimum":-1,"default":-1},"rank":{"description":"Menu rank","type":"number","minimum":0}},"required":["id"],"type":"object"},"menuItem":{"properties":{"args":{"description":"Command arguments","type":"object"},"command":{"description":"Command id","type":"string"},"disabled":{"description":"Whether the item is disabled or not","type":"boolean","default":false},"type":{"description":"Item type","type":"string","enum":["command","submenu","separator"],"default":"command"},"rank":{"description":"Item rank","type":"number","minimum":0},"submenu":{"oneOf":[{"$ref":"#/definitions/menu"},{"type":"null"}]}},"type":"object"},"shortcut":{"properties":{"args":{"title":"The arguments for the command","type":"object"},"command":{"title":"The command id","description":"The command executed when the binding is matched.","type":"string"},"disabled":{"description":"Whether this shortcut is disabled or not.","type":"boolean","default":false},"keys":{"title":"The key sequence for the binding","description":"The key shortcut like `Accel A` or the sequence of shortcuts to press like [`Accel A`, `B`]","items":{"type":"string"},"type":"array"},"macKeys":{"title":"The key sequence for the binding on macOS","description":"The key shortcut like `Cmd A` or the sequence of shortcuts to press like [`Cmd A`, `B`]","items":{"type":"string"},"type":"array"},"winKeys":{"title":"The key sequence for the binding on Windows","description":"The key shortcut like `Ctrl A` or the sequence of shortcuts to press like [`Ctrl A`, `B`]","items":{"type":"string"},"type":"array"},"linuxKeys":{"title":"The key sequence for the binding on Linux","description":"The key shortcut like `Ctrl A` or the sequence of shortcuts to press like [`Ctrl A`, `B`]","items":{"type":"string"},"type":"array"},"selector":{"title":"CSS selector","type":"string"}},"required":["command","keys","selector"],"type":"object"},"toolbarItem":{"properties":{"name":{"title":"Unique name","type":"string"},"args":{"title":"Command arguments","type":"object"},"command":{"title":"Command id","type":"string","default":""},"disabled":{"title":"Whether the item is ignored or not","type":"boolean","default":false},"icon":{"title":"Item icon id","description":"If defined, it will override the command icon","type":"string"},"label":{"title":"Item label","description":"If defined, it will override the command label","type":"string"},"caption":{"title":"Item caption","description":"If defined, it will override the command caption","type":"string"},"type":{"title":"Item type","type":"string","enum":["command","spacer"]},"rank":{"title":"Item rank","type":"number","minimum":0,"default":50}},"required":["name"],"additionalProperties":false,"type":"object"},"metadataForm":{"type":"object","properties":{"id":{"type":"string","description":"The section ID"},"metadataSchema":{"type":"object","items":{"$ref":"#/definitions/metadataSchema"}},"uiSchema":{"type":"object"},"metadataOptions":{"type":"object","items":{"$ref":"#/definitions/metadataOptions"}},"label":{"type":"string","description":"The section label"},"rank":{"type":"integer","description":"The rank of the section in the right panel"},"showModified":{"type":"boolean","description":"Whether to show modified values from defaults"}},"required":["id","metadataSchema"]},"metadataSchema":{"properties":{"properties":{"type":"object","description":"The property set up by extension","properties":{"title":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"}}}},"type":"object","required":["properties"]},"metadataOptions":{"properties":{"customRenderer":{"type":"string"},"metadataLevel":{"type":"string","enum":["cell","notebook"],"default":"cell"},"cellTypes":{"type":"array","items":{"type":"string","enum":["code","markdown","raw"]}},"writeDefault":{"type":"boolean"}},"type":"object"}}}');let u=r.JSONExt.deepCopy,p={strict:!1},m="\x1e";class g{constructor(){this._composer=new(d())({useDefaults:!0,...p}),this._validator=new(d())({...p}),this._composer.addSchema(h,"jupyterlab-plugin-schema"),this._validator.addSchema(h,"jupyterlab-plugin-schema")}validateData(e,t=!0){let n,i=this._validator.getSchema(e.id),o=this._composer.getSchema(e.id);if(!i||!o)return"object"!==e.schema.type?[{instancePath:"type",keyword:"schema",schemaPath:"",message:`Setting registry schemas' root-level type must be 'object', rejecting type: ${e.schema.type}`}]:this._addSchema(e.id,e.schema)||this.validateData(e);try{n=c.parse(e.raw)}catch(i){if(i instanceof SyntaxError)return[{instancePath:"",keyword:"syntax",schemaPath:"",message:i.message}];let{column:e,description:t}=i,n=i.lineNumber;return[{instancePath:"",keyword:"parse",schemaPath:"",message:`${t} (line ${n} column ${e})`}]}if(!i(n))return i.errors;let r=u(n);return o(r)?(t&&(e.data={composite:r,user:n}),null):o.errors}_addSchema(e,t){let n=this._composer,i=this._validator,o=i.getSchema("jupyterlab-plugin-schema");return o(t)?i.validateSchema(t)?(n.removeSchema(e),i.removeSchema(e),n.addSchema(t,e),i.addSchema(t,e),null):i.errors:o.errors}}class A{constructor(e){this.schema=h,this.plugins=Object.create(null),this._pluginChanged=new a.Signal(this),this._isReady=!0,this._ready=Promise.resolve(),this._saveQueue=new Map,this._transformers=Object.create(null),this._unloadedPlugins=new Map,this.connector=e.connector,this.validator=e.validator||new g,e.plugins&&(e.plugins.filter(e=>e.schema["jupyter.lab.transform"]).forEach(e=>this._unloadedPlugins.set(e.id,e)),this._isReady=!1,this._ready=this._preload(e.plugins).then(()=>{this._isReady=!0}))}get pluginChanged(){return this._pluginChanged}async get(e,t){await this._ready;let n=this.plugins;if(e in n){let{composite:i,user:o}=n[e].data;return{composite:void 0!==i[t]?u(i[t]):void 0,user:void 0!==o[t]?u(o[t]):void 0}}return this.load(e).then(()=>this.get(e,t))}async load(e,t=!1){await this._ready;let n=this.plugins,i=this;return e in n?(t&&(n[e].data={composite:{},user:{}},await this._load(await this._transform("fetch",n[e])),this._pluginChanged.emit(e)),new f({plugin:n[e],registry:i})):this._unloadedPlugins.has(e)&&e in this._transformers&&(await this._load(await this._transform("fetch",this._unloadedPlugins.get(e))),e in n)?(this._pluginChanged.emit(e),this._unloadedPlugins.delete(e),new f({plugin:n[e],registry:i})):this.reload(e)}async reload(e){await this._ready;let t=await this.connector.fetch(e),n=this.plugins,i=this;if(void 0===t)throw[{instancePath:"",keyword:"id",message:`Could not fetch settings for ${e}.`,schemaPath:""}];return await this._load(await this._transform("fetch",t)),this._pluginChanged.emit(e),new f({plugin:n[e],registry:i})}async remove(e,t){this._isReady||await this._ready;let n=this.plugins;if(!(e in n))return;let o=c.parse(n[e].raw);return delete o[t],delete o[`// ${t}`],n[e].raw=i.annotatedPlugin(n[e],o),this._save(e)}async set(e,t,n){this._isReady||await this._ready;let o=this.plugins;if(!(e in o))return this.load(e).then(()=>this.set(e,t,n));let r=c.parse(o[e].raw);return o[e].raw=i.annotatedPlugin(o[e],{...r,[t]:n}),this._save(e)}transform(e,t){let n=this._transformers;if(e in n){let t=Error(`${e} already has a transformer.`);throw t.name="TransformError",t}return n[e]={fetch:t.fetch||(e=>e),compose:t.compose||(e=>e)},new s.DisposableDelegate(()=>{delete n[e]})}async upload(e,t){this._isReady||await this._ready;let n=this.plugins;return e in n?(n[e].raw=t,this._save(e)):this.load(e).then(()=>this.upload(e,t))}get ready(){return this._ready}async _load(e){let t=e.id;try{await this._validate(e)}catch(n){let e=[`Validating ${t} failed:`];throw n.forEach((t,n)=>{let{instancePath:i,schemaPath:o,keyword:r,message:s}=t;(i||o)&&e.push(`${n} - schema @ ${o}, data @ ${i}`),e.push(`{${r}} ${s}`)}),console.warn(e.join("\n")),n}}async _preload(e){await Promise.all(e.map(async e=>{var t;try{await this._load(await this._transform("fetch",e))}catch(e){(null==(t=e[0])?void 0:t.keyword)!=="unset"&&console.warn("Ignored setting registry preload errors.",e)}}))}async _save(e){var t,n;let i,o=null!=(t=this._saveQueue.get(e))?t:Promise.resolve(),r=null==(n=this.plugins[e])?void 0:n.raw,s=async()=>{let t=this.plugins;if(!(e in t)||void 0===r)throw Error(`${e} does not exist in setting registry.`);let n={...t[e],raw:r};try{this._validateData(n)}catch(t){throw console.warn(`${e} validation errors:`,t),Error(`${e} failed to validate; check console.`)}if(await this.connector.save(e,r),this._saveQueue.get(e)!==i)return;let o=await this.connector.fetch(e);if(this._saveQueue.get(e)===i){if(void 0===o)throw[{instancePath:"",keyword:"id",message:`Could not fetch settings for ${e}.`,schemaPath:""}];await this._load(await this._transform("fetch",o)),this._pluginChanged.emit(e)}};return i=o.then(s,s),this._saveQueue.set(e,i),i.finally(()=>{this._saveQueue.get(e)===i&&this._saveQueue.delete(e)})}async _transform(e,t){let n=t.id,i=this._transformers;if(!t.schema["jupyter.lab.transform"])return t;if(n in i){let o=i[n][e].call(null,t);if(o.id!==n)throw[{instancePath:"",keyword:"id",message:"Plugin transformations cannot change plugin IDs.",schemaPath:""}];return o}throw[{instancePath:"",keyword:"unset",message:`${t.id} has no transformers yet.`,schemaPath:""}]}async _validate(e){this._validateData(e),this.plugins[e.id]=await this._transform("compose",e)}_validateData(e){let t=this.validator.validateData(e);if(t)throw t}}class C{constructor(e){this._schema=e.schema}get schema(){return this._schema}isDefault(e){for(let t in this.schema.properties){let n=e[t],i=this.default(t);if(!(void 0===n||void 0===i||r.JSONExt.deepEqual(n,r.JSONExt.emptyObject)||r.JSONExt.deepEqual(n,r.JSONExt.emptyArray))&&!r.JSONExt.deepEqual(n,i))return!1}return!0}default(e){return i.reifyDefault(this.schema,e)}}class f extends C{constructor(e){super({schema:e.plugin.schema}),this._changed=new a.Signal(this),this._isDisposed=!1,this.id=e.plugin.id,this.registry=e.registry,this.registry.pluginChanged.connect(this._onPluginChanged,this)}get changed(){return this._changed}get composite(){return this.plugin.data.composite}get isDisposed(){return this._isDisposed}get plugin(){return this.registry.plugins[this.id]}get raw(){return this.plugin.raw}get isModified(){return!this.isDefault(this.user)}get user(){return this.plugin.data.user}get version(){return this.plugin.version}annotatedDefaults(){return i.annotatedDefaults(this.schema,this.id)}dispose(){this._isDisposed||(this._isDisposed=!0,a.Signal.clearData(this))}get(e){let{composite:t,user:n}=this;return{composite:void 0!==t[e]?u(t[e]):void 0,user:void 0!==n[e]?u(n[e]):void 0}}remove(e){return this.registry.remove(this.plugin.id,e)}save(e){return this.registry.upload(this.plugin.id,e)}set(e,t){return this.registry.set(this.plugin.id,e,t)}validate(e){let t={composite:{},user:{}},{id:n,schema:i}=this.plugin,o=this.registry.validator,r=this.version;return o.validateData({data:t,id:n,raw:e,schema:i,version:r},!1)}_onPluginChanged(e,t){t===this.plugin.id&&this._changed.emit(void 0)}}!function(e){function t(e,i,o=!1,s=!0){if(!e)return i&&s?r.JSONExt.deepCopy(i):[];if(!i)return r.JSONExt.deepCopy(e);let a=r.JSONExt.deepCopy(e);return i.forEach(e=>{let t=a.findIndex(t=>t.id===e.id);t>=0?a[t]={...a[t],...e,items:n(a[t].items,e.items,o,s)}:s&&a.push(e)}),a}function n(e,i,o=!1,s=!0){if(!e)return i?r.JSONExt.deepCopy(i):void 0;if(!i)return r.JSONExt.deepCopy(e);let a=r.JSONExt.deepCopy(e);return i.forEach(e=>{var n;switch(null!=(n=e.type)?n:"command"){case"separator":s&&a.push({...e});break;case"submenu":if(e.submenu){let n=a.findIndex(t=>{var n,i;return"submenu"===t.type&&(null==(n=t.submenu)?void 0:n.id)===(null==(i=e.submenu)?void 0:i.id)});n<0?s&&a.push(r.JSONExt.deepCopy(e)):a[n]={...a[n],...e,submenu:t(a[n].submenu?[a[n].submenu]:null,[e.submenu],o,s)[0]}}break;case"command":if(e.command){let t=a.findIndex(t=>{var n,i;return t.command===e.command&&t.selector===e.selector&&r.JSONExt.deepEqual(null!=(n=t.args)?n:{},null!=(i=e.args)?i:{})});t<0?s&&a.push({...e}):(o&&console.warn(`Menu entry for command '${e.command}' is duplicated.`),a[t]={...a[t],...e})}}}),a}function s(e){return e.reduce((e,t)=>{var n;let i={...t};if(!i.disabled){if("submenu"===i.type){let{submenu:e}=i;e&&!e.disabled&&(i.submenu={...e,items:s(null!=(n=e.items)?n:[])})}e.push(i)}return e},[])}e.reconcileMenus=t,e.reconcileItems=n,e.filterDisabledItems=s,e.reconcileShortcuts=function(e,t){let n={};return t=[...t.filter(e=>!!e.disabled),...t.filter(e=>!e.disabled)].filter(e=>{let t=o.CommandRegistry.normalizeKeys(e).join(m);if(!t)return console.warn("Skipping this shortcut because there are no actionable keys on this platform",e),!1;t in n||(n[t]={});let{disabled:i,selector:r}=e;return r in n[t]?null!==n[t][r].enabledUserShortcut?(console.warn("Skipping",e,"shortcut because it collides with another enabled shortcut:",n[t][r].enabledUserShortcut),!1):i?(n[t][r].shouldDisableDefaultShortcut=!0,!1):(n[t][r].enabledUserShortcut=e,!0):(n[t][r]={enabledUserShortcut:i?null:e,enabledDefaultShortcut:null,shouldDisableDefaultShortcut:!!i},!i)}),e=[...e.filter(e=>!!e.disabled),...e.filter(e=>!e.disabled)].filter(e=>{let t=o.CommandRegistry.normalizeKeys(e).join(m);if(!t)return!1;t in n||(n[t]={});let{disabled:i,selector:r}=e;if(!(r in n[t]))return n[t][r]={enabledUserShortcut:null,enabledDefaultShortcut:i?null:e,shouldDisableDefaultShortcut:!!i},!i;if(null===n[t][r].enabledDefaultShortcut)if(i)return n[t][r].shouldDisableDefaultShortcut=!0,!1;else return!n[t][r].shouldDisableDefaultShortcut&&(n[t][r].enabledDefaultShortcut=e,!0);return!n[t][r].shouldDisableDefaultShortcut&&(console.warn("Skipping",e,"default shortcut because it collides with another enabled default shortcut:",n[t][r].enabledDefaultShortcut),!1)}),i.upgradeShortcuts(t.concat(e).filter(e=>!e.disabled).map(e=>({args:{},...e})))},e.reconcileToolbarItems=function(e,t,n=!1){if(!e)return t?r.JSONExt.deepCopy(t):void 0;if(!t)return r.JSONExt.deepCopy(e);let i=r.JSONExt.deepCopy(e);return t.forEach(e=>{let t=i.findIndex(t=>t.name===e.name);t<0?i.push({...e}):(n&&r.JSONExt.deepEqual(Object.keys(e),Object.keys(i[t]))&&console.warn(`Toolbar item '${e.name}' is duplicated.`),i[t]={...i[t],...e})}),i}}(A||(A={})),function(e){let t="    ",n="[missing schema description]",i="[missing schema title]";function o(e,i){let o=e.properties&&e.properties[i]||{},r=o.type,s=o.description||n,a=o.title||"",c=d(e,i),h=t.length,u=void 0!==c?l(`"${i}": ${JSON.stringify(c,null,h)}`,t):l(`"${i}": ${r}`);return[l(a),l(s),u].filter(e=>e.length).join("\n")}function s(e,o,r){let s=e.properties&&e.properties[o],a=s&&s.description||n,d=s&&s.title||i,c=t.length,h=l(`"${o}": ${JSON.stringify(r,null,c)}`,t);return[l(d),l(a),h].join("\n")}function a(e){return e.reduce((t,n,i)=>{let o=n.split("\n");return t+n+(0===o[o.length-1].trim().indexOf("//")||i===e.length-1?"":",")+(i===e.length-1?"":"\n\n")},"")}function l(e,n=`${t}// `){return n+e.split("\n").join(`
${n}`)}function d(e,t,n,i){var o,s,a,l,c,h,u;if(n=null!=n?n:e.definitions,i=t?e.required instanceof Array&&(null==(o=e.required)?void 0:o.includes(t)):i,"object"===(e=(t?null==(s=e.properties)?void 0:s[t]:e)||{}).type){let t=r.JSONExt.deepCopy(e.default),i=e.properties||{};for(let o in i)t[o]=d(i[o],void 0,n,e.required instanceof Array&&(null==(a=e.required)?void 0:a.includes(o)));return t}if("array"!==e.type)return e.default;{let t=void 0!==e.default;if(!(t||i))return;let o=t?r.JSONExt.deepCopy(e.default):[],s=e.items||{};for(let e in s.$ref&&n&&(s=null!=(l=n[s.$ref.replace("#/definitions/","")])?l:{}),o)if("object"===s.type){let t=null!=(h=null!=(c=d(s,void 0,n))?c:o[e])?h:{};for(let n in t)(null==(u=o[e])?void 0:u[n])&&(t[n]=o[e][n]);o[e]=t}return o}}e.annotatedDefaults=function(e,t){let{description:r,properties:s,title:d}=e,c=s?Object.keys(s).sort((e,t)=>e.localeCompare(t)):[],h=Math.max((r||n).length,t.length);return["{",l(`${d||i}`),l(t),l(r||n),l("*".repeat(h)),"",a(c.map(t=>o(e,t))),"}"].join("\n")},e.annotatedPlugin=function(e,t){let{description:o,title:r}=e.schema,d=Object.keys(t).sort((e,t)=>e.localeCompare(t)),c=Math.max((o||n).length,e.id.length);return["{",l(`${r||i}`),l(e.id),l(o||n),l("*".repeat(c)),"",a(d.map(n=>s(e.schema,n,t[n]))),"}"].join("\n")},e.reifyDefault=d;let c=new Set;e.upgradeShortcuts=function(e){let t=new Set,n=[{old:".jp-Notebook:focus.jp-mod-commandMode",new:".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus",versionDeprecated:"JupyterLab 4.1"},{old:".jp-Notebook.jp-mod-commandMode :focus:not(:read-write)",new:".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus",versionDeprecated:"JupyterLab 4.1.1"},{old:".jp-Notebook:focus",new:".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus",versionDeprecated:"JupyterLab 4.1"},{old:"[data-jp-traversable]:focus",new:".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus",versionDeprecated:"JupyterLab 4.1"},{old:"[data-jp-kernel-user]:focus",new:"[data-jp-kernel-user]:not(.jp-mod-readWrite) :focus:not(:read-write)",versionDeprecated:"JupyterLab 4.1"},{old:"[data-jp-kernel-user] :focus:not(:read-write)",new:"[data-jp-kernel-user]:not(.jp-mod-readWrite) :focus:not(:read-write)",versionDeprecated:"JupyterLab 4.1.1"}],i=e.map(e=>{let i=e.selector,o=i;for(let e of n)i.includes(e.old)&&(o=i.replace(e.old,e.new),c.has(i)||(t.add(`"${e.old}" was replaced with "${e.new}" in ${e.versionDeprecated} (present in "${i}")`),c.add(i)));return e.selector=o,e});return t.size>0&&console.warn("Deprecated shortcut selectors: "+[...t].join("\n")+"\n\nThe selectors will be substituted transparently this time, but need to be updated at source before next major release."),i}}(i||(i={}));let b=new r.Token("@jupyterlab/coreutils:ISettingConnector","A service to connect to the settings endpoint."),v=new r.Token("@jupyterlab/coreutils:ISettingRegistry",`A service for the JupyterLab settings system.
  Use this if you want to store settings for your application.
  See "schemaDir" for more information.`)},17147(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>H});var i,o,r,s=n(78071),a=n(46109),l=n(2786),d=n(8989),c=n(46976),h=n(55187),u=n(63995),p=n(53193),m=n(20659),g=n(60721),A=n.n(g);class C{constructor(e){this.reset=()=>{this._shortcut={id:"new shortcut",command:"",keybindings:[],selector:"body",category:"",args:{}},this._changed.emit()},this.addKeybinding=async(e,t)=>{this._shortcut.keybindings.push({keys:t,isDefault:!1}),this._changed.emit()},this.replaceKeybinding=async(e,t,n)=>{if(!(n=n.filter(e=>""!==e)).length)return this.deleteKeybinding(e,t);let i=this._shortcut.keybindings.findIndex(e=>e.keys===t.keys);i>-1?this._shortcut.keybindings[i]={keys:n,isDefault:!1}:this.addKeybinding(e,n),this._changed.emit()},this.deleteKeybinding=async(e,t)=>{let n=this._shortcut.keybindings.findIndex(e=>e.keys===t.keys);n>-1&&(this._shortcut.keybindings.splice(n,1),this._changed.emit())},this.resetKeybindings=async e=>{this._shortcut={...this._shortcut,keybindings:[]},this._changed.emit()},this.setCustomOptions=async(e,t)=>(this._shortcut={...this._shortcut,selector:t.selector,args:t.args},this._changed.emit(),!0),this.updateCommand=(e,t)=>{this._shortcut={...this._shortcut,command:e,category:t},this._changed.emit()},this._changed=new m.Signal(this),this._shortcut={id:"new shortcut",command:"",keybindings:[],selector:"body",category:"",args:{}},this.findConflictsFor=e.findConflictsFor,this.showSelectors=e.showSelectors,this.external=e.external}get shortcut(){return this._shortcut}get changed(){return this._changed}}var f=n(75777),b=n(97518),v=n(64001);class _ extends b.Dialog{constructor(e){const{shortcut:t,translator:n,editorFactory:i}=e,o=n.load("jupyterlab"),r=new y(t,n,i,()=>this._checkValidation(),e.readOnly),s=[];e.readOnly?s.push(b.Dialog.cancelButton({label:o.__("OK")})):(s.push(b.Dialog.cancelButton({label:o.__("Cancel")})),s.push(b.Dialog.okButton({label:o.__("Apply")}))),super({title:e.readOnly?o.__("Shortcut Options"):o.__("Custom Shortcut Options"),body:r,buttons:s})}_evtKeydown(e){if("Enter"===e.key){let t=this.node.querySelector(".jp-JSONEditor"),n=document.activeElement;if(t instanceof HTMLElement&&n instanceof HTMLElement&&t.contains(n))return void e.stopPropagation()}super._evtKeydown(e)}}class y extends v.Widget{constructor(e,t,n,i,o){var r,s;super();const a=t.load("jupyterlab");this.addClass("jp-Shortcuts-CustomOptionsDialogBody");const l=document.createElement("div");l.className="jp-Shortcuts-CustomOptionDialog-container";const d=document.createElement("label");d.textContent=a.__("Selector:"),d.className="jp-Dialog-label",this._selectorInput=document.createElement("input"),this._selectorInput.type="text",this._selectorInput.disabled=null!=o&&o,this._selectorInput.value=e.selector,this._selectorInput.className="jp-mod-styled",l.appendChild(d),l.appendChild(this._selectorInput);const c=document.createElement("label");if(c.textContent=a.__("Arguments:"),c.className="jp-Dialog-label",l.appendChild(c),o){const t=document.createElement("pre");t.textContent=JSON.stringify(null!=(r=e.args)?r:{},void 0,2),l.appendChild(t)}else this._editorWidget=new E(null!=(s=e.args)?s:{},n,i),l.appendChild(this._editorWidget.node);this.node.appendChild(l)}getValue(){var e,t;let n,i=null!=(t=null==(e=this._editorWidget)?void 0:e.getJSON())?t:"{}";try{n=JSON.parse(i)}catch(e){console.error(`Invalid JSON in arguments: ${e instanceof Error?e.message:String(e)}`),n={}}return{selector:this._selectorInput.value,args:n}}dispose(){var e;null==(e=this._editorWidget)||e.dispose(),super.dispose()}}class E extends v.Widget{constructor(e,t,n){super(),this._validateJSON=()=>{try{let e=this._editor.model.sharedModel.getSource();JSON.parse(e),this.node.classList.remove("jp-mod-error")}catch(e){this.node.classList.add("jp-mod-error")}this._checkValidation()},this.addClass("jp-JSONEditor"),this._checkValidation=n;const i=document.createElement("div");i.className="jp-JSONEditor-host";const o=new s.CodeEditor.Model({mimeType:"application/json"}),r=JSON.stringify(e,null,2);o.sharedModel.setSource(r),this._editor=t({host:i,model:o,config:{readOnly:!1}}),this.node.appendChild(i),this._editor.model.sharedModel.changed.connect(this._validateJSON,this)}getJSON(){return this._editor.model.sharedModel.getSource()}dispose(){this._editor.model.sharedModel.changed.disconnect(this._validateJSON,this),this._editor.dispose(),super.dispose()}}var w=n(70941);let j="jp-Shortcuts-ConflictContainer";class x extends g.Component{constructor(e){super(e),this.handleSubmit=async()=>{this._isReplacingExistingKeybinding?this.state.selected?this.props.toggleInput():await this._updateShortcut():(await this._updateShortcut(),this.props.toggleInput())},this._updateShortcut=async()=>{let e=[...this.state.keys,this.state.currentChain];this.setState({keys:e}),this.props.keybinding?await this.props.replaceKeybinding(this.props.shortcut,this.props.keybinding,e):await this.props.addKeybinding(this.props.shortcut,e)},this._handleOverwrite=async(e,t)=>{for(let n of e){let e=n.keybindings.filter(e=>h.JSONExt.deepEqual(e.keys,t)||t.some(t=>h.JSONExt.deepEqual(e.keys,[t])))[0];if(!e){console.error(`Conflicting binding could not be found for ${n} using keys ${t}`);continue}await this.props.deleteKeybinding(n,e)}await this._updateShortcut()},this.parseChaining=(e,t,n,i,o)=>{let r=w.EN_US.keyForKeydownEvent(e.nativeEvent),s=["Shift","Control","Alt","Meta","Ctrl","Accel"];if("Backspace"===e.key)n="",t="",i=[],o="",this.setState({value:t,userInput:n,keys:i,currentChain:o});else if("CapsLock"!==e.key){let t=n.substr(n.lastIndexOf(" ")+1,n.length).trim();-1===s.lastIndexOf(t)&&""!=t?(n+=",",i.push(o),o="",e.ctrlKey&&"Control"!=e.key&&(n=(n+" Ctrl").trim(),o=(o+" Ctrl").trim()),e.metaKey&&"Meta"!=e.key&&(n=(n+" Accel").trim(),o=(o+" Accel").trim()),e.altKey&&"Alt"!=e.key&&(n=(n+" Alt").trim(),o=(o+" Alt").trim()),e.shiftKey&&"Shift"!=e.key&&(n=(n+" Shift").trim(),o=(o+" Shift").trim()),-1===s.lastIndexOf(e.key)?(n=(n+" "+r).trim(),o=(o+" "+r).trim()):"Meta"===e.key?(n=(n+" Accel").trim(),o=(o+" Accel").trim()):"Control"===e.key?(n=(n+" Ctrl").trim(),o=(o+" Ctrl").trim()):"Shift"===e.key?(n=(n+" Shift").trim(),o=(o+" Shift").trim()):"Alt"===e.key?(n=(n+" Alt").trim(),o=(o+" Alt").trim()):(n=(n+" "+e.key).trim(),o=(o+" "+e.key).trim())):"Control"===e.key?(n=(n+" Ctrl").trim(),o=(o+" Ctrl").trim()):"Meta"===e.key?(n=(n+" Accel").trim(),o=(o+" Accel").trim()):"Shift"===e.key?(n=(n+" Shift").trim(),o=(o+" Shift").trim()):"Alt"===e.key?(n=(n+" Alt").trim(),o=(o+" Alt").trim()):(n=(n+" "+r).trim(),o=(o+" "+r).trim())}return this.setState({keys:i,currentChain:o}),[n,i,o]},this.checkNonFunctional=()=>{let e=["Ctrl","Alt","Accel","Shift"],t=this.state.currentChain.split(" "),n=t[t.length-1];return this.setState({isFunctional:-1===e.indexOf(n)}),-1!==e.indexOf(n)},this.checkShortcutAvailability=(e,t,n)=>{let i=this.props.findConflictsFor([...t,n],this.props.shortcut.selector),o=""===e||0===i.length;return!o&&1===i.length&&i[0].id===this.props.shortcut.id&&this._isReplacingExistingKeybinding?(this.setState({isAvailable:!0}),[]):(this.setState({isAvailable:o}),i)},this.handleInput=e=>{e.preventDefault(),this.setState({selected:!1});let t=this.parseChaining(e,this.state.value,this.state.userInput,this.state.keys,this.state.currentChain),n=t[0],i=t[1],o=t[2],r=this.props.toSymbols(n),s=this.checkShortcutAvailability(n,i,o);this.setState({value:r,userInput:n,keys:i,currentChain:o},()=>{this.checkNonFunctional(),this._emitConflicts(s)})},this._handleBlur=e=>{var t,n;(null==(t=this._ref.current)?void 0:t.contains(e.relatedTarget))||null!=(n=e.relatedTarget)&&n.closest(`.${j}`)||this.props.toggleInput()},this._ref=g.createRef(),this.state={value:this.props.placeholder,userInput:"",isAvailable:!0,isFunctional:this._isReplacingExistingKeybinding,keys:[],currentChain:"",selected:!0}}get _isReplacingExistingKeybinding(){return!!this.props.keybinding}_emitConflicts(e){let t=[...this.state.keys,this.state.currentChain];this.props.displayConflicts({conflictsWith:e,keys:this.state.keys,overwrite:async()=>{this.setState({isAvailable:!0}),await this._handleOverwrite(e,t),this.props.toggleInput()},cancel:()=>{this.props.toggleInput()}})}render(){let e=this.props.translator.load("jupyterlab"),t="jp-Shortcuts-Input";return this.state.isAvailable||(t+=" jp-mod-unavailable-Input"),g.createElement("div",{className:this.props.displayInput?this._isReplacingExistingKeybinding?"jp-Shortcuts-InputBox":"jp-Shortcuts-InputBox jp-Shortcuts-InputBoxNew":"jp-mod-hidden",ref:this._ref,onBlur:this._handleBlur},g.createElement("div",{tabIndex:0,className:t,onKeyDown:this.handleInput,ref:e=>e&&e.focus(),"data-lm-suppress-shortcuts":"true"},g.createElement("p",{className:this.state.selected&&this._isReplacingExistingKeybinding?"jp-Shortcuts-InputText jp-mod-selected-InputText":""===this.state.value?"jp-Shortcuts-InputText jp-mod-waiting-InputText":"jp-Shortcuts-InputText"},""===this.state.value?e.__("press keys"):this.state.value)),g.createElement("button",{className:this.state.isFunctional?this.state.isAvailable?"jp-Shortcuts-Submit":"jp-Shortcuts-Submit jp-mod-conflict-Submit":"jp-Shortcuts-Submit jp-mod-defunc-Submit",disabled:!this.state.isAvailable||!this.state.isFunctional,onClick:this.handleSubmit,tabIndex:0},this.state.isAvailable?g.createElement(d.checkIcon.react,null):g.createElement(d.errorIcon.react,null)))}}var B=n(65819);!function(e){e.editBinding="shortcuts:edit-keybinding",e.addBinding="shortcuts:add-keybinding",e.deleteBinding="shortcuts:delete-keybinding",e.toggleSelectors="shortcuts:toggle-selectors",e.resetAll="shortcuts:reset-all"}(i||(i={})),function(e){e[e.Label=0]="Label",e[e.Category=1]="Category",e[e.Split=2]="Split",e[e.Default=3]="Default"}(o||(o={}));class S extends Map{constructor(e){var t,n,i,o;super();const{settings:r,commandRegistry:s,allCommands:a}=e;if(a)for(const e of s.listCommands()){const n={command:e,selector:"body"},i=this._computeTargetId(n),o=n.command.split(":"),r=null!=(t=s.label(n.command,n.args))?t:o.length>1?o[1]:void 0,a=o[0],l={...n,id:i,keybindings:[],category:a,label:r,args:{}};this.set(i,l)}else if(r){const e=new Set((null!=(n=r.user.shortcuts)?n:[]).map(this._computeKeybindingId.bind(this))),t=null!=(i=r.composite.shortcuts)?i:[],a=r.default("shortcuts").map(e=>this._computeTargetId(e));for(const n of t){const t=this._computeTargetId(n),i=this._computeKeybindingId(n),r={keys:n.keys,isDefault:!e.has(i)},l=this.get(t);if(l)l.keybindings.push(r);else{const e=n.command.split(":"),i=null!=(o=s.label(n.command,n.args))?o:e.length>1?e[1]:void 0,l=e[0];this.set(t,{id:t,selector:n.selector,command:n.command,category:l,label:i,args:n.args,keybindings:[r],userDefined:!a.includes(t)})}}}}findConflictsFor(e,t){let n=new M({registry:this}),i=n.findConflicts(e,t);if(0!==i.length)return i;for(let o of e)if(0!==(i=n.findConflicts([o],t)).length)return i;return[]}_computeTargetId(e){var t;return e.command+"_"+e.selector+"_"+JSON.stringify(null!=(t=e.args)?t:{})}_computeKeybindingId(e){var t;return[e.command,e.selector,JSON.stringify(null!=(t=e.args)?t:{}),e.keys.join(" ")].join("_")}}class M{constructor(e){var t;const n=new Map;for(const i of e.registry.values())for(const e of i.keybindings){const o=this._keybindingHash(e.keys,i.selector),r=null!=(t=n.get(o))?t:[];r.push(i),n.set(o,r)}this._keybindingsMap=n}findConflicts(e,t){var n;let i=this._keybindingHash(e,t);return null!=(n=this._keybindingsMap.get(i))?n:[]}_keybindingHash(e,t){return e.join(" ")+"_"+t}}!function(e){function t(e){return e.replace(/\s+/g,"").toLowerCase()}function n(e,t){var n;let i=e.category.toLowerCase(),r=(null!=(n=e.label)?n:"").toLowerCase(),s=`${i} ${r}`,a=1/0,l=null,d=/\b\w/g;for(;;){let e=d.exec(s);if(!e)break;let n=B.StringExt.matchSumOfDeltas(s,t,e.index);if(!n)break;n&&n.score<=a&&(a=n.score,l=n.indices)}if(!l||a===1/0)return null;let c=i.length+1,h=B.ArrayExt.lowerBound(l,c,(e,t)=>e-t),u=l.slice(0,h),p=l.slice(h);for(let e=0,t=p.length;e<t;++e)p[e]-=c;return 0===u.length?{matchType:o.Label,categoryIndices:null,labelIndices:p,score:a,item:e}:0===p.length?{matchType:o.Category,categoryIndices:u,labelIndices:null,score:a,item:e}:{matchType:o.Split,categoryIndices:u,labelIndices:p,score:a,item:e}}e.matchItems=function(e,i){i=t(i);let r=[];for(let t of e.values()){if(!i){r.push({matchType:o.Default,categoryIndices:null,labelIndices:null,score:0,item:t});continue}let e=n(t,i);e&&r.push(e)}return r}}(S||(S={}));let I={Ctrl:"⌃",Alt:"⌥",Shift:"⇧",Accel:"⌘"};class k extends g.Component{constructor(e){super(e),this.toggleInputNew=()=>{this.setState({displayNewInput:!this.state.displayNewInput,conflicts:new Map})},this.toSymbols=e=>p.Platform.IS_MAC?e.split(" ").map(e=>{var t;return null!=(t=I[e])?t:e}).join(" "):e.split(" ").map(e=>"Accel"===e?"Ctrl":e).join(" "),this._trans=this.props.external.translator.load("jupyterlab"),this.state={displayNewInput:!1,displayReplaceInput:Object.freeze({}),conflicts:new Map}}componentDidMount(){this.props.external.actionRequested.connect(this._onActionRequested,this)}componentWillUnmount(){this.props.external.actionRequested.disconnect(this._onActionRequested,this)}async _onActionRequested(e,t){if(!("shortcutId"in t)||t.shortcutId===this.props.shortcut.id){if("add-keybinding"===t.request)return this.toggleInputNew();if("edit-keybinding"===t.request&&this.toggleInputReplaceMethod(t.keybinding),"delete-keybinding"===t.request){let e=this.props.shortcut,n=e.keybindings[t.keybinding];this.props.deleteKeybinding(e,n).catch(console.error)}}}getCategoryCell(){return g.createElement("div",{className:"jp-Shortcuts-Cell"},this.props.shortcut.category)}getLabelCell(){var e;if(!this.props.newShortcutUtils)return g.createElement("div",{className:"jp-Shortcuts-Cell"},g.createElement("div",{className:"jp-label"},null!=(e=this.props.shortcut.label)?e:this._trans.__("(Command label missing)")));{let e=this._getFilteredCommands();return g.createElement("div",{className:"jp-Shortcuts-Cell"},g.createElement(d.HTMLSelect,{value:this.props.shortcut.command,options:[{value:"",label:this._trans.__("Select a command")},...e.map(e=>({value:e.command,label:`${e.category}: ${e.label}`}))],onChange:t=>{var n,i,o;let r=e.find(e=>e.command===t.target.value);null==(n=this.props.newShortcutUtils)||n.updateCommand(null!=(i=null==r?void 0:r.command)?i:"",null!=(o=null==r?void 0:r.category)?o:"")}}))}}getResetShortCutLink(){return g.createElement("a",{className:"jp-Shortcuts-Reset",onClick:()=>this.props.resetKeybindings(this.props.shortcut)},this.props.shortcut.userDefined?this._trans.__("Delete"):this._trans.__("Reset"))}getSourceCell(){var e;let t=this.props.shortcut.keybindings.every(e=>e.isDefault),n=this.props.shortcut.userDefined||!!this.props.newShortcutUtils,i=n?this._trans.__("Custom options"):this._trans.__("Show options");return g.createElement("div",{className:"jp-Shortcuts-Cell"},!this.props.newShortcutUtils&&g.createElement("div",{className:"jp-Shortcuts-SourceCell"},t?this._trans.__("Default"):this._trans.__("Custom")),t?"":this.getResetShortCutLink(),this.props.external.editorFactory&&g.createElement(f.Button,{className:"jp-mod-styled jp-mod-reject jp-Shortcuts-CustomOptions",onClick:async()=>{if(!this.props.external.editorFactory)return void console.error("Cannot build the custom options form");let e=new _({shortcut:this.props.shortcut,translator:this.props.external.translator,editorFactory:this.props.external.editorFactory,readOnly:!n}),t=await e.launch();t.button.accept&&n&&t.value&&await this.props.setCustomOptions(this.props.shortcut,t.value)},title:i,"aria-label":i,appearance:"neutral"},n?g.createElement(d.editIcon.react,{tag:null}):g.createElement(d.infoIcon.react,{tag:null})),!!this.props.newShortcutUtils&&g.createElement(g.Fragment,null,g.createElement(f.Button,{className:"jp-mod-styled jp-mod-accept jp-Shortcuts-SaveNew",onClick:null==(e=this.props.newShortcutUtils)?void 0:e.saveShortcut,title:this._trans.__("Save shortcut"),"aria-label":this._trans.__("Save shortcut"),appearance:"neutral",disabled:!this.props.shortcut.command||!this.props.shortcut.keybindings.length||this.props.shortcut.keybindings.every(e=>!e.keys||0===e.keys.length)},g.createElement(d.checkIcon.react,{tag:null}))))}getOptionalSelectorCell(){return this.props.showSelectors?g.createElement("div",{className:"jp-Shortcuts-Cell"},g.createElement("div",{className:"jp-selector"},this.props.shortcut.selector)):null}getClassNameForShortCuts(e){let t=["jp-Shortcuts-ShortcutCell"];switch(e.length){case 1:t.push("jp-Shortcuts-SingleCell");break;case 0:t.push("jp-Shortcuts-EmptyCell")}return t.join(" ")}toggleInputReplaceMethod(e){let t=this.state.displayReplaceInput[e];this.setState({displayReplaceInput:{...this.state.displayReplaceInput,[e]:!t},conflicts:new Map})}getDisplayReplaceInput(e){return this.state.displayReplaceInput[e]}getOrDisplayIfNeeded(e){let t=["jp-Shortcuts-Or"];return(e||this.state.displayNewInput)&&t.push("jp-Shortcuts-Or-Forced"),g.createElement("div",{className:t.join(" ")},this._trans.__("or"))}getShortCutAsInput(e,t){return g.createElement(x,{addKeybinding:this.props.addKeybinding,replaceKeybinding:this.props.replaceKeybinding,deleteKeybinding:this.props.deleteKeybinding,findConflictsFor:this.props.findConflictsFor,toggleInput:()=>this.toggleInputReplaceMethod(t),shortcut:this.props.shortcut,keybinding:e,displayConflicts:t=>{let n=new Map(this.state.conflicts);n.set(e,t),this.setState({conflicts:n})},toSymbols:this.toSymbols,displayInput:this.getDisplayReplaceInput(t),placeholder:this.toSymbols(e.keys.join(", ")),translator:this.props.external.translator})}getShortCutForDisplayOnly(e){return e.keys.map((t,n)=>g.createElement("div",{className:"jp-Shortcuts-ShortcutKeysContainer",key:n},g.createElement("div",{className:"jp-Shortcuts-ShortcutKeys"},this.toSymbols(t).split(" ").map((e,t,i)=>g.createElement(g.Fragment,{key:`${n}-${e}-${t}`},g.createElement("span",{className:"jp-ContextualShortcut-Key"},e),t+1<i.length?" + ":null))),n+1<e.keys.length?g.createElement("div",{className:"jp-Shortcuts-Comma"},","):null))}isLocationBeingEdited(e){return this.state.displayReplaceInput[e]}getDivForKey(e,t,n){return g.createElement("div",{className:"jp-Shortcuts-ShortcutContainer",key:this.props.shortcut.id+"_"+e,"data-keybinding":e,"data-shortcut":this.props.shortcut.id,onClick:()=>this.toggleInputReplaceMethod(e)},this.isLocationBeingEdited(e)?this.getShortCutAsInput(t,e):this.getShortCutForDisplayOnly(t),!(e===this._nonEmptyBindings.length-1&&Object.values(this.state.displayReplaceInput).some(Boolean))&&this.getOrDisplayIfNeeded(e<this._nonEmptyBindings.length-1))}getAddLink(){return g.createElement("a",{className:this.state.displayNewInput?"":"jp-Shortcuts-Plus",onClick:()=>{this.toggleInputNew()}},this._trans.__("Add"))}getInputBoxWhenToggled(){return this.state.displayNewInput?g.createElement(x,{addKeybinding:this.props.addKeybinding,replaceKeybinding:this.props.replaceKeybinding,deleteKeybinding:this.props.deleteKeybinding,findConflictsFor:this.props.findConflictsFor,toggleInput:this.toggleInputNew,shortcut:this.props.shortcut,displayConflicts:e=>{let t=new Map(this.state.conflicts);t.set(null,e),this.setState({conflicts:t})},toSymbols:this.toSymbols,displayInput:this.state.displayNewInput,placeholder:"",translator:this.props.external.translator}):g.createElement("div",null)}getShortCutsCell(e){return g.createElement("div",{className:"jp-Shortcuts-Cell"},g.createElement("div",{className:this.getClassNameForShortCuts(e)},e.map((t,n)=>this.getDivForKey(n,t,e)),e.length>=1&&!this.state.displayNewInput&&!Object.values(this.state.displayReplaceInput).some(Boolean)&&this.getAddLink(),0===e.length&&!this.state.displayNewInput&&this.getAddLink(),this.getInputBoxWhenToggled()))}getConflicts(){let e=[...this.state.conflicts.values()].filter(e=>0!==e.conflictsWith.length);return 0===e.length?g.createElement(g.Fragment,null):g.createElement("div",{className:"jp-Shortcuts-Row jp-Shortcuts-RowWithConflict"},g.createElement("div",{className:j},e.map(e=>{let t=e.keys.join(" ")+"_"+e.conflictsWith.map(e=>e.id).join("");return g.createElement("div",{className:"jp-Shortcuts-Conflict",key:t},g.createElement("div",{className:"jp-Shortcuts-ErrorMessage"},this._trans.__("Shortcut already in use by %1. Overwrite it?",e.conflictsWith.map(e=>{var t;return null!=(t=e.label)?t:e.command}).join(", "))),g.createElement("div",{className:"jp-Shortcuts-ErrorButton"},g.createElement("button",{className:"jp-Button jp-mod-reject jp-mod-styled",onClick:()=>{this._clearConflict(e),e.cancel()}},this._trans.__("Cancel")),g.createElement("button",{className:"jp-Button jp-mod-warn jp-mod-styled",onClick:()=>{this._clearConflict(e),e.overwrite()}},this._trans.__("Overwrite"))))})))}_clearConflict(e){let t=new Map,n=this._conflictId(e);for(let[e,i]of this.state.conflicts.entries())this._conflictId(i)!==n&&t.set(e,i);this.setState({conflicts:t})}_conflictId(e){return e.keys.join(" ")+"_"+e.conflictsWith.map(e=>e.id).join("")}_getFilteredCommands(){var e,t;let n=new S({commandRegistry:this.props.external.commandRegistry,allCommands:!0}),i=S.matchItems(n,null!=(t=null==(e=this.props.newShortcutUtils)?void 0:e.searchQuery)?t:"").map(e=>e.item).filter(e=>!e.command.startsWith("__internal:"));return i.sort((e,t)=>{var n,i;let o=e.category,r=t.category,s=o.localeCompare(r);if(s)return s;{let o=null!=(n=e.label)?n:"",r=null!=(i=t.label)?i:"";return o.localeCompare(r)}}),i}get _nonEmptyBindings(){return this.props.shortcut.keybindings.filter(e=>0!==e.keys.filter(e=>""!=e).length)}render(){return g.createElement(g.Fragment,null,g.createElement("div",{className:`jp-Shortcuts-Row${this.props.newShortcutUtils?" jp-Shortcuts-Row-newShortcut":""}`,"data-shortcut":this.props.shortcut.id},this.getCategoryCell(),this.getLabelCell(),this.getShortCutsCell(this._nonEmptyBindings),this.getSourceCell(),this.getOptionalSelectorCell()),this.getConflicts())}}let D=115;class T extends g.Component{render(){return g.createElement("div",{className:"jp-Shortcuts-ShortcutListContainer",style:{height:`${this.props.height-D}px`},id:"shortcutListContainer"},g.createElement("div",{className:"jp-Shortcuts-ShortcutList"},this.props.shortcuts.map(e=>g.createElement(k,{key:e.id,addKeybinding:this.props.addKeybinding,replaceKeybinding:this.props.replaceKeybinding,deleteKeybinding:this.props.deleteKeybinding,resetKeybindings:this.props.resetKeybindings,findConflictsFor:this.props.findConflictsFor,setCustomOptions:this.props.setCustomOptions,shortcut:e,showSelectors:this.props.showSelectors,external:this.props.external}))))}}class L extends g.Component{render(){return g.createElement("div",{className:this.props.title.toLowerCase()===this.props.active?"jp-Shortcuts-Header jp-Shortcuts-CurrentHeader":"jp-Shortcuts-Header",onClick:()=>this.props.updateSort(this.props.columnId)},this.props.title,g.createElement(d.caretDownEmptyThinIcon.react,{className:"jp-Shortcuts-SortButton jp-ShortcutTitleItem-sortButton"}))}}function N(e){let t=e.translator.load("jupyterlab");return g.createElement("div",{className:"jp-Shortcuts-AdvancedOptions"},g.createElement("a",{className:"jp-Shortcuts-AdvancedOptionsLink",onClick:()=>e.toggleSelectors()},e.showSelectors?t.__("Hide Selectors"):t.__("Show Selectors")),g.createElement("a",{className:"jp-Shortcuts-AdvancedOptionsLink",onClick:()=>e.resetShortcuts()},t.__("Reset All")),g.createElement(f.Button,{className:"jp-mod-styled jp-mod-accept jp-Shortcuts-AdvancedOptionsButton",onClick:e.toggleAddCommandRow,title:t.__("Tool for adding shortcuts"),"aria-label":t.__("Tool for adding shortcuts")},g.createElement(d.addIcon.react,{tag:"span",elementSize:"xlarge",elementPosition:"center"})))}class P extends g.Component{constructor(e){super(e)}getShortCutTitleItem(e,t){return g.createElement("div",{className:"jp-Shortcuts-Cell"},g.createElement(L,{title:e,updateSort:this.props.updateSort,active:this.props.currentSort,columnId:t}))}render(){let e=this.props.translator.load("jupyterlab");return g.createElement("div",{className:"jp-Shortcuts-Top"},g.createElement("div",{className:"jp-Shortcuts-TopNav"},g.createElement(d.FilterBox,{"aria-label":e.__("Search shortcuts"),updateFilter:(e,t)=>this.props.updateSearchQuery(null!=t?t:""),placeholder:e.__("Search…"),useFuzzyFilter:!1}),g.createElement(N,{toggleSelectors:this.props.toggleSelectors,showSelectors:this.props.showSelectors,resetShortcuts:this.props.resetShortcuts,toggleAddCommandRow:this.props.toggleAddCommandRow,translator:this.props.translator})),g.createElement("div",{className:"jp-Shortcuts-HeaderRowContainer"},g.createElement("div",{className:"jp-Shortcuts-HeaderRow"},this.getShortCutTitleItem(e.__("Category"),"category"),this.getShortCutTitleItem(e.__("Command"),"command"),g.createElement("div",{className:"jp-Shortcuts-Cell"},g.createElement("div",{className:"title-div"},e.__("Shortcut"))),this.getShortCutTitleItem(e.__("Source"),"source"),this.props.showSelectors&&this.getShortCutTitleItem(e.__("Selectors"),"selector"))))}}class z extends g.Component{constructor(e){super(e),this.updateSearchQuery=e=>{this.setState({searchQuery:e},()=>{let e=this.state.shortcutRegistry;this.setState({filteredShortcutList:this._searchFilterShortcuts(e)},()=>{this.sortShortcuts()})})},this.resetShortcuts=async()=>{let e=await this.props.external.getSettings();await e.set("shortcuts",[]),await this._refreshShortcutList()},this.resetKeybindings=async e=>{await this._setKeybinding(e,[])},this.replaceKeybinding=async(e,t,n)=>this._setKeybinding(e,n,t),this.deleteKeybinding=async(e,t)=>{await this._setKeybinding(e,[],t)},this.addKeybinding=async(e,t)=>{await this._setKeybinding(e,t)},this.setCustomOptions=async(e,t)=>{var n;let i=await this.props.external.getSettings(),o=null!=(n=i.user.shortcuts)?n:[],r=o.filter(t=>{var n,i;return t.command===e.command&&t.selector===e.selector&&h.JSONExt.deepEqual(null!=(n=t.args)?n:{},null!=(i=e.args)?i:{})});return r.length?(r.forEach(e=>{e.selector=t.selector,e.args=t.args}),await i.set("shortcuts",o),await this._refreshShortcutList(),!0):(console.error("Error writing the custom options: target not found"),!1)},this.toggleSelectors=()=>{this.setState({showSelectors:!this.state.showSelectors})},this.toggleAddCommandRow=async()=>{this.setState({showAddCommand:!this.state.showAddCommand})},this.updateSort=e=>{e!==this.state.currentSort&&this.setState({currentSort:e},this.sortShortcuts)},this.saveNewShortcut=async()=>{let e={...this.state.newShortcut,args:void 0};for(let t of e.keybindings)await this.addKeybinding(e,t.keys);await this.setCustomOptions(e,{selector:e.selector,args:this.state.newShortcut.args})&&(this._newShortcutItem.reset(),this.toggleAddCommandRow())},this._newShortcutItem=new C({showSelectors:!1,findConflictsFor:(e,t)=>this.state.shortcutRegistry?this.state.shortcutRegistry.findConflictsFor(e,t):(console.error("Cannot search for keybinding conflicts at this time: registry is not ready"),[]),external:this.props.external}),this.state={shortcutRegistry:null,filteredShortcutList:[],shortcutsFetched:!1,searchQuery:"",showSelectors:!1,currentSort:"category",showAddCommand:!1,newShortcut:this._newShortcutItem.shortcut},this._newShortcutItem.changed.connect(()=>{this.setState({newShortcut:{...this._newShortcutItem.shortcut}})})}componentDidMount(){this.props.external.actionRequested.connect(this._onActionRequested,this),this._refreshShortcutList()}componentWillUnmount(){this.props.external.actionRequested.disconnect(this._onActionRequested,this)}async _onActionRequested(e,t){if("toggle-selectors"===t.request)return this.toggleSelectors();"reset-all"===t.request&&await this.resetShortcuts()}async _refreshShortcutList(){let e=await this.props.external.getSettings(),t=new S({commandRegistry:this.props.external.commandRegistry,settings:e});this.setState({shortcutRegistry:t,filteredShortcutList:this._searchFilterShortcuts(t),shortcutsFetched:!0},()=>{this.sortShortcuts()})}_searchFilterShortcuts(e){return e?S.matchItems(e,this.state.searchQuery).map(e=>e.item):[]}async _setKeybinding(e,t,n){var i,o,r,s,a;1===t.length&&""==t[0]&&(t=[]);let l=await this.props.external.getSettings(),d=null!=(i=l.user.shortcuts)?i:[],c=[],u=!1;for(let i of d)if(i.command===e.command&&i.selector===e.selector&&h.JSONExt.deepEqual(null!=(o=i.args)?o:{},null!=(r=e.args)?r:{})&&n&&h.JSONExt.deepEqual(n.keys,i.keys)){let e=n.isDefault&&h.JSONExt.deepEqual(n.keys,t);0===t.length||e||c.push({command:i.command,selector:i.selector,keys:t}),u=!0}else{if(i.command===e.command&&i.selector===e.selector&&h.JSONExt.deepEqual(null!=(s=i.args)?s:{},null!=(a=e.args)?a:{})&&!n&&0===t.length)continue;c.push(i)}if(!u){let i=!n||!h.JSONExt.deepEqual(n.keys,t);n&&n.isDefault&&i&&c.push({command:e.command,selector:e.selector,disabled:!0,keys:n.keys}),0!==t.length&&c.push({command:e.command,selector:e.selector,keys:t})}await l.set("shortcuts",c),await this._refreshShortcutList()}sortShortcuts(){let e=this.state.filteredShortcutList,t=this.state.currentSort;"command"===t&&(t="label");let n=e=>{var n;return"source"===t?e.keybindings.every(e=>e.isDefault)?"default":"other":null!=(n=e[t])?n:""};e.sort((e,t)=>{var i,o;let r=n(e),s=n(t),a=r.localeCompare(s);if(a)return a;{let n=null!=(i=e.label)?i:"",r=null!=(o=t.label)?o:"";return n.localeCompare(r)}}),this.setState({filteredShortcutList:e})}render(){return this.state.shortcutsFetched?g.createElement("div",{className:"jp-Shortcuts-ShortcutUI",id:"jp-shortcutui"},g.createElement(P,{updateSearchQuery:this.updateSearchQuery,resetShortcuts:this.resetShortcuts,toggleSelectors:this.toggleSelectors,showSelectors:this.state.showSelectors,updateSort:this.updateSort,currentSort:this.state.currentSort,toggleAddCommandRow:this.toggleAddCommandRow,width:this.props.width,translator:this.props.external.translator}),this.state.showAddCommand&&g.createElement(k,{...this._newShortcutItem,shortcut:this.state.newShortcut,newShortcutUtils:{searchQuery:this.state.searchQuery,updateCommand:this._newShortcutItem.updateCommand,saveShortcut:this.saveNewShortcut}}),g.createElement(T,{shortcuts:this.state.filteredShortcutList,resetKeybindings:this.resetKeybindings,addKeybinding:this.addKeybinding,replaceKeybinding:this.replaceKeybinding,deleteKeybinding:this.deleteKeybinding,setCustomOptions:this.setCustomOptions,showSelectors:this.state.showSelectors,findConflictsFor:(e,t)=>this.state.shortcutRegistry?this.state.shortcutRegistry.findConflictsFor(e,t):(console.error("Cannot search for keybinding conflicts at this time: registry is not ready"),[]),height:this.props.height,external:this.props.external})):null}}let R=e=>A().createElement(z,{external:e.external,height:1e3,width:1e3}),O="@jupyterlab/shortcuts-extension:shortcuts";function F(e,t,n,i,o){return{translator:n,getSettings:()=>e.load(O,!0),commandRegistry:t.commands,actionRequested:i,editorFactory:o}}let W={id:O,description:"Adds the keyboard shortcuts editor.",requires:[a.ISettingRegistry],optional:[l.ITranslator,d.IFormRendererRegistry,s.IEditorServices],activate:async(e,t,n,o,s)=>{let d,u,g=null!=n?n:l.nullTranslator,A=g.load("jupyterlab"),{commands:C}=e,f={};if(o){let n=new m.Signal({}),r=e=>void 0!==e.dataset.shortcut;e.commands.addCommand(i.editBinding,{label:A.__("Edit Keybinding"),caption:A.__("Edit existing keybinding"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let t=e.contextMenuHitTest(r),i=null==t?void 0:t.dataset.keybinding,o=null==t?void 0:t.dataset.shortcut;if(!o||!i)return console.log("Missing shortcut id/keybinding information");n.emit({request:"edit-keybinding",keybinding:parseInt(i,10),shortcutId:o})}}),e.commands.addCommand(i.deleteBinding,{label:A.__("Delete Keybinding"),caption:A.__("Delete chosen keybinding"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let t=e.contextMenuHitTest(r),i=null==t?void 0:t.dataset.keybinding,o=null==t?void 0:t.dataset.shortcut;if(!o||!i)return console.log("Missing shortcut id/keybinding information");n.emit({request:"delete-keybinding",keybinding:parseInt(i,10),shortcutId:o})}}),e.commands.addCommand(i.addBinding,{label:A.__("Add Keybinding"),caption:A.__("Add new keybinding for existing shortcut target"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{let t=e.contextMenuHitTest(r),i=null==t?void 0:t.dataset.shortcut;if(!i)return console.log("Missing shortcut id to add keybinding to");n.emit({request:"add-keybinding",shortcutId:i})}}),C.addCommand(i.toggleSelectors,{label:A.__("Toggle Selectors"),caption:A.__("Toggle command selectors"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{n.emit({request:"toggle-selectors"})}}),C.addCommand(i.resetAll,{label:A.__("Reset All"),caption:A.__("Reset all shortcuts"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{n.emit({request:"reset-all"})}});let a=s?e=>s.factoryService.newInlineEditor(e):void 0,l={fieldRenderer:i=>R({external:F(t,e,g,n,a),...i})};o.addRenderer(`${W.id}.shortcuts`,l)}function b(n){let i=e.commands.listCommands().join("\n");u||(u=h.JSONExt.deepCopy(n.properties.shortcuts.default)),f={},n.properties.shortcuts.default=Object.keys(t.plugins).map(e=>{let n=t.plugins[e].schema["jupyter.lab.shortcuts"]||[];return f[e]=n,n}).concat([u]).reduce((e,t)=>p.Platform.IS_MAC?e.concat(t):e.concat(t.filter(e=>!e.keys.some(e=>{let{cmd:t}=c.CommandRegistry.parseKeystroke(e);return t}))),[]).sort((e,t)=>e.command.localeCompare(t.command)),n.properties.shortcuts.description=A.__(`Note: To disable a system default shortcut,
copy it to User Preferences and add the
"disabled" key, for example:
{
    "command": "application:activate-next-tab",
    "keys": [
        "Ctrl Shift ]"
    ],
    "selector": "body",
    "disabled": true
}

List of commands followed by keyboard shortcuts:
%1

List of keyboard shortcuts:`,i)}t.pluginChanged.connect(async(e,n)=>{if(n!==W.id){let e=f[n],i=t.plugins[n].schema["jupyter.lab.shortcuts"]||[];void 0!==e&&h.JSONExt.deepEqual(e,i)||(d=null,t.plugins[W.id].schema.properties.shortcuts.default=u,await t.load(W.id,!0))}}),t.transform(W.id,{compose:e=>{var t,n,i,o;d||b(d=h.JSONExt.deepCopy(e.schema));let r=null!=(i=null==(n=null==(t=d.properties)?void 0:t.shortcuts)?void 0:n.default)?i:[],s={shortcuts:null!=(o=e.data.user.shortcuts)?o:[]};return e.data={composite:{shortcuts:a.SettingRegistry.reconcileShortcuts(r,s.shortcuts)},user:s},e},fetch:e=>(d||b(d=h.JSONExt.deepCopy(e.schema)),{data:e.data,id:e.id,raw:e.raw,schema:d,version:e.version})});try{d=null;let e=await t.load(W.id);r.loadShortcuts(C,e.composite),e.changed.connect(()=>{r.loadShortcuts(C,e.composite)})}catch(e){console.error(`Loading ${W.id} failed.`,e)}},autoStart:!0},H=W;!function(e){let t;function n(e){if(!e||"object"!=typeof e)return;let{isArray:t}=Array;return"command"in e&&"keys"in e&&"selector"in e&&t(e.keys)?e:void 0}e.loadShortcuts=function(e,i){var o;let r=null!=(o=null==i?void 0:i.shortcuts)?o:[];t&&t.dispose(),t=r.reduce((t,i)=>{let o=n(i);return o&&t.add(e.addKeyBinding(o)),t},new u.DisposableSet)}}(r||(r={}))},34239(e,t,n){"use strict";n(82311),n(97777),n(62971),n(38415);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(91996),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},4056(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DataConnector=void 0;class n{async list(e){throw Error("DataConnector#list method has not been implemented.")}async remove(e){throw Error("DataConnector#remove method has not been implemented.")}async save(e,t){throw Error("DataConnector#save method has not been implemented.")}}t.DataConnector=n},19531(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n(4056),t),o(n(78031),t),o(n(45310),t),o(n(19864),t),o(n(82877),t)},78031(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},45310(e,t,n){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.RestorablePool=void 0;let o=n(55187),r=n(17981),s=n(20659);class a{constructor(e){this._added=new s.Signal(this),this._current=null,this._currentChanged=new s.Signal(this),this._hasRestored=!1,this._isDisposed=!1,this._objects=new Set,this._restore=null,this._restored=new o.PromiseDelegate,this._updated=new s.Signal(this),this.namespace=e.namespace}get added(){return this._added}get current(){return this._current}set current(e){this._current!==e&&null!==e&&this._objects.has(e)&&(this._current=e,this._currentChanged.emit(this._current))}get currentChanged(){return this._currentChanged}get isDisposed(){return this._isDisposed}get restored(){return this._restored.promise}get size(){return this._objects.size}get updated(){return this._updated}async add(e){var t,n;if(e.isDisposed){let t="A disposed object cannot be added.";throw console.warn(t,e),Error(t)}if(this._objects.has(e)){let t="This object already exists in the pool.";throw console.warn(t,e),Error(t)}if(this._objects.add(e),e.disposed.connect(this._onInstanceDisposed,this),!i.injectedProperty.get(e)){if(this._restore){let{connector:o}=this._restore,r=this._restore.name(e);if(r){let s=`${this.namespace}:${r}`,a=null==(n=(t=this._restore).args)?void 0:n.call(t,e);i.nameProperty.set(e,s),await o.save(s,{data:a})}}this._added.emit(e)}}dispose(){this.isDisposed||(this._current=null,this._isDisposed=!0,this._objects.clear(),s.Signal.clearData(this))}find(e){for(let t of this._objects.values())if(e(t))return t}forEach(e){this._objects.forEach(e)}filter(e){let t=[];return this.forEach(n=>{e(n)&&t.push(n)}),t}inject(e){return i.injectedProperty.set(e,!0),this.add(e)}has(e){return this._objects.has(e)}async restore(e){if(this._hasRestored)throw Error("This pool has already been restored.");this._hasRestored=!0;let{command:t,connector:n,registry:i,when:o}=e,r=this.namespace,s=o?[n.list(r)].concat(o):[n.list(r)];this._restore=e;let[a]=await Promise.all(s),l=await Promise.all(a.ids.map(async(e,o)=>{let r=a.values[o],s=r&&r.data;return void 0===s?n.remove(e):i.execute(t,s).catch(()=>n.remove(e))}));return this._restored.resolve(),l}async save(e){var t,n;let o=i.injectedProperty.get(e);if(!this._restore||!this.has(e)||o)return;let{connector:r}=this._restore,s=this._restore.name(e),a=i.nameProperty.get(e),l=s?`${this.namespace}:${s}`:"";if(a&&a!==l&&await r.remove(a),i.nameProperty.set(e,l),l){let i=null==(n=(t=this._restore).args)?void 0:n.call(t,e);await r.save(l,{data:i})}a!==l&&this._updated.emit(e)}_onInstanceDisposed(e){if(this._objects.delete(e),e===this._current&&(this._current=null,this._currentChanged.emit(this._current)),i.injectedProperty.get(e)||!this._restore)return;let{connector:t}=this._restore,n=i.nameProperty.get(e);n&&t.remove(n)}}t.RestorablePool=a,function(e){e.injectedProperty=new r.AttachedProperty({name:"injected",create:()=>!1}),e.nameProperty=new r.AttachedProperty({name:"name",create:()=>""})}(i||(i={}))},19864(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StateDB=void 0;let i=n(20659);class o{constructor(e={}){this._changed=new i.Signal(this);const{connector:t,transform:n}=e;this._connector=t||new o.Connector,n?this._ready=n.then(e=>{let{contents:t,type:n}=e;switch(n){case"cancel":default:return;case"clear":return this._clear();case"merge":return this._merge(t||{});case"overwrite":return this._overwrite(t||{})}}):this._ready=Promise.resolve(void 0)}get changed(){return this._changed}async clear(){await this._ready,await this._clear()}async fetch(e){return await this._ready,this._fetch(e)}async list(e){return await this._ready,this._list(e)}async remove(e){await this._ready,await this._remove(e),this._changed.emit({id:e,type:"remove"})}async save(e,t){await this._ready,await this._save(e,t),this._changed.emit({id:e,type:"save"})}async toJSON(){await this._ready;let{ids:e,values:t}=await this._list();return t.reduce((t,n,i)=>(t[e[i]]=n,t),{})}async _clear(){await Promise.all((await this._list()).ids.map(e=>this._remove(e)))}async _fetch(e){let t=await this._connector.fetch(e);if(t)return JSON.parse(t).v}async _list(e=""){let{ids:t,values:n}=await this._connector.list(e);return{ids:t,values:n.map(e=>JSON.parse(e).v)}}async _merge(e){await Promise.all(Object.keys(e).map(t=>e[t]&&this._save(t,e[t])))}async _overwrite(e){await this._clear(),await this._merge(e)}async _remove(e){return this._connector.remove(e)}async _save(e,t){return this._connector.save(e,JSON.stringify({v:t}))}}t.StateDB=o,function(e){class t{constructor(){this._storage={}}async fetch(e){return this._storage[e]}async list(e=""){return Object.keys(this._storage).reduce((t,n)=>((""===e||e===n.split(":")[0])&&(t.ids.push(n),t.values.push(this._storage[n])),t),{ids:[],values:[]})}async remove(e){delete this._storage[e]}async save(e,t){this._storage[e]=t}}e.Connector=t}(o||(t.StateDB=o={}))},82877(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IStateDB=void 0,t.IStateDB=new(n(55187)).Token("@jupyterlab/coreutils:IStateDB",`A service for the JupyterLab state database.
  Use this if you want to store data that will persist across page loads.
  See "state database" for more information.`)},6771(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>d});var i=n(57941),o=n(97518),r=n(46109),s=n(59057),a=n(2786);let l="@jupyterlab/statusbar-extension:plugin",d={id:l,description:"Provides the application status bar.",requires:[a.ITranslator],provides:s.IStatusBar,autoStart:!0,activate:(e,t,n,i,o)=>{let r=t.load("jupyterlab"),a=new s.StatusBar;a.id="jp-main-statusbar",e.shell.add(a,"bottom"),n&&n.layoutModified.connect(()=>{a.update()});let d=r.__("Main Area"),c="statusbar:toggle";if(e.commands.addCommand(c,{label:r.__("Show Status Bar"),execute:()=>{a.setHidden(a.isVisible),i&&i.set(l,"visible",a.isVisible)},isToggled:()=>a.isVisible,describedBy:{args:{type:"object",properties:{}}}}),e.commands.commandExecuted.connect((t,n)=>{"application:reset-layout"!==n.id||a.isVisible||e.commands.execute(c).catch(e=>{console.error("Failed to show the status bar.",e)})}),o&&o.addItem({command:c,category:d}),i){let t=i.load(l),n=e=>{let t=e.get("visible").composite;a.setHidden(!t)};Promise.all([t,e.restored]).then(([e])=>{n(e),e.changed.connect(e=>{n(e)})}).catch(e=>{console.error(e.message)})}return a},optional:[i.ILabShell,r.ISettingRegistry,o.ICommandPalette]}},40005(e,t,n){"use strict";n(82946),n(62971),n(67474)},45780(e,t,n){"use strict";n.r(t),n.d(t,{GroupItem:()=>s,IStatusBar:()=>f,Popup:()=>c,ProgressBar:()=>h,ProgressCircle:()=>m,StatusBar:()=>C,TextItem:()=>p,showPopup:()=>d});var i,o=n(60721),r=n.n(o);function s(e){let{spacing:t,children:n,className:i,...r}=e,s=o.Children.toArray(n).filter(Boolean),a=s.length;return o.createElement("div",{className:`jp-StatusBar-GroupItem ${i||""}`,...r},s.map((e,n)=>{let i=`group-item-${n}`;return 0===n?o.createElement("div",{key:i,style:{marginRight:`${t}px`}},e):n===a-1?o.createElement("div",{key:i,style:{marginLeft:`${t}px`}},e):o.createElement("div",{key:i,style:{margin:`0px ${t}px`}},e)}))}var a=n(8989),l=n(64001);function d(e){let t=new c(e);return e.startHidden||t.launch(),t}class c extends l.Widget{constructor(e){super(),this.addClass("jp-ThemedContainer"),this._body=e.body,this._body.addClass("jp-StatusBar-HoverItem"),this._anchor=e.anchor,this._align=e.align,e.hasDynamicSize&&(this._observer=new ResizeObserver(()=>{this.update()})),(this.layout=new l.PanelLayout).addWidget(e.body),this._body.node.addEventListener("resize",()=>{this.update()})}launch(){this._setGeometry(),l.Widget.attach(this,document.body),this.update(),this._anchor.addClass("jp-mod-clicked"),this._anchor.removeClass("jp-mod-highlight")}onUpdateRequest(e){this._setGeometry(),super.onUpdateRequest(e)}onAfterAttach(e){var t;document.addEventListener("click",this,!1),this.node.addEventListener("keydown",this,!1),window.addEventListener("resize",this,!1),null==(t=this._observer)||t.observe(this._body.node)}onBeforeDetach(e){var t;null==(t=this._observer)||t.disconnect(),document.removeEventListener("click",this,!1),this.node.removeEventListener("keydown",this,!1),window.removeEventListener("resize",this,!1)}onResize(){this.update()}dispose(){var e;null==(e=this._observer)||e.disconnect(),super.dispose(),this._anchor.removeClass("jp-mod-clicked"),this._anchor.addClass("jp-mod-highlight")}handleEvent(e){switch(e.type){case"keydown":this._evtKeydown(e);break;case"click":this._evtClick(e);break;case"resize":this.onResize()}}_evtClick(e){e.target&&!(this._body.node.contains(e.target)||this._anchor.node.contains(e.target))&&this.dispose()}_evtKeydown(e){"Escape"===e.key&&(e.stopPropagation(),e.preventDefault(),this.dispose())}_setGeometry(){let e=0,t=this._anchor.node.getBoundingClientRect(),n=this._body.node.getBoundingClientRect();"right"===this._align&&(e=-(n.width-t.width));let i=window.getComputedStyle(this._body.node);a.HoverBox.setGeometry({anchor:t,host:document.body,maxHeight:500,minHeight:20,node:this._body.node,offset:{horizontal:e},privilege:"forceAbove",style:i})}}function h(e){let{width:t,percentage:n,...i}=e;return o.createElement("div",{className:"jp-Statusbar-ProgressBar-progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n},o.createElement(u,{percentage:n,...i,contentWidth:t}))}function u(e){return o.createElement("div",{style:{width:`${e.percentage}%`}},o.createElement("p",null,e.content))}function p(e){let{title:t,source:n,className:i,...r}=e;return o.createElement("span",{className:i?`jp-StatusBar-TextItem ${i}`:"jp-StatusBar-TextItem",title:t,...r},n)}function m(e){let t=104,n=e=>{let n=Math.max(3.6*e,.1),i=n*Math.PI/180,o=Math.sin(i)*t,r=-(Math.cos(i)*t);return`M 0 0 v -${t} A ${t} ${t} 1 `+ +(n<180)+" 0 "+o.toFixed(4)+" "+r.toFixed(4)+" z"};return r().createElement("div",{className:"jp-Statusbar-ProgressCircle",role:"progressbar","aria-label":e.label||"Unlabelled progress circle","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.progress,onClick:e.onClick},r().createElement("svg",{viewBox:"0 0 250 250"},r().createElement("circle",{cx:"125",cy:"125",r:`${t}`,stroke:"var(--jp-inverse-layout-color3)",strokeWidth:"20",fill:"none"}),r().createElement("path",{className:"jp-Statusbar-ProgressCirclePath",transform:"translate(125,125) scale(.9)",d:n(e.progress),fill:"var(--jp-inverse-layout-color3)"})))}var g=n(65819),A=n(63995);class C extends l.Widget{constructor(){super(),this._isWindowNarrow=()=>window.innerWidth<=630,this._leftRankItems=[],this._rightRankItems=[],this._statusItems={},this._disposables=new A.DisposableSet,this.addClass("jp-StatusBar-Widget");const e=this.layout=new l.PanelLayout,t=this._leftSide=new l.Panel,n=this._middlePanel=new l.Panel,i=this._rightSide=new l.Panel;t.addClass("jp-StatusBar-Left"),n.addClass("jp-StatusBar-Middle"),i.addClass("jp-StatusBar-Right"),i.node.style.flexDirection="row",e.addWidget(t),e.addWidget(n),e.addWidget(i)}registerStatusItem(e,t){if(e in this._statusItems)throw Error(`Status item ${e} already registered.`);let n={...i.statusItemDefaults,...t},{align:o,item:r,rank:s,priority:a}=n,l=()=>{this._refreshItem(e)};n.activeStateChanged&&n.activeStateChanged.connect(l);let d={id:e,rank:s,priority:a};if(n.item.addClass("jp-StatusBar-Item"),this._statusItems[e]=n,"left"===o){let e=this._findInsertIndex(this._leftRankItems,d);-1===e?(this._leftSide.addWidget(r),this._leftRankItems.push(d)):(g.ArrayExt.insert(this._leftRankItems,e,d),this._leftSide.insertWidget(e,r))}else if("right"===o){let e=g.ArrayExt.findFirstIndex(this._rightRankItems,e=>e.rank<d.rank);-1===e?(this._rightSide.addWidget(r),this._rightRankItems.push(d)):(g.ArrayExt.insert(this._rightRankItems,e,d),this._rightSide.insertWidget(e,r))}else this._middlePanel.addWidget(r);this._refreshItem(e);let c=new A.DisposableDelegate(()=>{delete this._statusItems[e],n.activeStateChanged&&n.activeStateChanged.disconnect(l),r.parent=null,r.dispose()});return this._disposables.add(c),c}dispose(){this._leftRankItems.length=0,this._rightRankItems.length=0,this._disposables.dispose(),super.dispose()}onUpdateRequest(e){this._refreshAll(),super.onUpdateRequest(e)}_findInsertIndex(e,t){return g.ArrayExt.findFirstIndex(e,e=>e.rank>t.rank)}_refreshItem(e){let t=this._statusItems[e];t.isActive()&&!(0===t.priority&&this._isWindowNarrow())?(t.item.show(),t.item.update()):t.item.hide()}_refreshAll(){Object.keys(this._statusItems).forEach(e=>{this._refreshItem(e)})}}!function(e){e.statusItemDefaults={align:"left",rank:0,priority:0,isActive:()=>!0,activeStateChanged:void 0}}(i||(i={}));let f=new(n(55187)).Token("@jupyterlab/statusbar:IStatusBar","A service for the status bar on the application. Use this if you want to add new status bar items.")},82946(e,t,n){"use strict";n(82311),n(97777);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(22976),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},14066(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>w});var i,o,r=n(57941),s=n(97518),a=n(56573),l=n(86149),d=n(90291),c=n(95615),h=n(77509),u=n(53040),p=n(46109),m=n(59057),g=n(61835),A=n(2786),C=n(8989),f=n(64001),b=n(37479),v=n.n(b);class _ extends l.SearchProvider{constructor(e){super(e),this.widget=e,this.isReadOnly=!0,this._currentMatchIndex=null,this._matchesCount=null;const t=this.widget.content;t.searchAddon.onDidChangeResults(e=>{let{resultCount:t,resultIndex:n}=e;this._currentMatchIndex=t>0?n:null,this._matchesCount=t>0?t:null}),t.themeChanged.connect(()=>{this._onThemeChanged()}),this._onThemeChanged()}static createNew(e,t){return new _(e)}static isApplicable(e){return e instanceof s.MainAreaWidget&&e.content instanceof g.Terminal}async clearHighlight(){return this._clear(),Promise.resolve()}get currentMatchIndex(){return this._currentMatchIndex}async endQuery(){return this._clear(),Promise.resolve()}async highlightNext(){return this._next(),Promise.resolve(void 0)}async highlightPrevious(){return this._previous(),Promise.resolve(void 0)}get matchesCount(){return this._matchesCount}async replaceCurrentMatch(e,t,n){return Promise.resolve(!1)}async replaceAllMatches(e,t){return Promise.resolve(!1)}async startQuery(e){return this._query=e,this._next(),Promise.resolve()}_clear(){this._query=void 0,this._currentMatchIndex=null,this._matchesCount=null,this.widget.content.searchAddon.clearDecorations()}_colorToRRGGBB(e,t){try{let n=v()(e),i=n.alpha();return i<1&&(n=n.mix(v()(t),i)),n.hex()}catch(e){return"#888888"}}_next(){if(void 0!==this._query){let{flags:e,source:t}=this._query;this.widget.content.searchAddon.findNext(t,this._searchOptions(e))}}_onThemeChanged(){let e=this.widget.content.getXTermTheme(),{background:t}=e,n=this._colorToRRGGBB(e.activeMatchBackground,t),i=this._colorToRRGGBB(e.selectionBackground,t);this._searchDecorationOptions={activeMatchBackground:n,matchBackground:i,matchOverviewRuler:"",activeMatchColorOverviewRuler:""},void 0!==this._query&&(this.widget.content.searchAddon.clearDecorations(),this._next())}_previous(){if(void 0!==this._query){let{flags:e,source:t}=this._query;this.widget.content.searchAddon.findPrevious(t,this._searchOptions(e))}}_searchOptions(e){return{caseSensitive:!e.includes("i"),incremental:!1,regex:!0,wholeWord:!1,decorations:this._searchDecorationOptions}}}!function(e){e.copy="terminal:copy",e.createNew="terminal:create-new",e.open="terminal:open",e.refresh="terminal:refresh",e.increaseFont="terminal:increase-font",e.decreaseFont="terminal:decrease-font",e.paste="terminal:paste",e.setTheme="terminal:set-theme",e.shutdown="terminal:shut-down",e.openFolderInTerminal="terminal:open-folder-in-terminal"}(i||(i={}));let y=1500,E={activate:j,id:"@jupyterlab/terminal-extension:plugin",description:"Adds terminal and provides its tracker.",provides:g.ITerminalTracker,requires:[p.ISettingRegistry,A.ITranslator],optional:[s.ICommandPalette,d.ILauncher,r.ILayoutRestorer,c.IMainMenu,s.IThemeManager,h.IRunningSessionManagers,l.ISearchProviderRegistry,m.IStatusBar],autoStart:!0},w=[E,{id:"@jupyterlab/terminal-extension:open-folder-in-terminal",description:'Adds an "Open in Terminal" command for the file browser.',requires:[a.IFileBrowserFactory,A.ITranslator,g.ITerminalTracker],autoStart:!0,activate:(e,t,n,o)=>{if(!e.serviceManager.terminals.isAvailable())return;let{commands:r}=e,a=n.load("jupyterlab");r.addCommand(i.openFolderInTerminal,{label:a.__("Open in Terminal"),icon:C.terminalIcon.bindprops({stylesheet:"menuItem"}),execute:async()=>{let{tracker:e}=t,n=e.currentWidget;if(!n)return;let o=Array.from(n.selectedItems());if(0!==o.length){for(let e of o)if("directory"===e.type)try{await r.execute(i.createNew,{cwd:e.path})}catch(e){(0,s.showErrorMessage)(a.__("Failed to open new terminal"),e)}}},describedBy:{args:{type:"object",properties:{}}}})}}];function j(e,t,n,r,a,l,d,c,h,u,p){let m=n.load("jupyterlab"),{serviceManager:g,commands:A}=e,C=m.__("Terminal"),b="terminal",v=new s.WidgetTracker({namespace:b}),w=p?new M({text:m.__("Press Escape twice to leave terminal focus.")}):null,j=null;if(p&&w&&p.registerStatusItem("@jupyterlab/terminal-extension:escape-hint",{item:w,align:"middle",rank:10,isActive:()=>w.model.isActive,activeStateChanged:w.model.stateChanged}),!g.terminals.isAvailable())return console.warn("Disabling terminals plugin because they are not available on the server"),v;l&&l.restore(v,{command:i.createNew,args:e=>({name:e.content.session.name}),name:e=>e.content.session.name});let S={};function I(e){Object.keys(e.composite).forEach(t=>{S[t]=e.composite[t]})}function k(e){let t=e.content;t&&Object.keys(S).forEach(e=>{t.setOption(e,S[e])})}function D(){v.forEach(e=>k(e))}if(t.load(E.id).then(e=>{I(e),D(),e.changed.connect(()=>{I(e),D()})}).catch(o.showErrorMessage),null==c||c.themeChanged.connect((e,t)=>{v.forEach(e=>{let t=e.content;"inherit"===t.getOption("theme")&&t.setOption("theme","inherit")})}),B(e,v,t,n,S),v.widgetAdded.connect((e,t)=>{t.content.escapeHintRequested.connect(()=>{w&&(null!==j&&window.clearTimeout(j),w.model.setActive(!0),j=window.setTimeout(()=>{w.model.setActive(!1),j=null},y))})}),d){let e=new f.Menu({commands:A});e.title.label=m._p("menu","Terminal Theme"),e.addItem({command:i.setTheme,args:{theme:"inherit",displayName:m.__("Inherit"),isPalette:!1}}),e.addItem({command:i.setTheme,args:{theme:"light",displayName:m.__("Light"),isPalette:!1}}),e.addItem({command:i.setTheme,args:{theme:"dark",displayName:m.__("Dark"),isPalette:!1}}),d.settingsMenu.addGroup([{command:i.increaseFont},{command:i.decreaseFont},{type:"submenu",submenu:e}],40),d.fileMenu.newMenu.addItem({command:i.createNew,rank:20}),d.fileMenu.closeAndCleaners.add({id:i.shutdown,isEnabled:e=>null!==v.currentWidget&&v.has(e)})}return r&&([i.createNew,i.refresh,i.increaseFont,i.decreaseFont].forEach(e=>{r.addItem({command:e,category:C,args:{isPalette:!0}})}),r.addItem({command:i.setTheme,category:C,args:{theme:"inherit",displayName:m.__("Inherit"),isPalette:!0}}),r.addItem({command:i.setTheme,category:C,args:{theme:"light",displayName:m.__("Light"),isPalette:!0}}),r.addItem({command:i.setTheme,category:C,args:{theme:"dark",displayName:m.__("Dark"),isPalette:!0}})),a&&a.add({command:i.createNew,category:m.__("Other"),rank:0}),h&&x(h,e,n),u&&u.add("terminal",_),v}function x(e,t,n){let i=n.load("jupyterlab"),o=t.serviceManager.terminals;class r{constructor(e){this._model=e}open(){t.commands.execute("terminal:open",{name:this._model.name})}icon(){return C.terminalIcon}label(){return`terminals/${this._model.name}`}shutdown(){return o.shutdown(this._model.name)}}e.add({name:i.__("Terminals"),supportsMultipleViews:!1,running:()=>Array.from(o.running()).map(e=>new r(e)),shutdownAll:()=>o.shutdownAll(),refreshRunning:()=>o.refreshRunning(),runningChanged:o.runningChanged,shutdownLabel:i.__("Shut Down"),shutdownAllLabel:i.__("Shut Down All"),shutdownAllConfirmationText:i.__("Are you sure you want to permanently shut down all running terminals?")})}function B(e,t,n,r,a){var l;let d=r.load("jupyterlab"),{commands:c,serviceManager:h}=e,p=()=>null!==t.currentWidget&&t.currentWidget===e.shell.currentWidget;c.addCommand(i.createNew,{label:e=>e.isPalette?d.__("New Terminal"):d.__("Terminal"),caption:d.__("Start a new terminal session"),icon:e=>e.isPalette?void 0:C.terminalIcon,execute:async n=>{let i,o=n.name,l=n.cwd,d=l?h.contents.localPath(l):void 0;i=o?(await u.TerminalAPI.listRunning(h.serverSettings)).map(e=>e.name).includes(o)?h.terminals.connectTo({model:{name:o}}):await h.terminals.startNew({name:o,cwd:d}):await h.terminals.startNew({cwd:d});let c=new g.Terminal(i,a,r);c.title.icon=C.terminalIcon,c.title.label="...";let p=new s.MainAreaWidget({content:c,reveal:c.ready});return e.shell.add(p,"main",{type:"Terminal"}),t.add(p),e.shell.activateById(p.id),p},describedBy:{args:{type:"object",properties:{name:{type:"string",description:d.__("Terminal session name")},cwd:{type:"string",description:d.__("Current working directory for the terminal")},isPalette:{type:"boolean",description:d.__("Whether the command is called from the command palette")}}}}}),c.addCommand(i.open,{label:d.__("Open a terminal by its `name`."),execute:n=>{let o=n.name,r=t.find(e=>e.content.session.name===o);if(!r)return c.execute(i.createNew,{name:o});e.shell.activateById(r.id)},describedBy:{args:{type:"object",properties:{name:{type:"string",description:d.__("Terminal session name to open")}},required:["name"]}}}),c.addCommand(i.refresh,{label:d.__("Refresh Terminal"),caption:d.__("Refresh the current terminal session"),execute:async()=>{let n=t.currentWidget;if(n){e.shell.activateById(n.id);try{await n.content.refresh(),n&&n.content.activate()}catch(e){o.showErrorMessage(e)}}},icon:e=>e.isPalette?void 0:C.refreshIcon.bindprops({stylesheet:"menuItem"}),isEnabled:p,describedBy:{args:{type:"object",properties:{isPalette:{type:"boolean",description:d.__("Whether the command is called from the command palette")}}}}}),c.addCommand(i.copy,{execute:()=>{var e;let n=null==(e=t.currentWidget)?void 0:e.content;if(!n)return;let i=n.getSelection();i&&(s.Clipboard.copyToSystem(i),n.activate())},isEnabled:()=>{var e;if(!p())return!1;let n=null==(e=t.currentWidget)?void 0:e.content;return!!n&&n.hasSelection()},icon:C.copyIcon.bindprops({stylesheet:"menuItem"}),label:d.__("Copy"),describedBy:{args:{type:"object",properties:{}}}}),c.addCommand(i.paste,{execute:async()=>{var e;let n=null==(e=t.currentWidget)?void 0:e.content;if(!n)return;let i=window.navigator.clipboard,o=await i.readText();o&&(n.paste(o),n.activate())},isEnabled:()=>{var e;return!!(p()&&(null==(e=t.currentWidget)?void 0:e.content))},icon:C.pasteIcon.bindprops({stylesheet:"menuItem"}),label:d.__("Paste"),describedBy:{args:{type:"object",properties:{}}}}),c.addCommand(i.shutdown,{label:d.__("Shutdown Terminal"),execute:()=>{let e=t.currentWidget;if(e)return e.content.session.shutdown()},isEnabled:p,describedBy:{args:{type:"object",properties:{}}}}),c.addCommand(i.increaseFont,{label:d.__("Increase Terminal Font Size"),execute:async()=>{let{fontSize:e}=a;if(e&&e<72)try{await n.set(E.id,"fontSize",e+1)}catch(e){o.showErrorMessage(e)}},describedBy:{args:{type:"object",properties:{}}}}),c.addCommand(i.decreaseFont,{label:d.__("Decrease Terminal Font Size"),execute:async()=>{let{fontSize:e}=a;if(e&&e>9)try{await n.set(E.id,"fontSize",e-1)}catch(e){o.showErrorMessage(e)}},describedBy:{args:{type:"object",properties:{}}}});let m={inherit:d.__("Inherit"),light:d.__("Light"),dark:d.__("Dark")};c.addCommand(i.setTheme,{label:e=>{if(void 0===e.theme)return d.__("Set terminal theme to the provided `theme`.");let t=e.theme,n=t[0].toLocaleUpperCase()+t.slice(1),i=t in m?m[t]:d.__(n);return e.isPalette?d.__("Use Terminal Theme: %1",i):i},caption:d.__("Set the terminal theme"),isToggled:e=>{let{theme:t}=a;return e.theme===t},execute:async e=>{let t=e.theme;try{await n.set(E.id,"theme",t),c.notifyCommandChanged(i.setTheme)}catch(e){console.log(e),o.showErrorMessage(e)}},describedBy:{args:{type:"object",properties:{theme:{type:"string",enum:["inherit","light","dark"],description:d.__("Terminal theme to set")},isPalette:{type:"boolean",description:"Whether the command is called from the command palette"}},required:["theme"]}}});let A=[i.refresh,i.copy,i.paste,i.shutdown],f=()=>{A.forEach(e=>c.notifyCommandChanged(e))};t.currentChanged.connect(f),null==(l=e.shell.currentChanged)||l.connect(f)}!function(e){e.showErrorMessage=function(e){console.error(`Failed to configure ${E.id}: ${e.message}`)}}(o||(o={}));class S extends C.VDomModel{constructor(){super(...arguments),this._isActive=!1}get isActive(){return this._isActive}setActive(e){this._isActive!==e&&(this._isActive=e,this.stateChanged.emit(void 0))}}class M extends C.VDomRenderer{constructor(e){super(new S),this._text=e.text,this.addClass("jp-mod-highlighted")}render(){return(0,m.TextItem)({source:this._text})}}},32196(e,t,n){"use strict";n(82311),n(97777),n(82946),n(62971),n(67474),n(5241),n(29099),n(14037),n(67996),n(64840),n(12711);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(97367),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},39292(e,t,n){"use strict";n.r(t),n.d(t,{ITerminal:()=>i,ITerminalTracker:()=>s,Terminal:()=>f});var i,o,r=n(55187);let s=new r.Token("@jupyterlab/terminal:ITerminalTracker",`A widget tracker for terminals.
  Use this if you want to be able to iterate over and interact with terminals
  created by the application.`);!function(e){e.defaultOptions={theme:"inherit",fontFamily:'Menlo, Consolas, "DejaVu Sans Mono", monospace',fontSize:13,lineHeight:1,scrollback:1e3,shutdownOnClose:!1,closeOnExit:!0,cursorBlink:!0,initialCommand:"",screenReaderMode:!1,pasteWithCtrlV:!0,autoFit:!0,macOptionIsMeta:!1}}(i||(i={}));var a=n(2786),l=n(53193),d=n(93771),c=n(20659),h=n(64001),u=n(37479),p=n.n(u);let m="jp-Terminal",g="jp-Terminal-body",A="jp-sr-only",C=350;class f extends h.Widget{constructor(e,t={},n){super(),this._needsResize=!0,this._offsetWidth=-1,this._offsetHeight=-1,this._isReady=!1,this._ready=new r.PromiseDelegate,this._termOpened=!1,this._themeChanged=new c.Signal(this),this._escapeHintRequested=new c.Signal(this),this._escapePressedOnce=!1,this._escapeResetTimer=null,n=n||a.nullTranslator,this._trans=n.load("jupyterlab"),this.session=e,this._options={...i.defaultOptions,...t};const{theme:s,...l}=this._options,d={theme:o.getXTermTheme(s),allowProposedApi:!0,...l};this.addClass(m),this._setThemeAttribute(s),this._terminalId=o.id++,this.id=`jp-Terminal-${this._terminalId}`,this._escapeInstructionsId=`jp-Terminal-escape-instructions-${this._terminalId}`;const h=document.createElement("p");h.id=this._escapeInstructionsId,h.className=A,h.textContent=this._trans.__("Press Escape twice to leave terminal focus. Press Enter to return focus to the terminal input."),this.node.appendChild(h);let u="";const p=(e,t)=>{"stdout"===t.type&&t.content&&(u+=t.content[0])};e.messageReceived.connect(p),e.disposed.connect(()=>{this.getOption("closeOnExit")&&this.dispose()},this),o.createTerminal(d).then(([t,n,i])=>{this._term=t,this._fitAddon=n,this._searchAddon=i,this._initializeTerm(),this.title.label=this._trans.__("Terminal"),this._isReady=!0,this._ready.resolve(),u&&this._term.write(u),e.messageReceived.disconnect(p),e.messageReceived.connect(this._onMessage,this),"connected"===e.connectionStatus?this._initialConnection():e.connectionStatusChanged.connect(this._initialConnection,this),this.update()}).catch(e=>{console.error("Failed to create a terminal.\n",e),this._ready.reject(e)})}get ready(){return this._ready.promise}getOption(e){return this._options[e]}setOption(e,t){if("theme"===e||this._options[e]!==t&&"initialCommand"!==e){switch(this._options[e]=t,e){case"fontFamily":this._term.options.fontFamily=t;break;case"fontSize":this._term.options.fontSize=t;break;case"lineHeight":this._term.options.lineHeight=t;break;case"screenReaderMode":this._term.options.screenReaderMode=t;break;case"scrollback":this._term.options.scrollback=t;break;case"theme":this._term.options.theme={...o.getXTermTheme(t)},this._setThemeAttribute(t),this._themeChanged.emit();break;case"macOptionIsMeta":this._term.options.macOptionIsMeta=t}this._needsResize=!0,this.update()}}dispose(){!this.session.isDisposed&&this.getOption("shutdownOnClose")&&this.session.shutdown().catch(e=>{console.error(`Terminal not shut down: ${e}`)}),this.ready.then(()=>{this._term.dispose()}),super.dispose()}async refresh(){!this.isDisposed&&this._isReady&&(await this.session.reconnect(),this._term.clear())}hasSelection(){return!this.isDisposed&&!!this._isReady&&this._term.hasSelection()}paste(e){if(!this.isDisposed&&this._isReady)return this._term.paste(e)}getSelection(){return!this.isDisposed&&this._isReady?this._term.getSelection():null}processMessage(e){super.processMessage(e),"fit-request"===e.type&&this.onFitRequest(e)}get searchAddon(){return this._searchAddon}getXTermTheme(){let{theme:e}=this._options;return o.getXTermTheme(e)}get themeChanged(){return this._themeChanged}get escapeHintRequested(){return this._escapeHintRequested}onAfterAttach(e){this.node.addEventListener("keydown",this,!0),this.update()}onBeforeDetach(e){this.node.removeEventListener("keydown",this,!0),this._clearEscapeResetTimer(),this._escapePressedOnce=!1}onAfterShow(e){this.update()}onResize(e){this._offsetWidth=e.width,this._offsetHeight=e.height,this._needsResize=!0,this.update()}onUpdateRequest(e){var t,n,i,o;this.isVisible&&this.isAttached&&this._isReady&&(this._termOpened||(this._term.open(this.node),null==(t=this._term.element)||t.classList.add(g),null==(n=this._term.textarea)||n.setAttribute("aria-describedby",this._escapeInstructionsId),null==(o=null==(i=this._term.element)?void 0:i.querySelector(".xterm-viewport"))||o.setAttribute("aria-describedby",this._escapeInstructionsId),this._termOpened=!0),this._needsResize&&this._resizeTerminal())}onFitRequest(e){let t=h.Widget.ResizeMessage.UnknownSize;d.MessageLoop.sendMessage(this,t)}onActivateRequest(e){var t;null==(t=this._term)||t.focus()}_initialConnection(){this.isDisposed||"connected"===this.session.connectionStatus&&(this.title.label=this._trans.__("Terminal %1",this.session.name),this._setSessionSize(),this._options.initialCommand&&this.session.send({type:"stdin",content:[this._options.initialCommand+"\r"]}),this.session.connectionStatusChanged.disconnect(this._initialConnection,this))}_initializeTerm(){let e=this._term;e.onData(e=>{this.isDisposed||this.session.send({type:"stdin",content:[e]})}),e.onTitleChange(e=>{this.title.label=e}),e.attachCustomKeyEventHandler(t=>"keydown"===t.type&&t.shiftKey&&"Enter"===t.key&&!t.isComposing&&229!==t.keyCode?(t.preventDefault(),this.session.send({type:"stdin",content:["\n"]}),!1):!!l.Platform.IS_MAC||!(t.ctrlKey&&"c"===t.key&&e.hasSelection())&&(!t.ctrlKey||"v"!==t.key||!this._options.pasteWithCtrlV))}_onMessage(e,t){switch(t.type){case"stdout":t.content&&this._term.write(t.content[0]);break;case"disconnect":this._term.write("\r\n\r\n[Finished… Term Session]\r\n")}}_resizeTerminal(){this._options.autoFit&&this._fitAddon.fit(),-1===this._offsetWidth&&(this._offsetWidth=this.node.offsetWidth),-1===this._offsetHeight&&(this._offsetHeight=this.node.offsetHeight),this._setSessionSize(),this._needsResize=!1}_setSessionSize(){let e=[this._term.rows,this._term.cols,this._offsetHeight,this._offsetWidth];this.isDisposed||this.session.send({type:"set_size",content:e})}_setThemeAttribute(e){this.isDisposed||this.node.setAttribute("data-term-theme",e?e.toLowerCase():"inherit")}_evtKeyDown(e){var t;let n=null==(t=this._term.element)?void 0:t.querySelector(".xterm-viewport"),i=this._term.textarea,o=document.activeElement,r=!!o&&!!n&&(o===n||n.contains(o)),s=!!i&&o===i;if("Escape"===e.key){if(!s){this._clearEscapeResetTimer(),this._escapePressedOnce=!1;return}if(!this._escapePressedOnce){this._escapePressedOnce=!0,this._scheduleEscapeReset();return}e.preventDefault(),e.stopPropagation(),this._clearEscapeResetTimer(),this._escapePressedOnce=!1,i&&(i.tabIndex=-1),null==n||n.setAttribute("tabindex","0"),null==n||n.focus();return}if(this._clearEscapeResetTimer(),this._escapePressedOnce=!1,r&&"Enter"===e.key){e.preventDefault(),e.stopPropagation(),i&&(i.tabIndex=0,i.focus());return}r&&"Tab"===e.key&&i&&(i.tabIndex=-1)}_scheduleEscapeReset(){this._clearEscapeResetTimer(),this._escapeResetTimer=window.setTimeout(()=>{this._escapePressedOnce=!1,this._escapeHintRequested.emit(),this._escapeResetTimer=null},C)}_clearEscapeResetTimer(){null!==this._escapeResetTimer&&(window.clearTimeout(this._escapeResetTimer),this._escapeResetTimer=null)}handleEvent(e){"keydown"===e.type&&this._evtKeyDown(e)}}!function(e){function t(t){switch(t){case"light":return e.lightTheme;case"dark":return e.darkTheme;default:return e.inheritTheme()}}e.id=0,e.lightTheme={foreground:"#000",background:"#fff",cursor:"#616161",cursorAccent:"#F5F5F5",selectionBackground:"rgba(97, 97, 97, 0.3)",selectionInactiveBackground:"rgba(189, 189, 189, 0.3)",activeMatchBackground:"#ffee58"},e.darkTheme={foreground:"#fff",background:"#000",cursor:"#fff",cursorAccent:"#000",selectionBackground:"rgba(255, 255, 255, 0.3)",selectionInactiveBackground:"rgba(238, 238, 238, 0.3)",activeMatchBackground:"#F57F17"},e.inheritTheme=()=>{let e=getComputedStyle(document.body),t=e.getPropertyValue("--jp-layout-color0").trim(),n="#ffee58";try{p()(t).isDark()&&(n="#F57F17")}catch(e){}return{foreground:e.getPropertyValue("--jp-ui-font-color0").trim(),background:t,cursor:e.getPropertyValue("--jp-ui-font-color1").trim(),cursorAccent:e.getPropertyValue("--jp-ui-inverse-font-color0").trim(),selectionBackground:e.getPropertyValue("--jp-layout-color3").trim(),selectionInactiveBackground:e.getPropertyValue("--jp-layout-color2").trim(),activeMatchBackground:n}},e.getXTermTheme=t}(o||(o={})),function(e){let t,i,o,r,s,a=!1;function l(){let e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");try{return t instanceof WebGLRenderingContext}catch(e){return!1}}function d(e){let t=new s;e.loadAddon(t),a&&t.onContextLoss(n=>{console.debug("WebGL context lost - reinitialize Xtermjs renderer."),t.dispose(),d(e)})}e.createTerminal=async function(e){var c;if(!t){a=l();let[e,d,h,u,p]=await Promise.all([n.e(3481).then(n.t.bind(n,97856,23)),n.e(9001).then(n.t.bind(n,33616,23)),a?n.e(1957).then(n.t.bind(n,56180,23)):n.e(7945).then(n.t.bind(n,52880,23)),n.e(6401).then(n.t.bind(n,31832,23)),n.e(190).then(n.t.bind(n,33565,23))]);t=e.Terminal,i=d.FitAddon,s=null!=(c=h.WebglAddon)?c:h.CanvasAddon,o=u.WebLinksAddon,r=p.SearchAddon}let h=new t(e);d(h);let u=new i;h.loadAddon(u);let p=new r;return h.loadAddon(new o),h.loadAddon(p),[h,u,p]}}(o||(o={}))},10020(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>r});var i=n(97518),o=n(2786);let r={id:"@jupyterlab/theme-dark-extension:plugin",description:"Adds a dark theme.",requires:[i.IThemeManager,o.ITranslator],activate:(e,t,n)=>{let i=n.load("jupyterlab"),o="@jupyterlab/theme-dark-extension/index.css";t.register({name:"JupyterLab Dark",displayName:i.__("JupyterLab Dark"),isLight:!1,themeScrollbars:!0,load:()=>t.loadCSS(o),unload:()=>Promise.resolve(void 0)})},autoStart:!0}},5180(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>r});var i=n(97518),o=n(2786);let r={id:"@jupyterlab/theme-dark-high-contrast-extension:plugin",description:"Adds a dark high contrast theme.",requires:[i.IThemeManager,o.ITranslator],activate:(e,t,n)=>{let i=n.load("jupyterlab"),o="@jupyterlab/theme-dark-high-contrast-extension/index.css";t.register({name:"JupyterLab Dark High Contrast",displayName:i.__("JupyterLab Dark High Contrast"),isLight:!1,themeScrollbars:!0,load:()=>t.loadCSS(o),unload:()=>Promise.resolve(void 0)})},autoStart:!0}},84988(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>r});var i=n(97518),o=n(2786);let r={id:"@jupyterlab/theme-light-extension:plugin",description:"Adds a light theme.",requires:[i.IThemeManager,o.ITranslator],activate:(e,t,n)=>{let i=n.load("jupyterlab"),o="@jupyterlab/theme-light-extension/index.css";t.register({name:"JupyterLab Light",displayName:i.__("JupyterLab Light"),isLight:!0,themeScrollbars:!1,load:()=>t.loadCSS(o),unload:()=>Promise.resolve(void 0)})},autoStart:!0}},27866(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>u});var i,o,r=n(57941),s=n(46109),a=n(45251),l=n(2786),d=n(8989);async function c(e,t,n,r,s,c){let u,p=(null!=n?n:l.nullTranslator).load("jupyterlab"),m={...a.TableOfContents.defaultConfig},g=new a.TableOfContentsPanel(null!=n?n:void 0);function A(e){return e.headings.some(e=>{var t;return!(null!=(t=e.collapsed)&&t)})}g.title.icon=d.tocIcon,g.title.dataset={...g.title.dataset,jpTabLabel:p.__("Table of Contents")},g.title.caption=p.__("Table of Contents"),g.id="table-of-contents",g.node.setAttribute("role","region"),g.node.setAttribute("aria-label",p.__("Table of Contents section")),e.commands.addCommand(i.displayH1Numbering,{label:p.__("Show first-level heading number"),execute:()=>{g.model&&g.model.setConfiguration({numberingH1:!g.model.configuration.numberingH1})},isEnabled:()=>{var e,t;return null!=(t=null==(e=g.model)?void 0:e.supportedOptions.includes("numberingH1"))&&t},isToggled:()=>{var e,t;return null!=(t=null==(e=g.model)?void 0:e.configuration.numberingH1)&&t},describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(i.displayNumbering,{label:p.__("Show heading number in the document"),icon:e=>e.toolbar?d.numberingIcon:void 0,execute:()=>{g.model&&(g.model.setConfiguration({numberHeaders:!g.model.configuration.numberHeaders}),e.commands.notifyCommandChanged(i.displayNumbering))},isEnabled:()=>{var e,t;return null!=(t=null==(e=g.model)?void 0:e.supportedOptions.includes("numberHeaders"))&&t},isToggled:()=>{var e,t;return null!=(t=null==(e=g.model)?void 0:e.configuration.numberHeaders)&&t},describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:p.__("Whether the command is called from toolbar")}}}}}),e.commands.addCommand(i.displayOutputNumbering,{label:p.__("Show output headings"),execute:()=>{g.model&&g.model.setConfiguration({includeOutput:!g.model.configuration.includeOutput})},isEnabled:()=>{var e,t;return null!=(t=null==(e=g.model)?void 0:e.supportedOptions.includes("includeOutput"))&&t},isToggled:()=>{var e,t;return null!=(t=null==(e=g.model)?void 0:e.configuration.includeOutput)&&t},describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(i.showPanel,{label:p.__("Table of Contents"),execute:()=>{e.shell.activateById(g.id)},describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(i.toggleCollapse,{label:()=>g.model&&!A(g.model)?p.__("Expand All Headings"):p.__("Collapse All Headings"),icon:e=>e.toolbar?g.model&&!A(g.model)?d.expandAllIcon:d.collapseAllIcon:void 0,execute:()=>{g.model&&(A(g.model)?g.model.toggleCollapse({collapsed:!0}):g.model.toggleCollapse({collapsed:!1}))},isEnabled:()=>null!==g.model,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:p.__("Whether the command is called from toolbar")}}}}});let C=new a.TableOfContentsTracker;if(r&&r.add(g,"@jupyterlab/toc:plugin"),c)try{u=await c.load(h.id);let t=t=>{let n=t.composite;for(let e of[...Object.keys(m)]){let t=n[e];void 0!==t&&(m[e]=t)}if(s)for(let e of s.widgets("main")){let t=C.get(e);t&&t.setConfiguration(m)}else if(e.shell.currentWidget){let t=C.get(e.shell.currentWidget);t&&t.setConfiguration(m)}};u&&(u.changed.connect(t),t(u))}catch(e){console.error(`Failed to load settings for the Table of Contents extension.

${e}`)}let f=new d.CommandToolbarButton({commands:e.commands,id:i.displayNumbering,args:{toolbar:!0},label:""});f.addClass("jp-toc-numberingButton"),g.toolbar.node.setAttribute("aria-label",p.__("Table of contents sidepanel toolbar")),g.toolbar.addItem("display-numbering",f),g.toolbar.addItem("spacer",d.Toolbar.createSpacerItem()),g.toolbar.addItem(o.collapseAll,new d.CommandToolbarButton({commands:e.commands,id:i.toggleCollapse,args:{toolbar:!0},label:""}));let b=new d.MenuSvg({commands:e.commands});b.addItem({command:i.displayH1Numbering}),b.addItem({command:i.displayOutputNumbering});let v=new d.ToolbarButton({tooltip:p.__("More actions…"),icon:d.ellipsesIcon,noFocusOnClick:!1,onClick:()=>{let e=v.node.getBoundingClientRect();b.open(e.x,e.bottom)}});g.toolbar.addItem("submenu",v),e.shell.add(g,"left",{rank:400,type:"Table of Contents"});let _=[];return s&&s.currentChanged.connect(y),e.restored.then(()=>{y()}),C;function y(){var n,i;let r=e.shell.currentWidget;if(!r)return;let s=C.get(r);s||((s=null!=(n=t.getModel(r,m))?n:null)&&C.add(r,s),r.disposed.connect(()=>{null==s||s.dispose()})),g.model&&(g.model.headingsChanged.disconnect(w),g.model.collapseChanged.disconnect(w)),g.model=s,g.model&&(g.model.headingsChanged.connect(w),g.model.collapseChanged.connect(w)),_.forEach(e=>{e.dispose()}),_=[];let a=null==(i=t.getToolbarItems)?void 0:i.call(t,r);a&&a.forEach(e=>{g.toolbar.insertBefore(o.collapseAll,`toc-item-${e.name}`,e.widget),_.push(e.widget)}),E()}function E(){e.commands.notifyCommandChanged(i.displayNumbering),e.commands.notifyCommandChanged(i.toggleCollapse)}function w(){e.commands.notifyCommandChanged(i.toggleCollapse)}}!function(e){e.displayNumbering="toc:display-numbering",e.displayH1Numbering="toc:display-h1-numbering",e.displayOutputNumbering="toc:display-outputs-numbering",e.showPanel="toc:show-panel",e.toggleCollapse="toc:toggle-collapse"}(i||(i={})),function(e){e.collapseAll="collapse-all"}(o||(o={}));let h={id:"@jupyterlab/toc-extension:registry",description:"Provides the table of contents registry.",autoStart:!0,provides:a.ITableOfContentsRegistry,activate:()=>new a.TableOfContentsRegistry},u=[h,{id:"@jupyterlab/toc-extension:tracker",description:"Adds the table of content widget and provides its tracker.",autoStart:!0,provides:a.ITableOfContentsTracker,requires:[a.ITableOfContentsRegistry],optional:[l.ITranslator,r.ILayoutRestorer,r.ILabShell,s.ISettingRegistry],activate:c}]},13164(e,t,n){"use strict";n(97777),n(67474),n(74047);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(63453),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},81477(e,t,n){"use strict";n.r(t),n.d(t,{ITableOfContentsRegistry:()=>p,ITableOfContentsTracker:()=>m,TableOfContents:()=>i,TableOfContentsFactory:()=>d,TableOfContentsItem:()=>b,TableOfContentsModel:()=>g,TableOfContentsPanel:()=>y,TableOfContentsRegistry:()=>w,TableOfContentsTracker:()=>j,TableOfContentsTree:()=>v,TableOfContentsUtils:()=>s,TableOfContentsWidget:()=>_});var i,o,r={};n.r(r),n.d(r,{getHeadingId:()=>P,getHeadings:()=>R,isMarkdown:()=>W,parseHeadings:()=>z});var s={};n.r(s),n.d(s,{Markdown:()=>r,NUMBERING_CLASS:()=>x,addPrefix:()=>I,clearNumbering:()=>T,filterHeadings:()=>B,getHTMLHeadings:()=>M,getPrefix:()=>k,isHTML:()=>S});var a=n(28951);let l=200;class d{constructor(e){this.tracker=e}isApplicable(e){return!!this.tracker.has(e)}getToolbarItems(e){return[]}createNew(e,t){let n=this._createNew(e,t),i=e.context,o=()=>{n.refresh().catch(e=>{console.error("Failed to update the table of contents.",e)})},r=new a.ActivityMonitor({signal:i.model.contentChanged,timeout:l});r.activityStopped.connect(o);let s=()=>{n.title=a.PathExt.basename(i.localPath)};return i.pathChanged.connect(s),i.ready.then(()=>{s(),o()}).catch(e=>{console.error(`Failed to initiate headings for ${i.localPath}.`)}),e.disposed.connect(()=>{r.activityStopped.disconnect(o),i.pathChanged.disconnect(s)}),n}}var c=n(8989),h=n(55187),u=n(20659);let p=new h.Token("@jupyterlab/toc:ITableOfContentsRegistry","A service to register table of content factory."),m=new h.Token("@jupyterlab/toc:ITableOfContentsTracker","A widget tracker for table of contents.");!function(e){e.defaultConfig={baseNumbering:1,maximalDepth:4,numberingH1:!0,numberHeaders:!1,includeOutput:!0,syncCollapseState:!1}}(i||(i={}));class g extends c.VDomModel{constructor(e,t){super(),this.widget=e,this._activeHeading=null,this._activeHeadingChanged=new u.Signal(this),this._collapseChanged=new u.Signal(this),this._configuration=null!=t?t:{...i.defaultConfig},this._headings=[],this._headingsChanged=new u.Signal(this),this._isActive=!1,this._isRefreshing=!1,this._needsRefreshing=!1}get activeHeading(){return this._activeHeading}get activeHeadingChanged(){return this._activeHeadingChanged}get collapseChanged(){return this._collapseChanged}get configuration(){return this._configuration}get headings(){return this._headings}get headingsChanged(){return this._headingsChanged}get isActive(){return this._isActive}set isActive(e){this._isActive=e,this._isActive&&!this.isAlwaysActive&&this.refresh().catch(e=>{console.error("Failed to refresh ToC model.",e)})}get isAlwaysActive(){return!1}get supportedOptions(){return["maximalDepth"]}get title(){return this._title}set title(e){e!==this._title&&(this._title=e,this.stateChanged.emit())}async refresh(){if(this._isRefreshing)return this._needsRefreshing=!0,Promise.resolve();this._isRefreshing=!0;try{let e=await this.getHeadings();if(this._needsRefreshing)return this._needsRefreshing=!1,this._isRefreshing=!1,this.refresh();e&&!this._areHeadingsEqual(e,this._headings)&&(this._headings=e,this.stateChanged.emit(),this._headingsChanged.emit())}finally{this._isRefreshing=!1}}setActiveHeading(e,t=!0){this._activeHeading!==e&&(this._activeHeading=e,this.stateChanged.emit()),t&&this._activeHeadingChanged.emit(this._activeHeading)}setConfiguration(e){let t={...this._configuration,...e};h.JSONExt.deepEqual(this._configuration,t)||(this._configuration=t,this.refresh().catch(e=>{console.error("Failed to update the table of contents.",e)}))}toggleCollapse(e){var t,n;if(e.heading)e.heading.collapsed=null!=(t=e.collapsed)?t:!e.heading.collapsed,this.stateChanged.emit(),this._collapseChanged.emit(e.heading);else{let t=null!=(n=e.collapsed)?n:!this.headings.some(e=>{var t;return!(null!=(t=e.collapsed)&&t)});this.headings.forEach(e=>e.collapsed=t),this.stateChanged.emit(),this._collapseChanged.emit(null)}}isHeadingEqual(e,t){return e.level===t.level&&e.text===t.text&&e.prefix===t.prefix}_areHeadingsEqual(e,t){if(e.length===t.length){for(let n=0;n<e.length;n++)if(!this.isHeadingEqual(e[n],t[n]))return!1;return!0}return!1}}var A=n(64001),C=n(60721),f=n(75777);class b extends C.PureComponent{render(){let{children:e,isActive:t,heading:n,onCollapse:i,onMouseDown:o}=this.props,r=e=>{e.defaultPrevented||!n.collapsed===e.target.expanded||(e.preventDefault(),i(n))};return C.createElement(f.TreeItem,{className:"jp-tocItem jp-TreeItem nested",selected:t,expanded:!n.collapsed,onExpand:r,onMouseDown:e=>{e.defaultPrevented||(e.preventDefault(),o(n))},onKeyUp:e=>{e.defaultPrevented||"Enter"!==e.key||t||(e.preventDefault(),o(n))}},C.createElement("div",{className:"jp-tocItem-heading"},C.createElement("span",{className:"jp-tocItem-content",title:n.text,...n.dataset},n.prefix,n.text)),e)}}class v extends C.PureComponent{render(){let{documentType:e}=this.props;return C.createElement(f.TreeView,{className:"jp-TableOfContents-content jp-TreeView","data-document-type":e},this.buildTree())}buildTree(){if(0===this.props.headings.length)return[];let e=t=>{let n=this.props.headings,i=[],o=n[t],r=t+1;for(;r<n.length&&!(n[r].level<=o.level);){let[t,n]=e(r);i.push(t),r=n}return[C.createElement(b,{key:`${o.level}-${t}-${o.text}`,isActive:!!this.props.activeHeading&&o===this.props.activeHeading,heading:o,onMouseDown:this.props.setActiveHeading,onCollapse:this.props.onCollapseChange},i.length?i:null),r]},t=[],n=0;for(;n<this.props.headings.length;){let[i,o]=e(n);t.push(i),n=o}return t}}class _ extends c.VDomRenderer{constructor(e){super(e.model),this._placeholderHeadline=e.placeholderHeadline,this._placeholderText=e.placeholderText}render(){return this.model&&0!==this.model.headings.length?C.createElement(v,{activeHeading:this.model.activeHeading,documentType:this.model.documentType,headings:this.model.headings,onCollapseChange:e=>{this.model.toggleCollapse({heading:e})},setActiveHeading:e=>{this.model.setActiveHeading(e)}}):C.createElement("div",{className:"jp-TableOfContents-placeholder"},C.createElement("div",{className:"jp-TableOfContents-placeholderContent"},C.createElement("h3",null,this._placeholderHeadline),C.createElement("p",null,this._placeholderText)))}}class y extends c.SidePanel{constructor(e){super({content:new A.Panel,translator:e}),this._model=null,this.addClass("jp-TableOfContents"),this._title=new o.Header(this._trans.__("Table of Contents")),this.header.addWidget(this._title),this._treeview=new _({placeholderHeadline:this._trans.__("No Headings"),placeholderText:this._trans.__("The table of contents shows headings in notebooks and supported files.")}),this._treeview.addClass("jp-TableOfContents-tree"),this.content.addWidget(this._treeview)}get model(){return this._model}set model(e){var t,n;this._model!==e&&(null==(t=this._model)||t.stateChanged.disconnect(this._onTitleChanged,this),this._model=e,this._model&&(this._model.isActive=this.isVisible),null==(n=this._model)||n.stateChanged.connect(this._onTitleChanged,this),this._onTitleChanged(),this._treeview.model=this._model)}onAfterHide(e){super.onAfterHide(e),this._model&&(this._model.isActive=!1)}onBeforeShow(e){super.onBeforeShow(e),this._model&&(this._model.isActive=!0)}_onTitleChanged(){var e,t;this._title.setTitle(null!=(t=null==(e=this._model)?void 0:e.title)?t:this._trans.__("Table of Contents"))}}!function(e){class t extends A.Widget{constructor(e){const t=document.createElement("h2");t.textContent=e,t.classList.add("jp-text-truncated"),super({node:t}),this._title=t}setTitle(e){this._title.textContent=e}}e.Header=t}(o||(o={}));var E=n(63995);class w{constructor(){this._generators=new Map,this._idCounter=0}getModel(e,t){for(let n of this._generators.values())if(n.isApplicable(e))return n.createNew(e,t)}getToolbarItems(e){for(let t of this._generators.values())if(t.isApplicable(e)){if(t.getToolbarItems)return t.getToolbarItems(e);break}}add(e){let t=this._idCounter++;return this._generators.set(t,e),new E.DisposableDelegate(()=>{this._generators.delete(t)})}}class j{constructor(){this.modelMapping=new WeakMap}add(e,t){this.modelMapping.set(e,t)}get(e){let t=this.modelMapping.get(e);return!t||t.isDisposed?null:t}}let x="numbering-entry";function B(e,t,n=[]){let o={...i.defaultConfig,...t},r=n,s=r.length,a=[];for(let t of e){if(t.skip)continue;let e=t.level;if(e>0&&e<=o.maximalDepth){let n=k(e,s,r,o);s=e,a.push({...t,prefix:n})}}return a}function S(e){return"text/html"===e}function M(e,t=!0){var n;let i=document.createElement("div");i.innerHTML=e;let o=[];for(let e of i.querySelectorAll("h1, h2, h3, h4, h5, h6")){let t=parseInt(e.tagName[1],10);o.push({text:null!=(n=e.textContent)?n:"",level:t,id:null==e?void 0:e.getAttribute("id"),skip:e.classList.contains("jp-toc-ignore")||e.classList.contains("tocSkip")})}return o}function I(e,t,n){let i=e.querySelector(t);if(!i)return null;if(i.querySelector(`span.${x}`)){for(let o of e.querySelectorAll(t))if(!o.querySelector(`span.${x}`)){i=o,D(o,n);break}}else D(i,n);return i}function k(e,t,n,i){let{baseNumbering:o,numberingH1:r,numberHeaders:s}=i,a="";if(s){let i=r?1:2;if(e>t){for(let i=t;i<e-1;i++)n[i]=0;n[e-1]=e===i?o:1}else n[e-1]+=1,e<t&&n.splice(e);r?a=n.map(e=>null!=e?e:0).join(".")+". ":n.length>1&&(a=n.slice(1).map(e=>null!=e?e:0).join(".")+". ")}return a}function D(e,t){e.insertAdjacentHTML("afterbegin",`<span class="${x}">${t}</span>`)}function T(e){null==e||e.querySelectorAll(`span.${x}`).forEach(e=>{e.remove()})}var L=n(97518),N=n(31031);async function P(e,t,n,i){try{let o=document.createElement("div");await (0,N.renderMarkdown)({markdownParser:e,host:o,source:t,trusted:!1,sanitizer:null!=i?i:new L.Sanitizer,shouldTypeset:!1,resolver:null,linkHandler:null,latexTypesetter:null});let r=o.querySelector(`h${n}`);if(!r)return null;return(null==i?void 0:i.allowNamedProperties)?r.id:r.getAttribute("data-jupyter-id")}catch(e){console.error("Failed to parse a heading.",e)}return null}async function z(e,t){if(!t||!t.getHeadingTokens)return console.warn("Unable to parse headings; Markdown parser is missing or does not implement getHeadingTokens()."),[];let n=await t.getHeadingTokens(e);return(await Promise.all(n.map(async e=>{let n=await t.render(e.raw);return Array.from(new DOMParser().parseFromString(n,"text/html").querySelectorAll("h1, h2, h3, h4, h5, h6")).map(t=>{var n;return{text:(null==(n=t.textContent)?void 0:n.trim())||"",line:e.line,level:parseInt(t.tagName[1],10),raw:e.raw.replace(/\n+$/,""),skip:Y.test(e.raw)}})}))).reduce((e,t)=>e.concat(t),[])}function R(e){let t,n,i=e.split("\n"),o=[],r=0,s=0;if("---"===i[0]){for(let e=s+1;e<i.length;e++)if("---"===i[e]){s=e+1;break}}for(;s<i.length;s++){let e=i[s];if(""===e)continue;if(e.startsWith("```")||e.startsWith("~~~")){let i=O(e);if(0===i)continue;if(0===r){n=e.charAt(0),t=!t,r=i;continue}n===e.charAt(0)&&i>=r&&(t=!t,r=0,n="")}if(t)continue;let a=H(e,i[s+1]);a&&o.push({...a,line:s})}return o}function O(e){let t;return(t=e.startsWith("`")?e.match(/^`{3,}/):e.match(/^~{3,}/))?t[0].length:0}let F=["text/x-ipythongfm","text/x-markdown","text/x-gfm","text/markdown"];function W(e){return F.includes(e)}function H(e,t){let n=e.match(/^(#{1,6}) (.*)/);return n?{text:U(n[2]),level:n[1].length,raw:e,skip:Y.test(n[0])}:t&&(n=t.match(/^ {0,3}([=]{2,}|-{2,})\s*$/))?{text:U(e),level:"="===n[1][0]?1:2,raw:[e,t].join("\n"),skip:Y.test(e)}:(n=e.match(/<h([1-6]).*>(.*)<\/h\1>/i))?{text:n[2],level:parseInt(n[1],10),skip:Y.test(n[0]),raw:e}:null}function U(e){return e.replace(/\[(.+)\]\(.+\)/g,"$1")}let Y=/<\w+\s(?:.*?\s)?class="(?:.*?\s)?(?:jp-toc-ignore|tocSkip)(?:\s.*?)?"(?:\s.*?)?>/},74047(e,t,n){"use strict";n(82311),n(97777),n(62971),n(22595),n(45350);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(33853),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},77083(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>m});var i,o,r=n(23965),s=n(28951),a=n(40885),l=n(94613),d=n(31031),c=n(10185),h=n(2786),u=n(65819),p=n(64001);!function(e){e.dismiss="tooltip:dismiss",e.launchConsole="tooltip:launch-console",e.launchNotebook="tooltip:launch-notebook",e.launchFile="tooltip:launch-file"}(i||(i={}));let m=[{id:"@jupyterlab/tooltip-extension:manager",description:"Provides the tooltip manager.",autoStart:!0,optional:[h.ITranslator],provides:c.ITooltipManager,activate:(e,t)=>{let n=(null!=t?t:h.nullTranslator).load("jupyterlab"),r=null;return e.commands.addCommand(i.dismiss,{label:n.__("Dismiss the tooltip"),execute:()=>{r&&(r.dispose(),r=null)},describedBy:{args:{type:"object",properties:{}}}}),{invoke(e){let t=0,{anchor:n,editor:i,kernel:s,rendermime:a}=e;return r&&(r.dispose(),r=null),o.fetch({detail:t,editor:i,kernel:s}).then(e=>{r=new c.Tooltip({anchor:n,bundle:e,editor:i,rendermime:a}),p.Widget.attach(r,document.body)}).catch(()=>{})}}}},{id:"@jupyterlab/tooltip-extension:consoles",description:"Adds the tooltip capability to consoles.",autoStart:!0,optional:[h.ITranslator],requires:[c.ITooltipManager,r.IConsoleTracker],activate:(e,t,n,o)=>{let r=(null!=o?o:h.nullTranslator).load("jupyterlab");e.commands.addCommand(i.launchConsole,{label:r.__("Open the tooltip"),execute:()=>{var e,i;let o=n.currentWidget;if(!o)return;let r=o.console,s=null==(e=r.promptCell)?void 0:e.editor,a=null==(i=r.sessionContext.session)?void 0:i.kernel,l=r.rendermime;if(s&&a&&l)return t.invoke({anchor:r,editor:s,kernel:a,rendermime:l})},describedBy:{args:{type:"object",properties:{}}}})}},{id:"@jupyterlab/tooltip-extension:notebooks",description:"Adds the tooltip capability to notebooks.",autoStart:!0,optional:[h.ITranslator],requires:[c.ITooltipManager,l.INotebookTracker],activate:(e,t,n,o)=>{let r=(null!=o?o:h.nullTranslator).load("jupyterlab");e.commands.addCommand(i.launchNotebook,{label:r.__("Open the tooltip"),execute:()=>{var e,i;let o=n.currentWidget;if(!o)return;let r=o.content,s=null==(e=r.activeCell)?void 0:e.editor,a=null==(i=o.sessionContext.session)?void 0:i.kernel,l=r.rendermime;if(s&&a&&l)return t.invoke({anchor:r,editor:s,kernel:a,rendermime:l})},describedBy:{args:{type:"object",properties:{}}}})}},{id:"@jupyterlab/tooltip-extension:files",description:"Adds the tooltip capability to file editors.",autoStart:!0,optional:[h.ITranslator],requires:[c.ITooltipManager,a.IEditorTracker,d.IRenderMimeRegistry],activate:(e,t,n,o,r)=>{let s=(null!=r?r:h.nullTranslator).load("jupyterlab"),a={},l=e.serviceManager.sessions,d=(e,t)=>{n.forEach(e=>{let n=(0,u.find)(t,t=>e.context.path===t.path);if(n){let t=a[e.id];if(t&&t.id===n.id)return;t&&(delete a[e.id],t.dispose());let i=l.connectTo({model:n});a[e.id]=i}else{let t=a[e.id];t&&(t.dispose(),delete a[e.id])}})};d(l,l.running()),l.runningChanged.connect(d),n.widgetAdded.connect((e,t)=>{t.disposed.connect(e=>{let t=a[e.id];t&&(t.dispose(),delete a[e.id])})}),e.commands.addCommand(i.launchFile,{label:s.__("Open the tooltip"),execute:async()=>{let e=n.currentWidget,i=e&&a[e.id]&&a[e.id].kernel;if(!i)return;let r=e.content,s=null==r?void 0:r.editor;if(s&&o)return t.invoke({anchor:r,editor:s,kernel:i,rendermime:o})},describedBy:{args:{type:"object",properties:{}}}})}}];!function(e){let t=0;e.fetch=function(e){let{detail:n,editor:i,kernel:o}=e,r=i.model.sharedModel.getSource(),a=i.getCursorPosition(),l=s.Text.jsIndexToCharIndex(i.getOffsetAt(a),r);if(!r||!o)return Promise.reject(void 0);let d={code:r,cursor_pos:l,detail_level:n||0},c=++t;return o.requestInspect(d).then(e=>{let n=e.content;return c===t&&"ok"===n.status&&n.found?Promise.resolve(n.data):Promise.reject(void 0)})}}(o||(o={}))},31477(e,t,n){"use strict";n(82311),n(38415),n(22595),n(67474),n(3839),n(58944),n(16382),n(97777);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(81424),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},2060(e,t,n){"use strict";n.r(t),n.d(t,{ITooltipManager:()=>i,Tooltip:()=>p});let i=new(n(55187)).Token("@jupyterlab/tooltip:ITooltipManager","A service for the tooltip manager for the application. Use this to allow your extension to invoke a tooltip.");var o=n(8989),r=n(31031),s=n(64001);let a="jp-Tooltip",l="jp-Tooltip-content",d="jp-mod-tooltip",c=20,h=250,u=!0;class p extends s.Widget{constructor(e){super(),this._content=null,this.addClass("jp-ThemedContainer");const t=this.layout=new s.PanelLayout,n=new r.MimeModel({data:e.bundle});this.anchor=e.anchor,this.addClass(a),this.hide(),this._editor=e.editor,this._position=e.position,this._rendermime=e.rendermime;const i=this._rendermime.preferredMimeType(e.bundle,"any");if(!i)return;this._content=this._rendermime.createRenderer(i),this._content.renderModel(n).then(()=>this._setGeometry()).catch(e=>console.error("tooltip rendering failed",e)),this._content.addClass(l),t.addWidget(this._content)}dispose(){this._content&&(this._content.dispose(),this._content=null),super.dispose()}handleEvent(e){if(this.isHidden||this.isDisposed)return;let{node:t}=this,n=e.target;switch(e.type){case"keydown":if(t.contains(n))return;this.dispose();break;case"mousedown":if(t.contains(n))return void this.activate();this.dispose();break;case"scroll":this._evtScroll(e)}}onActivateRequest(e){this.node.tabIndex=0,this.node.focus()}onAfterAttach(e){document.body.classList.add(d),document.addEventListener("keydown",this,u),document.addEventListener("mousedown",this,u),this.anchor.node.addEventListener("scroll",this,u),this.update()}onBeforeDetach(e){document.body.classList.remove(d),document.removeEventListener("keydown",this,u),document.removeEventListener("mousedown",this,u),this.anchor.node.removeEventListener("scroll",this,u)}onUpdateRequest(e){this.isHidden&&this.show(),this._setGeometry(),super.onUpdateRequest(e)}_evtScroll(e){this.node.contains(e.target)||this.update()}_getTokenPosition(){let e=this._editor,t=e.getCursorPosition(),n=e.getOffsetAt(t),i=e.getLine(t.line);if(!i)return;let o=i.substring(0,n).split(/\W+/),r=o[o.length-1],s=r?n-r.length:n;return e.getPositionAt(s)}_setGeometry(){let e=this._position?this._position:this._getTokenPosition();if(!e)return;let t=this._editor,n=t.getCoordinateForPosition(e);if(!n)return;let i=window.getComputedStyle(this.node),r=parseInt(i.paddingLeft,10)||0,s=t.host.closest(".jp-MainAreaWidget > .lm-Widget")||t.host;o.HoverBox.setGeometry({anchor:n,host:s,maxHeight:h,minHeight:c,node:this.node,offset:{horizontal:-1*r},privilege:"below",outOfViewDisplay:{top:"stick-inside",bottom:"stick-inside"},style:i})}}},30963(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>u});var i=n(57941),o=n(97518),r=n(95615),s=n(46109),a=n(2786);let l="@jupyterlab/translation-extension:plugin",d={id:"@jupyterlab/translation-extension:translator-connector",description:"Provides the application translation connector.",autoStart:!0,requires:[i.JupyterFrontEnd.IPaths],provides:a.ITranslatorConnector,activate:(e,t)=>{let n=t.urls.translations,i=e.serviceManager.serverSettings;return new a.TranslatorConnector(n,i)}},c={id:"@jupyterlab/translation-extension:translator",description:"Provides the application translation object.",autoStart:!0,requires:[i.JupyterFrontEnd.IPaths,s.ISettingRegistry],optional:[i.ILabShell,a.ITranslatorConnector],provides:a.ITranslator,activate:async(e,t,n,i,r)=>{let s=await n.load(l),d=s.get("locale").composite,c=s.get("stringsPrefix").composite;c=s.get("displayStringsPrefix").composite?c:"";let h=e.serviceManager.serverSettings,u=new a.TranslationManager(t.urls.translations,c,h,null!=r?r:void 0);return await u.fetch(d),document.documentElement.lang=u.languageCode,i&&(i.translator=u),o.Dialog.translator=u,u}},h={id:l,description:"Adds translation commands and settings.",requires:[s.ISettingRegistry,a.ITranslator,a.ITranslatorConnector],optional:[r.IMainMenu,o.ICommandPalette],autoStart:!0,activate:(e,t,n,i,r,s)=>{var a;let d=n.load("jupyterlab"),{commands:c}=e,h=r?null==(a=r.settingsMenu.items.find(e=>{var t;return"submenu"===e.type&&(null==(t=e.submenu)?void 0:t.id)==="jp-mainmenu-settings-language"}))?void 0:a.submenu:null,u="jupyterlab-translation:install-languages";c.addCommand(u,{label:d.__("Install more languages…"),caption:d.__("Search for language packs in the Extension Manager"),isEnabled:()=>c.hasCommand("extensionmanager:show-panel")&&c.isVisible("extensionmanager:show-panel"),execute:()=>c.execute("extensionmanager:show-panel",{query:"jupyterlab-language-pack"}),describedBy:{args:{type:"object",properties:{}}}}),s&&s.addItem({category:d.__("Display Languages"),command:u}),i.fetch().then(e=>{let i=n.languageCode.replace("-","_");for(let n in e.data){let r=e.data[n],a=r.displayName,u=r.nativeName,p=i===n,m=p?`${a}`:`${a} - ${u}`,g=`jupyterlab-translation:${n}`;c.addCommand(g,{label:m,caption:d.__("Change interface language to %1",m),isEnabled:()=>!p,isToggled:()=>p,execute:async()=>{if((await (0,o.showDialog)({title:d.__("Change interface language?"),body:d.__("After changing the interface language to %1, you will need to reload JupyterLab to see the changes.",m),buttons:[o.Dialog.cancelButton(),o.Dialog.okButton({label:d.__("Change and reload")})]})).button.accept)try{await t.set(l,"locale",n),window.location.reload()}catch(e){console.error(`Failed to update language locale to ${n}`,e)}},describedBy:{args:{type:"object",properties:{}}}}),h&&h.addItem({command:g,args:{}}),s&&s.addItem({category:d.__("Display Languages"),command:g})}}).catch(e=>{console.error(`Available locales errored!
${e}`)}).finally(()=>{h&&(h.items.length>0&&h.addItem({type:"separator"}),h.addItem({command:u,args:{}}))})}},u=[d,c,h]},50277(e,t,n){"use strict";n(62971),n(67474),n(67996)},80920(e,t,n){"use strict";n.r(t),n.d(t,{DEFAULT_LANGUAGE_CODE:()=>d,Gettext:()=>m,ITranslator:()=>u,ITranslatorConnector:()=>c,NullTranslator:()=>g,TranslationManager:()=>f,TranslatorConnector:()=>h,nullTranslator:()=>C,requestTranslationsAPI:()=>l});var i=n(99873),o=n(55187),r=n(28951),s=n(53040);let a="api/translations";async function l(e="",t="",n={},i){let o,d=null!=i?i:s.ServerConnection.makeSettings();e=e||`${d.appUrl}/${a}`;let c=r.URLExt.join(d.baseUrl,e),h=r.URLExt.join(c,t);if(!h.startsWith(c))throw Error("Can only be used for translations requests");try{o=await s.ServerConnection.makeRequest(h,n,d)}catch(e){throw new s.ServerConnection.NetworkError(e)}let u=await o.text();if(u.length>0)try{u=JSON.parse(u)}catch(e){console.error("Not a JSON response body.",o)}if(!o.ok)throw new s.ServerConnection.ResponseError(o,u.message||u);return u}let d="en",c=new o.Token("@jupyterlab/translation:ITranslatorConnector","A service to connect to the server translation endpoint.");class h extends i.DataConnector{constructor(e="",t){super(),this._translationsUrl=e,this._serverSettings=t}async fetch(e){var t;return l(this._translationsUrl,null!=(t=null==e?void 0:e.language)?t:"",{},this._serverSettings)}}let u=new o.Token("@jupyterlab/translation:ITranslator","A service to translate strings.");function p(e){return e.replace("-","_")}class m{constructor(e){e=e||{},this._defaults={domain:"messages",locale:document.documentElement.getAttribute("lang")||d,pluralFunc:function(e){return{nplurals:2,plural:+(1!=e)}},contextDelimiter:"\x04",stringsPrefix:""},this._locale=(e.locale||this._defaults.locale).replace("_","-"),this._domain=p(e.domain||this._defaults.domain),this._contextDelimiter=e.contextDelimiter||this._defaults.contextDelimiter,this._stringsPrefix=e.stringsPrefix||this._defaults.stringsPrefix,this._pluralFuncs={},this._dictionary={},this._pluralForms={},e.messages&&(this._dictionary[this._domain]={},this._dictionary[this._domain][this._locale]=e.messages),e.pluralForms&&(this._pluralForms[this._locale]=e.pluralForms)}setContextDelimiter(e){this._contextDelimiter=e}getContextDelimiter(){return this._contextDelimiter}setLocale(e){this._locale=e.replace("_","-")}getLocale(){return this._locale}setDomain(e){this._domain=p(e)}getDomain(){return this._domain}setStringsPrefix(e){this._stringsPrefix=e}getStringsPrefix(){return this._stringsPrefix}static strfmt(e,...t){return e.replace(/%%/g,"%% ").replace(/%(\d+)/g,function(e,n){return t[n-1]}).replace(/%% /g,"%")}loadJSON(e,t){if(!e[""]||!e[""].language||!e[""].pluralForms)throw Error(`Wrong jsonData, it must have an empty key ("") with "language" and "pluralForms" information: ${e}`);t=p(t);let n=e[""],i=JSON.parse(JSON.stringify(e));delete i[""],this.setMessages(t||this._defaults.domain,n.language,i,n.pluralForms)}__(e,...t){return this.gettext(e,...t)}_n(e,t,n,...i){return this.ngettext(e,t,n,...i)}_p(e,t,...n){return this.pgettext(e,t,...n)}_np(e,t,n,i,...o){return this.npgettext(e,t,n,i,...o)}gettext(e,...t){return this.dcnpgettext("","",e,"",0,...t)}ngettext(e,t,n,...i){return this.dcnpgettext("","",e,t,n,...i)}pgettext(e,t,...n){return this.dcnpgettext("",e,t,"",0,...n)}npgettext(e,t,n,i,...o){return this.dcnpgettext("",e,t,n,i,...o)}dcnpgettext(e,t,n,i,o,...r){let s;e=p(e)||this._domain;let a=t?t+this._contextDelimiter+n:n,l={pluralForm:!1},d=!1,c=this._locale,h=this.expandLocale(this._locale);for(let t in h)if(c=h[t],d=this._dictionary[e]&&this._dictionary[e][c]&&this._dictionary[e][c][a],d=i?d&&this._dictionary[e][c][a].length>1:d&&1==this._dictionary[e][c][a].length){l.locale=c;break}if(d?s=this._dictionary[e][c][a]:(s=[n],l.pluralFunc=this._defaults.pluralFunc),!i)return this.t(s,o,l,...r);l.pluralForm=!0;let u=d?s:[n,i];return this.t(u,o,l,...r)}expandLocale(e){let t=[e],n=e.lastIndexOf("-");for(;n>0;)t.push(e=e.slice(0,n)),n=e.lastIndexOf("-");return t}getPluralFunc(e){if(!RegExp("^\\s*nplurals\\s*=\\s*\\d+\\s*;\\s*plural\\s*=[\\s\\-?|&=!<>+*/%:;n0-9_()]+").test(e))throw Error(m.strfmt('The plural form "%1" is not valid',e));return Function("n","let plural, nplurals; "+e+" return { nplurals: nplurals, plural: (plural === true ? 1 : (plural ? plural : 0)) };")}removeContext(e){return -1!==e.indexOf(this._contextDelimiter)?e.split(this._contextDelimiter)[1]:e}t(e,t,n,...i){let o;return n.pluralForm?(n.pluralFunc?o=n.pluralFunc(t):(this._pluralFuncs[n.locale||""]||(this._pluralFuncs[n.locale||""]=this.getPluralFunc(this._pluralForms[n.locale||""])),o=this._pluralFuncs[n.locale||""](t)),o.plural,(o.plural>o.nplurals||e.length<=o.plural)&&(o.plural=0),this._stringsPrefix+m.strfmt(this.removeContext(e[o.plural]),...[t].concat(i))):this._stringsPrefix+m.strfmt(this.removeContext(e[0]),...i)}setMessages(e,t,n,i){e=p(e),i&&(this._pluralForms[t]=i),this._dictionary[e]||(this._dictionary[e]={}),this._dictionary[e][t]=n}}class g{constructor(e){this.languageCode=d,this._languageBundle=e}load(e){return this._languageBundle}}class A{__(e,...t){return this.gettext(e,...t)}_n(e,t,n,...i){return this.ngettext(e,t,n,...i)}_p(e,t,...n){return this.pgettext(e,t,...n)}_np(e,t,n,i,...o){return this.npgettext(e,t,n,i,...o)}gettext(e,...t){return m.strfmt(e,...t)}ngettext(e,t,n,...i){return m.strfmt(1==n?e:t,...[n].concat(i))}pgettext(e,t,...n){return m.strfmt(t,...n)}npgettext(e,t,n,i,...o){return this.ngettext(t,n,i,...o)}dcnpgettext(e,t,n,i,o,...r){return this.ngettext(n,i,o,...r)}}let C=new g(new A);class f{constructor(e="",t,n,i){this._domainData={},this._translationBundles={},this._connector=null!=i?i:new h(e,n),this._stringsPrefix=t||"",this._englishBundle=new m({stringsPrefix:this._stringsPrefix}),this._currentLocale=d}get languageCode(){return this._currentLocale}async fetch(e){var t,n,i,o;let r;if(this._languageData=await this._connector.fetch({language:e}),this._languageData&&"default"===e)try{for(let e of Object.values(null!=(t=this._languageData.data)?t:{})){r=e[""].language;break}}catch(e){}this._currentLocale=("default"!==e?e:null!=r?r:d).replace("_","-"),this._domainData=null!=(i=null==(n=this._languageData)?void 0:n.data)?i:{};let s=null==(o=this._languageData)?void 0:o.message;s&&this._currentLocale!==d&&console.warn(s)}load(e){if(!this._domainData||this._currentLocale==d)return this._englishBundle;if(!((e=p(e))in this._translationBundles)){let t=new m({domain:e,locale:this._currentLocale,stringsPrefix:this._stringsPrefix});if(e in this._domainData){let n=this._domainData[e][""],i={...this._domainData[e],"":{...n,pluralForms:n.plural_forms}};t.loadJSON(i,e)}this._translationBundles[e]=t}return this._translationBundles[e]}}},85205(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>o});var i=n(8989);let o=[{id:"@jupyterlab/ui-components-extension:labicon-manager",description:"Provides the icon manager.",provides:i.ILabIconManager,autoStart:!0,activate:e=>Object.create(null)},{id:"@jupyterlab/ui-components-extension:form-renderer-registry",description:"Provides the settings form renderer registry.",provides:i.IFormRendererRegistry,autoStart:!0,activate:e=>new i.FormRendererRegistry}]},77767(e,t,n){"use strict";n(97777),n(67474)},22840(e,t,n){"use strict";n.r(t),n.d(t,{AccordionToolbar:()=>r,AddButton:()=>i0,Button:()=>iO,Collapser:()=>iq,CommandPaletteSvg:()=>h,CommandToolbarButton:()=>ox,CommandToolbarButtonComponent:()=>ow,ContextMenuSvg:()=>oZ,DEFAULT_STYLE_CLASS:()=>i8,DEFAULT_UI_OPTIONS:()=>iZ,DockPanelSvg:()=>o0,DropButton:()=>iX,FilenameSearcher:()=>oL,FilterBox:()=>oD,FormComponent:()=>i6,FormRendererRegistry:()=>o6,HTMLSelect:()=>i9,HTML_SELECT_CLASS:()=>i7,HoverBox:()=>u,IFormRendererRegistry:()=>o5,IFrame:()=>oe,ILabIconManager:()=>o3,IRankedMenu:()=>a,InputGroup:()=>ot,LabIcon:()=>k,MenuSvg:()=>oQ,MoveButton:()=>iQ,PanelWithToolbar:()=>oM,RankedMenu:()=>oo,ReactWidget:()=>oc,ReactiveToolbar:()=>ov,SidePanel:()=>oN,Spinner:()=>oP,Styling:()=>d,Switch:()=>oz,TABLE_CLASS:()=>oR,TabBarSvg:()=>oX,TabPanelSvg:()=>o1,Table:()=>oO,Toolbar:()=>ob,ToolbarButton:()=>oE,ToolbarButtonComponent:()=>o_,UseSignal:()=>ou,VDomModel:()=>op,VDomRenderer:()=>oh,WindowedLayout:()=>oG,WindowedList:()=>oq,WindowedListModel:()=>oV,addAboveIcon:()=>tO,addBelowIcon:()=>tF,addCommandToolbarButtonClass:()=>oj,addIcon:()=>tW,addToolbarButtonClass:()=>oy,audioIcon:()=>tH,badIcon:()=>D,bellIcon:()=>tU,blankIcon:()=>T,breakpointIcon:()=>tY,bugDotIcon:()=>tV,bugIcon:()=>tq,buildIcon:()=>tG,caretDownEmptyIcon:()=>t$,caretDownEmptyThinIcon:()=>tJ,caretDownIcon:()=>tK,caretLeftIcon:()=>tZ,caretRightIcon:()=>tQ,caretUpEmptyThinIcon:()=>tX,caretUpIcon:()=>t0,caseSensitiveIcon:()=>t1,checkIcon:()=>t2,circleEmptyIcon:()=>t4,circleIcon:()=>t5,classes:()=>x,classesDedupe:()=>B,cleaningIcon:()=>t3,clearIcon:()=>t6,closeAllIcon:()=>t8,closeIcon:()=>t7,codeCheckIcon:()=>t9,codeIcon:()=>ne,collapseAllIcon:()=>nt,collapseIcon:()=>nn,consoleIcon:()=>ni,copyIcon:()=>no,copyrightIcon:()=>nr,cutIcon:()=>ns,deleteIcon:()=>na,dockBottomIcon:()=>nl,dockLeftIcon:()=>nd,dockRightIcon:()=>nc,dockTopIcon:()=>nh,dotsIcon:()=>nu,downloadIcon:()=>np,duplicateIcon:()=>nm,editIcon:()=>ng,ellipsesIcon:()=>nA,errorIcon:()=>nC,exceptionsIcon:()=>nf,expandAllIcon:()=>nb,expandIcon:()=>nv,extensionIcon:()=>n_,fastForwardIcon:()=>ny,fileIcon:()=>nE,fileUploadIcon:()=>nw,filterDotIcon:()=>nj,filterIcon:()=>nx,filterListIcon:()=>nB,folderFavoriteIcon:()=>nS,folderIcon:()=>nM,fuzzySearch:()=>oI,getReactAttrs:()=>S,getTreeItemElement:()=>I,historyIcon:()=>nI,homeIcon:()=>nk,html5Icon:()=>nD,imageIcon:()=>nT,infoIcon:()=>nL,inspectorIcon:()=>nN,jsonIcon:()=>nP,juliaIcon:()=>nz,jumpBackIcon:()=>nR,jumpForwardIcon:()=>nO,jupyterFaviconIcon:()=>nF,jupyterIcon:()=>nW,jupyterlabWordmarkIcon:()=>nH,kernelIcon:()=>nU,keyboardIcon:()=>nY,launchIcon:()=>nV,launcherIcon:()=>nq,lineFormIcon:()=>nG,linkIcon:()=>n$,listIcon:()=>nJ,lockIcon:()=>nK,markdownIcon:()=>nZ,mermaidIcon:()=>nQ,moveDownIcon:()=>nX,moveUpIcon:()=>n0,newFolderIcon:()=>n1,notTrustedIcon:()=>n2,notebookIcon:()=>n4,numberingIcon:()=>n5,offlineBoltIcon:()=>n3,openKernelSourceIcon:()=>n6,paletteIcon:()=>n8,pasteIcon:()=>n7,pauseIcon:()=>n9,pdfIcon:()=>ie,pythonIcon:()=>it,rKernelIcon:()=>ii,reactIcon:()=>io,redoIcon:()=>ir,refreshIcon:()=>is,regexIcon:()=>ia,runIcon:()=>il,runningIcon:()=>id,saveIcon:()=>ic,searchIcon:()=>ih,selectedBreakpointIcon:()=>iu,settingsIcon:()=>ip,shareIcon:()=>im,spreadsheetIcon:()=>ig,stepIntoIcon:()=>iA,stepOutIcon:()=>iC,stepOverIcon:()=>ib,stopIcon:()=>iv,tabIcon:()=>i_,tableRowsIcon:()=>iy,tagIcon:()=>iE,terminalIcon:()=>iw,textEditorIcon:()=>ij,tocIcon:()=>ix,treeViewIcon:()=>iB,trustedIcon:()=>iS,undoIcon:()=>iM,updateFilterFunction:()=>ok,userIcon:()=>iI,usersIcon:()=>ik,variableIcon:()=>iD,vegaIcon:()=>iT,videoIcon:()=>iL,viewBreakpointIcon:()=>iN,wordIcon:()=>iP,yamlIcon:()=>iz});var i,o,r,s,a,l,d,c,h,u,p=n(93771),m=n(64001),g=n(55187),A=n(20659),C=n(60721),f=n.n(C),b=n(5338);let v='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n    <path\n        class="jp-icon0"\n        fill="#000"\n        d="M24 20.188l-8.315-8.209 8.2-8.282-3.697-3.697-8.212 8.318-8.31-8.203-3.666 3.666 8.321 8.24-8.206 8.313 3.666 3.666 8.237-8.318 8.285 8.203z"\n    />\n</svg>\n',_='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n    <path\n        fill="#000"\n        fill-opacity="0.0"\n        d="M24 20.188l-8.315-8.209 8.2-8.282-3.697-3.697-8.212 8.318-8.31-8.203-3.666 3.666 8.321 8.24-8.206 8.313 3.666 3.666 8.237-8.318 8.285 8.203z"\n    />\n</svg>\n',y='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n  <path fill="#616161" d="M9 13.5c-2.49 0-4.5-2.01-4.5-4.5S6.51 4.5 9 4.5c1.24 0 2.36.52 3.17 1.33L10 8h5V3l-1.76 1.76A6 6 0 0 0 9 3C5.69 3 3.01 5.69 3.01 9S5.69 15 9 15a5.98 5.98 0 0 0 5.9-5h-1.52c-.46 2-2.24 3.5-4.38 3.5" class="jp-icon3"/>\n</svg>\n';var E=n(21326);!function(e){let t={breadCrumb:{container:{borderRadius:"var(--jp-border-radius)",alignItems:"center",justifyContent:"center",display:"inline-flex",verticalAlign:"middle",height:"20px",width:"20px",lineHeight:1,$nest:{"&:focus-visible":{outlineWidth:"var(--jp-focus-outline-width)",outlineColor:"var(--jp-focus-outline-color)",outlineStyle:"solid"},"&:hover":{backgroundColor:"var(--jp-layout-color2)"},".jp-mod-dropTarget&":{backgroundColor:"var(--jp-brand-color2)",opacity:.7}}},element:{borderRadius:"var(--jp-border-radius)",cursor:"pointer",display:"block",height:"16px",width:"16px",verticalAlign:"middle"}},commandPaletteHeader:{container:{height:"14px",margin:"0 14px 0 auto"},element:{height:"14px",width:"14px"},options:{elementPosition:"center"}},commandPaletteItem:{element:{height:"16px",width:"16px"},options:{elementPosition:"center"}},launcherCard:{container:{height:"52px",width:"52px"},element:{height:"52px",width:"52px"},options:{elementPosition:"center"}},launcherSection:{container:{boxSizing:"border-box",marginRight:"12px",height:"32px",width:"32px"},element:{height:"32px",width:"32px"},options:{elementPosition:"center"}},listing:{container:{flex:"0 0 20px",marginRight:"4px",position:"relative"},element:{height:"16px",width:"16px"},options:{elementPosition:"center"}},listingHeaderItem:{container:{display:"inline",height:"16px",width:"16px"},element:{height:"auto",margin:"-2px 0 0 0",width:"20px"},options:{elementPosition:"center"}},mainAreaTab:{container:{$nest:{".lm-DockPanel-tabBar &":{marginRight:"4px"}}},element:{$nest:{".lm-DockPanel-tabBar &":{height:"14px",width:"14px"}}},options:{elementPosition:"center"}},menuItem:{container:{display:"inline-block",verticalAlign:"middle"},element:{height:"16px",width:"16px"},options:{elementPosition:"center"}},runningItem:{container:{margin:"0px 4px 0px 4px"},element:{height:"16px",width:"16px"},options:{elementPosition:"center"}},select:{container:{pointerEvents:"none"},element:{position:"absolute",height:"auto",width:"16px"}},settingsEditor:{container:{display:"flex",flex:"0 0 20px",margin:"0 3px 0 0",position:"relative",height:"20px",width:"20px"},element:{height:"16px",width:"16px"},options:{elementPosition:"center"}},sideBar:{element:{height:"auto",width:"20px"},options:{elementPosition:"center"}},splash:{container:{animation:"0.3s fade-in linear forwards",height:"100%",width:"100%",zIndex:1},element:{width:"100px"},options:{elementPosition:"center"}},statusBar:{element:{left:"0px",top:"0px",height:"18px",width:"20px",position:"relative"}},toolbarButton:{container:{display:"inline-block",verticalAlign:"middle"},element:{height:"16px",width:"16px"},options:{elementPosition:"center"}}};function n(e){return{container:{alignItems:"center",display:"flex"},element:{display:"block",...e}}}let i={center:n({margin:"0 auto",width:"100%"}),top:n({margin:"0 0 auto 0"}),right:n({margin:"0 0 0 auto"}),bottom:n({margin:"auto 0 0 0"}),left:n({margin:"0 auto 0 0"}),"top right":n({margin:"0 0 auto auto"}),"bottom right":n({margin:"auto 0 0 auto"}),"bottom left":n({margin:"auto auto 0 0"}),"top left":n({margin:"0 auto 0 auto"})};function o(e){return{element:{height:e,width:e}}}let r={small:o("14px"),normal:o("16px"),large:o("20px"),xlarge:o("24px")};function s(e){return{container:Object.assign({},...e.map(e=>e.container)),element:Object.assign({},...e.map(e=>e.element))}}function a(e){return e?(Array.isArray(e)||(e=[e]),e.map(e=>"string"==typeof e?t[e]:e)):[]}function l(e){let t=Object.assign({},...e.map(e=>e.options));return t.elementPosition&&e.unshift(i[t.elementPosition]),t.elementSize&&e.unshift(r[t.elementSize]),s(e)}function d(e){var t;return(0,E.iF)({...e.container,$nest:{...null==(t=e.container)?void 0:t.$nest,svg:e.element}})}let c=new Map;e.styleClass=function(e){if(!e||0===Object.keys(e).length)return"";let{elementPosition:t,elementSize:n,stylesheet:i,...o}=e,r={...t&&{elementPosition:t},...n&&{elementSize:n}},s="string"==typeof i&&0===Object.keys(o).length,h=s?[i,t,n].join(","):"";if(s&&c.has(h))return c.get(h);let u=a(i);u.push({element:o,options:r});let p=d(l(u));return s&&c.set(h,p),p}}(i||(i={}));var w=n(28951);function j(e){return e.map(e=>e&&"object"==typeof e?Object.keys(e).map(t=>!!e[t]&&t):"string"==typeof e?e.split(/\s+/):[]).reduce((e,t)=>e.concat(t),[]).filter(e=>!!e)}function x(...e){return j(e).join(" ")}function B(...e){return[...new Set(j(e))].join(" ")}function S(e,{ignore:t=[]}={}){return e.getAttributeNames().reduce((n,i)=>("style"===i||t.includes(i)||(i.startsWith("data")||i.startsWith("aria")?n[i]=e.getAttribute(i):n[w.Text.camelCase(i)]=e.getAttribute(i)),n),{})}function M(e){return e instanceof HTMLElement&&"treeitem"===e.getAttribute("role")}function I(e){let t=e;for(;t&&!M(t);)t=t.parentElement;return M(t)?t:null}class k{static remove(e){for(;e.firstChild;)e.firstChild.remove();return e.className="",e}static resolve({icon:e}){if(e instanceof k)return e;if("string"==typeof e){let t=k._instances.get(e);return t||(k._debug&&console.warn(`Lookup failed for icon, creating loading icon. icon: ${e}`),new k({name:e,svgstr:y,_loading:!0}))}return new k(e)}static resolveElement({icon:e,iconClass:t,fallback:n,...i}){return o.isResolvable(e)?k.resolve({icon:e}).element(i):!t&&n?n.element(i):(i.className=x(t,i.className),o.blankElement(i))}static resolveReact({icon:e,iconClass:t,fallback:n,...i}){if(!o.isResolvable(e))return!t&&n?f().createElement(n.react,{...i}):(i.className=x(t,i.className),f().createElement(o.blankReact,{...i}));let r=k.resolve({icon:e});return f().createElement(r.react,{...i})}static resolveSvg({name:e,svgstr:t}){let n=new DOMParser().parseFromString(o.svgstrShim(t),"image/svg+xml"),i=n.querySelector("parsererror");if(!i)return n.documentElement;{let n=`SVG HTML was malformed for LabIcon instance.
name: ${e}, svgstr: ${t}`;return k._debug?(console.error(n),i):(console.warn(n),null)}}static toggleDebug(e){k._debug=null!=e?e:!k._debug}constructor({name:e,svgstr:t,render:n,unrender:i,_loading:o=!1}){if(this._props={},this._svgReplaced=new A.Signal(this),this._svgElement=void 0,this._svgInnerHTML=void 0,this._svgReactAttrs=void 0,!(e&&t))return console.error(`When defining a new LabIcon, name and svgstr must both be non-empty strings. name: ${e}, svgstr: ${t}`),D;if(this._loading=o,k._instances.has(e)){const n=k._instances.get(e);if(this._loading)return n.svgstr=t,this._loading=!1,n;return k._debug&&console.warn(`Redefining previously loaded icon svgstr. name: ${e}, svgstrOld: ${n.svgstr}, svgstr: ${t}`),n.svgstr=t,n}this.name=e,this.react=this._initReact(e),this.svgstr=t,this._initRender({render:n,unrender:i}),k._instances.set(this.name,this)}bindprops(e){let t=Object.create(this);return t._props=e,t.react=t._initReact(t.name+"_bind"),t}element(e={}){var t;let{className:n,container:i,label:r,title:s,tag:a="div",...l}={...this._props,...e},d=null==i?void 0:i.firstChild;if((null==(t=null==d?void 0:d.dataset)?void 0:t.iconId)===this._uuid)return d;if(!this.svgElement)return document.createElement("div");if(i)for(;i.firstChild;)i.firstChild.remove();else a&&(i=document.createElement(a));let c=this.svgElement.cloneNode(!0);return i?(null!=r&&(i.textContent=r),o.initContainer({container:i,className:n,styleProps:l,title:s}),i.appendChild(c),i):(r&&console.warn(),c)}render(e,t){var n;let i=null==(n=null==t?void 0:t.children)?void 0:n[0];"string"!=typeof i&&(i=void 0),this.element({container:e,label:i,...null==t?void 0:t.props})}get svgElement(){return void 0===this._svgElement&&(this._svgElement=this._initSvg({uuid:this._uuid})),this._svgElement}get svgInnerHTML(){return void 0===this._svgInnerHTML&&(null===this.svgElement?this._svgInnerHTML=null:this._svgInnerHTML=this.svgElement.innerHTML),this._svgInnerHTML}get svgReactAttrs(){return void 0===this._svgReactAttrs&&(null===this.svgElement?this._svgReactAttrs=null:this._svgReactAttrs=S(this.svgElement,{ignore:["data-icon-id"]})),this._svgReactAttrs}get svgstr(){return this._svgstr}set svgstr(e){this._svgstr=e;let t=g.UUID.uuid4(),n=this._uuid;this._uuid=t,this._svgElement=void 0,this._svgInnerHTML=void 0,this._svgReactAttrs=void 0,document.querySelectorAll(`[data-icon-id="${n}"]`).forEach(e=>{this.svgElement&&e.replaceWith(this.svgElement.cloneNode(!0))}),this._svgReplaced.emit()}_initReact(e){let t=f().forwardRef((e={},t)=>{let{className:n,container:r,label:s,title:a,slot:l,tag:d="div",...c}={...this._props,...e},[,h]=f().useState(this._uuid);f().useEffect(()=>{let e=()=>{h(this._uuid)};return this._svgReplaced.connect(e),()=>{this._svgReplaced.disconnect(e)}});let u=null!=d?d:f().Fragment;if(!(this.svgInnerHTML&&this.svgReactAttrs))return f().createElement(f().Fragment,null);let p={...this.svgReactAttrs};d||Object.assign(p,{className:n||c?x(n,i.styleClass(c)):void 0,title:a,slot:l});let m=f().createElement("svg",{...p,...this.svgReactAttrs,dangerouslySetInnerHTML:{__html:this.svgInnerHTML},ref:t});if(r)return o.initContainer({container:r,className:n,styleProps:c,title:a}),f().createElement(f().Fragment,null,m,s);{let e={};return u!==f().Fragment&&(e={className:n||c?x(n,i.styleClass(c)):void 0,title:a,slot:l}),f().createElement(u,{...e},m,s)}});return t.displayName=`LabIcon_${e}`,t}_initRender({render:e,unrender:t}){e?(this.render=e,t&&(this.unrender=t)):t&&console.warn("In _initRender, ignoring unrender arg since render is undefined")}_initSvg({title:e,uuid:t}={}){let n=k.resolveSvg(this);return n&&"parsererror"!==n.tagName&&(n.dataset.icon=this.name,t&&(n.dataset.iconId=t),e?o.setTitleSvg(n,e):n.setAttribute("aria-hidden","true")),n}}k._debug=!1,k._instances=new Map,function(e){function t({className:n="",container:i,label:o,title:r,tag:s="div",slot:a,...l}){if((null==i?void 0:i.className)===n)return i;if(i)for(;i.firstChild;)i.firstChild.remove();else i=document.createElement(null!=s?s:"div");return null!=o&&(i.textContent=o),e.initContainer({container:i,className:n,styleProps:l,title:r}),i}function n({container:e,className:t,styleProps:o,title:r}){null!=r&&(e.title=r);let s=i.styleClass(o);if(null!=t){let n=x(t,s);return e.className=n,n}return s?(e.classList.add(s),s):""}e.blankElement=t,e.blankReact=f().forwardRef(({className:e="",container:t,label:o,title:r,tag:s="div",...a},l)=>{let d=null!=s?s:"div";return t?(n({container:t,className:e,styleProps:a,title:r}),f().createElement(f().Fragment,null)):f().createElement(d,{className:x(e,i.styleClass(a))},l&&T.react({ref:l}),o)}),e.blankReact.displayName="BlankReact",e.initContainer=n,e.isResolvable=function(e){return!!(e&&("string"==typeof e||e.name&&e.svgstr))},e.setTitleSvg=function(e,t){let n=e.getElementsByTagName("title");if(n.length)n[0].textContent=t;else{let n=document.createElement("title");n.textContent=t,e.appendChild(n)}},e.svgstrShim=function(e,t=!0){let[,n,i]=decodeURIComponent(e).replace(/>[\t\v\f\r \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\n\s*</g,"><").replace(/\s*\n\s*/g," ").match(t?/^(?:data:.*?(;base64)?,)?(.*)/:/(?:(base64).*)?(<svg.*)/);return n?atob(i):i};class o{constructor(e,t){this._icon=e,this._rendererOptions=t}render(e,t){}}e.Renderer=o;class r extends o{render(e,t){var n,i;let o=null==(n=null==t?void 0:t.children)?void 0:n[0];"string"!=typeof o&&(o=void 0),this._icon.element({container:e,label:o,...null==(i=this._rendererOptions)?void 0:i.props,...null==t?void 0:t.props})}}e.ElementRenderer=r;class s extends o{constructor(){super(...arguments),this._rootDOM=null}render(e,t){var n,i;let o=null==(n=null==t?void 0:t.children)?void 0:n[0];"string"!=typeof o&&(o=void 0);let r=this._icon;null!==this._rootDOM&&this._rootDOM.unmount(),this._rootDOM=(0,b.H)(e),this._rootDOM.render(f().createElement(r.react,{container:e,label:o,...null==(i=this._rendererOptions)?void 0:i.props,...null==t?void 0:t.props}))}unrender(e){null!==this._rootDOM&&(this._rootDOM.unmount(),this._rootDOM=null)}}e.ReactRenderer=s}(o||(o={}));let D=new k({name:"ui-components:bad",svgstr:v}),T=new k({name:"ui-components:blank",svgstr:_}),L='<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14">\n  <g clip-path="url(#addbelowa)">\n    <path fill="#616161" stroke="#616161" stroke-width=".7" d="M9.25 10.07H7.375V8.193A.376.376 0 0 0 7 7.82a.376.376 0 0 0-.375.375v1.875H4.75a.376.376 0 0 0-.375.375c0 .207.169.375.375.375h1.875v1.875c0 .207.169.375.375.375a.376.376 0 0 0 .375-.375V10.82H9.25a.376.376 0 0 0 .375-.375.376.376 0 0 0-.375-.375Z" class="jp-icon3"/>\n  </g>\n  <path fill="#616161" fill-rule="evenodd" d="M2.5 5.5v-2h9v2zM2 7a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1z" class="jp-icon3" clip-rule="evenodd"/>\n  <defs>\n    <clipPath id="addbelowa">\n      <path fill="#fff" d="M4 13.444h6v-6H4z" class="jp-icon3"/>\n    </clipPath>\n  </defs>\n</svg>\n',N='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z" class="jp-icon3"/>\n</svg>\n',P='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\r\n  <path class="jp-icon3 jp-icon-selectable" fill="#616161" d="M13,4V20a1,1,0,0,1-2,0V4a1,1,0,0,1,2,0ZM8,5A1,1,0,0,0,7,6V18a1,1,0,0,0,2,0V6A1,1,0,0,0,8,5ZM4,7A1,1,0,0,0,3,8v8a1,1,0,0,0,2,0V8A1,1,0,0,0,4,7ZM16,5a1,1,0,0,0-1,1V18a1,1,0,0,0,2,0V6A1,1,0,0,0,16,5Zm4,2a1,1,0,0,0-1,1v8a1,1,0,0,0,2,0V8A1,1,0,0,0,20,7Z"/>\r\n</svg>\r\n',z='<svg xmlns="http://www.w3.org/2000/svg" width="16" version="1.1" viewBox="0 0 16 16">\n  <path fill="#333" d="M8 .29c-1.4 0-2.7.73-3.6 1.8-1.2 1.5-1.4 3.4-1.5 5.2-.18 2.2-.44 4-2.3 5.3l.28 1.3h5c.026.66.32 1.1.71 1.5.84.61 2 .61 2.8 0 .52-.4.6-1 .71-1.5h5l.28-1.3c-1.9-.97-2.2-3.3-2.3-5.3-.13-1.8-.26-3.7-1.5-5.2-.85-1-2.2-1.8-3.6-1.8zm0 1.4c.88 0 1.9.55 2.5 1.3.88 1.1 1.1 2.7 1.2 4.4.13 1.7.23 3.6 1.3 5.2H3c1.1-1.6 1.2-3.4 1.3-5.2.13-1.7.3-3.3 1.2-4.4.59-.72 1.6-1.3 2.5-1.3m-.74 12h1.5c-.001.28.015.79-.74.79-.73.002-.72-.53-.74-.79z" class="jp-icon2 jp-icon-selectable"/>\n</svg>\n',R='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16">\n  <g fill="var(--jp-error-color1, #d32f2f)">\n    <circle cx="10" cy="7" r="6" />\n  </g>\n</svg>\n',O='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">\n  <g fill="#616161" class="jp-icon3 jp-icon-selectable">\n    <path fill-rule="evenodd" d="M17.19 8H20v2h-2.09c.05.33.09.66.09 1v1h2v2h-2v.027a4.5 4.5 0 0 0-3.545 6.447A5.997 5.997 0 0 1 6.81 18H4v-2h2.09c-.05-.33-.09-.66-.09-1v-1H4v-2h2v-1c0-.34.04-.67.09-1H4V8h2.81c.45-.78 1.07-1.45 1.81-1.96L7 4.41 8.41 3l2.18 2.17c.45-.11.92-.17 1.41-.17s.96.06 1.42.17L15.59 3 17 4.41l-1.63 1.63c.75.51 1.37 1.18 1.82 1.96M10 16h4v-2h-4zm0-4h4v-2h-4z" clip-rule="evenodd"/>\n    <path d="M22 18.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0"/>\n  </g>\n</svg>\n',F='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M20 8h-2.81a6 6 0 0 0-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5s-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20zm-6 8h-4v-2h4zm0-4h-4v-2h4z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n',W='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M14.9 17.45c1.35 0 2.45-1.1 2.45-2.45s-1.1-2.45-2.45-2.45c-1.36 0-2.45 1.1-2.45 2.45s1.09 2.45 2.45 2.45m5.2-1.77 1.48 1.16c.13.11.17.29.08.45l-1.4 2.42a.35.35 0 0 1-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.27 1.85c-.02.17-.17.3-.34.3h-2.8c-.18 0-.32-.13-.35-.3l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.75.7c-.15.06-.34 0-.42-.15l-1.4-2.42a.35.35 0 0 1 .08-.45l1.48-1.16-.05-.68.05-.69-1.48-1.15a.35.35 0 0 1-.08-.45l1.4-2.42c.08-.16.27-.22.42-.16l1.75.71c.36-.28.75-.52 1.18-.69l.26-1.86c.03-.16.17-.29.35-.29h2.8c.17 0 .32.13.34.29l.27 1.86c.42.17.82.41 1.18.69l1.74-.71c.17-.06.34 0 .43.16l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.15.05.69zM7.33 7.445A1.566 1.566 0 0 0 7.904 5.3a1.575 1.575 0 1 0-.574 2.145m2.327-2.65 1.21.157c.096.025.173.12.171.236v1.8a.214.214 0 0 1-.183.223l-1.195.17-.42.75.43 1.126c.037.106 0 .22-.096.275l-1.559.9a.23.23 0 0 1-.294-.05l-.734-.95-.878-.001-.762.96c-.058.08-.173.1-.275.043l-1.56-.901a.23.23 0 0 1-.101-.276l.452-1.116-.246-.366-.194-.396-1.192-.166a.23.23 0 0 1-.189-.226V5.186c.002-.117.077-.206.175-.217l1.204-.175.446-.766-.456-1.11a.23.23 0 0 1 .104-.28l1.56-.9a.225.225 0 0 1 .285.054l.76.936.86.01.745-.949a.214.214 0 0 1 .284-.048l1.56.9a.24.24 0 0 1 .118.267l-.47 1.126.246.366z" class="jp-icon3"/>\n</svg>\n',H='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n  <path fill="#616161" d="M5.2 5.9 9 9.7l3.8-3.8L14 7.1l-4.9 5-4.9-5z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n',U='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 20 20">\n  <path fill="#616161" d="M9.9 13.6 3.6 7.4l.8-.8 5.5 5.6 5.5-5.5.7.7z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n',Y='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n  <path fill="#616161" d="M5.2 7.5 9 11.2l3.8-3.8H5.2z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n',V='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n  <path fill="#616161" d="M10.8 12.8 7.1 9l3.8-3.8v7.6z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n',q='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n  <path fill="#616161" d="M7.2 5.2 10.9 9l-3.8 3.8V5.2z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n',G='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 20 20">\n  <path fill="#616161" d="M15.4 13.3 9.9 7.7l-5.5 5.5-.8-.7 6.3-6.2 6.2 6.3z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n',$='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n  <path fill="#616161" d="M5.2 10.5 9 6.8l3.8 3.8H5.2z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n',J='<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n  <g fill="currentColor">\n    <path d="m5 5.76-4 8.89h1.22l1-2.22h4.45l1 2.22H9.9L6 5.75zm.45 1.22 1.77 4.34H3.67z"/>\n    <path d="M10.13 6.15c-.04.51.43.91.9.97.67.07 1.4-.15 1.86-.64.33-.36.36-.87.34-1.34v-.53c-.77.45-1.73.27-2.54.61a1 1 0 0 0-.56.93M12.7 4a.6.6 0 0 0 .56-.65c.04-.4-.17-.8-.54-.94-.5-.2-1.07-.21-1.59-.08-.8.25-.8 1.1-.8 1.1h-.99c0-.64.24-1.36.85-1.68.85-.49 1.9-.5 2.83-.23.53.15 1.07.5 1.2 1.06.12.45.06.92.08 1.38v2.86c0 .41.54.27.7.26v.78c-.42.12-.91.2-1.3-.05-.28-.18-.37-.51-.41-.82a2.9 2.9 0 0 1-3.03.94 1.8 1.8 0 0 1-1.24-1.76c-.03-.6.24-1.21.76-1.53.62-.44 1.4-.44 2.12-.54z"/>\n  </g>\n</svg>\n',K='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n',Z='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8" class="jp-icon3"/>\n</svg>\n',Q='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n  <circle cx="9" cy="9" r="8" fill="#616161" class="jp-icon3"/>\n</svg>\n',X='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M16 11h-1V3c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v8H8c-2.76 0-5 2.24-5 5v7h18v-7c0-2.76-2.24-5-5-5m3 10h-2v-3c0-.55-.45-1-1-1s-1 .45-1 1v3h-2v-3c0-.55-.45-1-1-1s-1 .45-1 1v3H9v-3c0-.55-.45-1-1-1s-1 .45-1 1v3H5v-5c0-1.65 1.35-3 3-3h8c1.65 0 3 1.35 3 3z" class="jp-icon3"/>\n</svg>\n',ee='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <mask id="cleara">\n    <path fill="#fff" d="M0 0h24v24H0z"/>\n    <circle cx="12" cy="12" r="8" fill="#000"/>\n  </mask>\n  <g fill="#616161" class="jp-icon3">\n    <path d="M4.929 6.343 6.343 4.93l12.728 12.728-1.414 1.414z"/>\n    <circle cx="12" cy="12" r="10" mask="url(#cleara)"/>\n  </g>\n</svg>\n',et='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <g fill="#616161" class="jp-icon3">\n    <path d="M16.48 17.248A7.5 7.5 0 0 0 6.32 7.706a7 7 0 1 1 10.16 9.542"/>\n    <path d="M19.16 14.248A7.5 7.5 0 0 0 9 4.706a7 7 0 1 1 10.16 9.542M16 15a7 7 0 1 1-14 0 7 7 0 0 1 14 0m-4.209-4L13 12.209 10.209 15 13 17.791 11.791 19 9 16.209 6.209 19 5 17.791 7.791 15 5 12.209 6.209 11 9 13.791z"/>\n  </g>\n</svg>\n',en='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <circle cx="12" cy="12" r="11" fill="none" class="jp-icon-none jp-icon-selectable-inverse jp-icon3-hover"/>\n  <path fill="#616161" d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" class="jp-icon3 jp-icon-selectable jp-icon-accent2-hover"/>\n  <circle cx="12" cy="12" r="7" fill="none" class="jp-icon-none jp-icon-busy"/>\n</svg>\n',ei='<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M6.59 3.41 2 8l4.59 4.6L8 11.18 4.82 8 8 4.82zm5.82 0L11 4.82 14.18 8 11 11.18l1.41 1.42L17 8zm9.18 8.18-8.09 8.09L9.83 16l-1.41 1.41 5.08 5.09L23 13z" class="jp-icon3 jp-icon-selectable" shape-rendering="geometricPrecision"/>\n</svg>\n',eo='<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 28 28">\n  <path fill="#616161" d="M11.4 18.6 6.8 14l4.6-4.6L10 8l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L18 8l6 6-6 6z" class="jp-icon3"/>\n</svg>\n',er='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <g fill="#616161" class="jp-icon3">\n    <path d="M8 2h12c1 0 2 1 2 2v12c0 1 0 2-2 2V4H6c0-2 1-2 2-2"/>\n    <path d="M18 8c0-1-1-2-2-2H4C3 6 2 7 2 8v12c0 1 1 2 2 2h12c1 0 2-1 2-2zm-2 0v12H4V8z"/>\n    <path d="M6 13v2h8v-2z"/>\n  </g>\n</svg>\n',es='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 8.5 10.5">\n  <g fill="#BDBDBD" class="jp-icon-output">\n    <path d="M.019 0h8.458v1.064H.019zM0 9.52h8.491v1.059H0zm4.776-6.608H3.72V1.323h1.056z"/>\n    <path d="m4.244 5.243-1.06-1.167-1.06-1.167h4.24l-1.06 1.167zm.528 4.014H3.716V7.665h1.056z"/>\n    <path d="M4.242 5.332 5.302 6.5l1.06 1.167h-4.24L3.182 6.5z"/>\n  </g>\n</svg>\n',ea='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 200 200">\n  <path fill="#0288D1" d="M20 19.8h160v159.9H20z" class="jp-console-icon-background-color jp-icon-selectable"/>\n  <path fill="#fff" d="M105 127.3h40v12.8h-40zM51.1 77 74 99.9l-23.3 23.3 10.5 10.5 23.3-23.3L95 99.9 84.5 89.4 61.6 66.5z" class="jp-console-icon-color jp-icon-selectable-inverse"/>\n</svg>\n',el='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n  <path fill="#616161" d="M11.9 1H3.2c-.8 0-1.5.7-1.5 1.5v10.2h1.5V2.5h8.7zm2.2 2.9h-8c-.8 0-1.5.7-1.5 1.5v10.2c0 .8.7 1.5 1.5 1.5h8c.8 0 1.5-.7 1.5-1.5V5.4c-.1-.8-.7-1.5-1.5-1.5m0 11.6h-8V5.4h8z" class="jp-icon3"/>\n</svg>\n',ed='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M11.88 9.14c1.28.06 1.61 1.15 1.63 1.66h1.79c-.08-1.98-1.49-3.19-3.45-3.19C9.64 7.61 8 9 8 12.14c0 1.94.93 4.24 3.84 4.24 2.22 0 3.41-1.65 3.44-2.95h-1.79c-.03.59-.45 1.38-1.63 1.44-1.31-.04-1.86-1.06-1.86-2.73 0-2.89 1.28-2.98 1.88-3M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8" class="jp-icon3"/>\n</svg>\n',ec='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M9.64 7.64c.23-.5.36-1.05.36-1.64 0-2.21-1.79-4-4-4S2 3.79 2 6s1.79 4 4 4c.59 0 1.14-.13 1.64-.36L10 12l-2.36 2.36C7.14 14.13 6.59 14 6 14c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4c0-.59-.13-1.14-.36-1.64L12 14l7 7h3v-1zM6 8c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2m0 12c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2m6-7.5c-.28 0-.5-.22-.5-.5s.22-.5.5-.5.5.22.5.5-.22.5-.5.5M19 3l-6 6 2 2 7-7V3z" class="jp-icon3"/>\n</svg>\n',eh='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24">\n  <path fill="#626262" d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z" class="jp-icon3"/>\n</svg>\n',eu='<svg width="16" version="1.1" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg">\n <path class="jp-icon3" d="m19.8 19.8v-17.6h-17.6v17.6zm-15.408-2.2v-3.8027h13.208v3.8027zm13.208-5.5301h-13.218v-7.6699h13.218z" fill="#616161"/>\n</svg>\n',ep='<svg width="16" version="1.1" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg">\n <path class="jp-icon3" d="m2.2 19.8h17.6v-17.6h-17.6zm2.2-15.408h3.8027v13.208h-3.8027zm5.5301 13.208v-13.218h7.6699v13.218z" fill="#616161"/>\n</svg>\n',em='<svg width="16" version="1.1" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg">\n <path class="jp-icon3" d="m19.8 2.2h-17.6v17.6h17.6zm-2.2 15.408h-3.8027v-13.208h3.8027zm-5.5301-13.208v13.218h-7.6699v-13.218z" fill="#616161"/>\n</svg>\n',eg='<svg width="16" version="1.1" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg">\n <path class="jp-icon3" d="m2.2 2.2v17.6h17.6v-17.6zm15.408 2.2v3.8027h-13.208v-3.8027zm-13.208 5.5301h13.218v7.6699h-13.218z" fill="#616161"/>\n</svg>\n',eA='<?xml version="1.0" encoding="UTF-8"?>\n<svg width="16" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n <g class="jp-icon3" transform="rotate(90,12,12)" fill="#616161">\n  <circle cx="5" cy="12" r="2"/>\n  <circle cx="12" cy="12" r="2"/>\n  <circle cx="19" cy="12" r="2"/>\n </g>\n</svg>\n',eC='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M19 9h-4V3H9v6H5l7 7zM5 18v2h14v-2z" class="jp-icon3"/>\n</svg>\n',ef='<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14">\n  <path fill="#616161" fill-rule="evenodd" d="M2.8.875h6.096c.305 0 .554.264.554.587s-.25.587-.554.587H3.354c-.305 0-.554.264-.554.587V9.68c0 .322-.25.587-.554.587s-.554-.264-.554-.587V2.049c0-.646.498-1.174 1.108-1.174M5.367 11.9V4.55h5.716v7.35zM4.142 4.142c0-.451.365-.817.816-.817h6.534c.45 0 .816.366.816.817v8.166a.817.817 0 0 1-.816.817H4.958a.817.817 0 0 1-.816-.817z" class="jp-icon3" clip-rule="evenodd"/>\n  <path fill="#616161" stroke="#616161" stroke-width=".5" d="M9.436 8.265H8.364v1.071a.215.215 0 0 1-.214.215.215.215 0 0 1-.214-.215v-1.07H6.864a.215.215 0 0 1-.214-.215c0-.118.096-.215.214-.215h1.072v-1.07a.214.214 0 1 1 .428-.001v1.072h1.072c.118 0 .214.096.214.214a.215.215 0 0 1-.214.214Z" class="jp-icon3"/>\n</svg>\n',eb='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z" class="jp-icon3"/>\n</svg>\n',ev='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <g fill="#616161" class="jp-icon3">\n    <circle cx="5" cy="12" r="2"/>\n    <circle cx="12" cy="12" r="2"/>\n    <circle cx="19" cy="12" r="2"/>\n  </g>\n</svg>\n',e_='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <g fill="#616161" class="jp-icon3">\n    <circle cx="12" cy="19" r="2"/>\n    <path d="M10 3h4v12h-4z"/>\n  </g>\n</svg>\n',ey='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <g fill="#616161" class="jp-icon3">\n    <path d="m12.039.5-.753 1.506L.5 23.576l23.082-.001zm.001 4.017 8.528 17.05-17.055.001z"/>\n    <path d="M11 8h2v10h-2zm0 11h2v2h-2z"/>\n  </g>\n</svg>\n',eE='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <g fill="#616161" class="jp-icon3">\n    <path d="M8 2h12c1 0 2 1 2 2v12c0 1 0 2-2 2V4H6c0-2 1-2 2-2"/>\n    <path d="M18 8c0-1-1-2-2-2H4C3 6 2 7 2 8v12c0 1 1 2 2 2h12c1 0 2-1 2-2zm-2 0v12H4V8z"/>\n    <path d="M11 10H9v3H6v2h3v3h2v-3h3v-2h-3z"/>\n  </g>\n</svg>\n',ew='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 8.5 10.5">\n  <g fill="#BDBDBD" class="jp-icon-output">\n    <path d="M.019 0h8.458v1.064H.019zM0 9.521h8.491v1.059H0zm3.712-5.822h1.056v1.589H3.712z"/>\n    <path d="m4.244 1.368 1.06 1.167 1.06 1.167h-4.24l1.06-1.167zm-.532 3.92h1.056V6.88H3.712z"/>\n    <path d="m4.242 9.213-1.06-1.167-1.06-1.167h4.24l-1.06 1.167z"/>\n  </g>\n</svg>\n',ej='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5a2.5 2.5 0 0 0-5 0V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7s2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5a2.5 2.5 0 0 0 0-5" class="jp-icon3"/>\n</svg>\n',ex='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="m4 18 8.5-6L4 6zm9-12v12l8.5-6z" class="jp-icon3"/>\n</svg>\n',eB='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n  <path fill="#616161" d="m19.3 8.2-5.5-5.5c-.3-.3-.7-.5-1.2-.5H3.9c-.8.1-1.6.9-1.6 1.8v14.1c0 .9.7 1.6 1.6 1.6h14.2c.9 0 1.6-.7 1.6-1.6V9.4c.1-.5-.1-.9-.4-1.2m-5.8-3.3 3.4 3.6h-3.4zm3.9 12.7H4.7c-.1 0-.2 0-.2-.2V4.7c0-.2.1-.3.2-.3h7.2v4.4s0 .8.3 1.1 1.1.3 1.1.3h4.3v7.2s-.1.2-.2.2" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n',eS='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z" class="jp-icon3"/>\n</svg>\n',eM='<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n  <circle class="jp-icon-dot" cx="12.5" cy="12" r="2" fill="currentColor"/>\n  <path class="jp-icon3" d="m9.33 8v5.26c0 0.197-0.0429 0.412-0.197 0.549-0.257 0.257-0.686 0.257-0.943 0l-1.34-1.34q-0.206-0.232-0.197-0.557v-3.91l-3.86-4.92a0.686 0.686 0 0 1 0.111-0.935q0.197-0.137 0.42-0.146h9.33q0.223 0 0.42 0.146c0.283 0.232 0.343 0.643 0.111 0.935z" fill="currentColor"/>\n</svg>\n',eI='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z" class="jp-icon3"/>\n</svg>\n',ek='<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n  <path class="jp-icon3" fill="currentColor" d="m9.33 8v5.26c0 0.197-0.0429 0.412-0.197 0.549-0.257 0.257-0.686 0.257-0.943 0l-1.34-1.34q-0.206-0.232-0.197-0.557v-3.91l-3.86-4.92a0.686 0.686 0 0 1 0.111-0.935q0.197-0.137 0.42-0.146h9.33q0.223 0 0.42 0.146c0.283 0.232 0.343 0.643 0.111 0.935z"/>\n</svg>\n',eD='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#000" viewBox="0 0 24 24">\n  <path fill="#616161" d="M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m-2.06 11L15 15.28 12.06 17l.78-3.33-2.59-2.24 3.41-.29L15 8l1.34 3.14 3.41.29-2.59 2.24z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n',eT='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n',eL='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M13.5 8H12v5l4.28 2.54.72-1.21-3.5-2.08zM13 3a9 9 0 0 0-9 9H1l3.96 4.03L9 12H6a7 7 0 0 1 7-7 7 7 0 0 1 7 7 7 7 0 0 1-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42A8.9 8.9 0 0 0 13 21a9 9 0 0 0 9-9 9 9 0 0 0-9-9" class="jp-icon3"/>\n</svg>\n',eN='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#000" viewBox="0 0 24 24">\n  <path fill="#616161" d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n',eP='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 512 512">\n  <path fill="#000" d="M108.4 0h23v22.8h21.2V0h23v69h-23V46h-21v23h-23.2M206 23h-20.3V0h63.7v23H229v46h-23m53.5-69h24.1l14.8 24.3L313.2 0h24.1v69h-23V34.8l-16.1 24.8-16.1-24.8V69h-22.6m89.2-69h23v46.2h32.6V69h-55.6" class="jp-icon0 jp-icon-selectable"/>\n  <path fill="#e44d26" d="m107.6 471-33-370.4h362.8l-33 370.2L255.7 512" class="jp-icon-selectable"/>\n  <path fill="#f16529" d="M256 480.5V131h148.3L376 447" class="jp-icon-selectable"/>\n  <path fill="#ebebeb" d="M142 176.3h114v45.4h-64.2l4.2 46.5h60v45.3H154.4m2 22.8H202l3.2 36.3 50.8 13.6v47.4l-93.2-26" class="jp-icon-selectable-inverse"/>\n  <path fill="#fff" d="M369.6 176.3H255.8v45.4h109.6m-4.1 46.5H255.8v45.4h56l-5.3 59-50.7 13.6v47.2l93-25.8" class="jp-icon-selectable-inverse"/>\n</svg>\n',ez='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n  <path fill="#FFF" d="M2.2 2.2h17.5v17.5H2.2z" class="jp-icon-brand4 jp-icon-selectable-inverse"/>\n  <path fill="#3F51B5" d="M2.2 2.2v17.5h17.5l.1-17.5zm12.1 2.2c1.2 0 2.2 1 2.2 2.2s-1 2.2-2.2 2.2-2.2-1-2.2-2.2 1-2.2 2.2-2.2M4.4 17.6l3.3-8.8 3.3 6.6 2.2-3.2 4.4 5.4z" class="jp-icon-brand0 jp-icon-selectable"/>\n</svg>\n',eR='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 50.978 50.978">\n  <g fill="#616161" class="jp-icon3">\n    <path d="M43.52 7.458C38.711 2.648 32.307 0 25.489 0 18.67 0 12.266 2.648 7.458 7.458c-9.943 9.941-9.943 26.119 0 36.062 4.809 4.809 11.212 7.456 18.031 7.458h.002c6.816 0 13.221-2.648 18.029-7.458 4.809-4.809 7.457-11.212 7.457-18.03 0-6.82-2.649-13.224-7.457-18.032m-1.414 34.647c-4.432 4.431-10.332 6.872-16.615 6.872h-.002c-6.285-.001-12.187-2.441-16.617-6.872-9.162-9.163-9.162-24.071 0-33.233C13.303 4.44 19.204 2 25.489 2c6.284 0 12.186 2.44 16.617 6.872 4.431 4.431 6.871 10.332 6.871 16.617 0 6.283-2.441 12.186-6.871 16.616"/>\n    <path d="M23.578 32.218q-.034-2.602.496-3.972t2.272-3.253q.702-.805 1.367-1.575.939-1.13 1.436-2.175.496-1.061.495-2.5 0-1.643-.779-2.979-.848-1.319-2.806-1.369-2.703.085-3.55 1.832a5.3 5.3 0 0 0-.607 1.814 11.3 11.3 0 0 0-.207 2.174h-2.937q-.136-3.312 1.493-5.719 1.593-2.459 5.378-2.527 3.24.034 5.141 1.758 1.918 1.74 1.95 4.811 0 1.712-.41 2.911a7.6 7.6 0 0 1-1.268 2.243 22 22 0 0 1-1.73 2.002 34 34 0 0 0-1.987 2.346 5.2 5.2 0 0 0-.565 1.199q-.24 1.438-.171 2.979zm0 6.002v-3.484h3.076v3.484z"/>\n  </g>\n</svg>\n',eO='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m-5 14H4v-4h11zm0-5H4V9h11zm5 5h-4V9h4z" class="jp-inspector-icon-color jp-icon-selectable"/>\n</svg>\n',eF='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n  <g fill="#F9A825" class="jp-json-icon-color jp-icon-selectable">\n    <path d="M20.2 11.8c-1.6 0-1.7.5-1.7 1 0 .4.1.9.1 1.3.1.5.1.9.1 1.3 0 1.7-1.4 2.3-3.5 2.3h-.9v-1.9h.5c1.1 0 1.4 0 1.4-.8 0-.3 0-.6-.1-1 0-.4-.1-.8-.1-1.2 0-1.3 0-1.8 1.3-2-1.3-.2-1.3-.7-1.3-2 0-.4.1-.8.1-1.2.1-.4.1-.7.1-1 0-.8-.4-.7-1.4-.8h-.5V4.1h.9c2.2 0 3.5.7 3.5 2.3 0 .4-.1.9-.1 1.3-.1.5-.1.9-.1 1.3 0 .5.2 1 1.7 1zM1.8 10.1c1.6 0 1.7-.5 1.7-1 0-.4-.1-.9-.1-1.3-.1-.5-.1-.9-.1-1.3 0-1.6 1.4-2.3 3.5-2.3h.9v1.9h-.5c-1 0-1.4 0-1.4.8 0 .3 0 .6.1 1 0 .2.1.6.1 1 0 1.3 0 1.8-1.3 2C6 11.2 6 11.7 6 13c0 .4-.1.8-.1 1.2-.1.3-.1.7-.1 1 0 .8.3.8 1.4.8h.5v1.9h-.9c-2.1 0-3.5-.6-3.5-2.3 0-.4.1-.9.1-1.3.1-.5.1-.9.1-1.3 0-.5-.2-1-1.7-1z"/>\n    <circle cx="11" cy="13.8" r="2.1"/>\n    <circle cx="11" cy="8.2" r="2.1"/>\n  </g>\n</svg>\n',eW='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 325 300">\n  <path fill="#cb3c33" d="M150.898 225c0 41.422-33.578 75-75 75s-75-33.578-75-75 33.579-75 75-75 75 33.578 75 75" class="jp-brand0 jp-icon-selectable"/>\n  <path fill="#389826" d="M237.5 75c0 41.422-33.578 75-75 75s-75-33.578-75-75 33.578-75 75-75 75 33.578 75 75" class="jp-brand0 jp-icon-selectable"/>\n  <path fill="#9558b2" d="M324.102 225c0 41.422-33.579 75-75 75s-75-33.578-75-75 33.578-75 75-75 75 33.578 75 75" class="jp-brand0 jp-icon-selectable"/>\n</svg>\n',eH='<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">\n  <g transform="translate(24,0) scale(-1,1)" class="jp-icon3 jp-icon-selectable" fill="#616161" shape-rendering="geometricPrecision">\n    <path d="M12 14a2 2 0 012 2 2 2 0 01-2 2 2 2 0 01-2-2 2 2 0 012-2m11.46-5.14l-1.59 6.89L15 14.16l3.8-2.38A7.972 7.972 0 0012 8c-3.95 0-7.23 2.86-7.88 6.63l-1.97-.35C2.96 9.58 7.06 6 12 6c3.58 0 6.73 1.89 8.5 4.72l2.96-1.86z"/>\n  </g>\n</svg>\n',eU='<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">\n  <g class="jp-icon3 jp-icon-selectable" fill="#616161" shape-rendering="geometricPrecision">\n    <path d="M12 14a2 2 0 012 2 2 2 0 01-2 2 2 2 0 01-2-2 2 2 0 012-2m11.46-5.14l-1.59 6.89L15 14.16l3.8-2.38A7.972 7.972 0 0012 8c-3.95 0-7.23 2.86-7.88 6.63l-1.97-.35C2.96 9.58 7.06 6 12 6c3.58 0 6.73 1.89 8.5 4.72l2.96-1.86z"/>\n  </g>\n</svg>\n',eY='<svg xmlns="http://www.w3.org/2000/svg" width="152" height="165" version="1.1" viewBox="0 0 152 165">\n  <path fill="#F37726" d="M76.021 140.163c-32.64 0-61.145-11.927-75.942-29.58 5.51 15.84 15.781 29.567 29.39 39.278a80.17 80.17 0 0 0 46.57 14.929 80.17 80.17 0 0 0 46.57-14.929c13.61-9.711 23.88-23.437 29.391-39.278-14.833 17.653-43.338 29.58-75.979 29.58m-.005-114.832c32.64 0 61.146 11.927 75.943 29.58a80.9 80.9 0 0 0-29.391-39.278A80.16 80.16 0 0 0 75.998.705a80.16 80.16 0 0 0-46.57 14.928A80.9 80.9 0 0 0 .038 54.912c14.832-17.617 43.338-29.58 75.978-29.58" class="jp-jupyter-icon-color"/>\n</svg>\n',eV='<svg xmlns="http://www.w3.org/2000/svg" width="39" height="51" viewBox="0 0 39 51">\n  <path fill="#F37726" d="M20.005 38.114c-7.85 0-14.706-2.876-18.265-7.134a19.5 19.5 0 0 0 7.069 9.473 19.24 19.24 0 0 0 11.2 3.6c4.013 0 7.927-1.258 11.2-3.6a19.5 19.5 0 0 0 7.069-9.473c-3.567 4.258-10.423 7.134-18.273 7.134m-.002-27.694c7.85 0 14.706 2.876 18.265 7.133a19.5 19.5 0 0 0-7.069-9.473A19.24 19.24 0 0 0 20 4.48a19.24 19.24 0 0 0-11.2 3.6 19.5 19.5 0 0 0-7.069 9.473c3.567-4.248 10.423-7.134 18.273-7.134" class="jp-jupyter-icon-color"/>\n  <path fill="#616161" d="M37.194 3.154a3 3 0 0 1-.426 1.672 2.96 2.96 0 0 1-1.275 1.153 2.93 2.93 0 0 1-3.238-.505 3 3 0 0 1-.776-3.21c.2-.553.558-1.033 1.029-1.38a2.93 2.93 0 0 1 3.733.209c.576.532.919 1.274.953 2.061M9.228 46.393a3.77 3.77 0 0 1-.536 2.11 3.73 3.73 0 0 1-1.608 1.452 3.69 3.69 0 0 1-4.082-.638 3.75 3.75 0 0 1-1.097-1.875 3.8 3.8 0 0 1 .122-2.173 3.74 3.74 0 0 1 1.299-1.739 3.696 3.696 0 0 1 4.704.268 3.76 3.76 0 0 1 1.198 2.595M2.635 9.456a2.17 2.17 0 0 1-1.227-.318 2.2 2.2 0 0 1-.845-.951A2.22 2.22 0 0 1 .935 5.77a2.16 2.16 0 0 1 2.356-.577c.405.15.757.418 1.011.77a2.21 2.21 0 0 1-.156 2.783 2.17 2.17 0 0 1-1.511.71" class="jp-icon3"/>\n</svg>\n',eq='<svg xmlns="http://www.w3.org/2000/svg" width="200" viewBox="0 0 1860.8 475">\n  <path fill="#4E4E4E" d="M53.324 293.087c0 48.7-3.7 64.7-13.6 76.4-10.8 10-25 15.5-39.7 15.5l3.7 29c22.8.3 44.8-7.9 61.9-23.1 17.8-18.5 24-44.1 24-83.3v-184.3h-36.4v170.1zm271.42-22.179c0 21 0 39.5 1.7 55.4h-31.8l-2.1-33.3h-.8c-6.7 11.6-16.4 21.3-28 27.9s-24.8 10-38.2 9.8c-31.4 0-69-17.7-69-89v-118.8h36.4v112.7c0 38.7 11.6 64.7 44.6 64.7 10.3-.2 20.4-3.5 28.9-9.4s15.1-14.3 18.9-23.9c2.2-6.1 3.3-12.5 3.3-18.9v-125h36.4v147.8zm68.512-81.525c0-26-.8-47-1.7-66.7h32.7l1.7 34.8h.8c7.1-12.5 17.5-22.8 30.1-29.7 12.5-7 26.7-10.3 41-9.8 48.3 0 84.7 41.7 84.7 103.3 0 73.1-43.7 109.2-91 109.2-12.1.5-24.2-2.2-35-7.8s-19.9-13.9-26.6-24.2h-.8v110.5h-36v-220zm36 54.2c.1 5.1.6 10.1 1.7 15.1 3 12.3 9.9 23.3 19.8 31.1s22.1 12.1 34.7 12.1c38.5 0 60.7-31.9 60.7-78.5 0-40.7-21.1-75.6-59.5-75.6-12.9.4-25.3 5.1-35.3 13.4-9.9 8.3-16.9 19.7-19.6 32.4-1.5 4.9-2.3 10-2.5 15.1zm217.572-120.485 43.7 120.1c4.5 13.4 9.5 29.4 12.8 41.7h.8c3.7-12.2 7.9-27.7 12.8-42.4l39.7-119.2h38.5l-54.4 144.8c-26 69.7-43.7 105.4-68.6 127.2-12.5 11.7-27.9 20-44.6 23.9l-9.1-31.1c11.7-3.9 22.5-10.1 31.8-18.1 13.2-11.1 23.7-25.2 30.6-41.2 1.5-2.8 2.5-5.7 2.9-8.8-.3-3.3-1.2-6.6-2.5-9.7l-73.8-187.1h39.7zM890.649 64.65v58.3h52v28.2h-52v109.5c0 25 7 39.5 27.3 39.5 7.1.1 14.2-.7 21.1-2.5l1.7 27.7c-10.3 3.7-21.3 5.4-32.2 5-7.3.4-14.6-.7-21.3-3.4-6.8-2.7-12.9-6.8-17.9-12.1-10.3-10.9-14.1-29-14.1-52.9v-110.8h-31v-28.2h31v-48.7zm119.111 166.711c.8 50 32.2 70.6 68.6 70.6 19 .6 37.9-3 55.3-10.5l6.2 26.4c-20.9 8.9-43.5 13.1-66.2 12.6-61.5 0-98.3-41.2-98.3-102.5 0-61.4 35.5-109.6 93.7-109.6 65.2 0 82.7 58.3 82.7 95.7-.1 5.8-.5 11.5-1.2 17.2h-140.8zm106.6-26.4c.4-23.5-9.5-60.1-50.4-60.1-36.8 0-52.8 34.4-55.7 60.1zm88.317-18.505c0-23.9-.4-44.5-1.7-63.4h31.8l1.2 39.9h1.7c9.1-27.3 31-44.5 55.3-44.5 3.5-.1 7 .4 10.3 1.2v34.8c-4.1-.9-8.2-1.3-12.4-1.2-25.6 0-43.7 19.7-48.7 47.4-1 5.7-1.6 11.5-1.7 17.2v108.3h-36v-139.7z" class="jp-icon2"/>\n  <path fill="#F37726" d="M1352.3 326.2h37V28h-37zm252.5 0c-2.5-13.9-3.4-31.1-3.4-48.7v-76c0-40.7-15.1-83.1-77.3-83.1-25.6 0-50 7.1-66.8 18.1l8.4 24.4c14.3-9.2 34-15.1 53-15.1 41.6 0 46.2 30.2 46.2 47v4.2c-78.6-.4-122.3 26.5-122.3 75.6 0 29.4 21 58.4 62.2 58.4 29 0 50.9-14.3 62.2-30.2h1.3l2.9 25.6h33.6zm-39.1-68.5c0 3.8-.8 8-2.1 11.8-5.9 17.2-22.7 34-49.2 34-18.9 0-34.9-11.3-34.9-35.3 0-39.5 45.8-46.6 86.2-45.8zm132.8 68.5 1.7-33.6h1.3c15.1 26.9 38.7 38.2 68.1 38.2 45.4 0 91.2-36.1 91.2-108.8.4-61.7-35.3-103.7-85.7-103.7-32.8 0-56.3 14.7-69.3 37.4h-.8V28h-36.6v245.7c0 18.1-.8 38.6-1.7 52.5zm6.3-118c0-5.9 1.3-10.9 2.1-15.1 7.6-28.1 31.1-45.4 56.3-45.4 39.5 0 60.5 34.9 60.5 75.6 0 46.6-23.1 78.1-61.8 78.1-26.9 0-48.3-17.6-55.5-43.3-.8-4.2-1.7-8.8-1.7-13.4v-36.5z" class="jp-jupyter-icon-color"/>\n</svg>\n',eG='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M15 9H9v6h6zm-2 4h-2v-2h2zm8-2V9h-2V7c0-1.1-.9-2-2-2h-2V3h-2v2h-2V3H9v2H7c-1.1 0-2 .9-2 2v2H3v2h2v2H3v2h2v2c0 1.1.9 2 2 2h2v2h2v-2h2v2h2v-2h2c1.1 0 2-.9 2-2v-2h2v-2h-2v-2zm-4 6H7V7h10z" class="jp-icon2"/>\n</svg>\n',e$='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m-9 3h2v2h-2zm0 3h2v2h-2zM8 8h2v2H8zm0 3h2v2H8zm-1 2H5v-2h2zm0-3H5V8h2zm9 7H8v-2h8zm0-4h-2v-2h2zm0-3h-2V8h2zm3 3h-2v-2h2zm0-3h-2V8h2z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n',eJ='<svg xmlns="http://www.w3.org/2000/svg" width="32" viewBox="0 0 32 32">\n  <g fill="#616161" class="jp-icon3 jp-icon-selectable">\n    <path d="M26 28H6a2.003 2.003 0 0 1-2-2V6a2.003 2.003 0 0 1 2-2h10v2H6v20h20V16h2v10a2.003 2.003 0 0 1-2 2"/>\n    <path d="M20 2v2h6.586L18 12.586 19.414 14 28 5.414V12h2V2z"/>\n  </g>\n</svg>\n',eK='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M19 19H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n',eZ='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#fff" d="M5.88 4.12 13.76 12l-7.88 7.88L8 22l10-10L8 2z"/>\n</svg>\n',eQ='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5" class="jp-icon3"/>\n</svg>\n',eX='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M19 5v14H5V5zm1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9M11 7h6v2h-6zm0 4h6v2h-6zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z" class="jp-icon2 jp-icon-selectable"/>\n</svg>\n',e0='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 23">\n  <path fill="#333" d="M12 17a2 2 0 0 0 2-2 2 2 0 0 0-2-2 2 2 0 0 0-2 2 2 2 0 0 0 2 2m6-9a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h1V6a5 5 0 0 1 5-5 5 5 0 0 1 5 5v2zm-6-5a3 3 0 0 0-3 3v2h6V6a3 3 0 0 0-3-3" class="jp-icon4"/>\n</svg>\n',e1='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n  <path fill="#7B1FA2" d="M5 14.9h12l-6.1 6zm9.4-6.8c0-1.3-.1-2.9-.1-4.5-.4 1.4-.9 2.9-1.3 4.3l-1.3 4.3h-2L8.5 7.9c-.4-1.3-.7-2.9-1-4.3-.1 1.6-.1 3.2-.2 4.6L7 12.4H4.8l.7-11h3.3L10 5c.4 1.2.7 2.7 1 3.9.3-1.2.7-2.6 1-3.9l1.2-3.7h3.3l.6 11h-2.4z" class="jp-icon-contrast0 jp-icon-selectable"/>\n</svg>\n',e2='<svg xmlns="http://www.w3.org/2000/svg" width="16" version="1.1" viewBox="0 0 491 675">\n  <path fill="#ff3670" d="M85 92c-46 0-85 37-85 85v321c0 46 37 85 85 85h321c46 0 85-37 85-85V177c0-46-37-85-85-85zm-2 111c72-3.1 139 41 162 109 25-67 91-112 162-109 2.4 57-25 111-72 144-24 16-39 44-39 74v51H192v-51c.08-29-15-57-39-74-47-32-75-86-72-144z" class="jp-icon-contrast2 jp-icon-selectable"/>\n</svg>\n',e4='<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14">\n  <path fill="#616161" d="M12.471 7.529a.748.748 0 0 0-1.057-1.058L7.75 10.127V1.75a.75.75 0 0 0-1.5 0v8.378l-3.653-3.66a.753.753 0 1 0-1.065 1.064l4.76 4.76a1 1 0 0 0 1.415 0z" class="jp-icon3"/>\n</svg>\n',e5='<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14">\n  <path fill="#616161" d="M1.529 6.471a.748.748 0 0 0 1.057 1.058L6.25 3.873v8.377a.75.75 0 0 0 1.5 0V3.873l3.653 3.659a.753.753 0 1 0 1.065-1.064l-4.76-4.76a1 1 0 0 0-1.415 0z" class="jp-icon3"/>\n</svg>\n',e3='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2m-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3z" class="jp-icon3"/>\n</svg>\n',e6='<svg xmlns="http://www.w3.org/2000/svg" width="16" fill="none" viewBox="0 0 25 25">\n  <path stroke="#333" stroke-width="2" d="M4.86 14.44c-1.034-2.67-.996-5.382-.61-7.24 1.232-.267 2.83-.797 4.351-1.355a92 92 0 0 0 4.387-1.75 68 68 0 0 0 4.23 1.748c1.532.57 3.182 1.11 4.536 1.37.382 1.859.417 4.564-.615 7.228-1.109 2.862-3.472 5.743-8.139 7.494-4.667-1.75-7.03-4.632-8.14-7.494Zm11.824-5.12-7.368 7.365m7.368-.001L9.316 9.319" class="jp-icon2"/>\n</svg>\n',e8='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n  <g fill="#EF6C00" class="jp-notebook-icon-color jp-icon-selectable">\n    <path d="M18.7 3.3v15.4H3.3V3.3zm1.5-1.5H1.8v18.3h18.3z"/>\n    <path d="m16.5 16.5-5.4-4.3-5.6 4.3v-11h11z"/>\n  </g>\n</svg>\n',e7='<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 28 28">\n  <path fill="#616161" d="M4 19h2v.5H5v1h1v.5H4v1h3v-4H4zm1-9h1V6H4v1h1zm-1 3h1.8L4 15.1v.9h3v-1H5.2L7 12.9V12H4zm5-6v2h14V7zm0 14h14v-2H9zm0-6h14v-2H9z" class="jp-icon3"/>\n</svg>\n',e9='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M12 2.02c-5.51 0-9.98 4.47-9.98 9.98s4.47 9.98 9.98 9.98 9.98-4.47 9.98-9.98S17.51 2.02 12 2.02M11.48 20v-6.26H8L13 4v6.26h3.35z" class="jp-icon3"/>\n</svg>\n',te='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M5 2h10l5 5v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6h1v2l4-3-4-3v2H3V4a2 2 0 0 1 2-2m7 16h4v-2h-4zm0-4h6v-2h-6zm0-4h6V8h-6zm-2 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-7-2v2H1v-2z" class="jp-icon3"/>\n</svg>\n',tt='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <g fill="#616161" class="jp-icon3">\n    <path d="M18 13v7H4V6h5.02c.05-.71.22-1.38.48-2H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-5zm1.3-4.11c.44-.7.7-1.51.7-2.39C20 4.01 17.99 2 15.5 2S11 4.01 11 6.5s2.01 4.5 4.49 4.5c.88 0 1.7-.26 2.39-.7L21 13.42 22.42 12zM15.5 9a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5"/>\n    <path fill-rule="evenodd" d="M4 6h5.019a6.5 6.5 0 0 0 3.015 6H9v2h7v-1.019c.57-.043 1.12-.16 1.64-.341L18 13v7H4zm4 2H6v2h2zm-2 4h2v2H6zm2 4H6v2h2zm1 0h7v2H9z" clip-rule="evenodd"/>\n  </g>\n</svg>\n',tn='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m7 18H5V4h2v3h10V4h2z" class="jp-icon3"/>\n</svg>\n',ti='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M7 6h4v12H7Zm6 0h4v12h-4z" class="jp-icon3"/>\n</svg>\n',to='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n  <path fill="#FF2A2A" d="m17.933 13.667 3.987 3.987-1.117 1.117-2.51-2.51-1.066 1.067 2.36 2.36-1.117 1.117-2.36-2.36-2.43 2.429-1.477-1.478zm-6.163-3.93-3.496 3.496.53.53q.905.906 1.83.932.929.031 1.784-.825.852-.852.822-1.773t-.94-1.83zm-.36-2.594 1.557 1.558q1.305 1.305 1.754 2.13.456.825.468 1.727.015.79-.296 1.493-.31.702-.951 1.343-.649.648-1.355.963-.702.31-1.493.295-.905-.015-1.738-.472-.829-.46-2.118-1.75L5.68 12.874zm-5.76-5.76L8.1 3.835Q9.195 4.93 9.291 6q.103 1.07-.795 1.968-.901.902-1.976.802-1.067-.1-2.16-1.193l-.975-.975L1.397 8.59-.08 7.113Zm.406 2.548-1.6 1.6.817.818q.43.43.871.457.445.023.829-.361t.357-.825-.457-.871z" class="jp-icon-selectable"/>\n</svg>\n',tr='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="-10 -10 131.161 132.389">\n  <path fill="#306998" d="M54.919 0c-4.584.022-8.961.413-12.813 1.095C30.76 3.099 28.7 7.295 28.7 15.032v10.219h26.813v3.406H18.638c-7.793 0-14.616 4.684-16.75 13.594-2.462 10.213-2.571 16.586 0 27.25 1.905 7.938 6.457 13.594 14.25 13.594h9.218v-12.25c0-8.85 7.657-16.657 16.75-16.657h26.782c7.454 0 13.406-6.138 13.406-13.625v-25.53c0-7.267-6.13-12.726-13.406-13.938C64.282.328 59.502-.02 54.918 0m-14.5 8.22c2.77 0 5.031 2.298 5.031 5.125 0 2.816-2.262 5.093-5.031 5.093-2.78 0-5.031-2.277-5.031-5.093 0-2.827 2.251-5.125 5.03-5.125" class="jp-icon-selectable"/>\n  <path fill="#ffd43b" d="M85.638 28.657v11.906c0 9.231-7.826 17-16.75 17H42.106c-7.336 0-13.406 6.279-13.406 13.625V96.72c0 7.266 6.319 11.54 13.406 13.625 8.488 2.495 16.627 2.946 26.782 0 6.75-1.955 13.406-5.888 13.406-13.625V86.5H55.513v-3.405H95.7c7.793 0 10.696-5.436 13.406-13.594 2.8-8.399 2.68-16.476 0-27.25-1.925-7.758-5.604-13.594-13.406-13.594zM70.575 93.313c2.78 0 5.031 2.278 5.031 5.094 0 2.827-2.251 5.125-5.031 5.125-2.77 0-5.031-2.298-5.031-5.125 0-2.816 2.261-5.094 5.031-5.094" class="jp-icon-selectable"/>\n</svg>\n',ts='<svg xmlns="http://www.w3.org/2000/svg"  preserveAspectRatio="xMidYMid" width="16" height="16" viewBox="0 0 724 561">\n  <path class="jp-icon-selectable" d="M361.453,485.937 C162.329,485.937 0.906,377.828 0.906,244.469 C0.906,111.109 162.329,3.000 361.453,3.000 C560.578,3.000 722.000,111.109 722.000,244.469 C722.000,377.828 560.578,485.937 361.453,485.937 ZM416.641,97.406 C265.289,97.406 142.594,171.314 142.594,262.484 C142.594,353.654 265.289,427.562 416.641,427.562 C567.992,427.562 679.687,377.033 679.687,262.484 C679.687,147.971 567.992,97.406 416.641,97.406 Z" fill="rgb(179,179,179)" fill-rule="evenodd"/>\n  <path class="jp-icon-selectable" d="M550.000,377.000 C550.000,377.000 571.822,383.585 584.500,390.000 C588.899,392.226 596.510,396.668 602.000,402.500 C607.378,408.212 610.000,414.000 610.000,414.000 L696.000,559.000 L557.000,559.062 L492.000,437.000 C492.000,437.000 478.690,414.131 470.500,407.500 C463.668,401.969 460.755,400.000 454.000,400.000 C449.298,400.000 420.974,400.000 420.974,400.000 L421.000,558.974 L298.000,559.026 L298.000,152.938 L545.000,152.938 C545.000,152.938 657.500,154.967 657.500,262.000 C657.500,369.033 550.000,377.000 550.000,377.000 ZM496.500,241.024 L422.037,240.976 L422.000,310.026 L496.500,310.002 C496.500,310.002 531.000,309.895 531.000,274.877 C531.000,239.155 496.500,241.024 496.500,241.024 Z" fill="rgb(52,101,176)" fill-rule="evenodd"/>\n</svg>\n',ta='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="150 150 541.9 295.3">\n  <g fill="#61DAFB" class="jp-icon-brand2 jp-icon-selectable">\n    <path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3m-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9m-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9m32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1M421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32m-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24q7.05 12 14.4 23.4M420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32m-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9m-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6s22.9-35.6 58.3-50.6c8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2M310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7m237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1m38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6M320.8 78.4"/>\n    <circle cx="420.9" cy="296.5" r="45.7"/>\n  </g>\n</svg>\n',tl='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8 8 0 0 1 7.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7z" class="jp-icon3"/>\n</svg>\n',td='<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n  <g fill="currentColor">\n    <circle cx="2.7" cy="13" r="1.7"/>\n    <path d="m10 1.1v3.6l-3.1-1.8-0.57 1 3.1 1.8-3.1 1.8 0.57 1 3.1-1.8v3.6h1.2v-3.6l3.1 1.8 0.58-1-3.1-1.8 3.1-1.8-0.57-1-3.1 1.8v-3.6z"/>\n  </g>\n</svg>\n',tc='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M8 5v14l11-7z" class="jp-icon3"/>\n</svg>\n',th='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 512 512">\n  <path fill="#616161" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8m96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z" class="jp-icon3"/>\n</svg>\n',tu='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M17 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z" class="jp-icon3"/>\n</svg>\n',tp='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n  <path fill="#616161" d="M12.1 10.9h-.7l-.2-.2c.8-.9 1.3-2.2 1.3-3.5 0-3-2.4-5.4-5.4-5.4S1.8 4.2 1.8 7.1s2.4 5.4 5.4 5.4c1.3 0 2.5-.5 3.5-1.3l.2.2v.7l4.1 4.1 1.2-1.2zm-5 0c-2.1 0-3.7-1.7-3.7-3.7s1.7-3.7 3.7-3.7 3.7 1.7 3.7 3.7-1.6 3.7-3.7 3.7" class="jp-icon3"/>\n</svg>\n',tm='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16">\n  <circle cx="10" cy="7" r="6" fill="var(--jp-warn-color1, #f57c00)" />\n  <circle cx="10" cy="7" r="4" stroke="var(--jp-layout-color0, #fff)" stroke-width="1.3" />\n</svg>\n',tg='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65A.49.49 0 0 0 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n',tA='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M18 2c-1.645 0-3 1.355-3 3 0 .191.022.377.057.559L7.922 9.72A2.97 2.97 0 0 0 6 9c-1.645 0-3 1.355-3 3s1.355 3 3 3c.732 0 1.399-.278 1.922-.72l7.135 4.16A3 3 0 0 0 15 19c0 1.645 1.355 3 3 3s3-1.355 3-3-1.355-3-3-3a2.97 2.97 0 0 0-1.922.723l-7.135-4.164C8.978 12.377 9 12.19 9 12s-.022-.377-.057-.559l7.135-4.162C16.601 7.722 17.268 8 18 8c1.645 0 3-1.355 3-3s-1.355-3-3-3m0 2c.564 0 1 .436 1 1s-.436 1-1 1-1-.436-1-1 .436-1 1-1M6 11c.564 0 1 .436 1 1s-.436 1-1 1-1-.436-1-1 .436-1 1-1m12 7c.564 0 1 .436 1 1s-.436 1-1 1-1-.436-1-1 .436-1 1-1" class="jp-icon3"/>\n</svg>\n',tC='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n  <path fill="#4CAF50" d="M2.2 2.2v17.6h17.6V2.2zm15.4 7.7h-5.5V4.4h5.5zM9.9 4.4v5.5H4.4V4.4zm-5.5 7.7h5.5v5.5H4.4zm7.7 5.5v-5.5h5.5v5.5z" class="jp-icon-contrast1 jp-icon-selectable"/>\n</svg>\n',tf='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">\n  <path fill="#616161" d="M8 9.532h.542l3.905-3.905-1.061-1.06-2.637 2.61V1H7.251v6.177l-2.637-2.61-1.061 1.06 3.905 3.905zm1.956 3.481a2 2 0 1 1-4 0 2 2 0 0 1 4 0" class="jp-icon3"/>\n</svg>\n',tb='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">\n  <path fill="#616161" d="M8 1h-.542L3.553 4.905l1.061 1.06 2.637-2.61v6.177h1.498V3.355l2.637 2.61 1.061-1.06L8.542 1zm1.956 12.013a2 2 0 1 1-4 0 2 2 0 0 1 4 0" class="jp-icon3"/>\n</svg>\n',tv='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">\n  <path fill="#616161" d="M14.25 5.75v-4h-1.5v2.542c-1.145-1.359-2.911-2.209-4.84-2.209-3.177 0-5.92 2.307-6.16 5.398l-.02.269h1.5l.022-.226c.212-2.195 2.202-3.94 4.656-3.94 1.736 0 3.244.875 4.05 2.166h-2.83v1.5h4.163l.962-.975V5.75zM8 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4" class="jp-icon3"/>\n</svg>\n',t_='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M6 6h12v12H6z" class="jp-icon3"/>\n</svg>\n',ty='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 16H3V5h10v4h8z" class="jp-icon3"/>\n</svg>\n',tE='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M21 8H3V4h18zm0 2H3v4h18zm0 6H3v4h18z" class="jp-icon3"/>\n</svg>\n',tw='<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 43 28">\n  <path fill="#616161" d="M28.833 12.334 33 16.501l4.166-4.167zM16.21 21.61c-.523.52-1.366.52-1.885 0l-7.342-6.885c-.41-.386-.9-1.115-.935-1.677-.095-1.52-.028-4.429.018-5.971A1.093 1.093 0 0 1 7.118 6.03c1.97-.046 6.146-.095 6.534.293l8.085 7.315c.519.52.048 1.833-.475 2.356zM9.775 8.265a1.126 1.126 0 1 0-1.593 1.592 1.126 1.126 0 0 0 1.593-1.592" class="jp-icon3"/>\n</svg>\n',tj='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#333" d="M2 2h20v20H2z" class="jp-terminal-icon-background-color jp-icon-selectable"/>\n  <path fill="#fff" d="M9.01 14.762q0-.246-.077-.434a.9.9 0 0 0-.234-.351 1.6 1.6 0 0 0-.422-.288 5 5 0 0 0-.627-.263q-.592-.211-1.078-.446a3.5 3.5 0 0 1-.832-.544 2.2 2.2 0 0 1-.528-.721 2.4 2.4 0 0 1-.187-.985q0-.498.17-.908a2.1 2.1 0 0 1 .48-.72q.31-.306.75-.493.44-.188.979-.24V7.11h.937v1.272q.527.07.95.287.421.217.714.568.3.345.457.82.165.47.164 1.055H8.998q0-.709-.323-1.072-.322-.37-.873-.37-.299 0-.521.083a.9.9 0 0 0-.358.223.9.9 0 0 0-.21.334q-.066.194-.065.421 0 .23.064.41a.9.9 0 0 0 .229.329q.165.152.428.293.263.134.656.275.591.223 1.072.463.48.235.82.55.346.312.528.727.187.41.187.973 0 .515-.17.932-.17.41-.486.709t-.762.48a3.7 3.7 0 0 1-.996.229v1.148h-.931V17.1a4 4 0 0 1-.967-.217 2.6 2.6 0 0 1-.832-.504 2.4 2.4 0 0 1-.574-.826q-.217-.505-.217-1.207h1.635q0 .421.123.709.123.281.316.45.2.165.451.235.252.07.516.07.627 0 .949-.292a.98.98 0 0 0 .322-.756m8.36 3.51h-5.343V17h5.344z" class="jp-terminal-icon-color jp-icon-selectable-inverse"/>\n</svg>\n',tx='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M15 15H3v2h12zm0-8H3v2h12zM3 13h18v-2H3zm0 8h18v-2H3zM3 3v2h18V3z" class="jp-text-editor-icon-color jp-icon-selectable"/>\n</svg>\n',tB='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M7 5h14v2H7zm0 8v-2h14v2zM4 4.5A1.5 1.5 0 0 1 5.5 6 1.5 1.5 0 0 1 4 7.5 1.5 1.5 0 0 1 2.5 6 1.5 1.5 0 0 1 4 4.5m0 6A1.5 1.5 0 0 1 5.5 12 1.5 1.5 0 0 1 4 13.5 1.5 1.5 0 0 1 2.5 12 1.5 1.5 0 0 1 4 10.5M7 19v-2h14v2zm-3-2.5A1.5 1.5 0 0 1 5.5 18 1.5 1.5 0 0 1 4 19.5 1.5 1.5 0 0 1 2.5 18 1.5 1.5 0 0 1 4 16.5" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n',tS='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3z" class="jp-icon3"/>\n</svg>\n',tM='<svg xmlns="http://www.w3.org/2000/svg" width="16" fill="none" viewBox="0 0 24 25">\n  <path stroke="#333" stroke-width="2" d="M3.86 14.44c-1.034-2.67-.996-5.382-.61-7.24 1.232-.267 2.83-.797 4.351-1.355a92 92 0 0 0 4.387-1.75 68 68 0 0 0 4.23 1.748c1.532.57 3.182 1.11 4.536 1.37.382 1.859.417 4.564-.615 7.228-1.109 2.862-3.472 5.743-8.139 7.494-4.667-1.75-7.03-4.632-8.14-7.494Z" class="jp-icon2"/>\n  <path fill="#333" stroke="#333" d="m10.86 14.733-2.133-1.866-.727.63L10.86 16 16 10.5l-.721-.632z" class="jp-icon2"/>\n</svg>\n',tI='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8" class="jp-icon3"/>\n</svg>\n',tk='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n  <path fill="#616161" d="M16 7a4 4 0 1 1-8 0 4 4 0 0 1 8 0m-4 7a7 7 0 0 0-7 7h14a7 7 0 0 0-7-7" class="jp-icon3"/>\n</svg>\n',tD='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" version="1.1" viewBox="0 0 36 24">\n  <g fill="#616161" class="jp-icon3" transform="translate(-3.628 .1)scale(1.7327)">\n    <path d="M18.279 5.265c-1.58 0-2.964.85-3.718 2.115a6.7 6.7 0 0 1 2.81 2.21h5.23a4.32 4.32 0 0 0-4.322-4.325m2.186-2.875a2.19 2.19 0 0 1-2.188 2.188 2.19 2.19 0 0 1-2.189-2.189A2.19 2.19 0 0 1 18.277.201a2.19 2.19 0 0 1 2.188 2.188M5.385 6.633a3.02 3.02 0 0 0-3.02 3.02h4.22a6.7 6.7 0 0 1 1.44-1.467 3.02 3.02 0 0 0-2.64-1.553m1.53-2.01a1.53 1.53 0 0 1-1.529 1.53 1.53 1.53 0 0 1-1.53-1.53 1.53 1.53 0 0 1 1.53-1.53 1.53 1.53 0 0 1 1.53 1.53m-.781 8.912a5.865 5.865 0 0 1 11.73 0z"/>\n    <circle cx="12" cy="3.768" r="2.969"/>\n  </g>\n</svg>\n',tT='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16">\n  <path fill="#007ACC" fill-rule="evenodd" d="m1.5 4-.5.5v8l.5.5H4v-1H2V5h2V4zm13 9 .5-.5v-8l-.5-.5H12v1h2v7h-2v1zM8.797 5l-4.5 2L4 7.457v2.5l.243.429 2.5 1.5.46.028 4.5-2L12 9.457v-2.5l-.243-.429-2.5-1.5zM5 8.34v1.334l1.5.9V9.24zm2.5.942v1.406L11 9.131V7.726zm2.918-2.391-1.452-.872-3.384 1.504 1.452.871z" clip-rule="evenodd"/>\n</svg>\n',tL='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n  <g fill="#212121" class="jp-icon1 jp-icon-selectable">\n    <path d="m10.6 5.4 2.2-3.2H2.2v7.3l4-6.6z"/>\n    <path d="m15.8 2.2-4.4 6.6L7 6.3l-4.8 8v5.5h17.6V2.2zm-7 15.4H5.5v-4.4h3.3zm4.4 0H9.8V9.8h3.4zm4.4 0h-3.4V6.5h3.4z"/>\n  </g>\n</svg>\n',tN='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n    <path class="jp-icon3 jp-icon-selectable" fill="#616161" d="M18 3v2h-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z"/>\n    <path d="M0 0h24v24H0z" fill="none"/>\n</svg>\n',tP='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n  <path fill="#616161" d="M5 2h10l5 5v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6h1v2l4-3-4-3v2H3V4a2 2 0 0 1 2-2m7 16h4v-2h-4zm0-4h6v-2h-6zm0-4h6V8h-6zm-2 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-7-2v2H1v-2z" class="jp-icon3"/>\n</svg>\n',tz='<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n  <g fill="currentColor">\n    <path d="m1 11.12.04 2.66L15 13.8v-2.67h-1.18l-.01 1.54H2.2v-1.54z"/>\n    <path d="M3.16 9.17q0 .46.33.72t.8.26q.55 0 1.07-.25.88-.43.88-1.4v-.85q-.2.12-.5.2t-.6.12l-.64.08q-.57.08-.86.24-.48.28-.48.88M5.7 7.04q.37-.05.49-.31.07-.14.07-.4 0-.54-.39-.78-.38-.25-1.1-.25-.82 0-1.17.45-.19.24-.25.73h-.98q.03-1.16.75-1.61T4.8 4.4q1.1 0 1.8.42.69.42.69 1.31v3.62q0 .17.06.27.07.1.29.1l.16-.01.18-.03v.78q-.24.07-.37.09t-.35.02q-.55 0-.8-.4-.12-.2-.18-.57-.32.42-.92.73t-1.33.31q-.88 0-1.44-.53T2.05 9.2q0-.87.55-1.35.54-.48 1.43-.6ZM4.84 4.4" aria-label="a"/>\n    <path d="M8.42 2.21h1.02v3.12q.35-.45.83-.68t1.04-.24q1.18 0 1.9.8.74.81.74 2.38 0 1.5-.72 2.48-.73.98-2 .98-.72 0-1.21-.34-.3-.2-.63-.66v.8h-.97Zm2.74 7.9q.86 0 1.28-.67.43-.68.43-1.8 0-.99-.43-1.64-.42-.65-1.25-.65-.72 0-1.27.54-.54.53-.54 1.76 0 .88.23 1.43.41 1.04 1.55 1.04" aria-label="b"/>\n  </g>\n</svg>\n',tR='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n  <g fill="#D81B60" class="jp-icon-contrast2 jp-icon-selectable">\n    <path d="M7.2 18.6v-5.4L3 5.6h3.3l1.4 3.1c.3.9.6 1.6 1 2.5.3-.8.6-1.6 1-2.5l1.4-3.1h3.4l-4.4 7.6v5.5z"/>\n    <circle cx="17.6" cy="16.5" r="2.1"/>\n    <circle cx="17.6" cy="11" r="2.1"/>\n  </g>\n</svg>\n',tO=new k({name:"ui-components:add-above",svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14">\n  <g clip-path="url(#addabovea)">\n    <path fill="#616161" stroke="#616161" stroke-width=".7" d="M4.75 4.93h1.875v1.876c0 .206.169.375.375.375a.376.376 0 0 0 .375-.375V4.93H9.25a.376.376 0 0 0 .375-.375.376.376 0 0 0-.375-.375H7.375V2.306A.376.376 0 0 0 7 1.93a.376.376 0 0 0-.375.375V4.18H4.75a.376.376 0 0 0-.375.375c0 .206.169.375.375.375Z" class="jp-icon3"/>\n  </g>\n  <path fill="#616161" fill-rule="evenodd" d="M11.5 9.5v2h-9v-2zM12 8a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z" class="jp-icon3" clip-rule="evenodd"/>\n  <defs>\n    <clipPath id="addabovea">\n      <path fill="#fff" d="M10 1.556H4v6h6z" class="jp-icon3"/>\n    </clipPath>\n  </defs>\n</svg>\n'}),tF=new k({name:"ui-components:add-below",svgstr:L}),tW=new k({name:"ui-components:add",svgstr:N}),tH=new k({name:"ui-components:audio",svgstr:P}),tU=new k({name:"ui-components:bell",svgstr:z}),tY=new k({name:"ui-components:breakpoint",svgstr:R}),tV=new k({name:"ui-components:bug-dot",svgstr:O}),tq=new k({name:"ui-components:bug",svgstr:F}),tG=new k({name:"ui-components:build",svgstr:W}),t$=new k({name:"ui-components:caret-down-empty",svgstr:H}),tJ=new k({name:"ui-components:caret-down-empty-thin",svgstr:U}),tK=new k({name:"ui-components:caret-down",svgstr:Y}),tZ=new k({name:"ui-components:caret-left",svgstr:V}),tQ=new k({name:"ui-components:caret-right",svgstr:q}),tX=new k({name:"ui-components:caret-up-empty-thin",svgstr:G}),t0=new k({name:"ui-components:caret-up",svgstr:$}),t1=new k({name:"ui-components:case-sensitive",svgstr:J}),t2=new k({name:"ui-components:check",svgstr:K}),t4=new k({name:"ui-components:circle-empty",svgstr:Z}),t5=new k({name:"ui-components:circle",svgstr:Q}),t3=new k({name:"ui-components:cleaning",svgstr:X}),t6=new k({name:"ui-components:clear",svgstr:ee}),t8=new k({name:"ui-components:close-all",svgstr:et}),t7=new k({name:"ui-components:close",svgstr:en}),t9=new k({name:"ui-components:code-check",svgstr:ei}),ne=new k({name:"ui-components:code",svgstr:eo}),nt=new k({name:"ui-components:collapse-all",svgstr:er}),nn=new k({name:"ui-components:collapse",svgstr:es}),ni=new k({name:"ui-components:console",svgstr:ea}),no=new k({name:"ui-components:copy",svgstr:el}),nr=new k({name:"ui-components:copyright",svgstr:ed}),ns=new k({name:"ui-components:cut",svgstr:ec}),na=new k({name:"ui-components:delete",svgstr:eh}),nl=new k({name:"ui-components:dock-bottom",svgstr:eu}),nd=new k({name:"ui-components:dock-left",svgstr:ep}),nc=new k({name:"ui-components:dock-right",svgstr:em}),nh=new k({name:"ui-components:dock-top",svgstr:eg}),nu=new k({name:"ui-components:dots",svgstr:eA}),np=new k({name:"ui-components:download",svgstr:eC}),nm=new k({name:"ui-components:duplicate",svgstr:ef}),ng=new k({name:"ui-components:edit",svgstr:eb}),nA=new k({name:"ui-components:ellipses",svgstr:ev}),nC=new k({name:"ui-components:error",svgstr:e_}),nf=new k({name:"ui-components:exceptions",svgstr:ey}),nb=new k({name:"ui-components:expand-all",svgstr:eE}),nv=new k({name:"ui-components:expand",svgstr:ew}),n_=new k({name:"ui-components:extension",svgstr:ej}),ny=new k({name:"ui-components:fast-forward",svgstr:ex}),nE=new k({name:"ui-components:file",svgstr:eB}),nw=new k({name:"ui-components:file-upload",svgstr:eS}),nj=new k({name:"ui-components:filter-dot",svgstr:eM}),nx=new k({name:"ui-components:filter",svgstr:ek}),nB=new k({name:"ui-components:filter-list",svgstr:eI}),nS=new k({name:"ui-components:folder-favorite",svgstr:eD}),nM=new k({name:"ui-components:folder",svgstr:eT}),nI=new k({name:"ui-components:history",svgstr:eL}),nk=new k({name:"ui-components:home",svgstr:eN}),nD=new k({name:"ui-components:html5",svgstr:eP}),nT=new k({name:"ui-components:image",svgstr:ez}),nL=new k({name:"ui-components:info",svgstr:eR}),nN=new k({name:"ui-components:inspector",svgstr:eO}),nP=new k({name:"ui-components:json",svgstr:eF}),nz=new k({name:"ui-components:julia",svgstr:eW}),nR=new k({name:"ui-components:jump-back",svgstr:eH}),nO=new k({name:"ui-components:jump-forward",svgstr:eU}),nF=new k({name:"ui-components:jupyter-favicon",svgstr:eY}),nW=new k({name:"ui-components:jupyter",svgstr:eV}),nH=new k({name:"ui-components:jupyterlab-wordmark",svgstr:eq}),nU=new k({name:"ui-components:kernel",svgstr:eG}),nY=new k({name:"ui-components:keyboard",svgstr:e$}),nV=new k({name:"ui-components:launch",svgstr:eJ}),nq=new k({name:"ui-components:launcher",svgstr:eK}),nG=new k({name:"ui-components:line-form",svgstr:eZ}),n$=new k({name:"ui-components:link",svgstr:eQ}),nJ=new k({name:"ui-components:list",svgstr:eX}),nK=new k({name:"ui-components:lock",svgstr:e0}),nZ=new k({name:"ui-components:markdown",svgstr:e1}),nQ=new k({name:"ui-components:mermaid",svgstr:e2}),nX=new k({name:"ui-components:move-down",svgstr:e4}),n0=new k({name:"ui-components:move-up",svgstr:e5}),n1=new k({name:"ui-components:new-folder",svgstr:e3}),n2=new k({name:"ui-components:not-trusted",svgstr:e6}),n4=new k({name:"ui-components:notebook",svgstr:e8}),n5=new k({name:"ui-components:numbering",svgstr:e7}),n3=new k({name:"ui-components:offline-bolt",svgstr:e9}),n6=new k({name:"ui-components:open-kernel-source",svgstr:te}),n8=new k({name:"ui-components:palette",svgstr:tt}),n7=new k({name:"ui-components:paste",svgstr:tn}),n9=new k({name:"ui-components:pause",svgstr:ti}),ie=new k({name:"ui-components:pdf",svgstr:to}),it=new k({name:"ui-components:python",svgstr:tr}),ii=new k({name:"ui-components:r-kernel",svgstr:ts}),io=new k({name:"ui-components:react",svgstr:ta}),ir=new k({name:"ui-components:redo",svgstr:tl}),is=new k({name:"ui-components:refresh",svgstr:y}),ia=new k({name:"ui-components:regex",svgstr:td}),il=new k({name:"ui-components:run",svgstr:tc}),id=new k({name:"ui-components:running",svgstr:th}),ic=new k({name:"ui-components:save",svgstr:tu}),ih=new k({name:"ui-components:search",svgstr:tp}),iu=new k({name:"ui-components:selected-breakpoint",svgstr:tm}),ip=new k({name:"ui-components:settings",svgstr:tg}),im=new k({name:"ui-components:share",svgstr:tA}),ig=new k({name:"ui-components:spreadsheet",svgstr:tC}),iA=new k({name:"ui-components:step-into",svgstr:tf}),iC=new k({name:"ui-components:step-out",svgstr:tb}),ib=new k({name:"ui-components:step-over",svgstr:tv}),iv=new k({name:"ui-components:stop",svgstr:t_}),i_=new k({name:"ui-components:tab",svgstr:ty}),iy=new k({name:"ui-components:table-rows",svgstr:tE}),iE=new k({name:"ui-components:tag",svgstr:tw}),iw=new k({name:"ui-components:terminal",svgstr:tj}),ij=new k({name:"ui-components:text-editor",svgstr:tx}),ix=new k({name:"ui-components:toc",svgstr:tB}),iB=new k({name:"ui-components:tree-view",svgstr:tS}),iS=new k({name:"ui-components:trusted",svgstr:tM}),iM=new k({name:"ui-components:undo",svgstr:tI}),iI=new k({name:"ui-components:user",svgstr:tk}),ik=new k({name:"ui-components:users",svgstr:tD}),iD=new k({name:"ui-components:variable",svgstr:tT}),iT=new k({name:"ui-components:vega",svgstr:tL}),iL=new k({name:"ui-components:video",svgstr:tN}),iN=new k({name:"ui-components:view-breakpoint",svgstr:tP}),iP=new k({name:"ui-components:word",svgstr:tz}),iz=new k({name:"ui-components:yaml",svgstr:tR});class iR extends m.AccordionLayout{constructor(){super(...arguments),this._toolbars=new WeakMap}insertWidget(e,t){t.toolbar&&(this._toolbars.set(t,t.toolbar),t.toolbar.addClass("jp-AccordionPanel-toolbar")),super.insertWidget(e,t)}removeWidgetAt(e){let t=this.widgets[e];super.removeWidgetAt(e),t&&this._toolbars.has(t)&&this._toolbars.delete(t)}updateTitle(e,t){super.updateTitle(e,t),this._addToolbar(e,t)}attachWidget(e,t){super.attachWidget(e,t),this._addToolbar(e,t)}detachWidget(e,t){let n=this._toolbars.get(t);n&&(this.parent.isAttached&&p.MessageLoop.sendMessage(n,m.Widget.Msg.BeforeDetach),this.titles[e].removeChild(n.node),this.parent.isAttached&&p.MessageLoop.sendMessage(n,m.Widget.Msg.AfterDetach)),super.detachWidget(e,t)}onBeforeAttach(e){this.notifyToolbars(e),super.onBeforeAttach(e)}onAfterAttach(e){super.onAfterAttach(e),this.notifyToolbars(e)}onBeforeDetach(e){this.notifyToolbars(e),super.onBeforeDetach(e)}onAfterDetach(e){super.onAfterDetach(e),this.notifyToolbars(e)}_addToolbar(e,t){let n=this._toolbars.get(t);n&&(this.parent.isAttached&&p.MessageLoop.sendMessage(n,m.Widget.Msg.BeforeAttach),this.titles[e].appendChild(n.node),this.parent.isAttached&&p.MessageLoop.sendMessage(n,m.Widget.Msg.AfterAttach))}notifyToolbars(e){this.widgets.forEach(t=>{let n=this._toolbars.get(t);n&&n.processMessage(e)})}}function iO(e){let{minimal:t,small:n,children:i,...o}=e;return f().createElement("button",{...o,className:x(e.className,t?"jp-mod-minimal":"",n?"jp-mod-small":"","jp-Button")},i)}!function(e){class t extends m.AccordionPanel.Renderer{createCollapseIcon(e){let t=document.createElement("div");return tK.element({container:t}),t}createSectionTitle(e){let t=super.createSectionTitle(e);return t.classList.add("jp-AccordionPanel-title"),t}}function n(t){var n;return t.layout||new iR({renderer:t.renderer||e.defaultRenderer,orientation:t.orientation,alignment:t.alignment,spacing:t.spacing,titleSpace:null!=(n=t.titleSpace)?n:32})}e.Renderer=t,e.defaultRenderer=new t,e.createLayout=n}(r||(r={}));let iF="jp-Collapse",iW="jp-Collapse-contents",iH="jp-Collapse-header",iU="jp-Collapse-header-collapsed",iY="jp-Collapser-icon",iV="jp-Collapser-title";class iq extends m.Widget{constructor(e){super(e),this._collapseChanged=new A.Signal(this);const{widget:t,collapsed:n=!0}=e;this.addClass(iF),this._header=new m.Widget,this._header.addClass(iH),n&&this._header.addClass(iU),this._header.node.appendChild(tK.element({className:iY}));const i=document.createElement("span");i.classList.add(iV),i.textContent=t.title.label,this._header.node.appendChild(i),this._content=new m.Panel,this._content.addClass(iW);const o=new m.PanelLayout;this.layout=o,o.addWidget(this._header),o.addWidget(this._content),this.widget=t,this.collapsed=n}get widget(){return this._widget}set widget(e){let t=this._widget;t&&(t.title.changed.disconnect(this._onTitleChanged,this),t.parent=null),this._widget=e,e.title.changed.connect(this._onTitleChanged,this),this._onTitleChanged(e.title),this._content.addWidget(e)}get collapsed(){return this._collapsed}set collapsed(e){e!==this._collapsed&&(e?this._collapse():this._uncollapse())}get collapseChanged(){return this._collapseChanged}toggle(){this.collapsed=!this.collapsed}dispose(){this.isDisposed||(this._header=null,this._widget=null,this._content=null,super.dispose())}handleEvent(e){"click"===e.type&&this._evtClick(e)}onAfterAttach(e){this._header.node.addEventListener("click",this)}onBeforeDetach(e){this._header.node.removeEventListener("click",this)}_collapse(){this._collapsed=!0,this._content&&this._content.hide(),this._setHeader(),this._collapseChanged.emit(void 0)}_uncollapse(){this._collapsed=!1,this._content&&this._content.show(),this._setHeader(),this._collapseChanged.emit(void 0)}_evtClick(e){this.toggle()}_onTitleChanged(e){this._setHeader()}_setHeader(){this._collapsed?this._header.addClass(iU):this._header.removeClass(iU)}}var iG=n(75777),i$=n(2786),iJ=n(35e3),iK=n(10307);let iZ={submitButtonOptions:{norender:!0}},iQ=e=>{var t;let n,i=(null!=(t=e.translator)?t:i$.nullTranslator).load("jupyterlab"),o=()=>"up"===e.direction?!e.item.hasMoveUp:!e.item.hasMoveDown,r="up"===e.direction?e.item.index-1:e.item.index+1;if("icons"!==e.buttonStyle)return f().createElement("button",{className:"jp-mod-styled jp-mod-reject jp-ArrayOperationsButton",onClick:e.item.onReorderClick(e.item.index,r),disabled:o()},"up"===e.direction?i.__("Move up"):i.__("Move down"));{let t={tag:"span",elementPosition:"center"};return n="up"===e.direction?f().createElement(n0.react,{...t}):f().createElement(nX.react,{...t}),f().createElement(iG.Button,{className:"jp-ArrayOperationsButton",onClick:e.item.onReorderClick(e.item.index,r),disabled:o(),appearance:"stealth",title:i.__("Move item %1",e.direction)},n)}},iX=e=>{var t;let n,i=(null!=(t=e.translator)?t:i$.nullTranslator).load("jupyterlab");return"icons"===e.buttonStyle?(n=f().createElement(na.react,{tag:"span",elementPosition:"center"}),f().createElement(iG.Button,{className:"jp-mod-styled jp-mod-warn jp-ArrayOperationsButton",onClick:e.item.onDropIndexClick(e.item.index),appearance:"stealth",title:i.__("Remove item")},n)):f().createElement("button",{className:"jp-mod-styled jp-mod-warn jp-ArrayOperationsButton",onClick:e.item.onDropIndexClick(e.item.index)},i.__("Remove"))},i0=e=>{var t;let n,i=(null!=(t=e.translator)?t:i$.nullTranslator).load("jupyterlab");return n="icons"===e.buttonStyle?f().createElement(tW.react,{tag:"span",elementSize:"xlarge",elementPosition:"center"}):i.__("Add"),f().createElement("button",{className:"jp-mod-styled jp-mod-accept jp-ArrayOperationsButton",onClick:e.onAddClick,title:i.__("Add item")},n)};function i1(e){let{component:t,name:n,buttonStyle:i,compact:o,showModifiedFromDefault:r,translator:s}=e,a=null!=o&&o,l=null!=i?i:a?"icons":"text",d=e=>t({...e,buttonStyle:l,compact:a,showModifiedFromDefault:null==r||r,translator:null!=s?s:i$.nullTranslator});return n&&(d.displayName=n),d}function i2(e,t){return{TitleField:(0,iK.getTemplate)("TitleFieldTemplate",e,t),DescriptionField:(0,iK.getTemplate)("DescriptionFieldTemplate",e,t)}}let i4=e=>i1({...e,name:"JupyterLabArrayTemplate",component:e=>{var t;let{schema:n,registry:i,uiSchema:o,required:r}=e,s={schema:n,registry:i,uiSchema:o,required:r},{TitleField:a,DescriptionField:l}=i2(i,o);return f().createElement("div",{className:e.className},e.compact?f().createElement("div",{className:"jp-FormGroup-compactTitle"},f().createElement("div",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem",id:`${e.idSchema.$id}__title`},e.title||""),f().createElement("div",{className:"jp-FormGroup-description",id:`${e.idSchema.$id}-description`},e.schema.description||"")):f().createElement(f().Fragment,null,e.title&&f().createElement(a,{...s,title:e.title,id:`${e.idSchema.$id}-title`}),f().createElement(l,{...s,id:`${e.idSchema.$id}-description`,description:null!=(t=e.schema.description)?t:""})),e.items.map(t=>f().createElement("div",{key:t.key,className:t.className},t.children,f().createElement("div",{className:"jp-ArrayOperations"},f().createElement(iQ,{buttonStyle:e.buttonStyle,translator:e.translator,item:t,direction:"up"}),f().createElement(iQ,{buttonStyle:e.buttonStyle,translator:e.translator,item:t,direction:"down"}),f().createElement(iX,{buttonStyle:e.buttonStyle,translator:e.translator,item:t})))),e.canAdd&&f().createElement(i0,{onAddClick:e.onAddClick,buttonStyle:e.buttonStyle,translator:e.translator}))}}),i5=e=>i1({...e,name:"JupyterLabObjectTemplate",component:e=>{var t;let{schema:n,registry:i,uiSchema:o,required:r}=e,s={schema:n,registry:i,uiSchema:o,required:r},{TitleField:a,DescriptionField:l}=i2(i,o);return f().createElement("fieldset",{id:e.idSchema.$id},e.compact?f().createElement("div",{className:"jp-FormGroup-compactTitle"},f().createElement("div",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem",id:`${e.idSchema.$id}__title`},e.title||""),f().createElement("div",{className:"jp-FormGroup-description",id:`${e.idSchema.$id}__description`},e.schema.description||"")):f().createElement(f().Fragment,null,(e.title||(e.uiSchema||g.JSONExt.emptyObject)["ui:title"])&&f().createElement(a,{...s,id:`${e.idSchema.$id}__title`,title:e.title||`${(e.uiSchema||g.JSONExt.emptyObject)["ui:title"]}`||""}),f().createElement(l,{...s,id:`${e.idSchema.$id}__description`,description:null!=(t=e.schema.description)?t:""})),e.properties.map(e=>e.content),(0,iK.canExpand)(e.schema,e.uiSchema,e.formData)&&f().createElement(i0,{onAddClick:e.onAddClick(e.schema),buttonStyle:e.buttonStyle,translator:e.translator}))}}),i3=e=>i1({...e,name:"JupyterLabFieldTemplate",component:e=>{var t;let n,i=(null!=(t=e.translator)?t:i$.nullTranslator).load("jupyterlab"),o=!1,{formData:r,schema:s,label:a,displayLabel:l,id:d,formContext:c,errors:h,rawErrors:u,children:p,onKeyChange:m,onDropPropertyClick:A}=e,{defaultFormData:C}=c,b=d.split("_");b.shift();let v=b.join("."),_=""===v,y=v===(e.uiSchema||g.JSONExt.emptyObject)["ui:field"];e.showModifiedFromDefault&&(n=b.reduce((e,t)=>null==e?void 0:e[t],C),o=!_&&void 0!==r&&void 0!==n&&!s.properties&&"array"!==s.type&&!g.JSONExt.deepEqual(r,n));let E=!_&&"object"!=s.type&&"jp-SettingsEditor-@jupyterlab/shortcuts-extension:shortcuts_shortcuts"!=d,w=s.hasOwnProperty(iK.ADDITIONAL_PROPERTY_FLAG),j="object"!==s.type&&"array"!==s.type;return f().createElement("div",{className:`form-group ${l||"boolean"===s.type?"small-field":""}`},!y&&((null==u?void 0:u.length)?f().createElement("div",{className:"jp-modifiedIndicator jp-errorIndicator"}):o&&f().createElement("div",{className:"jp-modifiedIndicator"})),f().createElement("div",{className:`jp-FormGroup-content ${e.compact?"jp-FormGroup-contentCompact":"jp-FormGroup-contentNormal"}`},j&&l&&!_&&a&&!w?e.compact?f().createElement("div",{className:"jp-FormGroup-compactTitle"},f().createElement("div",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem"},a),j&&s.description&&E&&f().createElement("div",{className:"jp-FormGroup-description"},s.description)):f().createElement("h3",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem"},a):f().createElement(f().Fragment,null),w&&f().createElement("input",{className:"jp-FormGroup-contentItem jp-mod-styled",type:"text",onBlur:e=>m(e.target.value),defaultValue:a}),f().createElement("div",{className:`${_?"jp-root":"object"===s.type?"jp-objectFieldWrapper":"array"===s.type?"jp-arrayFieldWrapper":"jp-inputFieldWrapper jp-FormGroup-contentItem"}`},p),w&&f().createElement("button",{className:"jp-FormGroup-contentItem jp-mod-styled jp-mod-warn jp-FormGroup-removeButton",onClick:A(a)},i.__("Remove")),!e.compact&&s.description&&E&&f().createElement("div",{className:"jp-FormGroup-description"},s.description),o&&void 0!==n&&"object"!==s.type&&f().createElement("div",{className:"jp-FormGroup-default"},i.__("Default: %1",null!==n?n.toLocaleString():"null")),f().createElement("div",{className:"validationErrors"},h)))}});function i6(e){let{buttonStyle:t,compact:n,showModifiedFromDefault:i,translator:o,formContext:r,...s}=e,a={...s.uiSchema||g.JSONExt.emptyObject};a["ui:options"]={...iZ,...a["ui:options"]},s.uiSchema=a;let{FieldTemplate:l,ArrayFieldTemplate:d,ObjectFieldTemplate:c}=e.templates||g.JSONExt.emptyObject,h={buttonStyle:t,compact:n,showModifiedFromDefault:i,translator:o},u={FieldTemplate:f().useMemo(()=>null!=l?l:i3(h),[l,t,n,i,o]),ArrayFieldTemplate:f().useMemo(()=>null!=d?d:i4(h),[d,t,n,i,o]),ObjectFieldTemplate:f().useMemo(()=>null!=c?c:i5(h),[c,t,n,i,o])};return f().createElement(iJ.Ay,{templates:u,formContext:r,...s})}let i8="jp-DefaultStyle",i7="jp-HTMLSelect";class i9 extends C.Component{render(){let{className:e,defaultStyle:t=!0,disabled:n,elementRef:i,iconProps:o,icon:r=t$,options:s=[],...a}=this.props,l=x(i7,{[i8]:t},e),d=e=>{e.stopPropagation()},c=s.map(e=>{let t="object"==typeof e?e:{value:e};return C.createElement("option",{...t,key:t.value},t.label||t.value)});return C.createElement("div",{className:l},C.createElement("select",{onFocus:d,disabled:n,ref:i,...a,multiple:!1},c,a.children),C.createElement(r.react,{tag:"span",stylesheet:"select",right:"4px",top:"4px",...o}))}}class oe extends m.Widget{constructor(e={}){super({node:s.createNode()}),this._sandbox=[],this.addClass("jp-IFrame"),this.sandbox=e.sandbox||[],this.referrerPolicy=e.referrerPolicy||"no-referrer",this.loading=e.loading||"eager"}get referrerPolicy(){return this._referrerPolicy}set referrerPolicy(e){this._referrerPolicy===e||(this._referrerPolicy=e,this.node.querySelector("iframe").setAttribute("referrerpolicy",e))}get loading(){return this._loading}set loading(e){this._loading===e||(this._loading=e,this.node.querySelector("iframe").setAttribute("loading",e))}get sandbox(){return this._sandbox.slice()}set sandbox(e){this._sandbox=e.slice();let t=this.node.querySelector("iframe"),n=e.length?e.join(" "):"";t.setAttribute("sandbox",n)}get url(){return this.node.querySelector("iframe").getAttribute("src")||""}set url(e){this.node.querySelector("iframe").setAttribute("src",e)}}function ot(e){let{className:t,inputRef:n,rightIcon:i,...o}=e;return f().createElement("div",{className:x("jp-InputGroup",t)},f().createElement("input",{ref:n,...o}),i&&f().createElement("span",{className:"jp-InputGroupAction"},"string"==typeof i?f().createElement(k.resolveReact,{icon:i,elementPosition:"center",tag:"span"}):f().createElement(i.react,{elementPosition:"center",tag:"span"})))}!function(e){e.createNode=function(){let e=document.createElement("div"),t=document.createElement("iframe");return t.setAttribute("sandbox",""),t.style.height="100%",t.style.width="100%",e.appendChild(t),e}}(s||(s={}));var on=n(65819),oi=n(63995);!function(e){e.DEFAULT_RANK=100}(a||(a={}));class oo extends m.Menu{constructor(e){var t;super(e),this._ranks=[],this.addClass("jp-ThemedContainer"),this._rank=e.rank,this._includeSeparators=null==(t=e.includeSeparators)||t}get rank(){return this._rank}addGroup(e,t){if(0===e.length)return new oi.DisposableDelegate(()=>void 0);let n=null!=t?t:a.DEFAULT_RANK,i=e.map(e=>{var t;return{...e,rank:null!=(t=e.rank)?t:n}}).sort((e,t)=>e.rank-t.rank),o=this._ranks.findIndex(e=>i[0].rank<e);o<0&&(o=this._ranks.length);let r=[];return this._includeSeparators&&r.push(this.insertItem(o++,{type:"separator",rank:n})),r.push(...i.map(e=>this.insertItem(o++,e))),this._includeSeparators&&r.push(this.insertItem(o++,{type:"separator",rank:n})),new oi.DisposableDelegate(()=>{r.forEach(e=>e.dispose())})}addItem(e){let t=-1;return e.rank&&(t=this._ranks.findIndex(t=>e.rank<t)),t<0&&(t=this._ranks.length),this.insertItem(t,e)}clearItems(){this._ranks.length=0,super.clearItems()}dispose(){this._ranks.length=0,super.dispose()}getRankAt(e){return this._ranks[e]}insertItem(e,t){var n,i;let o=Math.max(0,Math.min(e,this._ranks.length));return on.ArrayExt.insert(this._ranks,o,null!=(n=t.rank)?n:Math.max(a.DEFAULT_RANK,null!=(i=this._ranks[this._ranks.length-1])?i:a.DEFAULT_RANK)),new or(super.insertItem(o,t),this)}removeItemAt(e){on.ArrayExt.removeAt(this._ranks,e),super.removeItemAt(e)}}class or{constructor(e,t){this._item=new WeakRef(e),this._menu=t;const n=e=>{e.disposed.disconnect(n,this),this.dispose()};this._menu.disposed.connect(n,this)}get isDisposed(){return this._isDisposed}get type(){return this._item.deref().type}get command(){return this._item.deref().command}get args(){return this._item.deref().args}get submenu(){return this._item.deref().submenu}get label(){return this._item.deref().label}get mnemonic(){return this._item.deref().mnemonic}get icon(){return this._item.deref().icon}get iconClass(){return this._item.deref().iconClass}get iconLabel(){return this._item.deref().iconLabel}get caption(){return this._item.deref().caption}get className(){return this._item.deref().className}get dataset(){return this._item.deref().dataset}get isEnabled(){return this._item.deref().isEnabled}get isToggled(){return this._item.deref().isToggled}get isVisible(){return this._item.deref().isVisible}get keyBinding(){return this._item.deref().keyBinding}dispose(){if(this._isDisposed)return;this._isDisposed=!0;let e=this._item.deref();e&&!this._menu.isDisposed&&this._menu.removeItem(e),A.Signal.clearData(this)}}var os=n(24964),oa=n(46976),ol=n(17981),od=n(59807);class oc extends m.Widget{constructor(){super(),this._rootDOM=null}static create(e){return new class extends oc{render(){return e}}}onUpdateRequest(e){this.renderPromise=this.renderDOM()}onAfterAttach(e){p.MessageLoop.sendMessage(this,m.Widget.Msg.UpdateRequest)}onBeforeDetach(e){null!==this._rootDOM&&(this._rootDOM.unmount(),this._rootDOM=null)}renderDOM(){return new Promise(e=>{let t=this.render();null===this._rootDOM&&(this._rootDOM=(0,b.H)(this.node)),Array.isArray(t)||t?this._rootDOM.render(t):(this._rootDOM.unmount(),this._rootDOM=null),requestIdleCallback(()=>e())})}}class oh extends oc{constructor(e){super(),this._modelChanged=new A.Signal(this),this.model=null!=e?e:null}get modelChanged(){return this._modelChanged}set model(e){this._model!==e&&(this._model&&this._model.stateChanged.disconnect(this.update,this),this._model=e,e&&e.stateChanged.connect(this.update,this),this.update(),this._modelChanged.emit(void 0))}get model(){return this._model}dispose(){this.isDisposed||(this._model=null,super.dispose())}}class ou extends C.Component{constructor(e){super(e),this.slot=(e,t)=>{(!this.props.shouldUpdate||this.props.shouldUpdate(e,t))&&this.setState({value:[e,t]})},this.state={value:[this.props.initialSender,this.props.initialArgs]}}componentDidMount(){this.props.signal.connect(this.slot)}componentWillUnmount(){this.props.signal.disconnect(this.slot)}render(){return this.props.children(...this.state.value)}}class op{constructor(){this.stateChanged=new A.Signal(this),this._isDisposed=!1}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,A.Signal.clearData(this))}}(0,os.provideJupyterDesignSystem)().register([(0,os.jpButton)(),(0,os.jpToolbar)()]),(0,os.addJupyterLabThemeChangeListener)();let om="jp-Toolbar",og="jp-Toolbar-item",oA="toolbar-popup-opener",oC="jp-Toolbar-spacer";class of extends m.PanelLayout{constructor(){super(...arguments),this._dirty=!1}onFitRequest(e){super.onFitRequest(e),this.parent.isAttached&&((0,on.some)(this.widgets,e=>!e.isHidden)?(this.parent.node.style.minHeight="var(--jp-private-toolbar-height)",this.parent.removeClass("jp-Toolbar-micro")):(this.parent.node.style.minHeight="",this.parent.addClass("jp-Toolbar-micro"))),this._dirty=!0,this.parent.parent&&p.MessageLoop.sendMessage(this.parent.parent,m.Widget.Msg.FitRequest),this._dirty&&p.MessageLoop.sendMessage(this.parent,m.Widget.Msg.UpdateRequest)}onUpdateRequest(e){super.onUpdateRequest(e),this.parent.isVisible&&(this._dirty=!1)}onChildShown(e){super.onChildShown(e),this.parent.fit()}onChildHidden(e){super.onChildHidden(e),this.parent.fit()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}attachWidget(e,t){super.attachWidget(e,t),this.parent.fit()}detachWidget(e,t){super.detachWidget(e,t),this.parent.fit()}}class ob extends m.Widget{constructor(e={}){var t,n;super({node:document.createElement("jp-toolbar")}),this.addClass(om),this.layout=null!=(t=e.layout)?t:new of,this.noFocusOnClick=null!=(n=e.noFocusOnClick)&&n}names(){let e=this.layout;return(0,on.map)(e.widgets,e=>l.nameProperty.get(e))}addItem(e,t){let n=this.layout;return this.insertItem(n.widgets.length,e,t)}insertItem(e,t,n){if((0,on.find)(this.names(),e=>e===t))return!1;n.addClass(og);let i=this.layout,o=Math.max(0,Math.min(e,i.widgets.length));return i.insertWidget(o,n),l.nameProperty.set(n,t),n.node.dataset.jpItemName=t,this.noFocusOnClick&&(n.node.dataset.noFocusOnClick="true"),!0}insertAfter(e,t,n){return this.insertRelative(e,1,t,n)}insertBefore(e,t,n){return this.insertRelative(e,0,t,n)}insertRelative(e,t,n,i){let o=(0,on.map)(this.names(),(e,t)=>({name:e,index:t})),r=(0,on.find)(o,t=>t.name===e);return!!r&&this.insertItem(r.index+t,n,i)}handleEvent(e){"click"===e.type&&this.handleClick(e)}handleClick(e){if(e.stopPropagation(),e.target instanceof HTMLLabelElement){let t=e.target.getAttribute("for");if(t&&this.node.querySelector(`#${t}`))return}!this.node.contains(document.activeElement)&&this.parent&&this.parent.activate()}onAfterAttach(e){this.node.addEventListener("click",this)}onBeforeDetach(e){this.node.removeEventListener("click",this)}}class ov extends ob{constructor(e={}){super(e),this.popupOpener=new oS,this._widgetWidths=new Map,this._widgetPositions=new Map,this._zoomChanged=!0,this.insertItem(0,oA,this.popupOpener),this.popupOpener.hide(),this._resizer=new od.Throttler(async(e=!1)=>{await this._onResize(e)},500)}dispose(){this.isDisposed||(this._resizer&&this._resizer.dispose(),super.dispose())}insertAfter(e,t,n){return e!==oA&&super.insertAfter(e,t,n)}insertRelative(e,t,n,i){let o=this._widgetPositions.get(e),r=(null!=o?o:0)+t;return this.insertItem(r,n,i)}insertItem(e,t,n){var i;let o;if(n instanceof oS)o=super.insertItem(e,t,n);else{let i=Math.max(0,Math.min(e,this.layout.widgets.length-1));o=super.insertItem(i,t,n),i!==e&&(e=Math.max(0,Math.min(e,this._widgetPositions.size)))}if(t!==oA&&this._widgetPositions.get(t)!==e){let n=null!=(i=this._widgetPositions.get(t))?i:this._widgetPositions.size;this._widgetPositions.forEach((t,i)=>{i!==oA&&(t>=e&&t<n?this._widgetPositions.set(i,t+1):t<=e&&t>n&&this._widgetPositions.set(i,t-1))}),this._widgetPositions.set(t,e),this.isVisible&&this._resizer.invoke(!0)}return o}onAfterShow(e){this._resizer.stop().then(()=>void this._resizer.invoke(!0))}onBeforeHide(e){this.popupOpener.hidePopup(),super.onBeforeHide(e)}onResize(e){super.onResize(e);let t=Math.round(window.outerWidth/window.innerWidth*100);t!==this._zoom&&(this._zoomChanged=!0,this._zoom=t),e.width>0&&this._resizer&&this._resizer.invoke()}async _onResize(e=!1){if(!(this.parent&&this.parent.isAttached))return;let t=this.node.clientWidth,n=this.popupOpener,i=32,o=7,r=n.isHidden?o:o+i;return this._getWidgetsToRemove(r,t,i).then(async o=>{var r,s;let{width:a,widgetsToRemove:d}=o;for(;d.length>0;){let e=d.pop(),t=l.nameProperty.get(e);a-=this._widgetWidths.get(t)||0;let i=null!=(r=this._widgetPositions.get(t))?r:0,o=this._widgetPositions.size,c=n.widgetAt(0);if(c){let e=l.nameProperty.get(c);o=null!=(s=this._widgetPositions.get(e))?s:o}let h=i-o;n.insertWidget(h,e)}if(n.widgetCount()>0){let e=[],o=0,r=n.widgetCount();for(;o<r;){let s=n.widgetAt(o);if(s)a+=this._getWidgetWidth(s),r-e.length==1&&(a-=i);else break;if(a<t)e.push(s);else break;o++}for(;e.length>0;){let t=e.shift(),n=l.nameProperty.get(t);this._widgetPositions.has(n)?this.insertItem(this._widgetPositions.get(n),n,t):this.addItem(n,t)}}n.widgetCount()>0?(n.updatePopup(),n.show()):n.hide(),e&&await this._onResize()}).catch(e=>{console.error("Error while computing the ReactiveToolbar",e)})}async _getWidgetsToRemove(e,t,n){var i;let o=this.popupOpener,r=[...this.layout.widgets],s=r.length-1,a=[],d=0;for(;d<s;){let s,c=r[d],h=l.nameProperty.get(c);s=this._zoomChanged?await this._saveWidgetWidth(h,c):this._getWidgetWidth(c)||await this._saveWidgetWidth(h,c),e+=s,0===a.length&&o.isHidden&&e+n>t&&(e+=n),(e>t||(null!=(i=this._widgetPositions.get(h))?i:0)>d)&&a.push(c),d++}return this._zoomChanged=!1,{width:e,widgetsToRemove:a}}async _saveWidgetWidth(e,t){t instanceof oc&&await t.renderPromise;let n=t.hasClass(oC)?2:t.node.clientWidth;return this._widgetWidths.set(e,n),n}_getWidgetWidth(e){let t=l.nameProperty.get(e);return this._widgetWidths.get(t)||0}}function o_(e){var t,n,i;let o=null!=(t=e.noFocusOnClick)&&t?void 0:t=>{var n;0===t.button&&(null==(n=e.onClick)||n.call(e,t),t.target.focus())},r=null!=(n=e.noFocusOnClick)&&n?t=>{var n;0===t.button&&(t.preventDefault(),null==(n=e.onClick)||n.call(e,t))}:void 0,s=t=>{var n;let{key:i}=t;("Enter"===i||" "===i)&&(null==(n=e.onClick)||n.call(e,t))},a=!1===e.enabled&&e.disabledTooltip?e.disabledTooltip:e.pressed&&e.pressedTooltip?e.pressedTooltip:e.tooltip||e.iconLabel,d=!1===e.enabled;return C.createElement(iG.Button,{appearance:"stealth",className:e.className?e.className+" jp-ToolbarButtonComponent":"jp-ToolbarButtonComponent","aria-disabled":d,"aria-label":e.label||a,"aria-pressed":e.pressed,"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],...l.normalizeDataset(e.dataset),disabled:d,onClick:o,onMouseDown:r,onKeyDown:s,title:a},(e.icon||e.iconClass)&&C.createElement(k.resolveReact,{icon:e.pressed&&null!=(i=e.pressedIcon)?i:e.icon,iconClass:x(e.iconClass,"jp-Icon"),tag:null}),e.label&&C.createElement("span",{className:"jp-ToolbarButtonComponent-label"},e.label))}function oy(e){return e.addClass("jp-ToolbarButton"),e}!function(e){e.createSpacerItem=function(){return new l.Spacer}}(ob||(ob={}));class oE extends oc{constructor(e={}){var t,n;super(),this.props=e,oy(this),this._enabled=null==(t=e.enabled)||t,this._pressed=this._enabled&&null!=(n=e.pressed)&&n,this._onClick=e.onClick}set pressed(e){this.enabled&&e!==this._pressed&&(this._pressed=e,this.update())}get pressed(){return this._pressed}set enabled(e){e!=this._enabled&&(this._enabled=e,this._enabled||(this._pressed=!1),this.update())}get enabled(){return this._enabled}set onClick(e){e!==this._onClick&&(this._onClick=e,this.update())}get onClick(){return e=>{this.pressed=!this.pressed,this._onClick(e)}}render(){return C.createElement(o_,{...this.props,noFocusOnClick:this.props.noFocusOnClick,pressed:this.pressed,enabled:this.enabled,onClick:this.onClick})}}function ow(e){return C.createElement(ou,{signal:e.commands.commandChanged,shouldUpdate:(t,n)=>n.id===e.id&&"changed"===n.type||"many-changed"===n.type},()=>e.commands.listCommands().includes(e.id)?C.createElement(o_,{...l.propsFromCommand(e)}):null)}function oj(e){return e.addClass("jp-CommandToolbarButton"),e}class ox extends oc{constructor(e){super(),this.props=e;const{commands:t,id:n,args:i}=e;oj(this),this.setCommandAttributes(t,n,i),t.commandChanged.connect((o,r)=>{r.id===e.id&&this.setCommandAttributes(t,n,i)},this)}setCommandAttributes(e,t,n){e.isToggled(t,n)?this.addClass("lm-mod-toggled"):this.removeClass("lm-mod-toggled"),e.isVisible(t,n)?this.removeClass("lm-mod-hidden"):this.addClass("lm-mod-hidden"),e.isEnabled(t,n)?"disabled"in this.node&&(this.node.disabled=!1):"disabled"in this.node&&(this.node.disabled=!0)}render(){return C.createElement(ow,{...this.props})}get commandId(){return this.props.id}}class oB extends m.Widget{constructor(e){const t=(e||i$.nullTranslator).load("jupyterlab");super({node:document.createElement("jp-toolbar")}),this.width=0,this.node.setAttribute("aria-label",t.__("Responsive popup toolbar")),this.addClass("jp-Toolbar"),this.addClass("jp-Toolbar-responsive-popup"),this.addClass("jp-ThemedContainer"),this.layout=new m.PanelLayout,m.Widget.attach(this,document.body),this.hide()}updateWidth(e){e>0&&(this.width=e,this.node.style.width=`${e}px`)}alignTo(e){let{height:t,width:n,x:i,y:o}=e.node.getBoundingClientRect(),r=this.width;this.node.style.left=`${i+n-r+1}px`,this.node.style.top=`${o+t+1}px`}insertWidget(e,t){this.layout.insertWidget(e,t)}widgetCount(){return this.layout.widgets.length}widgetAt(e){return this.layout.widgets[e]}}class oS extends oE{constructor(e={}){super({icon:nA,onClick:e=>{null==e||e.preventDefault(),this.handleClick()},tooltip:(e.translator||i$.nullTranslator).load("jupyterlab").__("More commands")}),this.addClass("jp-Toolbar-responsive-opener"),this.popup=new oB(e.translator)}addWidget(e){this.popup.insertWidget(0,e)}insertWidget(e,t){this.popup.insertWidget(e,t)}dispose(){this.isDisposed||(this.popup.dispose(),super.dispose())}hide(){super.hide(),this.hidePopup()}hidePopup(){this.popup.hide()}updatePopup(){this.popup.updateWidth(this.parent.node.clientWidth),this.popup.alignTo(this.parent)}widgetAt(e){return this.popup.widgetAt(e)}widgetCount(){return this.popup.widgetCount()}handleClick(){this.updatePopup(),this.popup.setHidden(!this.popup.isHidden)}}!function(e){e.normalizeDataset=function(e){if(!e)return;let t={};for(let[n,i]of Object.entries(e))t[n.startsWith("data-")?n:`data-${n}`]=i;return t},e.propsFromCommand=function(e){var t,n;let i,{commands:o,id:r,args:s}=e,a=o.iconClass(r,s),l=o.iconLabel(r,s),d=null!=(t=e.icon)?t:o.icon(r,s),c=o.label(r,s),h=o.className(r,s);o.isToggleable(r,s)&&(i=o.isToggled(r,s))&&(h+=" lm-mod-toggled"),o.isVisible(r,s)||(h+=" lm-mod-hidden");let u="function"==typeof e.label?e.label(null!=s?s:{}):e.label,p=o.caption(r,s)||u||c||l,m=o.keyBindings.find(e=>e.command===r);if(m){let e=m.keys.map(oa.CommandRegistry.formatKeystroke).join(", ");p=`${p} (${e})`}let g=()=>{o.execute(r,s)},A=o.isEnabled(r,s),{"aria-haspopup":C,"aria-expanded":f,"aria-controls":b}=e;return{className:h,dataset:{"data-command":e.id},noFocusOnClick:e.noFocusOnClick,icon:d,iconClass:a,tooltip:null!=(n=e.caption)?n:p,onClick:g,enabled:A,label:null!=u?u:c,pressed:i,"aria-haspopup":C,"aria-expanded":f,"aria-controls":b}},e.nameProperty=new ol.AttachedProperty({name:"name",create:()=>""});class t extends m.Widget{constructor(){super(),this.addClass(oC)}}e.Spacer=t}(l||(l={}));class oM extends m.Panel{constructor(e={}){var t;super(e),this._toolbar=null!=(t=e.toolbar)?t:new ob}get toolbar(){return this._toolbar}}function oI(e,t){let n=1/0,i=null,o=/[\p{L}\p{N}\p{M}]+/gu,r=!0;for(;r;){let r=o.exec(e);if(!r)break;let s=on.StringExt.matchSumOfDeltas(e,t,r.index);if(!s)break;s.score<=n&&(n=s.score,i=s.indices)}return i&&n!==1/0?{score:n,indices:i}:null}let ok=(e,t,n)=>i=>{if(t)return oI(i,e.toLowerCase());n||(i=i.toLocaleLowerCase(),e=e.toLocaleLowerCase());let o=i.indexOf(e);return -1===o?null:{indices:[...Array(e.length).keys()].map(e=>e+o)}},oD=e=>{var t,n,i;let[o,r]=(0,C.useState)(null!=(t=e.initialQuery)?t:"");e.forceRefresh&&(0,C.useEffect)(()=>{e.updateFilter(e=>({}))},[]);let s=(0,C.useRef)(!0),a=null!=(n=e.inputRef)?n:(0,C.useRef)();(0,C.useEffect)(()=>{s.current?(s.current=!1,void 0!==e.initialQuery&&e.updateFilter(ok(e.initialQuery,e.useFuzzyFilter,e.caseSensitive),e.initialQuery)):a.current&&e.updateFilter(ok(a.current.value,e.useFuzzyFilter,e.caseSensitive),a.current.value)},[e.updateFilter,e.useFuzzyFilter,e.caseSensitive]);let l=(0,C.useCallback)(t=>{let n=t.target;r(n.value),e.updateFilter(ok(n.value,e.useFuzzyFilter,e.caseSensitive),n.value)},[e.updateFilter,e.useFuzzyFilter,e.caseSensitive]),d=null==(i=e.showIcon)||i;return f().createElement(iG.Search,{role:"search",className:"jp-FilterBox",ref:e.inputRef,value:o,onChange:l,onInput:l,placeholder:e.placeholder,disabled:e.disabled},d&&f().createElement(ih.react,{slot:"end",tag:null}))};class oT extends oc{constructor(e){var t;super(),this._filterBoxProps={...e},null==(t=null==e?void 0:e.filterSettingsChanged)||t.connect((e,t)=>{this._updateProps(t)},this)}render(){return f().createElement(oD,{...this._filterBoxProps})}_updateProps(e){Object.assign(this._filterBoxProps,e),this.update()}}let oL=e=>new oT(e);class oN extends m.Widget{constructor(e={}){var t;super();const n=this.layout=new m.PanelLayout;this.addClass("jp-SidePanel");const i=this._trans=(e.translator||i$.nullTranslator).load("jupyterlab");e.header&&this.addHeader(e.header);const o=this._content=null!=(t=e.content)?t:new m.AccordionPanel({...e,layout:r.createLayout(e)});o.node.setAttribute("role","region"),o.node.setAttribute("aria-label",i.__("side panel content")),o.addClass("jp-SidePanel-content"),n.addWidget(o),e.toolbar&&this.addToolbar(e.toolbar)}get content(){return this._content}get header(){return this._header||this.addHeader(),this._header}get toolbar(){return this._toolbar||this.addToolbar(),this._toolbar}get widgets(){return this.content.widgets}addWidget(e){this.content.addWidget(e)}insertWidget(e,t){this.content.insertWidget(e,t)}addHeader(e){let t=this._header=e||new m.Panel;t.addClass("jp-SidePanel-header"),this.layout.insertWidget(0,t)}addToolbar(e){let t=this._toolbar=null!=e?e:new ob;t.addClass("jp-SidePanel-toolbar"),this.layout.insertWidget(this.layout.widgets.length-1,t)}}class oP extends m.Widget{constructor(){super(),this.addClass("jp-Spinner"),this.node.tabIndex=-1;const e=document.createElement("div");e.className="jp-SpinnerContent",this.node.appendChild(e)}onActivateRequest(e){this.node.focus()}}!function(e){function t(e,i,o=""){if(e.localName===i&&e.classList.add("jp-mod-styled"),"select"===e.localName){let t=e.hasAttribute("multiple");n(e,t)}let r=e.getElementsByTagName(i);for(let e=0;e<r.length;e++){let t=r[e];if(t.classList.add("jp-mod-styled"),o&&t.classList.add(o),"select"===i){let e=t.hasAttribute("multiple");n(t,e)}}}function n(e,t){let n=document.createElement("div");return n.classList.add("jp-select-wrapper"),e.addEventListener("focus",c.onFocus),e.addEventListener("blur",c.onFocus),e.classList.add("jp-mod-styled"),e.parentElement&&e.parentElement.replaceChild(n,e),n.appendChild(e),t?n.classList.add("multiple"):n.appendChild(t$.element({tag:"span",stylesheet:"select",right:"8px",top:"5px",width:"18px"})),n}e.styleNode=function(e,n=""){t(e,"select",n),t(e,"textarea",n),t(e,"input",n),t(e,"button",n)},e.styleNodeByTag=t,e.wrapSelect=n}(d||(d={})),function(e){e.onFocus=function(e){let t=e.target.parentElement;t&&("focus"===e.type?t.classList.add("jp-mod-focused"):t.classList.remove("jp-mod-focused"))}}(c||(c={}));class oz extends m.Widget{constructor(){super(),this._button=document.createElement("button"),this._label=document.createElement("label"),this._valueChanged=new A.Signal(this),this._button.className="jp-switch",this._button.setAttribute("role","switch"),this._button.setAttribute("aria-checked",this._value?this._value.toString():"false"),this._label.className="jp-switch-label";const e=document.createElement("div");e.className="jp-switch-track",e.setAttribute("aria-hidden","true"),this._button.appendChild(this._label),this._button.appendChild(e),this.node.appendChild(this._button)}get value(){return this._value}set value(e){let t=this._value;t!==e&&(this._button.setAttribute("aria-checked",e.toString()),this._value=e,this._valueChanged.emit({name:"value",oldValue:t,newValue:e}))}get valueChanged(){return this._valueChanged}get label(){var e;return null!=(e=this._label.textContent)?e:""}set label(e){this._label.textContent=e}get caption(){return this._button.title}set caption(e){this._button.title=e,this._label.title=e}handleEvent(e){"click"===e.type&&(this.value=!this.value)}onAfterAttach(){this._button.addEventListener("click",this)}onBeforeDetach(){this._button.removeEventListener("click",this)}}let oR="jp-sortable-table";function oO(e){let[t,n]=(0,C.useState)({sortKey:e.sortKey,sortDirection:e.sortDirection||1}),i=e=>{e===t.sortKey?n({sortKey:e,sortDirection:-1*t.sortDirection}):n({sortKey:e,sortDirection:1})},o=e.rows,r=e.columns.filter(e=>e.id===t.sortKey)[0];if(r){let n=r.sort.bind(r);o=e.rows.sort((e,i)=>{var o;return(null!=(o=n(e.data,i.data))?o:0)*t.sortDirection})}let s=e.columns.filter(e=>(!e.isAvailable||e.isAvailable())&&!e.isHidden),a=o.map(t=>{let n=s.map(e=>f().createElement("td",{key:e.id+"-"+t.key},e.renderCell(t.data)));return f().createElement("tr",{key:t.key,"data-key":t.key,onClick:e.onRowClick,className:"jp-sortable-table-tr"},n)}),l=s.map(e=>f().createElement(oF,{label:e.label,id:e.id,state:t,key:e.id,onSort:()=>{i(e.id)}}));return f().createElement("table",{className:oR},f().createElement("thead",null,f().createElement("tr",{className:"jp-sortable-table-tr"},l)),f().createElement("tbody",null,a))}function oF(e){let t=e.id===e.state.sortKey,n=t&&1!==e.state.sortDirection?tK:t0;return f().createElement("th",{key:e.id,onClick:()=>e.onSort(),className:t?"jp-sorted-header":void 0,"data-id":e.id},f().createElement("div",{className:"jp-sortable-table-th-wrapper"},f().createElement("label",null,e.label),f().createElement(n.react,{tag:"span",className:"jp-sort-icon"})))}let oW=3e3,oH=3e3,oU=1e4,oY=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){oY={passive:!0}}}))}catch(e){}class oV{constructor(e={}){var t,n,i,o,r,s;this.scrollDownThreshold=1,this.scrollUpThreshold=0,this.paddingTop=0,this._estimatedWidgetSize=oq.DEFAULT_WIDGET_SIZE,this._stateChanged=new A.Signal(this),this._currentWindow=[-1,-1,-1,-1],this._height=0,this._isDisposed=!1,this._itemsList=null,this._measuredAllUntilIndex=-1,this._overscanCount=1,this._scrollOffset=0,this._widgetCount=0,this._widgetSizers=[],this._windowingActive=!0,this._widgetCount=null!=(i=null!=(n=null==(t=e.itemsList)?void 0:t.length)?n:e.count)?i:0,this._overscanCount=null!=(o=e.overscanCount)?o:1,this._windowingActive=null==(r=e.windowingActive)||r,this.itemsList=null!=(s=e.itemsList)?s:null}get height(){return this._height}set height(e){this._height=e}get isDisposed(){return this._isDisposed}get itemsList(){return this._itemsList}set itemsList(e){var t,n,i;if(this._itemsList!==e){this._itemsList&&this._itemsList.changed.disconnect(this.onListChanged,this);let o=this._itemsList;this._itemsList=e,this._itemsList?this._itemsList.changed.connect(this.onListChanged,this):this._widgetCount=0,this._stateChanged.emit({name:"list",newValue:this._itemsList,oldValue:o}),this._stateChanged.emit({name:"count",newValue:null!=(n=null==(t=this._itemsList)?void 0:t.length)?n:0,oldValue:null!=(i=null==o?void 0:o.length)?i:0})}}get overscanCount(){return this._overscanCount}set overscanCount(e){if(e>=1){if(this._overscanCount!==e){let t=this._overscanCount;this._overscanCount=e,this._stateChanged.emit({name:"overscanCount",newValue:e,oldValue:t})}}else console.error(`Forbidden non-positive overscan count: got ${e}`)}get scrollOffset(){return this._scrollOffset}set scrollOffset(e){this._scrollOffset=e}get widgetCount(){return this._itemsList?this._itemsList.length:this._widgetCount}set widgetCount(e){if(this.itemsList)return void console.error("It is not allow to change the widgets count of a windowed list if a items list is used.");if(e>=0){if(this._widgetCount!==e){let t=this._widgetCount;this._widgetCount=e,this._stateChanged.emit({name:"count",newValue:e,oldValue:t})}}else console.error(`Forbidden negative widget count: got ${e}`)}get windowingActive(){return this._windowingActive}set windowingActive(e){if(e!==this._windowingActive){let t=this._windowingActive;this._windowingActive=e,this._currentWindow=[-1,-1,-1,-1],this._measuredAllUntilIndex=-1,this._widgetSizers=[],this._stateChanged.emit({name:"windowingActive",newValue:e,oldValue:t})}}get stateChanged(){return this._stateChanged}dispose(){this.isDisposed||(this._isDisposed=!0,A.Signal.clearData(this))}getEstimatedTotalSize(){let e=0;if(this._measuredAllUntilIndex>=this.widgetCount&&(this._measuredAllUntilIndex=this.widgetCount-1),this._measuredAllUntilIndex>=0){let t=this._widgetSizers[this._measuredAllUntilIndex];e=t.offset+t.size}let t=0;for(let e=this._measuredAllUntilIndex+1;e<this.widgetCount;e++){let n=this._widgetSizers[e];t+=(null==n?void 0:n.measured)?n.size:this.estimateWidgetSize(e)}return e+t}getOffsetForIndexAndAlignment(e,t="auto",n=0,i,o){let r=Math.min(Math.max(0,n),1),s=this._height,a=i?i.itemMetadata:this._getItemMetadata(e),l=this.scrollDownThreshold<=1?a.size*this.scrollDownThreshold:this.scrollDownThreshold,d=this.scrollUpThreshold<=1?a.size*this.scrollUpThreshold:this.scrollUpThreshold,c=Math.max(0,Math.min((i?i.totalSize:this.getEstimatedTotalSize())-s,a.offset)),h=Math.max(0,a.offset-s+a.size),u=i?i.currentOffset:this._scrollOffset,p=this._windowingActive?this.paddingTop:0,m=a.offset,g=a.offset+a.size,A=u-p+s,C=u-p,f=A>m&&A<g,b=C>m&&C<g,v=A>g&&C<m;if("smart"===t){let e=u>=h-s&&u<=c+s,n=A-m,i=C-m;if(v||f&&n>=l||b&&i<d)return u;t=e?"auto":a.size>s?"top-center":"center"}if("auto"===t)if(v)return u;else t=void 0!==o?o:f||A<=g?"end":"start";switch(t){case"start":return Math.max(0,c-r*s)+p;case"end":return h+r*s+p;case"center":return h+(c-h)/2;case"top-center":return c-s/2}}getRangeToRender(e){if(null==e?void 0:e.virtual)return this._computeVirtualRange();let t=[0,Math.max(this.widgetCount-1,-1),0,Math.max(this.widgetCount-1,-1)],n=this._measuredAllUntilIndex;this.windowingActive&&(t=this._computeVirtualRange());let[i,o]=t;return n<=o||this._currentWindow[0]!==i||this._currentWindow[1]!==o?(this._currentWindow=t,t):null!=t?t:null}getSpan(e,t){let n=this._getItemMetadata(e),i=n.offset,o=this._getItemMetadata(t);return[i,o.offset-n.offset+o.size]}resetAfterIndex(e){let t=this._measuredAllUntilIndex;for(let[t,n]of(this._measuredAllUntilIndex=Math.min(e,this._measuredAllUntilIndex),this._widgetSizers.entries())){if(0===t)continue;let e=this._widgetSizers[t-1];n.offset=e.offset+e.size}this._measuredAllUntilIndex!==t&&this._stateChanged.emit({name:"index",newValue:e,oldValue:t})}setWidgetSize(e){if(this._windowingActive||this._currentWindow[0]>=0){let t=1/0,n=-1,i=0,o=!0,r=new Map(e.map(e=>[e.index,e.size])),s=Math.max(...r.keys()),a=[...this._widgetSizers.entries()];for(let e=this._widgetSizers.length;e<=s;e++)a.push([e,null]);for(let[e,s]of a){let a=r.get(e),l=0,d=!!s;if(!s){let t=this._widgetSizers[e-1],n={offset:t?t.offset+t.size:0,size:void 0!==a?a:this.estimateWidgetSize(e),measured:void 0!==a};this._widgetSizers[e]=n,s=n}void 0!==a&&(s.size!=a&&(l=a-s.size,s.size=a,t=Math.min(t,e)),s.measured=!0),o&&(s.measured?n=e:o=!1),d&&0!==i&&(s.offset+=i),i+=l}if(-1!==n&&(this._measuredAllUntilIndex=n),t!==1/0)return!0}return!1}onListChanged(e,t){switch(t.type){case"add":this._widgetSizers.splice(t.newIndex,0,...Array(t.newValues.length).fill(void 0).map((e,t)=>({offset:0,size:this.estimateWidgetSize(t)}))),this.resetAfterIndex(t.newIndex-1);break;case"move":on.ArrayExt.move(this._widgetSizers,t.oldIndex,t.newIndex),this.resetAfterIndex(Math.min(t.newIndex,t.oldIndex)-1);break;case"remove":this._widgetSizers.splice(t.oldIndex,t.oldValues.length),this.resetAfterIndex(t.oldIndex-1);break;case"set":this.resetAfterIndex(t.newIndex-1);break;case"clear":this._widgetSizers.length=0,this.resetAfterIndex(-1)}}_getItemMetadata(e){var t;if(e>this._measuredAllUntilIndex){let n=0;if(this._measuredAllUntilIndex>=0){let e=this._widgetSizers[this._measuredAllUntilIndex];n=e.offset+e.size}for(let i=this._measuredAllUntilIndex+1;i<=e;i++){let e,o;if(null==(t=this._widgetSizers[i])?void 0:t.measured)e=this._widgetSizers[i].size,o=!0;else{let t=this.widgetRenderer(i);(null==t?void 0:t.node)&&t.node.isConnected?(e=t.node.getBoundingClientRect().height,o=!0):(e=this.estimateWidgetSize(i),o=!1)}this._widgetSizers[i]={offset:n,size:e,measured:o},n+=e}for(let t=e+1;t<this._widgetSizers.length;t++){let e=this._widgetSizers[t],n=this._widgetSizers[t-1];e.offset=n.offset+n.size}}for(let e=0;e<=this._measuredAllUntilIndex;e++){let t=this._widgetSizers[e];if(0===e){if(0!==t.offset)throw Error("First offset is not null")}else{let n=this._widgetSizers[e-1];if(t.offset!==n.offset+n.size)throw Error(`Sizer ${e} has incorrect offset.`)}}return this._widgetSizers[e]}_findNearestItem(e){return(this._measuredAllUntilIndex>0?this._widgetSizers[this._measuredAllUntilIndex].offset:0)>=e?this._findNearestItemBinarySearch(this._measuredAllUntilIndex,0,e):this._findNearestItemExponentialSearch(Math.max(0,this._measuredAllUntilIndex),e)}_findNearestItemBinarySearch(e,t,n){for(;t<=e;){let i=t+Math.floor((e-t)/2),o=this._getItemMetadata(i).offset;if(o===n)return i;o<n?t=i+1:o>n&&(e=i-1)}return t>0?t-1:0}_findNearestItemExponentialSearch(e,t){let n=1;for(;e<this.widgetCount&&this._getItemMetadata(e).offset<t;)e+=n,n*=2;return this._findNearestItemBinarySearch(Math.min(e,this.widgetCount-1),Math.floor(e/2),t)}_computeVirtualRange(){let e=this.widgetCount;if(0===e)return[-1,-1,-1,-1];let t=this._getStartIndexForOffset(this._scrollOffset),n=this._getStopIndexForStartIndex(t,this._scrollOffset);return[Math.max(0,t-Math.max(1,this.overscanCount)),Math.max(0,Math.min(e-1,n+Math.max(1,this.overscanCount))),t,n]}_getStartIndexForOffset(e){return this._findNearestItem(e)}_getStopIndexForStartIndex(e,t){let n=this._height,i=this._getItemMetadata(e),o=t+n,r=i.offset+i.size,s=e;for(;s<this.widgetCount-1&&r<o;)s++,r+=this._getItemMetadata(s).size;return s}}class oq extends m.Widget{constructor(e){var t,n;const i=null!=(t=e.renderer)?t:oq.defaultRenderer,o=document.createElement("div");o.className="jp-WindowedPanel";const r=o.appendChild(document.createElement("div"));r.classList.add("jp-WindowedPanel-scrollbar");const s=r.appendChild(i.createScrollbarViewportIndicator?i.createScrollbarViewportIndicator():oq.defaultRenderer.createScrollbarViewportIndicator());s.classList.add("jp-WindowedPanel-scrollbar-viewportIndicator"),r.appendChild(i.createScrollbar()).classList.add("jp-WindowedPanel-scrollbar-content");const a=o.appendChild(i.createOuter());a.classList.add("jp-WindowedPanel-outer");const l=a.appendChild(document.createElement("div"));l.className="jp-WindowedPanel-inner";const d=l.appendChild(i.createViewport());d.classList.add("jp-WindowedPanel-viewport"),d.classList.add("jp-zoom-target"),super({node:o}),this.jumped=new A.Signal(this),this._scrollbarItems={},this._viewportPaddingTop=0,this._viewportPaddingBottom=0,this._pendingItemWaits=0,this._needsUpdate=!1,this._requiresTotalSizeUpdate=!1,this._timerToClearScrollStatus=null,super.layout=null!=(n=e.layout)?n:new oG,this.renderer=i,this._viewportIndicator=s,this._innerElement=l,this._isScrolling=null,this._outerElement=a,this._itemsResizeObserver=null,this._scrollbarElement=r,this._scrollToItem=null,this._scrollRepaint=null,this._scrollUpdateWasRequested=!1,this._updater=new od.Throttler(()=>this.update(),50),this._viewModel=e.model,this._viewport=d,e.scrollbar&&o.classList.add("jp-mod-virtual-scrollbar"),this.viewModel.stateChanged.connect(this.onStateChanged,this)}get isParentHidden(){return this._isParentHidden}set isParentHidden(e){this._isParentHidden=e}get layout(){return super.layout}get outerNode(){return this._outerElement}get viewportNode(){return this._viewport}get scrollbar(){return this.node.classList.contains("jp-mod-virtual-scrollbar")}set scrollbar(e){e?this.node.classList.add("jp-mod-virtual-scrollbar"):this.node.classList.remove("jp-mod-virtual-scrollbar"),this._adjustDimensionsForScrollbar(),this.update()}get viewModel(){return this._viewModel}dispose(){this._updater.dispose(),super.dispose()}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e),e.stopPropagation();break;case"scrollend":this._onScrollEnd();break;case"scroll":this.onScroll(e)}}scrollTo(e){if(this._renderScrollbar(),!this.viewModel.windowingActive){this._outerElement.scrollTo({top:e}),this._markProgrammaticScrollingDone();return}(e=Math.max(0,e))!==this.viewModel.scrollOffset?(this.viewModel.scrollOffset=e,this._scrollUpdateWasRequested=!0,this.update()):this._markProgrammaticScrollingDone()}scrollToItem(e,t="auto",n=.25,i){let o;if(this._isScrolling&&null!==this._scrollToItem&&this._scrollToItem[0]===e&&this._scrollToItem[1]===t?o=this._isScrolling:(this._isScrolling&&this._isScrolling.reject("Scrolling to a new item is requested."),o=new g.PromiseDelegate,this._isScrolling=o,o.promise.catch(console.debug)),this._scrollToItem=[e,t,n,i],this._resetScrollToItem(),!this.viewModel.windowingActive){let r=this.viewModel.widgetCount;if(r<=0)return this._markProgrammaticScrollingDone(),o.promise;let s=Math.max(0,Math.min(e,r-1));return this._pendingItemWaits++,this._waitForItem(s).then(e=>{if(this._isScrolling===o){if(!e){console.debug(`Element with index ${s} not found`),this._markProgrammaticScrollingDone();return}this.scrollTo(this.viewModel.getOffsetForIndexAndAlignment(s,t,n,{totalSize:this._outerElement.scrollHeight,itemMetadata:{offset:e.offsetTop,size:e.clientHeight},currentOffset:this._outerElement.scrollTop},i))}}).catch(e=>{console.warn(e),this._markProgrammaticScrollingDone()}).finally(()=>{this._pendingItemWaits--}),o.promise}return this.scrollTo(this.viewModel.getOffsetForIndexAndAlignment(Math.max(0,Math.min(e,this.viewModel.widgetCount-1)),t,n,void 0,i)),o.promise}_waitForItem(e,t=oU){let n=`[data-windowed-list-index="${e}"]`,i=this._innerElement.querySelector(n);return i instanceof HTMLElement?Promise.resolve(i):new Promise(i=>{let o=null,r=new MutationObserver(()=>{let e=this._innerElement.querySelector(n);e instanceof HTMLElement&&(r.disconnect(),null!==o&&window.clearTimeout(o),i(e))});r.observe(this._innerElement,{childList:!0,subtree:!0}),o=window.setTimeout(()=>{if(r.disconnect(),this.isDisposed||!this.isAttached)return void i(null);let o=this._innerElement.querySelector(n);console.warn(`Item with index ${e} did not appear within ${t} ms`),i(o instanceof HTMLElement?o:null)},t)})}onAfterAttach(e){super.onAfterAttach(e),this.viewModel.windowingActive?this._applyWindowingStyles():this._applyNoWindowingStyles(),this._addListeners(),this.viewModel.height=this.node.getBoundingClientRect().height;let t=window.getComputedStyle(this._viewport);this.viewModel.paddingTop=parseFloat(t.paddingTop),this._viewportPaddingTop=this.viewModel.paddingTop,this._viewportPaddingBottom=parseFloat(t.paddingBottom),this._scrollbarElement.addEventListener("pointerdown",this),this._outerElement.addEventListener("scrollend",this)}onBeforeDetach(e){this._removeListeners(),this._scrollbarElement.removeEventListener("pointerdown",this),this._outerElement.removeEventListener("scrollend",this),super.onBeforeDetach(e)}onScroll(e){let{clientHeight:t,scrollHeight:n,scrollTop:i}=e.currentTarget;if(!this._scrollUpdateWasRequested&&Math.abs(this.viewModel.scrollOffset-i)>1){let e=Math.max(0,Math.min(i,n-t));this.viewModel.scrollOffset=e,this._renderScrollbar(),this.viewModel.windowingActive&&(this._scrollUpdateWasRequested=!1,"true"!=this._viewport.dataset.isScrolling&&(this._viewport.dataset.isScrolling="true"),this._timerToClearScrollStatus&&window.clearTimeout(this._timerToClearScrollStatus),this._timerToClearScrollStatus=window.setTimeout(()=>{this._onScrollEnd()},750),this.update())}}onResize(e){let t=this.viewModel.height;this.viewModel.height=e.height>=0?e.height:this.node.getBoundingClientRect().height,this.viewModel.height!==t&&this._updater.invoke(),super.onResize(e),this._updater.invoke()}onStateChanged(e,t){switch(t.name){case"windowingActive":if(this._removeListeners(),this.viewModel.windowingActive){this._applyWindowingStyles(),this.onScroll({currentTarget:this.node}),this._addListeners();return}this._applyNoWindowingStyles(),this._addListeners();break;case"estimatedWidgetSize":this._updateTotalSize();return}this.update()}onUpdateRequest(e){this.viewModel.windowingActive?null===this._scrollRepaint?(this._needsUpdate=!1,this._scrollRepaint=window.requestAnimationFrame(()=>{this._scrollRepaint=null,this._update(),this._needsUpdate&&this.update()})):this._needsUpdate=!0:this._update()}_adjustDimensionsForScrollbar(){let e=this._outerElement,t=this._scrollbarElement;if(this.scrollbar){let n=e.offsetWidth-e.clientWidth;0==n?(n=1e3,e.style.paddingRight=`${n}px`,e.style.boxSizing="border-box"):e.style.paddingRight="0",e.style.width=`calc(100% + ${n}px)`,this._innerElement.style.marginRight=`${t.offsetWidth}px`}else e.style.width="100%",this._innerElement.style.marginRight="",e.style.paddingRight="0",e.style.boxSizing=""}_addListeners(){for(let e of(this._scrollbarResizeObserver||(this._scrollbarResizeObserver=new ResizeObserver(this._adjustDimensionsForScrollbar.bind(this)),this._scrollbarResizeObserver.observe(this._outerElement),this._scrollbarResizeObserver.observe(this._scrollbarElement)),this._itemsResizeObserver||(this._itemsResizeObserver=new ResizeObserver(this._onItemResize.bind(this))),this.layout.widgets))this._itemsResizeObserver.observe(e.node),e.disposed.connect(()=>{var t;return null==(t=this._itemsResizeObserver)?void 0:t.unobserve(e.node)});!this._areaResizeObserver&&this.viewModel.windowingActive&&(this._areaResizeObserver=new ResizeObserver(this._onAreaResize.bind(this)),this._areaResizeObserver.observe(this._innerElement)),this._outerElement.addEventListener("scroll",this,oY)}_applyNoWindowingStyles(){this._outerElement.style.removeProperty("overflow-anchor"),this._viewport.style.position="relative",this._viewport.style.contain="",this._viewport.style.top="0px",this._viewport.style.minHeight="",this._innerElement.style.height=""}_applyWindowingStyles(){this._outerElement.style.setProperty("overflow-anchor","none"),this._viewport.style.position="absolute",this._viewport.style.contain="layout"}_removeListeners(){var e,t,n;this._outerElement.removeEventListener("scroll",this),null==(e=this._areaResizeObserver)||e.disconnect(),this._areaResizeObserver=null,null==(t=this._itemsResizeObserver)||t.disconnect(),this._itemsResizeObserver=null,null==(n=this._scrollbarResizeObserver)||n.disconnect(),this._scrollbarResizeObserver=null}_update(){var e;if(this.isDisposed||!this.layout)return;let t=this.viewModel.getRangeToRender();if(null!==t){let[n,i]=t;this._renderScrollbar();let o=[];if(i>=0)for(let e=n;e<=i;e++){let t=this.viewModel.widgetRenderer(e);t.dataset.windowedListIndex=`${e}`,o.push(t)}let r=this.layout.widgets.length;for(let t=r-1;t>=0;t--)o.includes(this.layout.widgets[t])||(null==(e=this._itemsResizeObserver)||e.unobserve(this.layout.widgets[t].node),this.layout.removeWidget(this.layout.widgets[t]));for(let e=0;e<o.length;e++){let t=o[e];this._itemsResizeObserver&&!this.layout.widgets.includes(t)&&(this._itemsResizeObserver.observe(t.node),t.disposed.connect(()=>{var e;return null==(e=this._itemsResizeObserver)?void 0:e.unobserve(t.node)})),this.layout.insertWidget(e,t)}if(this.viewModel.windowingActive){if(i>=0){this._updateTotalSize();let[e,t]=this.viewModel.getSpan(n,i);this._viewport.style.transform=`translateY(${e}px)`}else this._innerElement.style.height="0px",this._viewport.style.top="0px",this._viewport.style.minHeight="0px";this._scrollUpdateWasRequested&&(this._outerElement.scrollTop=this.viewModel.scrollOffset,this._scrollUpdateWasRequested=!1,this._markProgrammaticScrollingDone())}}let n=-1;for(let e of this._viewport.children){let t=parseInt(e.dataset.windowedListIndex,10);if(t<n)throw Error("Inconsistent dataset index");n=t}}_onAreaResize(e){this._scrollBackToItemOnResize()}_onItemResize(e){if(this._resetScrollToItem(),this.isHidden||this.isParentHidden)return;let t=[];for(let n of e)n.target.isConnected&&t.push({index:parseInt(n.target.dataset.windowedListIndex,10),size:n.borderBoxSize[0].blockSize});this.viewModel.setWidgetSize(t)&&(this._scrollBackToItemOnResize(),this.update())}_scrollBackToItemOnResize(){!this.viewModel.windowingActive||this._scrollToItem&&this.scrollToItem(...this._scrollToItem).catch(e=>{console.log(e)})}_resetScrollToItem(){this._resetScrollToItemTimeout&&clearTimeout(this._resetScrollToItemTimeout),this._programmaticScrollTimeout&&clearTimeout(this._programmaticScrollTimeout),this._scrollToItem&&(this._resetScrollToItemTimeout=window.setTimeout(()=>{this._scrollToItem=null},oW)),this._isScrolling&&(this._programmaticScrollTimeout=window.setTimeout(()=>{0===this._pendingItemWaits&&this._markProgrammaticScrollingDone()},oH))}_markProgrammaticScrollingDone(){this._isScrolling&&(this._isScrolling.resolve(),this._isScrolling=null)}_renderScrollbar(){var e,t;if(!this.scrollbar)return[];let{node:n,renderer:i,viewModel:o}=this,r=n.querySelector(".jp-WindowedPanel-scrollbar-content"),s=[],a=new Set,l=(e,t)=>{if(e instanceof HTMLElement)return e;a.add(e.key);let n={index:t},i=this._scrollbarItems[e.key];if(i&&!i.isDisposed)try{return i.render(n)}catch(e){return document.createElement("div")}this._scrollbarItems[e.key]=e;try{return e.render(n)}catch(e){return document.createElement("div")}},d=o.itemsList,c=null!=(e=null==d?void 0:d.length)?e:o.widgetCount;for(let e=0;e<c;e++){let n=null==(t=null==d?void 0:d.get)?void 0:t.call(d,e),o=l(i.createScrollbarItem(this,e,n),e);o.classList.add("jp-WindowedPanel-scrollbar-item"),o.dataset.index=`${e}`,s.push(o)}for(let e of Object.keys(this._scrollbarItems).filter(e=>!a.has(e)))this._scrollbarItems[e].dispose(),delete this._scrollbarItems[e];let h=[...r.childNodes];if(h.length===s.length&&h.every((e,t)=>s[t]===e)||r.replaceChildren(...s),this.scrollbar){let e=this.viewModel.getRangeToRender({virtual:!0});if(null!==e){let[t,n]=e,i=s[t],o=s[n];this._viewportIndicator.style.top=i.offsetTop-1+"px",this._viewportIndicator.style.height=o.offsetTop-i.offsetTop+o.offsetHeight+"px"}}return s}_evtPointerDown(e){let t=e.target;for(;t&&t.parentElement;){if(t.hasAttribute("data-index")){let e=parseInt(t.getAttribute("data-index"),10);return void(async()=>{await this.scrollToItem(e),this.jumped.emit(e)})()}t=t.parentElement}}_onScrollEnd(){this._timerToClearScrollStatus&&window.clearTimeout(this._timerToClearScrollStatus),this._viewport.dataset.isScrolling="false",this._requiresTotalSizeUpdate&&this._updateTotalSize(),this._requiresTotalSizeUpdate=!1}_updateTotalSize(){if(this.viewModel.windowingActive){if("true"==this._viewport.dataset.isScrolling){this._requiresTotalSizeUpdate=!0;return}let e=this.viewModel.getEstimatedTotalSize()+this._viewportPaddingTop+this._viewportPaddingBottom;this._innerElement.style.height=`${e}px`}}}oq.DEFAULT_WIDGET_SIZE=50;class oG extends m.PanelLayout{constructor(){super({fitPolicy:"set-no-constraint"})}get parent(){return super.parent}set parent(e){super.parent=e}attachWidget(e,t){let n=this.parent.viewportNode.children[e];this.parent.isAttached&&p.MessageLoop.sendMessage(t,m.Widget.Msg.BeforeAttach),this.parent.viewportNode.insertBefore(t.node,n),this.parent.isAttached&&p.MessageLoop.sendMessage(t,m.Widget.Msg.AfterAttach)}detachWidget(e,t){this.parent.isAttached&&p.MessageLoop.sendMessage(t,m.Widget.Msg.BeforeDetach),this.parent.viewportNode.removeChild(t.node),this.parent.isAttached&&p.MessageLoop.sendMessage(t,m.Widget.Msg.AfterDetach)}moveWidget(e,t,n){let i=this.parent.viewportNode.children[t];e<t?i.insertAdjacentElement("afterend",n.node):i.insertAdjacentElement("beforebegin",n.node)}onUpdateRequest(e){}}!function(e){class t{createOuter(){return document.createElement("div")}createScrollbar(){return document.createElement("ol")}createScrollbarViewportIndicator(){return document.createElement("div")}createScrollbarItem(e,t){let n=document.createElement("li");return n.appendChild(document.createTextNode(`${t}`)),n}createViewport(){return document.createElement("div")}}e.Renderer=t,e.defaultRenderer=new t}(oq||(oq={}));var o$=n(19953);let oJ=nB.bindprops({stylesheet:"commandPaletteHeader",className:"jp-icon-hoverShow-content"});!function(e){class t extends m.CommandPalette.Renderer{renderHeader(e){let t=this.formatHeader(e);return o$.h.li({className:x("lm-CommandPalette-header","jp-icon-hoverShow")},t,o$.h.span(oJ))}renderItemIcon(e){let t=this.createIconClass(e);return e.item.isToggled?o$.h.div({className:t},t2,e.item.iconLabel):o$.h.div({className:t},e.item.icon,e.item.iconLabel)}createIconClass(e){let t="lm-CommandPalette-itemIcon";return x(i.styleClass({stylesheet:"commandPaletteItem"}),e.item.iconClass,t)}}e.Renderer=t,e.defaultRenderer=new t}(h||(h={}));let oK=tQ.bindprops({stylesheet:"menuItem"});class oZ extends m.ContextMenu{constructor(e){super(e),this._isDisposed=!1,this._opened=new A.Signal(this),this.menu=new oQ(e)}get isDisposed(){return this._isDisposed}get opened(){return this._opened}dispose(){this._isDisposed||(this._isDisposed=!0,this.menu.dispose(),A.Signal.disconnectSender(this))}open(e){if(this._isDisposed)return!1;let t=super.open(e);return t&&this._opened.emit(),t}}class oQ extends m.Menu{constructor(e){e.renderer=e.renderer||oQ.defaultRenderer,super(e),this.addClass("jp-ThemedContainer")}insertItem(e,t){return t.submenu&&oQ.overrideDefaultRenderer(t.submenu),super.insertItem(e,t)}}!function(e){function t(n){n.renderer===m.Menu.defaultRenderer&&(n.renderer=e.defaultRenderer);let i=n.insertItem.bind(n);for(let o of(n.insertItem=(t,n)=>(n.submenu&&e.overrideDefaultRenderer(n.submenu),i(t,n)),n._items))o.submenu&&t(o.submenu)}e.overrideDefaultRenderer=t;class n extends m.Menu.Renderer{renderIcon(e){let t=this.createIconClass(e);return e.item.isToggled?o$.h.div({className:t},t2,e.item.iconLabel):o$.h.div({className:t},e.item.icon,e.item.iconLabel)}createIconClass(e){let t="lm-Menu-itemIcon";return"separator"===e.item.type?x(e.item.iconClass,t):x(i.styleClass({stylesheet:"menuItem"}),e.item.iconClass,t)}renderSubmenu(e){let t="lm-Menu-itemSubmenuIcon";return"submenu"===e.item.type?o$.h.div({className:t},oK):o$.h.div({className:t})}}e.Renderer=n,e.defaultRenderer=new n}(oQ||(oQ={}));class oX extends m.TabBar{constructor(e={}){var t;super({renderer:oX.defaultRenderer,...e});const n=(null!=(t=oX.translator)?t:i$.nullTranslator).load("jupyterlab");tW.element({container:this.addButtonNode,title:n.__("New Launcher")})}}oX.translator=null,function(e){function t(e){return e.label||e.dataset.jpTabLabel||e.caption}e.titleLabel=t;class n extends m.TabBar.Renderer{renderLabel(e){return o$.h.div({className:"lm-TabBar-tabLabel"},t(e.title))}renderCloseIcon(n){var o;let r=(null!=(o=e.translator)?o:i$.nullTranslator).load("jupyterlab"),s=t(n.title),a=s?r.__("Close %1",s):r.__("Close tab"),l=x("jp-icon-hover lm-TabBar-tabCloseIcon",i.styleClass({elementPosition:"center",height:"16px",width:"16px"}));return(0,o$.hpass)("div",{className:l,title:a},t7)}}e.Renderer=n,e.defaultRenderer=new n}(oX||(oX={}));class o0 extends m.DockPanel{constructor(e={}){super({renderer:o0.defaultRenderer,...e})}}!function(e){class t extends m.DockPanel.Renderer{createTabBar(){let e=new oX;return e.addClass("lm-DockPanel-tabBar"),e}}e.Renderer=t,e.defaultRenderer=new t}(o0||(o0={}));class o1 extends m.TabPanel{constructor(e={}){e.renderer=e.renderer||oX.defaultRenderer,super(e)}}let o2="jp-HoverBox",o4="-1000";!function(e){e.setGeometry=function(e){let{anchor:t,host:n,node:i,privilege:o,outOfViewDisplay:r}=e,s=n.getBoundingClientRect();i.classList.contains(o2)||i.classList.add(o2),i.style.visibility&&(i.style.visibility=""),""===i.style.zIndex&&(i.style.zIndex=""),i.style.maxHeight="",i.style.marginTop="";let a=e.style||window.getComputedStyle(i),l=t.top-s.top,d=s.bottom-t.bottom,c=parseInt(a.marginTop,10)||0,h=parseInt(a.marginLeft,10)||0,u=parseInt(a.minHeight,10)||e.minHeight,p=parseInt(a.maxHeight,10)||e.maxHeight,m="forceAbove"!==o&&("forceBelow"===o||("above"===o?l<p&&l<d:d>=p||d>=l));if(m?p=Math.min(d-c,p):(p=Math.min(l,p),i.style.marginTop="0px"),i.style.maxHeight=`${p}px`,!(p>=u&&(d>=u||l>=u))){i.style.zIndex=o4,i.style.visibility="hidden";return}e.size?(i.style.width=`${e.size.width}px`,i.style.height=`${e.size.height}px`,i.style.contain="strict"):(i.style.contain="",i.style.width="auto",i.style.height="");let g=e.size?e.size.height:i.getBoundingClientRect().height,A=e.offset&&e.offset.vertical&&e.offset.vertical.above||0,C=e.offset&&e.offset.vertical&&e.offset.vertical.below||0,f=m?s.bottom-d+C:s.top+l-g+A;i.style.top=`${Math.floor(f)}px`;let b=e.offset&&e.offset.horizontal||0,v=t.left+b;i.style.left=`${Math.ceil(v)}px`;let _=i.getBoundingClientRect(),y=_.right;y>window.innerWidth&&(v-=y-window.innerWidth,y=window.innerWidth,i.style.left=`${Math.ceil(v)}px`),v<b-h&&(v=b-h,i.style.left=`${Math.ceil(v)}px`),i.style.zIndex="-1000";let E=_.bottom,w=n.contains(document.elementFromPoint(v,f)),j=n.contains(document.elementFromPoint(y,f)),x=n.contains(document.elementFromPoint(y,E)),B=n.contains(document.elementFromPoint(v,E));i.style.zIndex="";let S=w||j,M=B||x,I=w||B,k=x||j,D=E-f,T=y-v,L=f<s.top,N=E>s.bottom,P=v+h<s.left,z=y>s.right,R=!1,O=!1,F=!1;if(L)switch((null==r?void 0:r.top)||"hidden-inside"){case"hidden-inside":S||(R=!0);break;case"hidden-outside":M||(R=!0);break;case"stick-inside":s.top>f&&(f=s.top,F=!0);break;case"stick-outside":s.top>E&&(f=s.top-D,F=!0)}if(N)switch((null==r?void 0:r.bottom)||"hidden-outside"){case"hidden-inside":M||(R=!0);break;case"hidden-outside":S||(R=!0);break;case"stick-inside":s.bottom<E&&(f=s.bottom-D,F=!0);break;case"stick-outside":s.bottom<f&&(f=s.bottom,F=!0)}if(P)switch((null==r?void 0:r.left)||"hidden-inside"){case"hidden-inside":I||(R=!0);break;case"hidden-outside":k||(R=!0);break;case"stick-inside":s.left>v+h&&(v=s.left-h,O=!0);break;case"stick-outside":s.left>y&&(v=s.left-h-T,O=!0)}if(z)switch((null==r?void 0:r.right)||"hidden-outside"){case"hidden-inside":k||(R=!0);break;case"hidden-outside":I||(R=!0);break;case"stick-inside":s.right<y&&(v=s.right-T,O=!0);break;case"stick-outside":s.right<v&&(v=s.right,O=!0)}R&&(i.style.zIndex=o4,i.style.visibility="hidden"),O&&(i.style.left=`${Math.ceil(v)}px`),F&&(i.style.top=`${Math.ceil(f)}px`)}}(u||(u={}));let o5=new g.Token("@jupyterlab/ui-components:IFormRendererRegistry","A service for settings form renderer registration."),o3=new g.Token("@jupyterlab/ui-components:ILabIconManager","A service to register and request icons.");class o6{constructor(){this._renderers={}}addRenderer(e,t){if(this._renderers[e])throw Error(`A renderer with id '${e}' is already registered.`);if(!t.fieldRenderer&&!t.widgetRenderer)throw Error(`The component for '${e}' cannot be registered as it does not define 'fieldRenderer' nor 'widgetRenderer'.`);let n=e.lastIndexOf("."),i=e.substring(0,n),o=e.substring(n+1);if(0==i.length||0==o.length)throw Error(`Form renderer id must follows the structure '<ISettingRegistry.IPlugin.id>.<propertyName>'; got ${e}.`);this._renderers[e]=t}get renderers(){return this._renderers}getRenderer(e){return this._renderers[e]}}},97777(e,t,n){"use strict";n(82311);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(2778),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},47872(e,t,n){"use strict";n.r(t),n.d(t,{RenderedVega:()=>u,VEGALITE3_MIME_TYPE:()=>d,VEGALITE4_MIME_TYPE:()=>c,VEGALITE5_MIME_TYPE:()=>h,VEGA_MIME_TYPE:()=>l,default:()=>m,rendererFactory:()=>p});var i,o=n(64001);let r="jp-RenderedVegaCommon5",s="jp-RenderedVega5",a="jp-RenderedVegaLite",l="application/vnd.vega.v5+json",d="application/vnd.vegalite.v3+json",c="application/vnd.vegalite.v4+json",h="application/vnd.vegalite.v5+json";class u extends o.Widget{constructor(e){super(),this._mimeType=e.mimeType,this._resolver=e.resolver,this.addClass(r),this.addClass(this._mimeType===l?s:a)}async renderModel(e){let t=e.data[this._mimeType];if(void 0===t)return;let n=e.metadata[this._mimeType],o=n&&n.embed_options?n.embed_options:{};"false"===document.body.dataset.jpThemeLight&&(o.theme="dark");let r=this._mimeType===l?"vega":"vega-lite",s=null!=i.vega?i.vega:await i.ensureVega(),a=document.createElement("div");this.node.textContent="",this.node.appendChild(a),this._result&&this._result.finalize();let d=s.vega.loader({http:{credentials:"same-origin"}}),c=async(e,t)=>{let n=this._resolver;if((null==n?void 0:n.isLocal)&&n.isLocal(e)){let t=await n.resolveUrl(e);e=await n.getDownloadUrl(t)}return d.sanitize(e,t)};if(this._result=await s.default(a,t,{actions:!0,defaultStyle:!0,...o,mode:r,loader:{...d,sanitize:c}}),e.data["image/png"])return;let h=await this._result.view.toImageURL("png","number"==typeof o.scaleFactor?o.scaleFactor:o.scaleFactor?o.scaleFactor.png:o.scaleFactor);e.setData({data:{...e.data,"image/png":h.split(",")[1]}})}dispose(){this._result&&this._result.finalize(),super.dispose()}}let p={safe:!0,mimeTypes:[l,d,c,h],createRenderer:e=>new u(e)},m={id:"@jupyterlab/vega5-extension:factory",description:"Provides a renderer for Vega 5 and Vega-Lite 3 to 5 content.",rendererFactory:p,rank:57,dataType:"json",documentWidgetFactoryOptions:[{name:"Vega5",primaryFileType:"vega5",fileTypes:["vega5","json"],defaultFor:["vega5"]},{name:"Vega-Lite5",primaryFileType:"vega-lite5",fileTypes:["vega-lite3","vega-lite4","vega-lite5","json"],defaultFor:["vega-lite3","vega-lite4","vega-lite5"]}],fileTypes:[{mimeTypes:[l],name:"vega5",extensions:[".vg",".vg.json",".vega"],icon:"ui-components:vega"},{mimeTypes:[h],name:"vega-lite5",extensions:[".vl",".vl.json",".vegalite"],icon:"ui-components:vega"},{mimeTypes:[c],name:"vega-lite4",extensions:[],icon:"ui-components:vega"},{mimeTypes:[d],name:"vega-lite3",extensions:[],icon:"ui-components:vega"}]};!function(e){function t(){return e.vegaReady||(e.vegaReady=n.e(1088).then(n.t.bind(n,55699,23))),e.vegaReady}e.ensureVega=t}(i||(i={}))},84270(e,t,n){"use strict";n(82311);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(37731),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},32835(e,t,n){"use strict";n.r(t),n.d(t,{VideoDocumentWidget:()=>m,VideoViewer:()=>p,VideoViewerFactory:()=>g,default:()=>C});var i=n(57941),o=n(97518),r=n(31997),s=n(53040),a=n(2786),l=n(64001);let d="jp-VideoViewer",c="VideoViewer",h="video-provider";function u(e){let t=[];for(let n of e.fileTypes())n.mimeTypes.some(e=>e.startsWith("video/"))&&t.push(n.name);return t}class p extends l.Widget{constructor(e){super(),this.addClass(d),this._context=e.context,this._contentsManager=e.contentsManager,this._video=document.createElement("video"),this._video.controls=!0,this.node.appendChild(this._video),this._context.ready.then(()=>{this._updateVideo()}),this._context.model.contentChanged.connect(this._updateVideo,this)}dispose(){this.isDisposed||super.dispose()}onResize(e){super.onResize(e),this._video&&(this._video.style.width="100%",this._video.style.height="100%")}async _updateVideo(){let e=await this._contentsManager.getDownloadUrl(this._context.path);this._video.src=e}}class m extends r.DocumentWidget{constructor(e){super(e)}}class g extends r.ABCWidgetFactory{constructor(e){super(e),this._contentsManager=e.contentsManager}createNewWidget(e){return new m({content:new p({context:e,contentsManager:this._contentsManager}),context:e})}}class A{constructor(e){this._drive=e.drive}async get(e,t){return this._drive.get(e,{...t,contentProviderId:void 0,content:!1})}async save(e,t={}){return this._drive.save(e,{...t,contentProviderId:void 0})}}let C={id:"@jupyterlab/video-extension:plugin",description:"Adds a viewer for video files",autoStart:!0,requires:[a.ITranslator,s.IDefaultDrive],optional:[i.ILayoutRestorer],activate:(e,t,n,i)=>{let r=t.load("jupyterlab"),{contents:s}=e.serviceManager,a=u(e.docRegistry),l=n.contentProviderRegistry;if(l){let e=new A({drive:n});l.register(h,e)}let d=new o.WidgetTracker({namespace:"videoviewer"}),p=new g({name:c,label:r.__("Video Viewer"),fileTypes:a,defaultFor:a,readOnly:!0,translator:t,modelName:"base64",contentProviderId:h,contentsManager:s});e.docRegistry.addWidgetFactory(p),p.widgetCreated.connect(async(t,n)=>{d.add(n),n.context.pathChanged.connect(()=>{d.save(n)});let i=e.docRegistry.getFileTypesForPath(n.context.path).find(e=>e.mimeTypes.some(e=>e.startsWith("video/")));i&&(n.title.icon=i.icon,n.title.iconClass=i.iconClass||"",n.title.iconLabel=i.iconLabel||"")}),i&&i.restore(d,{command:"docmanager:open",args:e=>({path:e.context.path,factory:c}),name:e=>e.context.path})}}},27607(e,t,n){"use strict";n(82311),n(62971),n(45350),n(67474);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(7736),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},77897(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>B});var i,o,r=n(57941),s=n(29267),a=n(97518),l=n(28951),d=n(56573),c=n(99873),h=n(2786);!function(e){e.open="workspace-ui:open",e.save="workspace-ui:save",e.saveAs="workspace-ui:save-as",e.createNew="workspace-ui:create-new",e.deleteWorkspace="workspace-ui:delete",e.clone="workspace-ui:clone",e.rename="workspace-ui:rename",e.reset="workspace-ui:reset",e.importWorkspace="workspace-ui:import",e.exportWorkspace="workspace-ui:export"}(i||(i={}));let u=".jupyterlab-workspace",p="workspace-ui:lastSave",m="jp-mod-workspace",g={id:"@jupyterlab/workspaces-extension:commands",description:"Add workspace commands.",autoStart:!0,requires:[s.IWorkspacesModel,d.IDefaultFileBrowser,a.IWindowResolver,c.IStateDB,h.ITranslator,r.JupyterFrontEnd.IPaths],provides:s.IWorkspaceCommands,optional:[r.IRouter,a.ICommandPalette],activate:(e,t,n,r,s,c,h,g,A)=>{let C=c.load("jupyterlab"),f=C.__("Naming the workspace will create a unique URL. The name may contain letters, numbers, hyphens (-), and underscores (_)."),b=l.URLExt.join(h.urls.app,"workspaces"),v=b+"/",_="[a-zA-Z0-9\\-_]+",y=async e=>a.InputDialog.getText({label:f,prefix:v,pattern:_,required:!0,placeholder:C.__("workspace-name"),...e}),E=e=>e.classList.contains(m);if(e.commands.addCommand(i.open,{label:e=>e.workspace?C.__("Open Workspace"):C.__("Open Workspace…"),execute:async e=>{let n=e.workspace;if(!n){let e=await a.InputDialog.getItem({title:C.__("Choose Workspace To Open"),label:C.__("Choose an existing workspace to open."),items:t.identifiers,okLabel:C.__("Choose"),prefix:v});if(!e.value||!e.button.accept)return;n=e.value}if(!n||!t.identifiers.includes(n))return;let i=l.URLExt.join(b,n);if(!i.startsWith(b))throw Error("Can only be used for workspaces");g?g.navigate(i,{hard:!0}):document.location.href=i},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:C.__("Workspace identifier to open")}}}}}),e.commands.addCommand(i.deleteWorkspace,{label:C.__("Delete Workspace…"),execute:async n=>{var i;let o=e.contextMenuHitTest(E),r=null!=(i=n.workspace)?i:null==o?void 0:o.dataset.context;if(!r){let e=await a.InputDialog.getItem({title:C.__("Choose Workspace To Delete"),label:C.__("Choose an existing workspace to delete."),items:t.identifiers,okLabel:C.__("Choose")});if(!e.value||!e.button.accept)return;r=e.value}!r||(await (0,a.showDialog)({title:C.__("Delete workspace"),body:C.__('Deleting workspace "%1" will also delete its URL. A deleted workspace cannot be recovered.',r),buttons:[a.Dialog.cancelButton(),a.Dialog.warnButton({label:C.__("Delete")})],defaultButton:0})).button.accept&&await t.remove(r)},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:C.__("Workspace identifier to delete")}}}}}),e.commands.addCommand(i.createNew,{label:C.__("Create New Workspace…"),execute:async e=>{let n=e.workspace;if(!n){let e=await y({title:C.__("Create New Workspace"),okLabel:C.__("Create")});if(!e.value||!e.button.accept)return;n=e.value}n&&await t.create(n)},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:C.__("Workspace identifier for the new workspace")}}}}}),e.commands.addCommand(i.clone,{label:C.__("Clone Workspace…"),execute:async n=>{var o;let s=e.contextMenuHitTest(E),l=null!=(o=n.workspace)?o:null==s?void 0:s.dataset.context;if(!l){let e=await a.InputDialog.getItem({title:C.__("Choose Workspace To Clone"),label:C.__("Choose an existing workspace to clone."),items:t.identifiers,okLabel:C.__("Choose")});if(!e.value||!e.button.accept)return;l=e.value}let d=await y({title:C.__("Clone Workspace"),text:C.__("%1-clone",l),okLabel:C.__("Clone")});if(!d.button.accept||!d.value)return;let c=d.value;if(await t.saveAs(l,c),l===r.name)return e.commands.execute(i.open,{workspace:c})},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:C.__("Workspace identifier to clone")}}}}}),e.commands.addCommand(i.rename,{label:C.__("Rename Workspace…"),execute:async n=>{var o,s;let a=e.contextMenuHitTest(E),l=null!=(s=null!=(o=n.workspace)?o:null==a?void 0:a.dataset.context)?s:r.name,d=l,c=await y({title:C.__("Rename Workspace"),text:d,okLabel:C.__("Rename")});if(!c.button.accept||!c.value)return;let h=c.value;if(await t.rename(l,h),l===r.name)return e.commands.execute(i.open,{workspace:h})},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:C.__("Workspace identifier to rename")}}}}}),e.commands.addCommand(i.reset,{label:C.__("Reset Workspace…"),execute:async n=>{var o,s,l,d,c,h;let u=e.contextMenuHitTest(E),p=null!=(s=null!=(o=n.workspace)?o:null==u?void 0:u.dataset.context)?s:r.name,m=null==(h=null==(c=null==(d=null==(l=(await e.serviceManager.workspaces.fetch(p)).data["layout-restorer:data"])?void 0:l.main)?void 0:d.dock)?void 0:c.widgets)?void 0:h.length;if((await (0,a.showDialog)({title:C.__("Reset Workspace"),body:C._n("Resetting workspace %2 will close its %1 tab and return to default layout.","Resetting workspace %2 will close its %1 tabs and return to default layout.",m,p),buttons:[a.Dialog.cancelButton(),a.Dialog.warnButton({label:C.__("Reset")})],defaultButton:0})).button.accept){if(await t.reset(p),p===r.name)return e.commands.execute(i.open,{workspace:p});await t.refresh()}},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:C.__("Workspace identifier to reset")}}}}}),e.commands.addCommand(i.importWorkspace,{label:C.__("Import Workspace…"),execute:async()=>{let{contents:i}=e.serviceManager,o=await d.FileDialog.getOpenFiles({manager:n.model.manager,title:C.__("Select Workspace Files to Import"),filter:e=>"directory"===e.type||e.path.endsWith(u)?{}:null,label:C.__('Choose one or more workspace files to import. A Jupyter workspace file has the extension "%1".',u),translator:c});if(o.button.accept&&o.value&&o.value.length>=1){for(let t of o.value){let n=JSON.parse((await i.get(t.path,{content:!0})).content);await e.serviceManager.workspaces.save(n.metadata.id,n)}await t.refresh()}},describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(i.exportWorkspace,{label:C.__("Export Workspace…"),execute:async i=>{var l,h;let{contents:p}=e.serviceManager,m=e.contextMenuHitTest(E),g=null!=(h=null!=(l=i.workspace)?l:null==m?void 0:m.dataset.context)?h:r.name;if(!g){let e=await a.InputDialog.getItem({title:C.__("Choose Workspace To Export"),label:C.__("Choose an existing workspace to export."),items:t.identifiers,okLabel:C.__("Choose")});if(!e.value||!e.button.accept)return;g=e.value}let A=e.serviceManager.workspaces.fetch(g),f=await d.FileDialog.getExistingDirectory({title:C.__("Choose Workspace Export Directory"),defaultPath:n.model.path,manager:n.model.manager,label:C.__('The "%1" workspace will be saved in the chosen directory as "%1%2".',g,u),translator:c});if(!f.button.accept||!f.value||0===f.value.length)return;f.value.length>1&&console.warn("More than one directory was selected; the workspace will be exported to the first directory only");let b=f.value[0].path+"/"+g+u;b&&await o.save(b,p,A,s,!1)},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:C.__("Workspace identifier to export")}}}}}),e.commands.addCommand(i.saveAs,{label:C.__("Save Current Workspace As…"),execute:async()=>{let{contents:t}=e.serviceManager,i=e.serviceManager.workspaces.fetch(r.name);await o.saveAs(n,t,i,s,c)},describedBy:{args:{type:"object",properties:{}}}}),e.commands.addCommand(i.save,{label:C.__("Save Current Workspace"),execute:async()=>{let{contents:t}=e.serviceManager,i=e.serviceManager.workspaces.fetch(r.name),a=await s.fetch(p);void 0===a?await o.saveAs(n,t,i,s,c):await o.save(a,t,i,s)},describedBy:{args:{type:"object",properties:{}}}}),A){let e=C.__("Workspaces");for(let t of[i.open,i.save,i.saveAs,i.createNew,i.rename,i.clone,i.exportWorkspace,i.importWorkspace,i.reset,i.deleteWorkspace])A.addItem({command:t,category:e})}return{open:i.open,deleteWorkspace:i.deleteWorkspace}}};!function(e){function t(e){let t=e.split("/").pop();return void 0===t?"unnamed-workspace":(t.endsWith(u)&&(t=t.slice(0,-u.length)),t)}async function n(e,i,o,r,s=!0){let a=t(e);e.endsWith(u)||(e+=u),s&&await r.save(p,e);let l=await o;l.metadata.id=`${a}`,await i.save(e,{type:"file",format:"text",content:JSON.stringify(l)})}async function i(e,t){let n=(t=t||h.nullTranslator).load("jupyterlab"),i=await a.InputDialog.getText({title:n.__("Save Current Workspace As…"),text:e,placeholder:n.__("Path to save the workspace in"),okLabel:n.__("Save"),selectionRange:e.length-u.length});return i.button.accept?i.value:null}e.createNameFromPath=t,e.save=n,e.saveAs=async function(e,t,o,r,s){var a;let l;s=s||h.nullTranslator;let d=await r.fetch(p);l=void 0===d?"new-workspace":null==(a=d.split("/").pop())?void 0:a.split(".")[0];let c=e.model.path+"/"+l+u,m=await i(c,s);m&&await n(m,t,o,r)}}(o||(o={}));var A=n(77509),C=n(8989);let f={id:"@jupyterlab/workspaces-extension:sidebar",description:"Populates running sidebar with workspaces.",requires:[s.IWorkspaceCommands,s.IWorkspacesModel,A.IRunningSessionManagers,a.IWindowResolver],optional:[h.ITranslator],autoStart:!0,activate:async(e,t,n,i,o,r)=>{let s=(null!=r?r:h.nullTranslator).load("jupyterlab");class a{constructor(e){this._workspace=e,this.context=e.metadata.id,this.className=m}open(){return e.commands.execute(t.open,{workspace:this._workspace.metadata.id})}async shutdown(){await e.commands.execute(t.deleteWorkspace,{workspace:this._workspace.metadata.id}),await n.refresh()}icon(){return o.name===this._workspace.metadata.id?C.checkIcon:C.blankIcon}label(){return this._workspace.metadata.id}labelTitle(){var e,t,n,i;return s.__("%1 workspace with %2 tabs, last modified on %3",this._workspace.metadata.id,null==(i=null==(n=null==(t=null==(e=this._workspace.data["layout-restorer:data"])?void 0:e.main)?void 0:t.dock)?void 0:n.widgets)?void 0:i.length,this._workspace.metadata.last_modified)}}i.add({name:s.__("Workspaces"),supportsMultipleViews:!1,running:()=>n.workspaces.map(e=>new a(e)),shutdownAll:async()=>{await Promise.all(n.workspaces.map(e=>n.remove(e.metadata.id))),await n.refresh()},shutdownItemIcon:C.deleteIcon,refreshRunning:async()=>{await n.refresh()},runningChanged:n.refreshed,shutdownLabel:e=>s.__("Delete %1",e.label()),shutdownAllLabel:s.__("Delete All"),shutdownAllConfirmationText:s.__("Are you sure you want to delete all workspaces? Deleted workspaces cannot be recovered.")})}};var b=n(60721),v=n.n(b);let _=({currentWorkspace:e,identifiers:t,openWorkspace:n,translator:i})=>{let[o,r]=(0,b.useState)(!1),[s,a]=(0,b.useState)(""),l=(0,b.useRef)(null),d=(0,b.useId)(),c=i.load("jupyterlab"),h=t.filter(e=>e.toLowerCase().includes(s.toLowerCase()));return(0,b.useEffect)(()=>{let e=e=>{l.current&&!l.current.contains(e.target)&&r(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),v().createElement("div",{className:"jp-WorkspaceSelector",ref:l},v().createElement("button",{className:"jp-WorkspaceSelector-header",onClick:()=>r(!o),"aria-expanded":o,"aria-controls":d},v().createElement("span",{className:"jp-WorkspaceSelector-current"},e.length>12?`${e.slice(0,12)}...`:e),v().createElement("span",{className:"jp-WorkspaceSelector-caret"},v().createElement(C.LabIcon.resolveReact,{icon:o?C.caretUpEmptyThinIcon:C.caretDownEmptyThinIcon}))),o&&v().createElement("div",{className:"jp-WorkspaceSelector-dropdown",id:d},v().createElement("div",{className:"jp-WorkspaceSelector-search"},v().createElement("div",{className:"jp-WorkspaceSelector-searchIcon"},v().createElement(C.LabIcon.resolveReact,{icon:C.searchIcon})),v().createElement("input",{type:"text",className:"jp-WorkspaceSelector-input",placeholder:c.__("Search workspace"),value:s,onChange:e=>a(e.target.value),autoFocus:!0,"aria-autocomplete":"list",role:"combobox"})),v().createElement("ul",{className:"jp-WorkspaceSelector-list",role:"listbox","aria-label":c.__("Workspace")},h.map(t=>v().createElement("li",{key:t,className:"jp-WorkspaceSelector-item",onClick:()=>{t!==e&&(n(t),r(!1))}},v().createElement(C.LabIcon.resolveReact,{icon:t===e?C.checkIcon:C.blankIcon}),t.length>12?`${t.slice(0,12)}...`:t)))))};class y extends C.ReactWidget{constructor(e){super(),this.id="jp-workspace-top-indicator",this._identifiers=e.identifiers,this._openWorkspace=e.openWorkspace,this._currentWorkspace=e.currentWorkspace,this._translator=e.translator,e.model.refreshed.connect(()=>{this._identifiers=e.model.identifiers,this.update()})}render(){return v().createElement(_,{currentWorkspace:this._currentWorkspace,identifiers:this._identifiers,openWorkspace:this._openWorkspace,translator:this._translator})}}var E=n(46109);let w={id:"@jupyterlab/workspaces-extension:model",description:"Provides a model for available workspaces.",provides:s.IWorkspacesModel,autoStart:!0,optional:[r.JupyterLab.IInfo],activate:(e,t)=>new s.WorkspacesModel({manager:e.serviceManager.workspaces,refreshStandby:()=>t&&!t.isConnected||"when-hidden"})},j={id:"@jupyterlab/workspaces-extension:menu",description:'Populates "File" main menu with Workspaces submenu.',requires:[s.IWorkspaceCommands],autoStart:!0,activate:()=>{}},x="workspace-indicator:toggle",B=[w,g,f,j,{id:"@jupyterlab/workspaces-extension:indicator",description:"Adds a workspace indicator element at topbar",requires:[s.IWorkspacesModel,s.IWorkspaceCommands,a.IWindowResolver,h.ITranslator,E.ISettingRegistry,a.IToolbarWidgetRegistry],optional:[a.ICommandPalette],autoStart:!0,activate:async(e,t,n,i,o,r,s,a)=>{let l=o.load("jupyterlab"),d=async t=>{await e.commands.execute(n.open,{workspace:t})},c=new y({currentWorkspace:i.name,identifiers:t.identifiers,openWorkspace:d,model:t,translator:o});if(s.addFactory("TopBar","workspaceIndicator",()=>c),e.commands.addCommand(x,{label:l.__("Show Workspace Indicator"),isToggled:()=>c.isVisible,execute:async()=>{let e=await r.get("@jupyterlab/application-extension:top-bar","toolbar");if(Array.isArray(e.composite)){let t=e.composite.map(e=>"workspaceIndicator"===e.name?{...e,disabled:!e.disabled}:e);await r.set("@jupyterlab/application-extension:top-bar","toolbar",t)}},describedBy:{args:{type:"object",properties:{}}}}),a){let e=l.__("Workspaces");a.addItem({command:x,category:e})}}}]},92623(e,t,n){"use strict";n(97777),n(62971),n(67474),n(29099),n(64840);var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(46289),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},32482(e,t,n){"use strict";n.r(t),n.d(t,{IWorkspaceCommands:()=>l,IWorkspacesModel:()=>d,WorkspacesModel:()=>s});var i=n(59807),o=n(20659);let r=1e4;class s{constructor(e){var t;this._refreshed=new o.Signal(this),this._isDisposed=!1,this._workspaceData={ids:[],values:[]},this._manager=e.manager;const n=e.refreshInterval||r;this._poll=new i.Poll({auto:null==(t=e.auto)||t,name:"@jupyterlab/workspaces:Model",factory:()=>this._fetchList(),frequency:{interval:n,backoff:!0,max:3e5},standby:e.refreshStandby||"when-hidden"})}get workspaces(){return this._workspaceData.values}get identifiers(){return this._workspaceData.ids}async create(e){await this._manager.save(e,{metadata:{id:e},data:{}}),await this.refresh()}get refreshed(){return this._refreshed}async refresh(){await this._poll.refresh(),await this._poll.tick}async rename(e,t){let n=await this._manager.fetch(e);n.metadata.id=t,await this._manager.save(t,n),await this._manager.remove(e),await this.refresh()}async reset(e){let t=await this._manager.fetch(e);t.data={},await this._manager.save(e,t),await this.refresh()}async remove(e){await this._manager.remove(e),await this.refresh()}async saveAs(e,t){let n=await this._manager.fetch(e);n.metadata.id=t,await this._manager.save(t,n),await this.refresh()}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this._poll.dispose(),o.Signal.clearData(this))}async _fetchList(){this._workspaceData=await this._manager.list(),this._refreshed.emit(void 0)}}var a=n(55187);let l=new a.Token("@jupyterlab/workspaces:IWorkspaceCommands","Provides identifiers of workspace commands."),d=new a.Token("@jupyterlab/workspaces:IWorkspacesModel","Provides a model for available workspaces.")},56588(e,t,n){"use strict";var i,o,r;function*s(...e){for(let t of e)yield*t}function*a(){}function*l(e,t=0){for(let n of e)yield[t++,n]}function*d(e,t){let n=0;for(let i of e)t(i,n++)&&(yield i)}function c(e,t){let n=0;for(let i of e)if(t(i,n++))return i}function h(e,t){let n=0;for(let i of e)if(t(i,n++))return n-1;return -1}function u(e,t){let n;for(let i of e){if(void 0===n){n=i;continue}0>t(i,n)&&(n=i)}return n}function p(e,t){let n;for(let i of e){if(void 0===n){n=i;continue}t(i,n)>0&&(n=i)}return n}function m(e,t){let n,i,o=!0;for(let r of e)o?(n=r,i=r,o=!1):0>t(r,n)?n=r:t(r,i)>0&&(i=r);return o?void 0:[n,i]}function g(e){return Array.from(e)}function A(e){let t={};for(let[n,i]of e)t[n]=i;return t}function C(e,t){let n=0;for(let i of e)if(!1===t(i,n++))return}function f(e,t){let n=0;for(let i of e)if(!1===t(i,n++))return!1;return!0}function b(e,t){let n=0;for(let i of e)if(t(i,n++))return!0;return!1}function*v(e,t){let n=0;for(let i of e)yield t(i,n++)}function*_(e,t,n){void 0===t?(t=e,e=0,n=1):void 0===n&&(n=1);let i=o.rangeLength(e,t,n);for(let t=0;t<i;t++)yield e+n*t}function y(e,t,n){let i,o,r=e[Symbol.iterator](),s=0,a=r.next();if(a.done&&void 0===n)throw TypeError("Reduce of empty iterable with no initial value.");if(a.done)return n;let l=r.next();if(l.done&&void 0===n)return a.value;if(l.done)return t(n,a.value,s++);for(i=t(void 0===n?a.value:t(n,a.value,s++),l.value,s++);!(o=r.next()).done;)i=t(i,o.value,s++);return i}function*E(e,t){for(;0<t--;)yield e}function*w(e){yield e}function*j(e){if("function"==typeof e.retro)yield*e.retro();else for(let t=e.length-1;t>-1;t--)yield e[t]}function x(e){let t=[],n=new Set,i=new Map;for(let t of e)o(t);for(let[e]of i)r(e);return t;function o(e){let[t,n]=e,o=i.get(n);o?o.push(t):i.set(n,[t])}function r(e){if(n.has(e))return;n.add(e);let o=i.get(e);if(o)for(let e of o)r(e);t.push(e)}}function*B(e,t){let n=0;for(let i of e)0==n++%t&&(yield i)}function*S(e,t){let n;if(t<1)return;let i=e[Symbol.iterator]();for(;0<t--&&!(n=i.next()).done;)yield n.value}function*M(...e){let t=e.map(e=>e[Symbol.iterator]()),n=t.map(e=>e.next());for(;f(n,e=>!e.done);n=t.map(e=>e.next()))yield n.map(e=>e.value)}n.r(t),n.d(t,{ArrayExt:()=>i,StringExt:()=>r,chain:()=>s,each:()=>C,empty:()=>a,enumerate:()=>l,every:()=>f,filter:()=>d,find:()=>c,findIndex:()=>h,map:()=>v,max:()=>p,min:()=>u,minmax:()=>m,once:()=>w,range:()=>_,reduce:()=>y,repeat:()=>E,retro:()=>j,some:()=>b,stride:()=>B,take:()=>S,toArray:()=>g,toObject:()=>A,topologicSort:()=>x,zip:()=>M}),function(e){function t(e,n,i=0,o=-1){let r,s=e.length;if(0===s)return -1;i=i<0?Math.max(0,i+s):Math.min(i,s-1),r=(o=o<0?Math.max(0,o+s):Math.min(o,s-1))<i?o+1+(s-i):o-i+1;for(let t=0;t<r;++t){let o=(i+t)%s;if(e[o]===n)return o}return -1}function n(e,t,i=-1,o=0){let r,s=e.length;if(0===s)return -1;r=(i=i<0?Math.max(0,i+s):Math.min(i,s-1))<(o=o<0?Math.max(0,o+s):Math.min(o,s-1))?i+1+(s-o):i-o+1;for(let n=0;n<r;++n){let o=(i-n+s)%s;if(e[o]===t)return o}return -1}function i(e,t,n=0,o=-1){let r,s=e.length;if(0===s)return -1;n=n<0?Math.max(0,n+s):Math.min(n,s-1),r=(o=o<0?Math.max(0,o+s):Math.min(o,s-1))<n?o+1+(s-n):o-n+1;for(let i=0;i<r;++i){let o=(n+i)%s;if(t(e[o],o))return o}return -1}function o(e,t,n=-1,i=0){let r,s=e.length;if(0===s)return -1;r=(n=n<0?Math.max(0,n+s):Math.min(n,s-1))<(i=i<0?Math.max(0,i+s):Math.min(i,s-1))?n+1+(s-i):n-i+1;for(let i=0;i<r;++i){let o=(n-i+s)%s;if(t(e[o],o))return o}return -1}function r(e,t=0,n=-1){let i=e.length;if(!(i<=1))for(t=t<0?Math.max(0,t+i):Math.min(t,i-1),n=n<0?Math.max(0,n+i):Math.min(n,i-1);t<n;){let i=e[t],o=e[n];e[t++]=o,e[n--]=i}}function s(e,t){let n=e.length;if(t<0&&(t+=n),t<0||t>=n)return;let i=e[t];for(let i=t+1;i<n;++i)e[i-1]=e[i];return e.length=n-1,i}e.firstIndexOf=t,e.lastIndexOf=n,e.findFirstIndex=i,e.findLastIndex=o,e.findFirstValue=function(e,t,n=0,o=-1){let r=i(e,t,n,o);return -1!==r?e[r]:void 0},e.findLastValue=function(e,t,n=-1,i=0){let r=o(e,t,n,i);return -1!==r?e[r]:void 0},e.lowerBound=function(e,t,n,i=0,o=-1){let r=e.length;if(0===r)return 0;let s=i=i<0?Math.max(0,i+r):Math.min(i,r-1),a=(o=o<0?Math.max(0,o+r):Math.min(o,r-1))-i+1;for(;a>0;){let i=a>>1,o=s+i;0>n(e[o],t)?(s=o+1,a-=i+1):a=i}return s},e.upperBound=function(e,t,n,i=0,o=-1){let r=e.length;if(0===r)return 0;let s=i=i<0?Math.max(0,i+r):Math.min(i,r-1),a=(o=o<0?Math.max(0,o+r):Math.min(o,r-1))-i+1;for(;a>0;){let i=a>>1,o=s+i;n(e[o],t)>0?a=i:(s=o+1,a-=i+1)}return s},e.shallowEqual=function(e,t,n){if(e===t)return!0;if(e.length!==t.length)return!1;for(let i=0,o=e.length;i<o;++i)if(n?!n(e[i],t[i]):e[i]!==t[i])return!1;return!0},e.slice=function(e,t={}){let n,{start:i,stop:o,step:r}=t;if(void 0===r&&(r=1),0===r)throw Error("Slice `step` cannot be zero.");let s=e.length;void 0===i?i=r<0?s-1:0:i<0?i=Math.max(i+s,r<0?-1:0):i>=s&&(i=r<0?s-1:s),void 0===o?o=r<0?-1:s:o<0?o=Math.max(o+s,r<0?-1:0):o>=s&&(o=r<0?s-1:s),n=r<0&&o>=i||r>0&&i>=o?0:r<0?Math.floor((o-i+1)/r+1):Math.floor((o-i-1)/r+1);let a=[];for(let t=0;t<n;++t)a[t]=e[i+t*r];return a},e.move=function(e,t,n){let i=e.length;if(i<=1||(t=t<0?Math.max(0,t+i):Math.min(t,i-1))===(n=n<0?Math.max(0,n+i):Math.min(n,i-1)))return;let o=e[t],r=t<n?1:-1;for(let i=t;i!==n;i+=r)e[i]=e[i+r];e[n]=o},e.reverse=r,e.rotate=function(e,t,n=0,i=-1){let o=e.length;if(o<=1||(n=n<0?Math.max(0,n+o):Math.min(n,o-1))>=(i=i<0?Math.max(0,i+o):Math.min(i,o-1)))return;let s=i-n+1;if(t>0?t%=s:t<0&&(t=(t%s+s)%s),0===t)return;let a=n+t;r(e,n,a-1),r(e,a,i),r(e,n,i)},e.fill=function(e,t,n=0,i=-1){let o,r=e.length;if(0!==r){n=n<0?Math.max(0,n+r):Math.min(n,r-1),i=i<0?Math.max(0,i+r):Math.min(i,r-1),o=i<n?i+1+(r-n):i-n+1;for(let i=0;i<o;++i)e[(n+i)%r]=t}},e.insert=function(e,t,n){let i=e.length;t=t<0?Math.max(0,t+i):Math.min(t,i);for(let n=i;n>t;--n)e[n]=e[n-1];e[t]=n},e.removeAt=s,e.removeFirstOf=function(e,n,i=0,o=-1){let r=t(e,n,i,o);return -1!==r&&s(e,r),r},e.removeLastOf=function(e,t,i=-1,o=0){let r=n(e,t,i,o);return -1!==r&&s(e,r),r},e.removeAllOf=function(e,t,n=0,i=-1){let o=e.length;if(0===o)return 0;n=n<0?Math.max(0,n+o):Math.min(n,o-1),i=i<0?Math.max(0,i+o):Math.min(i,o-1);let r=0;for(let s=0;s<o;++s)n<=i&&s>=n&&s<=i&&e[s]===t||i<n&&(s<=i||s>=n)&&e[s]===t?r++:r>0&&(e[s-r]=e[s]);return r>0&&(e.length=o-r),r},e.removeFirstWhere=function(e,t,n=0,o=-1){let r,a=i(e,t,n,o);return -1!==a&&(r=s(e,a)),{index:a,value:r}},e.removeLastWhere=function(e,t,n=-1,i=0){let r,a=o(e,t,n,i);return -1!==a&&(r=s(e,a)),{index:a,value:r}},e.removeAllWhere=function(e,t,n=0,i=-1){let o=e.length;if(0===o)return 0;n=n<0?Math.max(0,n+o):Math.min(n,o-1),i=i<0?Math.max(0,i+o):Math.min(i,o-1);let r=0;for(let s=0;s<o;++s)n<=i&&s>=n&&s<=i&&t(e[s],s)||i<n&&(s<=i||s>=n)&&t(e[s],s)?r++:r>0&&(e[s-r]=e[s]);return r>0&&(e.length=o-r),r}}(i||(i={})),function(e){e.rangeLength=function(e,t,n){return 0===n?1/0:e>t&&n>0||e<t&&n<0?0:Math.ceil((t-e)/n)}}(o||(o={})),function(e){function t(e,n,i=0){let o=Array(n.length);for(let t=0,r=i,s=n.length;t<s;++t,++r){if(-1===(r=e.indexOf(n[t],r)))return null;o[t]=r}return o}e.findIndices=t,e.matchSumOfSquares=function(e,n,i=0){let o=t(e,n,i);if(!o)return null;let r=0;for(let e=0,t=o.length;e<t;++e){let t=o[e]-i;r+=t*t}return{score:r,indices:o}},e.matchSumOfDeltas=function(e,n,i=0){let o=t(e,n,i);if(!o)return null;let r=0,s=i-1;for(let e=0,t=o.length;e<t;++e){let t=o[e];r+=t-s-1,s=t}return{score:r,indices:o}},e.highlight=function(e,t,n){let i=[],o=0,r=0,s=t.length;for(;o<s;){let a=t[o],l=t[o];for(;++o<s&&t[o]===l+1;)l++;r<a&&i.push(e.slice(r,a)),a<l+1&&i.push(n(e.slice(a,l+1))),r=l+1}return r<e.length&&i.push(e.slice(r)),i},e.cmp=function(e,t){return e<t?-1:+(e>t)}}(r||(r={}))},86397(e,t,n){"use strict";n.r(t),n.d(t,{Application:()=>s});var i=n(46976),o=n(55187),r=n(64001);class s{constructor(e){var t;this._delegate=new o.PromiseDelegate,this._started=!1,this._bubblingKeydown=!1,this.pluginRegistry=null!=(t=e.pluginRegistry)?t:new o.PluginRegistry(e),this.pluginRegistry.application=this,this.commands=new i.CommandRegistry,this.contextMenu=new r.ContextMenu({commands:this.commands,renderer:e.contextMenuRenderer}),this.shell=e.shell}get deferredPlugins(){return this.pluginRegistry.deferredPlugins}get started(){return this._delegate.promise}async activateDeferredPlugins(){await this.pluginRegistry.activatePlugins("defer")}async activatePlugin(e){return this.pluginRegistry.activatePlugin(e)}async deactivatePlugin(e){return this.pluginRegistry.deactivatePlugin(e)}deregisterPlugin(e,t){this.pluginRegistry.deregisterPlugin(e,t)}getPluginDescription(e){return this.pluginRegistry.getPluginDescription(e)}hasPlugin(e){return this.pluginRegistry.hasPlugin(e)}isPluginActivated(e){return this.pluginRegistry.isPluginActivated(e)}listPlugins(){return this.pluginRegistry.listPlugins()}registerPlugin(e){this.pluginRegistry.registerPlugin(e)}registerPlugins(e){this.pluginRegistry.registerPlugins(e)}async resolveOptionalService(e){return this.pluginRegistry.resolveOptionalService(e)}async resolveRequiredService(e){return this.pluginRegistry.resolveRequiredService(e)}async start(e={}){var t,n;if(this._started)return this._delegate.promise;this._started=!0,this._bubblingKeydown=null!=(t=e.bubblingKeydown)&&t;let i=null!=(n=e.hostID)?n:"";await this.pluginRegistry.activatePlugins("startUp",e),this.attachShell(i),this.addEventListeners(),this._delegate.resolve()}handleEvent(e){switch(e.type){case"resize":this.evtResize(e);break;case"keydown":this.evtKeydown(e);break;case"keyup":this.evtKeyup(e);break;case"contextmenu":this.evtContextMenu(e)}}attachShell(e){r.Widget.attach(this.shell,e&&document.getElementById(e)||document.body)}addEventListeners(){document.addEventListener("contextmenu",this),document.addEventListener("keydown",this,!this._bubblingKeydown),document.addEventListener("keyup",this,!this._bubblingKeydown),window.addEventListener("resize",this)}evtKeydown(e){this.commands.processKeydownEvent(e)}evtKeyup(e){this.commands.processKeyupEvent(e)}evtContextMenu(e){!e.shiftKey&&this.contextMenu.open(e)&&(e.preventDefault(),e.stopPropagation())}evtResize(e){this.shell.update()}}},893(e,t,n){"use strict";n.r(t),n.d(t,{CommandRegistry:()=>c});var i,o=n(65819),r=n(55187),s=n(63995),a=n(53193),l=n(70941),d=n(20659);class c{constructor(){this._timerID=0,this._timerModifierID=0,this._replaying=!1,this._keystrokes=[],this._keydownEvents=[],this._keyBindings=[],this._exactKeyMatch=null,this._commands=new Map,this._commandChanged=new d.Signal(this),this._commandExecuted=new d.Signal(this),this._keyBindingChanged=new d.Signal(this),this._holdKeyBindingPromises=new Map}get commandChanged(){return this._commandChanged}get commandExecuted(){return this._commandExecuted}get keyBindingChanged(){return this._keyBindingChanged}get keyBindings(){return this._keyBindings}listCommands(){return Array.from(this._commands.keys())}hasCommand(e){return this._commands.has(e)}addCommand(e,t){if(this._commands.has(e))throw Error(`Command '${e}' already registered.`);return this._commands.set(e,i.createCommand(t)),this._commandChanged.emit({id:e,type:"added"}),new s.DisposableDelegate(()=>{this._commands.delete(e),this._commandChanged.emit({id:e,type:"removed"})})}notifyCommandChanged(e){if(void 0!==e&&!this._commands.has(e))throw Error(`Command '${e}' is not registered.`);this._commandChanged.emit({id:e,type:e?"changed":"many-changed"})}describedBy(e,t=r.JSONExt.emptyObject){var n;let i=this._commands.get(e);return Promise.resolve(null!=(n=null==i?void 0:i.describedBy.call(void 0,t))?n:{args:null})}label(e,t=r.JSONExt.emptyObject){var n;let i=this._commands.get(e);return null!=(n=null==i?void 0:i.label.call(void 0,t))?n:""}mnemonic(e,t=r.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.mnemonic.call(void 0,t):-1}icon(e,t=r.JSONExt.emptyObject){var n;return null==(n=this._commands.get(e))?void 0:n.icon.call(void 0,t)}iconClass(e,t=r.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.iconClass.call(void 0,t):""}iconLabel(e,t=r.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.iconLabel.call(void 0,t):""}caption(e,t=r.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.caption.call(void 0,t):""}usage(e,t=r.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.usage.call(void 0,t):""}className(e,t=r.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.className.call(void 0,t):""}dataset(e,t=r.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.dataset.call(void 0,t):{}}isEnabled(e,t=r.JSONExt.emptyObject){let n=this._commands.get(e);return!!n&&n.isEnabled.call(void 0,t)}isToggled(e,t=r.JSONExt.emptyObject){let n=this._commands.get(e);return!!n&&n.isToggled.call(void 0,t)}isToggleable(e,t=r.JSONExt.emptyObject){let n=this._commands.get(e);return!!n&&n.isToggleable}isVisible(e,t=r.JSONExt.emptyObject){let n=this._commands.get(e);return!!n&&n.isVisible.call(void 0,t)}execute(e,t=r.JSONExt.emptyObject){let n,i=this._commands.get(e);if(!i)return Promise.reject(Error(`Command '${e}' not registered.`));try{n=i.execute.call(void 0,t)}catch(e){n=Promise.reject(e)}let o=Promise.resolve(n);return this._commandExecuted.emit({id:e,args:t,result:o}),o}addKeyBinding(e){let t=i.createKeyBinding(e);return this._keyBindings.push(t),this._keyBindingChanged.emit({binding:t,type:"added"}),new s.DisposableDelegate(()=>{o.ArrayExt.removeFirstOf(this._keyBindings,t),this._keyBindingChanged.emit({binding:t,type:"removed"})})}processKeydownEvent(e){if(e.defaultPrevented||this._replaying)return;let t=c.keystrokeForKeydownEvent(e);if(!t){this._replayKeydownEvents(),this._clearPendingState();return}if(c.isModifierKeyPressed(e)){let{exact:n}=i.matchKeyBinding(this._keyBindings,[t],e);n?(e.preventDefault(),e.stopPropagation(),this._startModifierTimer(n)):this._clearModifierTimer();return}this._keystrokes.push(t);let{exact:n,partial:o}=i.matchKeyBinding(this._keyBindings,this._keystrokes,e),r=0!==o.length;if(!n&&!r){this._replayKeydownEvents(),this._clearPendingState();return}if(((null==n?void 0:n.preventDefault)||o.some(e=>e.preventDefault))&&(e.preventDefault(),e.stopPropagation()),this._keydownEvents.push(e),n&&!r){this._executeKeyBinding(n),this._clearPendingState();return}n&&(this._exactKeyMatch=n),this._startTimer()}holdKeyBindingExecution(e,t){this._holdKeyBindingPromises.set(e,t)}processKeyupEvent(e){this._clearModifierTimer()}_startModifierTimer(e){this._clearModifierTimer(),this._timerModifierID=window.setTimeout(()=>{this._executeKeyBinding(e)},i.modifierkeyTimeOut)}_clearModifierTimer(){0!==this._timerModifierID&&(clearTimeout(this._timerModifierID),this._timerModifierID=0)}_startTimer(){this._clearTimer(),this._timerID=window.setTimeout(()=>{this._onPendingTimeout()},i.CHORD_TIMEOUT)}_clearTimer(){0!==this._timerID&&(clearTimeout(this._timerID),this._timerID=0)}_replayKeydownEvents(){0!==this._keydownEvents.length&&(this._replaying=!0,this._keydownEvents.forEach(i.replayKeyEvent),this._replaying=!1)}async _executeKeyBinding(e){if(0!==this._holdKeyBindingPromises.size){let e=[...this._keydownEvents],t=(await Promise.race([Promise.all(e.map(async e=>{var t;return null!=(t=this._holdKeyBindingPromises.get(e))?t:Promise.resolve(!0)})),new Promise(e=>{setTimeout(()=>e([!1]),i.KEYBINDING_HOLD_TIMEOUT)})])).every(Boolean);if(this._holdKeyBindingPromises.clear(),!t)return}let{command:t,args:n}=e,o={_luminoEvent:{type:"keybinding",keys:e.keys},...n};if(!this.hasCommand(t)||!this.isEnabled(t,o)){let n=this.hasCommand(t)?"enabled":"registered",i=e.keys.join(", "),o=`Cannot execute key binding '${i}':`,r=`command '${t}' is not ${n}.`;console.warn(`${o} ${r}`);return}await this.execute(t,o)}_clearPendingState(){this._clearTimer(),this._clearModifierTimer(),this._exactKeyMatch=null,this._keystrokes.length=0,this._keydownEvents.length=0}_onPendingTimeout(){this._timerID=0,this._exactKeyMatch?this._executeKeyBinding(this._exactKeyMatch):this._replayKeydownEvents(),this._clearPendingState()}}!function(e){function t(e){let t="",n=!1,i=!1,o=!1,r=!1;for(let s of e.split(/\s+/))"Accel"===s?a.Platform.IS_MAC?i=!0:o=!0:"Alt"===s?n=!0:"Cmd"===s?i=!0:"Ctrl"===s?o=!0:"Shift"===s?r=!0:s.length>0&&(t=s);return{cmd:i,ctrl:o,alt:n,shift:r,key:t}}function n(e){let n="",i=t(e);return(i.ctrl&&(n+="Ctrl "),i.alt&&(n+="Alt "),i.shift&&(n+="Shift "),i.cmd&&a.Platform.IS_MAC&&(n+="Cmd "),i.key)?n+i.key:n.trim()}e.parseKeystroke=t,e.normalizeKeystroke=n,e.normalizeKeys=function(e){let t;return(t=a.Platform.IS_WIN?e.winKeys||e.keys:a.Platform.IS_MAC?e.macKeys||e.keys:e.linuxKeys||e.keys).map(n)},e.formatKeystroke=function(e){return"string"==typeof e?n(e):e.map(n).join(", ");function n(e){let n=[],o=a.Platform.IS_MAC?" ":"+",r=t(e);return r.ctrl&&n.push("Ctrl"),r.alt&&n.push("Alt"),r.shift&&n.push("Shift"),a.Platform.IS_MAC&&r.cmd&&n.push("Cmd"),n.push(r.key),n.map(i.formatKey).join(o)}},e.isModifierKeyPressed=function(e){let t=(0,l.getKeyboardLayout)(),n=t.keyForKeydownEvent(e);return t.isModifierKey(n)},e.keystrokeForKeydownEvent=function(e){let t=(0,l.getKeyboardLayout)(),n=t.keyForKeydownEvent(e),i=[];return e.ctrlKey&&i.push("Ctrl"),e.altKey&&i.push("Alt"),e.shiftKey&&i.push("Shift"),e.metaKey&&a.Platform.IS_MAC&&i.push("Cmd"),t.isModifierKey(n)||i.push(n),i.join(" ")}}(c||(c={})),function(e){e.CHORD_TIMEOUT=1e3,e.KEYBINDING_HOLD_TIMEOUT=1e3,e.modifierkeyTimeOut=500,e.createCommand=function(e){return{execute:e.execute,describedBy:u("function"==typeof e.describedBy?e.describedBy:{args:null,...e.describedBy},()=>({args:null})),label:u(e.label,i),mnemonic:u(e.mnemonic,o),icon:u(e.icon,h),iconClass:u(e.iconClass,i),iconLabel:u(e.iconLabel,i),caption:u(e.caption,i),usage:u(e.usage,i),className:u(e.className,i),dataset:u(e.dataset,d),isEnabled:e.isEnabled||s,isToggled:e.isToggled||l,isToggleable:e.isToggleable||!!e.isToggled,isVisible:e.isVisible||s}},e.createKeyBinding=function(e){var t;return{keys:c.normalizeKeys(e),selector:p(e),command:e.command,args:e.args||r.JSONExt.emptyObject,preventDefault:null==(t=e.preventDefault)||t}},e.matchKeyBinding=function(e,t,n){let i=null,o=[],r=1/0,s=0;for(let l=0,d=e.length;l<d;++l){let d=e[l],c=m(d.keys,t);if(0===c)continue;if(2===c){-1!==g(d.selector,n)&&o.push(d);continue}let h=g(d.selector,n);if(-1===h||h>r)continue;let u=a.Selector.calculateSpecificity(d.selector);(!i||h<r||u>=s)&&(i=d,r=h,s=u)}return{exact:i,partial:o}},e.replayKeyEvent=function(e){e.target.dispatchEvent(A(e))},e.formatKey=function(e){return a.Platform.IS_MAC?t.hasOwnProperty(e)?t[e]:e:n.hasOwnProperty(e)?n[e]:e};let t={Backspace:"⌫",Tab:"⇥",Enter:"⏎",Shift:"⇧",Ctrl:"⌃",Alt:"⌥",Escape:"⎋",PageUp:"⇞",PageDown:"⇟",End:"↘",Home:"↖",ArrowLeft:"←",ArrowUp:"↑",ArrowRight:"→",ArrowDown:"↓",Delete:"⌦",Cmd:"⌘"},n={Escape:"Esc",PageUp:"Page Up",PageDown:"Page Down",ArrowLeft:"Left",ArrowUp:"Up",ArrowRight:"Right",ArrowDown:"Down",Delete:"Del"},i=()=>"",o=()=>-1,s=()=>!0,l=()=>!1,d=()=>({}),h=()=>void 0;function u(e,t){return void 0===e?t:"function"==typeof e?e:()=>e}function p(e){if(-1!==e.selector.indexOf(","))throw Error(`Selector cannot contain commas: ${e.selector}`);if(!a.Selector.isValid(e.selector))throw Error(`Invalid selector: ${e.selector}`);return e.selector}function m(e,t){if(e.length<t.length)return 0;for(let n=0,i=t.length;n<i;++n)if(e[n]!==t[n])return 0;return e.length>t.length?2:1}function g(e,t){let n=t.target,i=t.currentTarget;for(let t=0;null!==n&&!n.hasAttribute("data-lm-suppress-shortcuts");n=n.parentElement,++t){if(a.Selector.matches(n,e))return t;if(n===i)break}return -1}function A(e){let t=document.createEvent("Event"),n=e.bubbles||!0,i=e.cancelable||!0;return t.initEvent(e.type||"keydown",n,i),t.key=e.key||"",t.keyCode=e.keyCode||0,t.which=e.keyCode||0,t.ctrlKey=e.ctrlKey||!1,t.altKey=e.altKey||!1,t.shiftKey=e.shiftKey||!1,t.metaKey=e.metaKey||!1,t.view=e.view||window,t}}(i||(i={}))},45899(e,t,n){!function(e){e(t,n(65819))}(function(e,t){"use strict";var n;e.JSONExt=void 0,function(e){function t(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e}function n(e){return Array.isArray(e)}function i(e,i){if(e===i)return!0;if(t(e)||t(i))return!1;let o=n(e),a=n(i);return o===a&&(o&&a?r(e,i):s(e,i))}function o(e){return t(e)?e:n(e)?a(e):l(e)}function r(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,o=e.length;n<o;++n)if(!i(e[n],t[n]))return!1;return!0}function s(e,t){if(e===t)return!0;for(let n in e)if(void 0!==e[n]&&!(n in t))return!1;for(let n in t)if(void 0!==t[n]&&!(n in e))return!1;for(let n in e){let o=e[n],r=t[n];if((void 0!==o||void 0!==r)&&(void 0===o||void 0===r||!i(o,r)))return!1}return!0}function a(e){let t=Array(e.length);for(let n=0,i=e.length;n<i;++n)t[n]=o(e[n]);return t}function l(e){let t={};for(let n in e){let i=e[n];void 0!==i&&(t[n]=o(i))}return t}e.emptyObject=Object.freeze({}),e.emptyArray=Object.freeze([]),e.isPrimitive=t,e.isArray=n,e.isObject=function(e){return!t(e)&&!n(e)},e.deepEqual=i,e.deepCopy=o}(e.JSONExt||(e.JSONExt={}));class i{constructor(){this._types=[],this._values=[]}types(){return this._types.slice()}hasData(e){return -1!==this._types.indexOf(e)}getData(e){let t=this._types.indexOf(e);return -1!==t?this._values[t]:void 0}setData(e,t){this.clearData(e),this._types.push(e),this._values.push(t)}clearData(e){let t=this._types.indexOf(e);-1!==t&&(this._types.splice(t,1),this._values.splice(t,1))}clear(){this._types.length=0,this._values.length=0}}class o{constructor(e={}){this._application=null,this._validatePlugin=()=>!0,this._plugins=new Map,this._services=new Map,e.validatePlugin&&(console.info("Plugins may be rejected by the custom validation plugin method."),this._validatePlugin=e.validatePlugin)}get application(){return this._application}set application(e){if(null!==this._application)throw Error("PluginRegistry.application is already set. It cannot be overridden.");this._application=e}get deferredPlugins(){return Array.from(this._plugins).filter(([e,t])=>"defer"===t.autoStart).map(([e,t])=>e)}getPluginDescription(e){var t,n;return null!=(n=null==(t=this._plugins.get(e))?void 0:t.description)?n:""}hasPlugin(e){return this._plugins.has(e)}isPluginActivated(e){var t,n;return null!=(n=null==(t=this._plugins.get(e))?void 0:t.activated)&&n}listPlugins(){return Array.from(this._plugins.keys())}registerPlugin(e){if(this._plugins.has(e.id))throw TypeError(`Plugin '${e.id}' is already registered.`);if(!this._validatePlugin(e))throw Error(`Plugin '${e.id}' is not valid.`);let t=n.createPluginData(e);n.ensureNoCycle(t,this._plugins,this._services),t.provides&&this._services.set(t.provides,t.id),this._plugins.set(t.id,t)}registerPlugins(e){for(let t of e)this.registerPlugin(t)}deregisterPlugin(e,t){let n=this._plugins.get(e);if(n){if(n.activated&&!t)throw Error(`Plugin '${e}' is still active.`);this._plugins.delete(e)}}async activatePlugin(e){let t=this._plugins.get(e);if(!t)throw ReferenceError(`Plugin '${e}' is not registered.`);if(t.activated)return;if(t.promise)return t.promise;let n=t.requires.map(e=>this.resolveRequiredService(e)),i=t.optional.map(e=>this.resolveOptionalService(e));return t.promise=Promise.all([...n,...i]).then(e=>t.activate.apply(void 0,[this.application,...e])).then(e=>{t.service=e,t.activated=!0,t.promise=null}).catch(e=>{throw t.promise=null,e}),t.promise}async activatePlugins(e,t={}){switch(e){case"defer":{let e=this.deferredPlugins.filter(e=>this._plugins.get(e).autoStart).map(e=>this.activatePlugin(e));await Promise.all(e);break}case"startUp":{let e=n.collectStartupPlugins(this._plugins,t).map(async e=>{try{return await this.activatePlugin(e)}catch(t){console.error(`Plugin '${e}' failed to activate.`,t)}});await Promise.all(e)}}}async deactivatePlugin(e){let t=this._plugins.get(e);if(!t)throw ReferenceError(`Plugin '${e}' is not registered.`);if(!t.activated)return[];if(!t.deactivate)throw TypeError(`Plugin '${e}'#deactivate() method missing`);let i=n.findDependents(e,this._plugins,this._services),o=i.map(e=>this._plugins.get(e));for(let t of o)if(!t.deactivate)throw TypeError(`Plugin ${t.id}#deactivate() method missing (depends on ${e})`);for(let e of o){let t=[...e.requires,...e.optional].map(e=>{let t=this._services.get(e);return t?this._plugins.get(t).service:null});await e.deactivate(this.application,...t),e.service=null,e.activated=!1}return i.pop(),i}async resolveRequiredService(e){let t=this._services.get(e);if(!t)throw TypeError(`No provider for: ${e.name}.`);let n=this._plugins.get(t);return n.activated||await this.activatePlugin(t),n.service}async resolveOptionalService(e){let t=this._services.get(e);if(!t)return null;let n=this._plugins.get(t);if(!n.activated)try{await this.activatePlugin(t)}catch(e){return console.error(e),null}return n.service}}!function(e){class n{constructor(e){var t,n,i,o;this._activated=!1,this._promise=null,this._service=null,this.id=e.id,this.description=null!=(t=e.description)?t:"",this.activate=e.activate,this.deactivate=null!=(n=e.deactivate)?n:null,this.provides=null!=(i=e.provides)?i:null,this.autoStart=null!=(o=e.autoStart)&&o,this.requires=e.requires?e.requires.slice():[],this.optional=e.optional?e.optional.slice():[]}get activated(){return this._activated}set activated(e){this._activated=e}get service(){return this._service}set service(e){this._service=e}get promise(){return this._promise}set promise(e){this._promise=e}}e.createPluginData=function(e){return new n(e)},e.ensureNoCycle=function(e,t,n){let i=[...e.requires,...e.optional],o=i=>{if(i===e.provides)return!0;let s=n.get(i);if(!s)return!1;let a=t.get(s),l=[...a.requires,...a.optional];return 0!==l.length&&(r.push(s),!!l.some(o)||(r.pop(),!1))};if(!e.provides||0===i.length)return;let r=[e.id];if(i.some(o))throw ReferenceError(`Cycle detected: ${r.join(" -> ")}.`)},e.findDependents=function(e,n,i){let o=[],r=e=>{let t=n.get(e),r=[...t.requires,...t.optional];o.push(...r.reduce((t,n)=>{let o=i.get(n);return o&&t.push([e,o]),t},[]))};for(let e of n.keys())r(e);let s=o.filter(t=>t[1]===e),a=0;for(;s.length>a;){let e=s.length;for(let e of new Set(s.map(e=>e[0])))o.filter(t=>t[1]===e).forEach(e=>{s.includes(e)||s.push(e)});a=e}let l=t.topologicSort(s),d=l.findIndex(t=>t===e);return -1===d?[e]:l.slice(0,d+1)},e.collectStartupPlugins=function(e,t){let n=new Set;for(let t of e.keys())!0===e.get(t).autoStart&&n.add(t);if(t.startPlugins)for(let e of t.startPlugins)n.add(e);if(t.ignorePlugins)for(let e of t.ignorePlugins)n.delete(e);return Array.from(n)}}(n||(n={}));class r{constructor(){this.promise=new Promise((e,t)=>{this._resolve=e,this._reject=t})}resolve(e){(0,this._resolve)(e)}reject(e){(0,this._reject)(e)}}class s{constructor(e,t){this.name=e,this.description=null!=t?t:"",this._tokenStructuralPropertyT=null}}function a(e){let t=0;for(let n=0,i=e.length;n<i;++n)n%4==0&&(t=0xffffffff*Math.random()>>>0),e[n]=255&t,t>>>=8}function l(e){let t=new Uint8Array(16),n=Array(256);for(let e=0;e<16;++e)n[e]="0"+e.toString(16);for(let e=16;e<256;++e)n[e]=e.toString(16);return function(){return e(t),t[6]=64|15&t[6],t[8]=128|63&t[8],n[t[0]]+n[t[1]]+n[t[2]]+n[t[3]]+"-"+n[t[4]]+n[t[5]]+"-"+n[t[6]]+n[t[7]]+"-"+n[t[8]]+n[t[9]]+"-"+n[t[10]]+n[t[11]]+n[t[12]]+n[t[13]]+n[t[14]]+n[t[15]]}}e.Random=void 0,function(e){e.getRandomValues=(()=>{let e="u">typeof window&&(window.crypto||window.msCrypto)||null;return e&&"function"==typeof e.getRandomValues?function(t){return e.getRandomValues(t)}:a})()}(e.Random||(e.Random={})),e.UUID=void 0,function(t){t.uuid4=l(e.Random.getRandomValues)}(e.UUID||(e.UUID={})),e.MimeData=i,e.PluginRegistry=o,e.PromiseDelegate=r,e.Token=s})},20785(e,t,n){"use strict";n.r(t),n.d(t,{DisposableDelegate:()=>o,DisposableSet:()=>s,ObservableDisposableDelegate:()=>r,ObservableDisposableSet:()=>a});var i=n(20659);class o{constructor(e){this._fn=e}get isDisposed(){return!this._fn}dispose(){if(!this._fn)return;let e=this._fn;this._fn=null,e()}}class r extends o{constructor(){super(...arguments),this._disposed=new i.Signal(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),i.Signal.clearData(this))}}class s{constructor(){this._isDisposed=!1,this._items=new Set}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._items.forEach(e=>{e.dispose()}),this._items.clear())}contains(e){return this._items.has(e)}add(e){this._items.add(e)}remove(e){this._items.delete(e)}clear(){this._items.clear()}}!function(e){function t(t){let n=new e;for(let e of t)n.add(e);return n}e.from=t}(s||(s={}));class a extends s{constructor(){super(...arguments),this._disposed=new i.Signal(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),i.Signal.clearData(this))}}!function(e){function t(t){let n=new e;for(let e of t)n.add(e);return n}e.from=t}(a||(a={}))},60008(e,t,n){"use strict";var i,o,r,s,a;n.r(t),n.d(t,{ClipboardExt:()=>i,ElementExt:()=>o,Platform:()=>r,Selector:()=>s}),function(e){e.copyText=function(e){let t=document.body,n=i=>{i.preventDefault(),i.stopPropagation(),i.clipboardData.setData("text",e),t.removeEventListener("copy",n,!0)};t.addEventListener("copy",n,!0),document.execCommand("copy")}}(i||(i={})),function(e){e.boxSizing=function(e){let t=window.getComputedStyle(e),n=parseFloat(t.borderTopWidth)||0,i=parseFloat(t.borderLeftWidth)||0,o=parseFloat(t.borderRightWidth)||0,r=parseFloat(t.borderBottomWidth)||0,s=parseFloat(t.paddingTop)||0,a=parseFloat(t.paddingLeft)||0,l=parseFloat(t.paddingRight)||0,d=parseFloat(t.paddingBottom)||0,c=i+a+l+o,h=n+s+d+r;return{borderTop:n,borderLeft:i,borderRight:o,borderBottom:r,paddingTop:s,paddingLeft:a,paddingRight:l,paddingBottom:d,horizontalSum:c,verticalSum:h}},e.sizeLimits=function(e){let t=window.getComputedStyle(e),n=parseFloat(t.minWidth)||0,i=parseFloat(t.minHeight)||0,o=parseFloat(t.maxWidth)||1/0,r=parseFloat(t.maxHeight)||1/0;return o=Math.max(n,o),r=Math.max(i,r),{minWidth:n,minHeight:i,maxWidth:o,maxHeight:r}},e.hitTest=function(e,t,n){let i=e.getBoundingClientRect();return t>=i.left&&t<i.right&&n>=i.top&&n<i.bottom},e.scrollIntoViewIfNeeded=function(e,t){let n=e.getBoundingClientRect(),i=t.getBoundingClientRect();if(!(i.top<=n.top)||!(i.bottom>=n.bottom)){if(i.top<n.top&&i.height<=n.height||i.bottom>n.bottom&&i.height>=n.height){e.scrollTop-=n.top-i.top;return}if(i.top<n.top&&i.height>n.height||i.bottom>n.bottom&&i.height<n.height){e.scrollTop-=n.bottom-i.bottom;return}}}}(o||(o={})),function(e){function t(t){return e.IS_MAC?t.metaKey:t.ctrlKey}e.IS_MAC=!!navigator.platform.match(/Mac/i),e.IS_WIN=!!navigator.platform.match(/Win/i),e.IS_IE=/Trident/.test(navigator.userAgent),e.IS_EDGE=/Edge/.test(navigator.userAgent),e.accelKey=t}(r||(r={})),function(e){e.calculateSpecificity=function(e){if(e in a.specificityCache)return a.specificityCache[e];let t=a.calculateSingle(e);return a.specificityCache[e]=t},e.isValid=function(e){if(e in a.validityCache)return a.validityCache[e];let t=!0;try{a.testElem.querySelector(e)}catch(e){t=!1}return a.validityCache[e]=t},e.matches=function(e,t){return a.protoMatchFunc.call(e,t)}}(s||(s={})),function(e){e.specificityCache=Object.create(null),e.validityCache=Object.create(null),e.testElem=document.createElement("div"),e.protoMatchFunc=(()=>{let e=Element.prototype;return e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector||function(e){let t=this,n=t.ownerDocument?t.ownerDocument.querySelectorAll(e):[];return -1!==Array.prototype.indexOf.call(n,t)}})(),e.calculateSingle=function(e){e=e.split(",",1)[0];let d=0,c=0,h=0;function u(t){let n=e.match(t);return null!==n&&(e=e.slice(n[0].length),!0)}for(e=e.replace(l," $1 ");e.length>0;){if(u(t)){d++;continue}if(u(n)||u(i)){c++;continue}if(u(r)){h++;continue}if(u(s)){c++;continue}if(u(o)){h++;continue}if(!u(a))return 0}return(d=Math.min(d,255))<<16|(c=Math.min(c,255))<<8|(h=Math.min(h,255))};let t=/^#[^\s\+>~#\.\[:]+/,n=/^\.[^\s\+>~#\.\[:]+/,i=/^\[[^\]]+\]/,o=/^[^\s\+>~#\.\[:]+/,r=/^(::[^\s\+>~#\.\[:]+|:first-line|:first-letter|:before|:after)/,s=/^:[^\s\+>~#\.\[:]+/,a=/^[\s\+>~\*]+/,l=/:not\(([^\)]+)\)/g}(a||(a={}))},1506(e,t,n){"use strict";n.r(t),n.d(t,{Drag:()=>r});var i,o=n(63995);class r{constructor(e){this._onScrollFrame=()=>{if(!this._scrollTarget)return;let{element:e,edge:t,distance:n}=this._scrollTarget,o=Math.max(1,Math.round(Math.pow((i.SCROLL_EDGE_SIZE-n)/i.SCROLL_EDGE_SIZE,2)*i.SCROLL_EDGE_SIZE));switch(t){case"top":e.scrollTop-=o;break;case"left":e.scrollLeft-=o;break;case"right":e.scrollLeft+=o;break;case"bottom":e.scrollTop+=o}requestAnimationFrame(this._onScrollFrame)},this._disposed=!1,this._dropAction="none",this._override=null,this._currentTarget=null,this._currentElement=null,this._promise=null,this._scrollTarget=null,this._resolve=null,this.document=e.document||document,this.mimeData=e.mimeData,this.dragImage=e.dragImage||null,this.proposedAction=e.proposedAction||"copy",this.supportedActions=e.supportedActions||"all",this.source=e.source||null}dispose(){if(!this._disposed){if(this._disposed=!0,this._currentTarget){let e=new PointerEvent("pointerup",{bubbles:!0,cancelable:!0,clientX:-1,clientY:-1});i.dispatchDragLeave(this,this._currentTarget,null,e)}this._finalize("none")}}get isDisposed(){return this._disposed}start(e,t){if(this._disposed)return Promise.resolve("none");if(this._promise)return this._promise;this._addListeners(),this._attachDragImage(e,t),this._promise=new Promise(e=>{this._resolve=e});let n=new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,clientX:e,clientY:t});return document.dispatchEvent(n),this._promise}handleEvent(e){switch(e.type){case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;default:e.preventDefault(),e.stopPropagation()}}moveDragImage(e,t){this.dragImage&&(this.dragImage.style.transform=`translate(${e}px, ${t}px)`)}_evtPointerMove(e){e.preventDefault(),e.stopPropagation(),this._updateCurrentTarget(e),this._updateDragScroll(e),this.moveDragImage(e.clientX,e.clientY)}_evtPointerUp(e){if(e.preventDefault(),e.stopPropagation(),0!==e.button)return;if(this._updateCurrentTarget(e),!this._currentTarget)return void this._finalize("none");if("none"===this._dropAction){i.dispatchDragLeave(this,this._currentTarget,null,e),this._finalize("none");return}let t=i.dispatchDrop(this,this._currentTarget,e);this._finalize(t)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),27===e.keyCode&&this.dispose()}_addListeners(){document.addEventListener("pointerdown",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("pointerup",this,!0),document.addEventListener("pointerenter",this,!0),document.addEventListener("pointerleave",this,!0),document.addEventListener("pointerover",this,!0),document.addEventListener("pointerout",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("keyup",this,!0),document.addEventListener("keypress",this,!0),document.addEventListener("contextmenu",this,!0)}_removeListeners(){document.removeEventListener("pointerdown",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointerenter",this,!0),document.removeEventListener("pointerleave",this,!0),document.removeEventListener("pointerover",this,!0),document.removeEventListener("pointerout",this,!0),document.removeEventListener("keydown",this,!0),document.removeEventListener("keyup",this,!0),document.removeEventListener("keypress",this,!0),document.removeEventListener("contextmenu",this,!0)}_updateDragScroll(e){let t=i.findScrollTarget(e);(this._scrollTarget||t)&&(this._scrollTarget||setTimeout(this._onScrollFrame,500),this._scrollTarget=t)}_updateCurrentTarget(e){let t=this._currentTarget,n=this._currentTarget,o=this._currentElement,r=i.findElementBehindBackdrop(e,this.document);this._currentElement=r,r!==o&&r!==n&&i.dispatchDragExit(this,n,r,e),r!==o&&r!==n&&(n=i.dispatchDragEnter(this,r,n,e)),n!==t&&(this._currentTarget=n,i.dispatchDragLeave(this,t,n,e));let s=i.dispatchDragOver(this,n,e);this._setDropAction(s)}_attachDragImage(e,t){if(!this.dragImage)return;this.dragImage.classList.add("lm-mod-drag-image");let n=this.dragImage.style;n.pointerEvents="none",n.position="fixed",n.transform=`translate(${e}px, ${t}px)`,(this.document instanceof Document?this.document.body:this.document.firstElementChild).appendChild(this.dragImage)}_detachDragImage(){if(!this.dragImage)return;let e=this.dragImage.parentNode;e&&e.removeChild(this.dragImage)}_setDropAction(e){if(e=i.validateAction(e,this.supportedActions),!this._override||this._dropAction!==e)switch(e){case"none":this._dropAction=e,this._override=r.overrideCursor("no-drop",this.document);break;case"copy":this._dropAction=e,this._override=r.overrideCursor("copy",this.document);break;case"link":this._dropAction=e,this._override=r.overrideCursor("alias",this.document);break;case"move":this._dropAction=e,this._override=r.overrideCursor("move",this.document)}}_finalize(e){let t=this._resolve;this._removeListeners(),this._detachDragImage(),this._override&&(this._override.dispose(),this._override=null),this.mimeData.clear(),this._disposed=!0,this._dropAction="none",this._currentTarget=null,this._currentElement=null,this._scrollTarget=null,this._promise=null,this._resolve=null,t&&t(e)}}!function(e){class t extends DragEvent{constructor(e,t){super(t.type,{bubbles:!0,cancelable:!0,altKey:e.altKey,button:e.button,clientX:e.clientX,clientY:e.clientY,ctrlKey:e.ctrlKey,detail:0,metaKey:e.metaKey,relatedTarget:t.related,screenX:e.screenX,screenY:e.screenY,shiftKey:e.shiftKey,view:window});const{drag:n}=t;this.dropAction="none",this.mimeData=n.mimeData,this.proposedAction=n.proposedAction,this.supportedActions=n.supportedActions,this.source=n.source}}e.Event=t,e.overrideCursor=function(e,t=document){return i.overrideCursor(e,t)}}(r||(r={})),function(e){function t(o,r=document){if(o){if(n&&o==n.event)return n.element;e.cursorBackdrop.style.zIndex="-1000";let t=r.elementFromPoint(o.clientX,o.clientY);return e.cursorBackdrop.style.zIndex="",n={event:o,element:t},t}{let t=e.cursorBackdrop.style.transform;if(i&&t===i.transform)return i.element;let n=e.cursorBackdrop.getBoundingClientRect();e.cursorBackdrop.style.zIndex="-1000";let o=r.elementFromPoint(n.left+n.width/2,n.top+n.height/2);return e.cursorBackdrop.style.zIndex="",i={transform:t,element:o},o}}e.SCROLL_EDGE_SIZE=20,e.validateAction=function(e,t){return a[e]&l[t]?e:"none"},e.findElementBehindBackdrop=t;let n=null,i=null;function s(n){let i=n.clientX,o=n.clientY,r=t(n);for(;r;r=r.parentElement){let t,n;if(!r.hasAttribute("data-lm-dragscroll"))continue;let s=0,a=0;r===document.body&&(s=window.pageXOffset,a=window.pageYOffset);let l=r.getBoundingClientRect(),d=l.top+a,c=l.left+s,h=c+l.width,u=d+l.height;if(i<c||i>=h||o<d||o>=u)continue;let p=i-c+1,m=o-d+1,g=h-i,A=u-o,C=Math.min(p,m,g,A);if(C>e.SCROLL_EDGE_SIZE)continue;switch(C){case A:t="bottom";break;case m:t="top";break;case g:t="right";break;case p:t="left";break;default:throw"unreachable"}let f=r.scrollWidth-r.clientWidth,b=r.scrollHeight-r.clientHeight;switch(t){case"top":n=b>0&&r.scrollTop>0;break;case"left":n=f>0&&r.scrollLeft>0;break;case"right":n=f>0&&r.scrollLeft<f;break;case"bottom":n=b>0&&r.scrollTop<b;break;default:throw"unreachable"}if(n)return{element:r,edge:t,distance:C}}return null}e.findScrollTarget=s,e.dispatchDragEnter=function(e,t,n,i){if(!t)return null;let o=new r.Event(i,{drag:e,related:n,type:"lm-dragenter"});if(!t.dispatchEvent(o))return t;let s=e.document instanceof Document?e.document.body:e.document.firstElementChild;return t===s?n:(o=new r.Event(i,{drag:e,related:n,type:"lm-dragenter"}),s.dispatchEvent(o),s)},e.dispatchDragExit=function(e,t,n,i){if(!t)return;let o=new r.Event(i,{drag:e,related:n,type:"lm-dragexit"});t.dispatchEvent(o)},e.dispatchDragLeave=function(e,t,n,i){if(!t)return;let o=new r.Event(i,{drag:e,related:n,type:"lm-dragleave"});t.dispatchEvent(o)},e.dispatchDragOver=function(e,t,n){if(!t)return"none";let i=new r.Event(n,{drag:e,related:null,type:"lm-dragover"});return t.dispatchEvent(i)?"none":i.dropAction},e.dispatchDrop=function(e,t,n){if(!t)return"none";let i=new r.Event(n,{drag:e,related:null,type:"lm-drop"});return t.dispatchEvent(i)?"none":i.dropAction};let a={none:0,copy:1,link:2,move:4},l={none:a.none,copy:a.copy,link:a.link,move:a.move,"copy-link":a.copy|a.link,"copy-move":a.copy|a.move,"link-move":a.link|a.move,all:a.copy|a.link|a.move};function d(t,n=document){let i=++m,r=n instanceof Document?n.body:n.firstElementChild;return e.cursorBackdrop.isConnected||(e.cursorBackdrop.style.transform="scale(0)",r.appendChild(e.cursorBackdrop),u(),document.addEventListener("pointermove",c,{capture:!0,passive:!0}),e.cursorBackdrop.addEventListener("scroll",h,{capture:!0,passive:!0})),e.cursorBackdrop.style.cursor=t,new o.DisposableDelegate(()=>{i===m&&e.cursorBackdrop.isConnected&&(document.removeEventListener("pointermove",c,!0),e.cursorBackdrop.removeEventListener("scroll",h,!0),r.removeChild(e.cursorBackdrop))})}function c(t){if(e.cursorBackdrop){e.cursorBackdrop.style.transform=`translate(${t.clientX}px, ${t.clientY}px)`;try{e.cursorBackdrop.hasPointerCapture(t.pointerId)||e.cursorBackdrop.setPointerCapture(t.pointerId)}catch(e){}}}function h(n){if(!e.cursorBackdrop)return;let i=t();if(!i)return;let o=i.closest("[data-lm-dragscroll]");o&&(o.scrollTop+=e.cursorBackdrop.scrollTop-p,o.scrollLeft+=e.cursorBackdrop.scrollLeft-p,u())}function u(){e.cursorBackdrop.scrollTop=p,e.cursorBackdrop.scrollLeft=p}e.overrideCursor=d;let p=500,m=0;e.cursorBackdrop=function(){let e=document.createElement("div");return e.classList.add("lm-cursor-backdrop"),e}()}(i||(i={}))},13443(e,t,n){"use strict";var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(36869),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},72996(e,t,n){"use strict";var i;function o(){return i.keyboardLayout}function r(e){i.keyboardLayout=e}n.r(t),n.d(t,{EN_US:()=>a,KeycodeLayout:()=>s,getKeyboardLayout:()=>o,setKeyboardLayout:()=>r});class s{constructor(e,t,n=[]){this.name=e,this._codes=t,this._keys=s.extractKeys(t),this._modifierKeys=s.convertToKeySet(n)}keys(){return Object.keys(this._keys)}isValidKey(e){return e in this._keys}isModifierKey(e){return e in this._modifierKeys}keyForKeydownEvent(e){return this._codes[e.keyCode]||""}}!function(e){e.extractKeys=function(e){let t=Object.create(null);for(let n in e)t[e[n]]=!0;return t},e.convertToKeySet=function(e){let t=Object(null);for(let n=0,i=e.length;n<i;++n)t[e[n]]=!0;return t}}(s||(s={}));let a=new s("en-us",{8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",27:"Escape",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",91:"Meta",93:"ContextMenu",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",224:"Meta"},["Shift","Ctrl","Alt","Meta"]);!function(e){e.keyboardLayout=a}(i||(i={}))},79057(e,t,n){"use strict";n.r(t),n.d(t,{ConflatableMessage:()=>l,Message:()=>a,MessageLoop:()=>o});var i,o,r=n(65819);class s{constructor(){this._first=null,this._last=null,this._size=0}get isEmpty(){return 0===this._size}get size(){return this._size}get length(){return this._size}get first(){return this._first?this._first.value:void 0}get last(){return this._last?this._last.value:void 0}get firstNode(){return this._first}get lastNode(){return this._last}*[Symbol.iterator](){let e=this._first;for(;e;)yield e.value,e=e.next}*retro(){let e=this._last;for(;e;)yield e.value,e=e.prev}*nodes(){let e=this._first;for(;e;)yield e,e=e.next}*retroNodes(){let e=this._last;for(;e;)yield e,e=e.prev}assign(e){for(let t of(this.clear(),e))this.addLast(t)}push(e){this.addLast(e)}pop(){return this.removeLast()}shift(e){this.addFirst(e)}unshift(){return this.removeFirst()}addFirst(e){let t=new i.LinkedListNode(this,e);return this._first?(t.next=this._first,this._first.prev=t,this._first=t):(this._first=t,this._last=t),this._size++,t}addLast(e){let t=new i.LinkedListNode(this,e);return this._last?(t.prev=this._last,this._last.next=t):this._first=t,this._last=t,this._size++,t}insertBefore(e,t){if(!t||t===this._first)return this.addFirst(e);if(!(t instanceof i.LinkedListNode)||t.list!==this)throw Error("Reference node is not owned by the list.");let n=new i.LinkedListNode(this,e),o=t,r=o.prev;return n.next=o,n.prev=r,o.prev=n,r.next=n,this._size++,n}insertAfter(e,t){if(!t||t===this._last)return this.addLast(e);if(!(t instanceof i.LinkedListNode)||t.list!==this)throw Error("Reference node is not owned by the list.");let n=new i.LinkedListNode(this,e),o=t,r=o.next;return n.next=r,n.prev=o,o.next=n,r.prev=n,this._size++,n}removeFirst(){let e=this._first;if(e)return e===this._last?(this._first=null,this._last=null):(this._first=e.next,this._first.prev=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeLast(){let e=this._last;if(e)return e===this._first?(this._first=null,this._last=null):(this._last=e.prev,this._last.next=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeNode(e){if(!(e instanceof i.LinkedListNode)||e.list!==this)throw Error("Node is not owned by the list.");let t=e;t===this._first&&t===this._last?(this._first=null,this._last=null):t===this._first?(this._first=t.next,this._first.prev=null):t===this._last?(this._last=t.prev,this._last.next=null):(t.next.prev=t.prev,t.prev.next=t.next),t.list=null,t.next=null,t.prev=null,this._size--}clear(){let e=this._first;for(;e;){let t=e.next;e.list=null,e.prev=null,e.next=null,e=t}this._first=null,this._last=null,this._size=0}}!function(e){function t(t){let n=new e;return n.assign(t),n}e.from=t}(s||(s={})),function(e){class t{constructor(e,t){this.list=null,this.next=null,this.prev=null,this.list=e,this.value=t}}e.LinkedListNode=t}(i||(i={}));class a{constructor(e){this.type=e}get isConflatable(){return!1}conflate(e){return!1}}class l extends a{get isConflatable(){return!0}conflate(e){return!0}}!function(e){let t,n=null,i=(t=Promise.resolve(),e=>{let n=!1;return t.then(()=>!n&&e()),()=>{n=!0}});function o(e,t){let n=l.get(e);n&&0!==n.length?(0,r.every)((0,r.retro)(n),n=>!n||u(n,e,t))&&p(e,t):p(e,t)}e.sendMessage=o,e.postMessage=function(e,t){t.isConflatable&&(0,r.some)(a,n=>n.handler===e&&!!n.msg&&n.msg.type===t.type&&!!n.msg.isConflatable&&n.msg.conflate(t))||m(e,t)},e.installMessageHook=function(e,t){let n=l.get(e);n&&-1!==n.indexOf(t)||(n?n.push(t):l.set(e,[t]))},e.removeMessageHook=function(e,t){let n=l.get(e);if(!n)return;let i=n.indexOf(t);-1!==i&&(n[i]=null,A(n))},e.clearData=function(e){let t=l.get(e);for(let n of(t&&t.length>0&&(r.ArrayExt.fill(t,null),A(t)),a))n.handler===e&&(n.handler=null,n.msg=null)},e.flush=function(){h||null===n||(n(),n=null,h=!0,g(),h=!1)},e.getExceptionHandler=function(){return c},e.setExceptionHandler=function(e){let t=c;return c=e,t};let a=new s,l=new WeakMap,d=new Set,c=e=>{console.error(e)},h=!1;function u(e,t,n){let i=!0;try{i="function"==typeof e?e(t,n):e.messageHook(t,n)}catch(e){c(e)}return i}function p(e,t){try{e.processMessage(t)}catch(e){c(e)}}function m(e,t){a.addLast({handler:e,msg:t}),null===n&&(n=i(g))}function g(){if(n=null,a.isEmpty)return;let e={handler:null,msg:null};for(a.addLast(e);;){let t=a.removeFirst();if(t===e)return;t.handler&&t.msg&&o(t.handler,t.msg)}}function A(e){0===d.size&&i(C),d.add(e)}function C(){d.forEach(f),d.clear()}function f(e){r.ArrayExt.removeAllWhere(e,b)}function b(e){return null===e}}(o||(o={}))},68534(e,t,n){"use strict";n.r(t),n.d(t,{Debouncer:()=>l,Poll:()=>s,RateLimiter:()=>a,Throttler:()=>d});var i,o=n(55187),r=n(20659);class s{constructor(e){var t;this._disposed=new r.Signal(this),this._lingered=0,this._tick=new o.PromiseDelegate,this._ticked=new r.Signal(this),this._factory=e.factory,this._linger=null!=(t=e.linger)?t:i.DEFAULT_LINGER,this._standby=e.standby||i.DEFAULT_STANDBY,this._state={...i.DEFAULT_STATE,timestamp:new Date().getTime()};const n=e.frequency||{},s=Math.max(n.interval||0,n.max||0,i.DEFAULT_FREQUENCY.max);this.frequency={...i.DEFAULT_FREQUENCY,...n,max:s},this.name=e.name||i.DEFAULT_NAME,"auto"in e&&!e.auto||setTimeout(()=>this.start())}get disposed(){return this._disposed}get frequency(){return this._frequency}set frequency(e){if(this.isDisposed||o.JSONExt.deepEqual(e,this.frequency||{}))return;let{backoff:t,interval:n,max:i}=e;if(n=Math.round(n),i=Math.round(i),"number"==typeof t&&t<1)throw Error("Poll backoff growth factor must be at least 1");if((n<0||n>i)&&n!==s.NEVER)throw Error("Poll interval must be between 0 and max");if(i>s.MAX_INTERVAL&&i!==s.NEVER)throw Error(`Max interval must be less than ${s.MAX_INTERVAL}`);this._frequency={backoff:t,interval:n,max:i}}get isDisposed(){return"disposed"===this.state.phase}get standby(){return this._standby}set standby(e){this.isDisposed||this.standby===e||(this._standby=e)}get state(){return this._state}get tick(){return this._tick.promise}get ticked(){return this._ticked}async *[Symbol.asyncIterator](){for(;!this.isDisposed;)yield this.state,await this.tick.catch(()=>void 0)}dispose(){this.isDisposed||(this._state={...i.DISPOSED_STATE,timestamp:new Date().getTime()},this._tick.promise.catch(e=>void 0),this._tick.reject(Error(`Poll (${this.name}) is disposed.`)),this._disposed.emit(void 0),r.Signal.clearData(this))}refresh(){return this.schedule({cancel:({phase:e})=>"refreshed"===e,interval:s.IMMEDIATE,phase:"refreshed"})}async schedule(e={}){if(this.isDisposed||e.cancel&&e.cancel(this.state))return;let t=this._tick,n=new o.PromiseDelegate,i={interval:this.frequency.interval,payload:null,phase:"standby",timestamp:new Date().getTime(),...e};if(this._state=i,this._tick=n,clearTimeout(this._timeout),this._ticked.emit(this.state),t.resolve(this),await t.promise,i.interval===s.NEVER){this._timeout=void 0;return}let r=()=>{this.isDisposed||this.tick!==n.promise||this._execute()};this._timeout=setTimeout(r,i.interval)}start(){return this.schedule({cancel:({phase:e})=>"constructed"!==e&&"standby"!==e&&"stopped"!==e,interval:s.IMMEDIATE,phase:"started"})}stop(){return this.schedule({cancel:({phase:e})=>"stopped"===e,interval:s.NEVER,phase:"stopped"})}get hidden(){return i.hidden}_execute(){let e="function"==typeof this.standby?this.standby():this.standby;if("never"===e?e=!1:"when-hidden"===e&&(this.hidden?e=++this._lingered>this._linger:(this._lingered=0,e=!1)),e)return void this.schedule();let t=this.tick;this._factory(this.state).then(e=>{this.isDisposed||this.tick!==t||this.schedule({payload:e,phase:"rejected"===this.state.phase?"reconnected":"resolved"})}).catch(e=>{this.isDisposed||this.tick!==t||this.schedule({interval:i.sleep(this.frequency,this.state),payload:e,phase:"rejected"})})}}!function(e){e.IMMEDIATE=0,e.MAX_INTERVAL=0x7fffffff,e.NEVER=1/0}(s||(s={})),function(e){function t(t,i){let{backoff:o,interval:r,max:a}=t;if(r===s.NEVER)return r;let l=!0===o?e.DEFAULT_BACKOFF:!1===o?1:o;return Math.min(a,n(r,i.interval*l))}function n(e,t){return e=Math.ceil(e),Math.floor(Math.random()*((t=Math.floor(t))-e+1))+e}e.DEFAULT_BACKOFF=3,e.DEFAULT_FREQUENCY={backoff:!0,interval:1e3,max:3e4},e.DEFAULT_LINGER=1,e.DEFAULT_NAME="unknown",e.DEFAULT_STANDBY="when-hidden",e.DEFAULT_STATE={interval:s.NEVER,payload:null,phase:"constructed",timestamp:new Date(0).getTime()},e.DISPOSED_STATE={interval:s.NEVER,payload:null,phase:"disposed",timestamp:new Date(0).getTime()},e.sleep=t,e.hidden=!("u"<typeof document)&&(document.addEventListener("visibilitychange",()=>{e.hidden="hidden"===document.visibilityState}),document.addEventListener("pagehide",()=>{e.hidden="hidden"===document.visibilityState}),"hidden"===document.visibilityState)}(i||(i={}));class a{constructor(e,t=500){this.args=void 0,this.payload=null,this.limit=t,this.poll=new s({auto:!1,factory:async()=>{let{args:t}=this;return this.args=void 0,e(...t)},frequency:{backoff:!1,interval:s.NEVER,max:s.NEVER},standby:"never"}),this.payload=new o.PromiseDelegate,this.poll.ticked.connect((e,t)=>{let{payload:n}=this;if("resolved"===t.phase){this.payload=new o.PromiseDelegate,n.resolve(t.payload);return}if("rejected"===t.phase||"stopped"===t.phase){this.payload=new o.PromiseDelegate,n.promise.catch(e=>void 0),n.reject(t.payload);return}},this)}get isDisposed(){return null===this.payload}dispose(){this.isDisposed||(this.args=void 0,this.payload=null,this.poll.dispose())}async stop(){return this.poll.stop()}}class l extends a{invoke(...e){return this.args=e,this.poll.schedule({interval:this.limit,phase:"invoked"}),this.payload.promise}}class d extends a{constructor(e,t){super(e,"number"==typeof t?t:t&&t.limit),this._trailing=!1,"number"!=typeof t&&t&&"trailing"===t.edge&&(this._trailing=!0),this._interval=this._trailing?this.limit:s.IMMEDIATE}invoke(...e){let t="invoked"!==this.poll.state.phase;return(t||this._trailing)&&(this.args=e),t&&this.poll.schedule({interval:this._interval,phase:"invoked"}),this.payload.promise}}},21628(e,t,n){"use strict";var i;n.r(t),n.d(t,{AttachedProperty:()=>o});class o{constructor(e){this._pid=i.nextPID(),this.name=e.name,this._create=e.create,this._coerce=e.coerce||null,this._compare=e.compare||null,this._changed=e.changed||null}get(e){let t=i.ensureMap(e);return this._pid in t?t[this._pid]:t[this._pid]=this._createValue(e)}set(e,t){let n,o=i.ensureMap(e);n=this._pid in o?o[this._pid]:o[this._pid]=this._createValue(e);let r=this._coerceValue(e,t);this._maybeNotify(e,n,o[this._pid]=r)}coerce(e){let t,n=i.ensureMap(e);t=this._pid in n?n[this._pid]:n[this._pid]=this._createValue(e);let o=this._coerceValue(e,t);this._maybeNotify(e,t,n[this._pid]=o)}_createValue(e){return(0,this._create)(e)}_coerceValue(e,t){let n=this._coerce;return n?n(e,t):t}_compareValue(e,t){let n=this._compare;return n?n(e,t):e===t}_maybeNotify(e,t,n){let i=this._changed;i&&!this._compareValue(t,n)&&i(e,t,n)}}!function(e){e.clearData=function(e){i.ownerData.delete(e)}}(o||(o={})),function(e){function t(t){let n=e.ownerData.get(t);return n||(n=Object.create(null),e.ownerData.set(t,n)),n}e.ownerData=new WeakMap,e.nextPID=(()=>{let e=0;return()=>{let t=Math.random(),n=`${t}`.slice(2);return`pid-${n}-${e++}`}})(),e.ensureMap=t}(i||(i={}))},96903(e,t,n){"use strict";n.r(t),n.d(t,{Signal:()=>s,Stream:()=>a});var i,o=n(65819),r=n(55187);class s{constructor(e){this.sender=e}connect(e,t){return i.connect(this,e,t)}disconnect(e,t){return i.disconnect(this,e,t)}emit(e){i.emit(this,e)}}!function(e){e.disconnectBetween=function(e,t){i.disconnectBetween(e,t)},e.disconnectSender=function(e){i.disconnectSender(e)},e.disconnectReceiver=function(e){i.disconnectReceiver(e)},e.disconnectAll=function(e){i.disconnectAll(e)},e.clearData=function(e){i.disconnectAll(e)},e.getExceptionHandler=function(){return i.exceptionHandler},e.setExceptionHandler=function(e){let t=i.exceptionHandler;return i.exceptionHandler=e,t}}(s||(s={}));class a extends s{constructor(){super(...arguments),this._pending=new r.PromiseDelegate}async *[Symbol.asyncIterator](){let e=this._pending;for(;;)try{let{args:t,next:n}=await e.promise;e=n,yield t}catch(e){return}}emit(e){let t=this._pending,n=this._pending=new r.PromiseDelegate;t.resolve({args:e,next:n}),super.emit(e)}stop(){this._pending.promise.catch(()=>void 0),this._pending.reject("stop"),this._pending=new r.PromiseDelegate}}!function(e){function t(e){let t=i.get(e);if(t&&0!==t.length){for(let e of t){if(!e.signal)continue;let t=e.thisArg||e.slot;e.signal=null,c(r.get(t))}c(t)}}function n(e){let t=r.get(e);if(t&&0!==t.length){for(let e of t){if(!e.signal)continue;let t=e.signal.sender;e.signal=null,c(i.get(t))}c(t)}}e.exceptionHandler=e=>{console.error(e)},e.connect=function(e,t,n){n=n||void 0;let o=i.get(e.sender);if(o||(o=[],i.set(e.sender,o)),l(o,e,t,n))return!1;let s=n||t,a=r.get(s);a||(a=[],r.set(s,a));let d={signal:e,slot:t,thisArg:n};return o.push(d),a.push(d),!0},e.disconnect=function(e,t,n){n=n||void 0;let o=i.get(e.sender);if(!o||0===o.length)return!1;let s=l(o,e,t,n);if(!s)return!1;let a=n||t,d=r.get(a);return s.signal=null,c(o),c(d),!0},e.disconnectBetween=function(e,t){let n=i.get(e);if(!n||0===n.length)return;let o=r.get(t);if(o&&0!==o.length){for(let t of o)t.signal&&t.signal.sender===e&&(t.signal=null);c(n),c(o)}},e.disconnectSender=t,e.disconnectReceiver=n,e.disconnectAll=function(e){t(e),n(e)},e.emit=function(e,t){let n=i.get(e.sender);if(n&&0!==n.length)for(let i=0,o=n.length;i<o;++i){let o=n[i];o.signal===e&&d(o,t)}};let i=new WeakMap,r=new WeakMap,s=new Set,a="function"==typeof requestAnimationFrame?requestAnimationFrame:setImmediate;function l(e,t,n,i){return(0,o.find)(e,e=>e.signal===t&&e.slot===n&&e.thisArg===i)}function d(t,n){let{signal:i,slot:o,thisArg:r}=t;try{o.call(r,i.sender,n)}catch(t){e.exceptionHandler(t)}}function c(e){0===s.size&&a(h),s.add(e)}function h(){s.forEach(u),s.clear()}function u(e){o.ArrayExt.removeAllWhere(e,p)}function p(e){return null===e.signal}}(i||(i={}))},57340(e,t,n){"use strict";n.r(t),n.d(t,{VirtualDOM:()=>i,VirtualElement:()=>a,VirtualElementPass:()=>l,VirtualText:()=>s,h:()=>d,hpass:()=>c});var i,o,r=n(65819);class s{constructor(e){this.type="text",this.content=e}}class a{constructor(e,t,n,i){this.type="element",this.tag=e,this.attrs=t,this.children=n,this.renderer=i}}class l extends a{constructor(e,t,n){super(e,t,[],n||void 0)}}function d(e){let t,n={},i=[];for(let e=1,r=arguments.length;e<r;++e){let r=arguments[e];"string"==typeof r?i.push(new s(r)):r instanceof s||r instanceof a?i.push(r):r instanceof Array?o(i,r):(1===e||2===e)&&r&&"object"==typeof r&&("render"in r?t=r:n=r)}return new a(e,n,i,t);function o(e,t){for(let n of t)"string"==typeof n?e.push(new s(n)):n instanceof s?e.push(n):n instanceof a&&e.push(n)}}function c(e){let t={},n=null;if(2==arguments.length){let e=arguments[1];"render"in e?n=e:t=e}else if(3==arguments.length)t=arguments[1],n=arguments[2];else if(arguments.length>3)throw Error("hpass() should be called with 1, 2, or 3 arguments");return new l(e,t,n)}!function(e){e.a=e.bind(void 0,"a"),e.abbr=e.bind(void 0,"abbr"),e.address=e.bind(void 0,"address"),e.area=e.bind(void 0,"area"),e.article=e.bind(void 0,"article"),e.aside=e.bind(void 0,"aside"),e.audio=e.bind(void 0,"audio"),e.b=e.bind(void 0,"b"),e.bdi=e.bind(void 0,"bdi"),e.bdo=e.bind(void 0,"bdo"),e.blockquote=e.bind(void 0,"blockquote"),e.br=e.bind(void 0,"br"),e.button=e.bind(void 0,"button"),e.canvas=e.bind(void 0,"canvas"),e.caption=e.bind(void 0,"caption"),e.cite=e.bind(void 0,"cite"),e.code=e.bind(void 0,"code"),e.col=e.bind(void 0,"col"),e.colgroup=e.bind(void 0,"colgroup"),e.data=e.bind(void 0,"data"),e.datalist=e.bind(void 0,"datalist"),e.dd=e.bind(void 0,"dd"),e.del=e.bind(void 0,"del"),e.dfn=e.bind(void 0,"dfn"),e.div=e.bind(void 0,"div"),e.dl=e.bind(void 0,"dl"),e.dt=e.bind(void 0,"dt"),e.em=e.bind(void 0,"em"),e.embed=e.bind(void 0,"embed"),e.fieldset=e.bind(void 0,"fieldset"),e.figcaption=e.bind(void 0,"figcaption"),e.figure=e.bind(void 0,"figure"),e.footer=e.bind(void 0,"footer"),e.form=e.bind(void 0,"form"),e.h1=e.bind(void 0,"h1"),e.h2=e.bind(void 0,"h2"),e.h3=e.bind(void 0,"h3"),e.h4=e.bind(void 0,"h4"),e.h5=e.bind(void 0,"h5"),e.h6=e.bind(void 0,"h6"),e.header=e.bind(void 0,"header"),e.hr=e.bind(void 0,"hr"),e.i=e.bind(void 0,"i"),e.iframe=e.bind(void 0,"iframe"),e.img=e.bind(void 0,"img"),e.input=e.bind(void 0,"input"),e.ins=e.bind(void 0,"ins"),e.kbd=e.bind(void 0,"kbd"),e.label=e.bind(void 0,"label"),e.legend=e.bind(void 0,"legend"),e.li=e.bind(void 0,"li"),e.main=e.bind(void 0,"main"),e.map=e.bind(void 0,"map"),e.mark=e.bind(void 0,"mark"),e.meter=e.bind(void 0,"meter"),e.nav=e.bind(void 0,"nav"),e.noscript=e.bind(void 0,"noscript"),e.object=e.bind(void 0,"object"),e.ol=e.bind(void 0,"ol"),e.optgroup=e.bind(void 0,"optgroup"),e.option=e.bind(void 0,"option"),e.output=e.bind(void 0,"output"),e.p=e.bind(void 0,"p"),e.param=e.bind(void 0,"param"),e.pre=e.bind(void 0,"pre"),e.progress=e.bind(void 0,"progress"),e.q=e.bind(void 0,"q"),e.rp=e.bind(void 0,"rp"),e.rt=e.bind(void 0,"rt"),e.ruby=e.bind(void 0,"ruby"),e.s=e.bind(void 0,"s"),e.samp=e.bind(void 0,"samp"),e.section=e.bind(void 0,"section"),e.select=e.bind(void 0,"select"),e.small=e.bind(void 0,"small"),e.source=e.bind(void 0,"source"),e.span=e.bind(void 0,"span"),e.strong=e.bind(void 0,"strong"),e.sub=e.bind(void 0,"sub"),e.summary=e.bind(void 0,"summary"),e.sup=e.bind(void 0,"sup"),e.table=e.bind(void 0,"table"),e.tbody=e.bind(void 0,"tbody"),e.td=e.bind(void 0,"td"),e.textarea=e.bind(void 0,"textarea"),e.tfoot=e.bind(void 0,"tfoot"),e.th=e.bind(void 0,"th"),e.thead=e.bind(void 0,"thead"),e.time=e.bind(void 0,"time"),e.title=e.bind(void 0,"title"),e.tr=e.bind(void 0,"tr"),e.track=e.bind(void 0,"track"),e.u=e.bind(void 0,"u"),e.ul=e.bind(void 0,"ul"),e.var_=e.bind(void 0,"var"),e.video=e.bind(void 0,"video"),e.wbr=e.bind(void 0,"wbr")}(d||(d={})),function(e){e.realize=function(e){return o.createDOMNode(e)},e.render=function(e,t){let n=o.hostMap.get(t)||[],i=o.asContentArray(e);o.hostMap.set(t,i),o.updateContent(t,n,i)}}(i||(i={})),function(e){function t(e){let n=arguments[1]||null,i=arguments[2]||null;if(n)n.insertBefore(t(e),i);else{if("text"===e.type)return document.createTextNode(e.content);if(s(n=document.createElement(e.tag),e.attrs),e.renderer)return e.renderer.render(n,{attrs:e.attrs,children:e.children}),n;for(let i=0,o=e.children.length;i<o;++i)t(e.children[i],n)}return n}function n(e,o,s){if(o===s)return;let l=u(e,o),d=o.slice(),c=e.firstChild,h=s.length;for(let i=0;i<h;++i){if(i>=d.length){t(s[i],e);continue}let o=d[i],h=s[i];if(o===h){c=c.nextSibling;continue}if("text"===o.type&&"text"===h.type){c.textContent!==h.content&&(c.textContent=h.content),c=c.nextSibling;continue}if("text"===o.type||"text"===h.type||!o.renderer!=!h.renderer){r.ArrayExt.insert(d,i,h),t(h,e,c);continue}let u=h.attrs.key;if(u&&u in l){let t=l[u];t.vNode!==o&&(r.ArrayExt.move(d,d.indexOf(t.vNode,i+1),i),e.insertBefore(t.element,c),o=t.vNode,c=t.element)}if(o===h){c=c.nextSibling;continue}let p=o.attrs.key;if(p&&p!==u||o.tag!==h.tag){r.ArrayExt.insert(d,i,h),t(h,e,c);continue}a(c,o.attrs,h.attrs),h.renderer?h.renderer.render(c,{attrs:h.attrs,children:h.children}):n(c,o.children,h.children),c=c.nextSibling}i(e,d,h,!0)}function i(e,t,n,o){for(let r=t.length-1;r>=n;--r){let n=t[r],s=o?e.lastChild:e.childNodes[r];"text"===n.type||(n.renderer&&n.renderer.unrender?n.renderer.unrender(s,{attrs:n.attrs,children:n.children}):i(s,n.children,0,!1)),o&&e.removeChild(s)}}e.hostMap=new WeakMap,e.asContentArray=function(e){return e?e instanceof Array?e:[e]:[]},e.createDOMNode=t,e.updateContent=n;let o={key:!0,className:!0,htmlFor:!0,dataset:!0,style:!0};function s(e,t){for(let n in t)n in o||("on"===n.substr(0,2)?e[n]=t[n]:e.setAttribute(n,t[n]));void 0!==t.className&&e.setAttribute("class",t.className),void 0!==t.htmlFor&&e.setAttribute("for",t.htmlFor),t.dataset&&l(e,t.dataset),t.style&&c(e,t.style)}function a(e,t,n){let i;if(t!==n){for(i in t)i in o||i in n||("on"===i.substr(0,2)?e[i]=null:e.removeAttribute(i));for(i in n)i in o||t[i]===n[i]||("on"===i.substr(0,2)?e[i]=n[i]:e.setAttribute(i,n[i]));t.className!==n.className&&(void 0!==n.className?e.setAttribute("class",n.className):e.removeAttribute("class")),t.htmlFor!==n.htmlFor&&(void 0!==n.htmlFor?e.setAttribute("for",n.htmlFor):e.removeAttribute("for")),t.dataset!==n.dataset&&d(e,t.dataset||{},n.dataset||{}),t.style!==n.style&&h(e,t.style||{},n.style||{})}}function l(e,t){for(let n in t)e.setAttribute(`data-${n}`,t[n])}function d(e,t,n){for(let i in t)i in n||e.removeAttribute(`data-${i}`);for(let i in n)t[i]!==n[i]&&e.setAttribute(`data-${i}`,n[i])}function c(e,t){let n,i=e.style;for(n in t)i[n]=t[n]}function h(e,t,n){let i,o=e.style;for(i in t)i in n||(o[i]="");for(i in n)t[i]!==n[i]&&(o[i]=n[i])}function u(e,t){let n=e.firstChild,i=Object.create(null);for(let e of t)"element"===e.type&&e.attrs.key&&(i[e.attrs.key]={vNode:e,element:n}),n=n.nextSibling;return i}}(o||(o={}))},14292(e,t,n){"use strict";n.r(t),n.d(t,{AccordionLayout:()=>Y,AccordionPanel:()=>G,BoxEngine:()=>i,BoxLayout:()=>$,BoxPanel:()=>J,BoxSizer:()=>P,CommandPalette:()=>K,ContextMenu:()=>Q,DockLayout:()=>et,DockPanel:()=>en,FocusTracker:()=>ei,GridLayout:()=>eo,Layout:()=>O,LayoutItem:()=>F,Menu:()=>Z,MenuBar:()=>er,Panel:()=>V,PanelLayout:()=>W,ScrollBar:()=>es,SingletonLayout:()=>ea,SplitLayout:()=>U,SplitPanel:()=>q,StackedLayout:()=>el,StackedPanel:()=>ed,TabBar:()=>ee,TabPanel:()=>ec,Title:()=>z,Widget:()=>R});var i,o,r,s,a,l,d,c,h,u,p,m,g,A,C,f,b,v,_,y,E,w,j=n(65819),x=n(55187),B=n(53193),S=n(93771),M=n(17981),I=n(20659),k=n(11957),D=n(46976),T=n(19953),L=n(63995),N=n(70941);class P{constructor(){this.sizeHint=0,this.minSize=0,this.maxSize=1/0,this.stretch=1,this.size=0,this.done=!1}}!function(e){function t(e,t,n){let i=0;for(let n=0;n<=t;++n){let t=e[n];i+=t.maxSize-t.size}let o=0;for(let n=t+1,i=e.length;n<i;++n){let t=e[n];o+=t.size-t.minSize}let r=n=Math.min(n,i,o);for(let n=t;n>=0&&r>0;--n){let t=e[n],i=t.maxSize-t.size;i>=r?(t.sizeHint=t.size+r,r=0):(t.sizeHint=t.size+i,r-=i)}let s=n;for(let n=t+1,i=e.length;n<i&&s>0;++n){let t=e[n],i=t.size-t.minSize;i>=s?(t.sizeHint=t.size-s,s=0):(t.sizeHint=t.size-i,s-=i)}}function n(e,t,n){let i=0;for(let n=t+1,o=e.length;n<o;++n){let t=e[n];i+=t.maxSize-t.size}let o=0;for(let n=0;n<=t;++n){let t=e[n];o+=t.size-t.minSize}let r=n=Math.min(n,i,o);for(let n=t+1,i=e.length;n<i&&r>0;++n){let t=e[n],i=t.maxSize-t.size;i>=r?(t.sizeHint=t.size+r,r=0):(t.sizeHint=t.size+i,r-=i)}let s=n;for(let n=t;n>=0&&s>0;--n){let t=e[n],i=t.size-t.minSize;i>=s?(t.sizeHint=t.size-s,s=0):(t.sizeHint=t.size-i,s-=i)}}e.calc=function(e,t){let n=e.length;if(0===n)return t;let i=0,o=0,r=0,s=0,a=0;for(let t=0;t<n;++t){let n=e[t],l=n.minSize,d=n.maxSize,c=n.sizeHint;n.done=!1,n.size=Math.max(l,Math.min(c,d)),r+=n.size,i+=l,o+=d,n.stretch>0&&(s+=n.stretch,a++)}if(t===r)return 0;if(t<=i){for(let t=0;t<n;++t){let n=e[t];n.size=n.minSize}return t-i}if(t>=o){for(let t=0;t<n;++t){let n=e[t];n.size=n.maxSize}return t-o}let l=.01,d=n;if(t<r){let i=r-t;for(;a>0&&i>l;){let t=i,o=s;for(let r=0;r<n;++r){let n=e[r];if(n.done||0===n.stretch)continue;let l=n.stretch*t/o;n.size-l<=n.minSize?(i-=n.size-n.minSize,s-=n.stretch,n.size=n.minSize,n.done=!0,d--,a--):(i-=l,n.size-=l)}}for(;d>0&&i>l;){let t=i/d;for(let o=0;o<n;++o){let n=e[o];!n.done&&(n.size-t<=n.minSize?(i-=n.size-n.minSize,n.size=n.minSize,n.done=!0,d--):(i-=t,n.size-=t))}}}else{let i=t-r;for(;a>0&&i>l;){let t=i,o=s;for(let r=0;r<n;++r){let n=e[r];if(n.done||0===n.stretch)continue;let l=n.stretch*t/o;n.size+l>=n.maxSize?(i-=n.maxSize-n.size,s-=n.stretch,n.size=n.maxSize,n.done=!0,d--,a--):(i-=l,n.size+=l)}}for(;d>0&&i>l;){let t=i/d;for(let o=0;o<n;++o){let n=e[o];!n.done&&(n.size+t>=n.maxSize?(i-=n.maxSize-n.size,n.size=n.maxSize,n.done=!0,d--):(i-=t,n.size+=t))}}}return 0},e.adjust=function(e,i,o){0!==e.length&&0!==o&&(o>0?t(e,i,o):n(e,i,-o))}}(i||(i={}));class z{constructor(e){this._label="",this._caption="",this._mnemonic=-1,this._icon=void 0,this._iconClass="",this._iconLabel="",this._className="",this._closable=!1,this._changed=new I.Signal(this),this._isDisposed=!1,this.owner=e.owner,void 0!==e.label&&(this._label=e.label),void 0!==e.mnemonic&&(this._mnemonic=e.mnemonic),void 0!==e.icon&&(this._icon=e.icon),void 0!==e.iconClass&&(this._iconClass=e.iconClass),void 0!==e.iconLabel&&(this._iconLabel=e.iconLabel),void 0!==e.caption&&(this._caption=e.caption),void 0!==e.className&&(this._className=e.className),void 0!==e.closable&&(this._closable=e.closable),this._dataset=e.dataset||{}}get changed(){return this._changed}get label(){return this._label}set label(e){this._label!==e&&(this._label=e,this._changed.emit(void 0))}get mnemonic(){return this._mnemonic}set mnemonic(e){this._mnemonic!==e&&(this._mnemonic=e,this._changed.emit(void 0))}get icon(){return this._icon}set icon(e){this._icon!==e&&(this._icon=e,this._changed.emit(void 0))}get iconClass(){return this._iconClass}set iconClass(e){this._iconClass!==e&&(this._iconClass=e,this._changed.emit(void 0))}get iconLabel(){return this._iconLabel}set iconLabel(e){this._iconLabel!==e&&(this._iconLabel=e,this._changed.emit(void 0))}get caption(){return this._caption}set caption(e){this._caption!==e&&(this._caption=e,this._changed.emit(void 0))}get className(){return this._className}set className(e){this._className!==e&&(this._className=e,this._changed.emit(void 0))}get closable(){return this._closable}set closable(e){this._closable!==e&&(this._closable=e,this._changed.emit(void 0))}get dataset(){return this._dataset}set dataset(e){this._dataset!==e&&(this._dataset=e,this._changed.emit(void 0))}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,I.Signal.clearData(this))}}class R{constructor(e={}){this._flags=0,this._layout=null,this._parent=null,this._disposed=new I.Signal(this),this._hiddenMode=R.HiddenMode.Display,this.node=o.createNode(e),this.addClass("lm-Widget")}dispose(){this.isDisposed||(this.setFlag(R.Flag.IsDisposed),this._disposed.emit(void 0),this.parent?this.parent=null:this.isAttached&&R.detach(this),this._layout&&(this._layout.dispose(),this._layout=null),this.title.dispose(),I.Signal.clearData(this),S.MessageLoop.clearData(this),M.AttachedProperty.clearData(this))}get disposed(){return this._disposed}get isDisposed(){return this.testFlag(R.Flag.IsDisposed)}get isAttached(){return this.testFlag(R.Flag.IsAttached)}get isHidden(){return this.testFlag(R.Flag.IsHidden)}get isVisible(){let e=this;do{if(e.isHidden||!e.isAttached)return!1;e=e.parent}while(null!=e);return!0}get title(){return o.titleProperty.get(this)}get id(){return this.node.id}set id(e){this.node.id=e}get dataset(){return this.node.dataset}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){this._hiddenMode!==e&&(this.isHidden&&this._toggleHidden(!1),e==R.HiddenMode.Scale?this.node.style.willChange="transform":this.node.style.willChange="auto",this._hiddenMode=e,this.isHidden&&this._toggleHidden(!0))}get parent(){return this._parent}set parent(e){if(this._parent!==e){if(e&&this.contains(e))throw Error("Invalid parent widget.");if(this._parent&&!this._parent.isDisposed){let e=new R.ChildMessage("child-removed",this);S.MessageLoop.sendMessage(this._parent,e)}if(this._parent=e,this._parent&&!this._parent.isDisposed){let e=new R.ChildMessage("child-added",this);S.MessageLoop.sendMessage(this._parent,e)}this.isDisposed||S.MessageLoop.sendMessage(this,R.Msg.ParentChanged)}}get layout(){return this._layout}set layout(e){if(this._layout!==e){if(this.testFlag(R.Flag.DisallowLayout))throw Error("Cannot set widget layout.");if(this._layout)throw Error("Cannot change widget layout.");if(e.parent)throw Error("Cannot change layout parent.");this._layout=e,e.parent=this}}*children(){this._layout&&(yield*this._layout)}contains(e){for(let t=e;t;t=t._parent)if(t===this)return!0;return!1}hasClass(e){return this.node.classList.contains(e)}addClass(e){this.node.classList.add(e)}removeClass(e){this.node.classList.remove(e)}toggleClass(e,t){return!0===t?(this.node.classList.add(e),!0):!1===t?(this.node.classList.remove(e),!1):this.node.classList.toggle(e)}update(){S.MessageLoop.postMessage(this,R.Msg.UpdateRequest)}fit(){S.MessageLoop.postMessage(this,R.Msg.FitRequest)}activate(){S.MessageLoop.postMessage(this,R.Msg.ActivateRequest)}close(){S.MessageLoop.sendMessage(this,R.Msg.CloseRequest)}show(){if(this.testFlag(R.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&S.MessageLoop.sendMessage(this,R.Msg.BeforeShow),this.clearFlag(R.Flag.IsHidden),this._toggleHidden(!1),this.isAttached&&(!this.parent||this.parent.isVisible)&&S.MessageLoop.sendMessage(this,R.Msg.AfterShow),this.parent)){let e=new R.ChildMessage("child-shown",this);S.MessageLoop.sendMessage(this.parent,e)}}hide(){if(!this.testFlag(R.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&S.MessageLoop.sendMessage(this,R.Msg.BeforeHide),this.setFlag(R.Flag.IsHidden),this._toggleHidden(!0),this.isAttached&&(!this.parent||this.parent.isVisible)&&S.MessageLoop.sendMessage(this,R.Msg.AfterHide),this.parent)){let e=new R.ChildMessage("child-hidden",this);S.MessageLoop.sendMessage(this.parent,e)}}setHidden(e){e?this.hide():this.show()}testFlag(e){return(this._flags&e)!=0}setFlag(e){this._flags|=e}clearFlag(e){this._flags&=~e}processMessage(e){switch(e.type){case"resize":this.notifyLayout(e),this.onResize(e);break;case"update-request":this.notifyLayout(e),this.onUpdateRequest(e);break;case"fit-request":this.notifyLayout(e),this.onFitRequest(e);break;case"before-show":this.notifyLayout(e),this.onBeforeShow(e);break;case"after-show":this.setFlag(R.Flag.IsVisible),this.notifyLayout(e),this.onAfterShow(e);break;case"before-hide":this.notifyLayout(e),this.onBeforeHide(e);break;case"after-hide":this.clearFlag(R.Flag.IsVisible),this.notifyLayout(e),this.onAfterHide(e);break;case"before-attach":this.notifyLayout(e),this.onBeforeAttach(e);break;case"after-attach":this.isHidden||this.parent&&!this.parent.isVisible||this.setFlag(R.Flag.IsVisible),this.setFlag(R.Flag.IsAttached),this.notifyLayout(e),this.onAfterAttach(e);break;case"before-detach":this.notifyLayout(e),this.onBeforeDetach(e);break;case"after-detach":this.clearFlag(R.Flag.IsVisible),this.clearFlag(R.Flag.IsAttached),this.notifyLayout(e),this.onAfterDetach(e);break;case"activate-request":this.notifyLayout(e),this.onActivateRequest(e);break;case"close-request":this.notifyLayout(e),this.onCloseRequest(e);break;case"child-added":this.notifyLayout(e),this.onChildAdded(e);break;case"child-removed":this.notifyLayout(e),this.onChildRemoved(e);break;default:this.notifyLayout(e)}}notifyLayout(e){this._layout&&this._layout.processParentMessage(e)}onCloseRequest(e){this.parent?this.parent=null:this.isAttached&&R.detach(this)}onResize(e){}onUpdateRequest(e){}onFitRequest(e){}onActivateRequest(e){}onBeforeShow(e){}onAfterShow(e){}onBeforeHide(e){}onAfterHide(e){}onBeforeAttach(e){}onAfterAttach(e){}onBeforeDetach(e){}onAfterDetach(e){}onChildAdded(e){}onChildRemoved(e){}_toggleHidden(e){if(e)switch(this._hiddenMode){case R.HiddenMode.Display:this.addClass("lm-mod-hidden");break;case R.HiddenMode.Scale:this.node.style.transform="scale(0)",this.node.setAttribute("aria-hidden","true");break;case R.HiddenMode.ContentVisibility:this.node.style.contentVisibility="hidden",this.node.style.zIndex="-1"}else switch(this._hiddenMode){case R.HiddenMode.Display:this.removeClass("lm-mod-hidden");break;case R.HiddenMode.Scale:this.node.style.transform="",this.node.removeAttribute("aria-hidden");break;case R.HiddenMode.ContentVisibility:this.node.style.contentVisibility="",this.node.style.zIndex=""}}}!function(e){!function(e){e[e.Display=0]="Display",e[e.Scale=1]="Scale",e[e.ContentVisibility=2]="ContentVisibility"}(e.HiddenMode||(e.HiddenMode={})),function(e){e[e.IsDisposed=1]="IsDisposed",e[e.IsAttached=2]="IsAttached",e[e.IsHidden=4]="IsHidden",e[e.IsVisible=8]="IsVisible",e[e.DisallowLayout=16]="DisallowLayout"}(e.Flag||(e.Flag={})),function(e){e.BeforeShow=new S.Message("before-show"),e.AfterShow=new S.Message("after-show"),e.BeforeHide=new S.Message("before-hide"),e.AfterHide=new S.Message("after-hide"),e.BeforeAttach=new S.Message("before-attach"),e.AfterAttach=new S.Message("after-attach"),e.BeforeDetach=new S.Message("before-detach"),e.AfterDetach=new S.Message("after-detach"),e.ParentChanged=new S.Message("parent-changed"),e.UpdateRequest=new S.ConflatableMessage("update-request"),e.FitRequest=new S.ConflatableMessage("fit-request"),e.ActivateRequest=new S.ConflatableMessage("activate-request"),e.CloseRequest=new S.ConflatableMessage("close-request")}(e.Msg||(e.Msg={}));class t extends S.Message{constructor(e,t){super(e),this.child=t}}e.ChildMessage=t;class n extends S.Message{constructor(e,t){super("resize"),this.width=e,this.height=t}}function i(t,n,o=null){if(t.parent)throw Error("Cannot attach a child widget.");if(t.isAttached||t.node.isConnected)throw Error("Widget is already attached.");if(!n.isConnected)throw Error("Host is not attached.");S.MessageLoop.sendMessage(t,e.Msg.BeforeAttach),n.insertBefore(t.node,o),S.MessageLoop.sendMessage(t,e.Msg.AfterAttach)}function o(t){if(t.parent)throw Error("Cannot detach a child widget.");if(!t.isAttached||!t.node.isConnected)throw Error("Widget is not attached.");S.MessageLoop.sendMessage(t,e.Msg.BeforeDetach),t.node.parentNode.removeChild(t.node),S.MessageLoop.sendMessage(t,e.Msg.AfterDetach)}e.ResizeMessage=n,function(e){e.UnknownSize=new e(-1,-1)}(n=e.ResizeMessage||(e.ResizeMessage={})),e.attach=i,e.detach=o}(R||(R={})),function(e){e.titleProperty=new M.AttachedProperty({name:"title",create:e=>new z({owner:e})}),e.createNode=function(e){return e.node||document.createElement(e.tag||"div")}}(o||(o={}));class O{constructor(e={}){this._disposed=!1,this._parent=null,this._fitPolicy=e.fitPolicy||"set-min-size"}dispose(){this._parent=null,this._disposed=!0,I.Signal.clearData(this),M.AttachedProperty.clearData(this)}get isDisposed(){return this._disposed}get parent(){return this._parent}set parent(e){if(this._parent!==e){if(this._parent)throw Error("Cannot change parent widget.");if(e.layout!==this)throw Error("Invalid parent widget.");this._parent=e,this.init()}}get fitPolicy(){return this._fitPolicy}set fitPolicy(e){if(this._fitPolicy!==e&&(this._fitPolicy=e,this._parent)){let e=this._parent.node.style;e.minWidth="",e.minHeight="",e.maxWidth="",e.maxHeight="",this._parent.fit()}}processParentMessage(e){switch(e.type){case"resize":this.onResize(e);break;case"update-request":this.onUpdateRequest(e);break;case"fit-request":this.onFitRequest(e);break;case"before-show":this.onBeforeShow(e);break;case"after-show":this.onAfterShow(e);break;case"before-hide":this.onBeforeHide(e);break;case"after-hide":this.onAfterHide(e);break;case"before-attach":this.onBeforeAttach(e);break;case"after-attach":this.onAfterAttach(e);break;case"before-detach":this.onBeforeDetach(e);break;case"after-detach":this.onAfterDetach(e);break;case"child-removed":this.onChildRemoved(e);break;case"child-shown":this.onChildShown(e);break;case"child-hidden":this.onChildHidden(e)}}init(){for(let e of this)e.parent=this.parent}onResize(e){for(let e of this)S.MessageLoop.sendMessage(e,R.ResizeMessage.UnknownSize)}onUpdateRequest(e){for(let e of this)S.MessageLoop.sendMessage(e,R.ResizeMessage.UnknownSize)}onBeforeAttach(e){for(let t of this)S.MessageLoop.sendMessage(t,e)}onAfterAttach(e){for(let t of this)S.MessageLoop.sendMessage(t,e)}onBeforeDetach(e){for(let t of this)S.MessageLoop.sendMessage(t,e)}onAfterDetach(e){for(let t of this)S.MessageLoop.sendMessage(t,e)}onBeforeShow(e){for(let t of this)t.isHidden||S.MessageLoop.sendMessage(t,e)}onAfterShow(e){for(let t of this)t.isHidden||S.MessageLoop.sendMessage(t,e)}onBeforeHide(e){for(let t of this)t.isHidden||S.MessageLoop.sendMessage(t,e)}onAfterHide(e){for(let t of this)t.isHidden||S.MessageLoop.sendMessage(t,e)}onChildRemoved(e){this.removeWidget(e.child)}onFitRequest(e){}onChildShown(e){}onChildHidden(e){}}!function(e){e.getHorizontalAlignment=function(e){return r.horizontalAlignmentProperty.get(e)},e.setHorizontalAlignment=function(e,t){r.horizontalAlignmentProperty.set(e,t)},e.getVerticalAlignment=function(e){return r.verticalAlignmentProperty.get(e)},e.setVerticalAlignment=function(e,t){r.verticalAlignmentProperty.set(e,t)}}(O||(O={}));class F{constructor(e){this._top=NaN,this._left=NaN,this._width=NaN,this._height=NaN,this._minWidth=0,this._minHeight=0,this._maxWidth=1/0,this._maxHeight=1/0,this._disposed=!1,this.widget=e,this.widget.node.style.position="absolute",this.widget.node.style.contain="strict"}dispose(){if(this._disposed)return;this._disposed=!0;let e=this.widget.node.style;e.position="",e.top="",e.left="",e.width="",e.height="",e.contain=""}get minWidth(){return this._minWidth}get minHeight(){return this._minHeight}get maxWidth(){return this._maxWidth}get maxHeight(){return this._maxHeight}get isDisposed(){return this._disposed}get isHidden(){return this.widget.isHidden}get isVisible(){return this.widget.isVisible}get isAttached(){return this.widget.isAttached}fit(){let e=B.ElementExt.sizeLimits(this.widget.node);this._minWidth=e.minWidth,this._minHeight=e.minHeight,this._maxWidth=e.maxWidth,this._maxHeight=e.maxHeight}update(e,t,n,i){let o=Math.max(this._minWidth,Math.min(n,this._maxWidth)),r=Math.max(this._minHeight,Math.min(i,this._maxHeight));if(o<n)switch(O.getHorizontalAlignment(this.widget)){case"left":break;case"center":e+=(n-o)/2;break;case"right":e+=n-o;break;default:throw"unreachable"}if(r<i)switch(O.getVerticalAlignment(this.widget)){case"top":break;case"center":t+=(i-r)/2;break;case"bottom":t+=i-r;break;default:throw"unreachable"}let s=!1,a=this.widget.node.style;if(this._top!==t&&(this._top=t,a.top=`${t}px`),this._left!==e&&(this._left=e,a.left=`${e}px`),this._width!==o&&(s=!0,this._width=o,a.width=`${o}px`),this._height!==r&&(s=!0,this._height=r,a.height=`${r}px`),s){let e=new R.ResizeMessage(o,r);S.MessageLoop.sendMessage(this.widget,e)}}}!function(e){function t(e){e.parent&&e.parent.layout&&e.parent.update()}e.horizontalAlignmentProperty=new M.AttachedProperty({name:"horizontalAlignment",create:()=>"center",changed:t}),e.verticalAlignmentProperty=new M.AttachedProperty({name:"verticalAlignment",create:()=>"top",changed:t})}(r||(r={}));class W extends O{constructor(){super(...arguments),this._widgets=[]}dispose(){for(;this._widgets.length>0;)this._widgets.pop().dispose();super.dispose()}get widgets(){return this._widgets}*[Symbol.iterator](){yield*this._widgets}addWidget(e){this.insertWidget(this._widgets.length,e)}insertWidget(e,t){t.parent=this.parent;let n=this._widgets.indexOf(t),i=Math.max(0,Math.min(e,this._widgets.length));if(-1===n){j.ArrayExt.insert(this._widgets,i,t),this.parent&&this.attachWidget(i,t);return}i===this._widgets.length&&i--,n!==i&&(j.ArrayExt.move(this._widgets,n,i),this.parent&&this.moveWidget(n,i,t))}removeWidget(e){this.removeWidgetAt(this._widgets.indexOf(e))}removeWidgetAt(e){let t=j.ArrayExt.removeAt(this._widgets,e);t&&this.parent&&this.detachWidget(e,t)}init(){super.init();let e=0;for(let t of this)this.attachWidget(e++,t)}attachWidget(e,t){let n=this.parent.node.children[e];this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.BeforeAttach),this.parent.node.insertBefore(t.node,n),this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.AfterAttach)}moveWidget(e,t,n){this.parent.isAttached&&S.MessageLoop.sendMessage(n,R.Msg.BeforeDetach),this.parent.node.removeChild(n.node),this.parent.isAttached&&S.MessageLoop.sendMessage(n,R.Msg.AfterDetach);let i=this.parent.node.children[t];this.parent.isAttached&&S.MessageLoop.sendMessage(n,R.Msg.BeforeAttach),this.parent.node.insertBefore(n.node,i),this.parent.isAttached&&S.MessageLoop.sendMessage(n,R.Msg.AfterAttach)}detachWidget(e,t){this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.AfterDetach)}}!function(e){e.clampDimension=function(e){return Math.max(0,Math.floor(e))}}(s||(s={}));var H=s;class U extends W{constructor(e){super(),this.widgetOffset=0,this._fixed=0,this._spacing=4,this._dirty=!1,this._hasNormedSizes=!1,this._sizers=[],this._items=[],this._handles=[],this._box=null,this._alignment="start",this._orientation="horizontal",this.renderer=e.renderer,void 0!==e.orientation&&(this._orientation=e.orientation),void 0!==e.alignment&&(this._alignment=e.alignment),void 0!==e.spacing&&(this._spacing=s.clampDimension(e.spacing))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,this._handles.length=0,super.dispose()}get orientation(){return this._orientation}set orientation(e){this._orientation===e||(this._orientation=e,this.parent&&(this.parent.dataset.orientation=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment===e||(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=s.clampDimension(e),this._spacing===e||(this._spacing=e,this.parent&&this.parent.fit())}get handles(){return this._handles}absoluteSizes(){return this._sizers.map(e=>e.size)}relativeSizes(){return a.normalize(this._sizers.map(e=>e.size))}setRelativeSizes(e,t=!0){let n=this._sizers.length,i=e.slice(0,n);for(;i.length<n;)i.push(0);let o=a.normalize(i);for(let e=0;e<n;++e){let t=this._sizers[e];t.sizeHint=o[e],t.size=o[e]}this._hasNormedSizes=!0,t&&this.parent&&this.parent.update()}moveHandle(e,t){let n,o=this._handles[e];if(!(!o||o.classList.contains("lm-mod-hidden"))&&0!=(n="horizontal"===this._orientation?t-o.offsetLeft:t-o.offsetTop)){for(let e of this._sizers)e.size>0&&(e.sizeHint=e.size);i.adjust(this._sizers,e,n),this.parent&&this.parent.update()}}init(){this.parent.dataset.orientation=this.orientation,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){let n=new F(t),i=a.createHandle(this.renderer),o=a.averageSize(this._sizers),r=a.createSizer(o);j.ArrayExt.insert(this._items,e,n),j.ArrayExt.insert(this._sizers,e,r),j.ArrayExt.insert(this._handles,e,i),this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.node.appendChild(i),this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,n){j.ArrayExt.move(this._items,e,t),j.ArrayExt.move(this._sizers,e,t),j.ArrayExt.move(this._handles,e,t),this.parent.fit()}detachWidget(e,t){let n=j.ArrayExt.removeAt(this._items,e),i=j.ArrayExt.removeAt(this._handles,e);j.ArrayExt.removeAt(this._sizers,e),this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.node.removeChild(i),this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.AfterDetach),n.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}updateItemPosition(e,t,n,i,o,r,s){let a=this._items[e];if(a.isHidden)return;let l=this._handles[e].style;t?(n+=this.widgetOffset,a.update(n,i,s,o),n+=s,l.top=`${i}px`,l.left=`${n}px`,l.width=`${this._spacing}px`,l.height=`${o}px`):(i+=this.widgetOffset,a.update(n,i,r,s),i+=s,l.top=`${i}px`,l.left=`${n}px`,l.width=`${r}px`,l.height=`${this._spacing}px`)}_fit(){let e=0,t=-1;for(let n=0,i=this._items.length;n<i;++n)this._items[n].isHidden?this._handles[n].classList.add("lm-mod-hidden"):(this._handles[n].classList.remove("lm-mod-hidden"),t=n,e++);-1!==t&&this._handles[t].classList.add("lm-mod-hidden"),this._fixed=this._spacing*Math.max(0,e-1)+this.widgetOffset*this._items.length;let n="horizontal"===this._orientation,i=n?this._fixed:0,o=n?0:this._fixed;for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e],r=this._sizers[e];if(r.size>0&&(r.sizeHint=r.size),t.isHidden){r.minSize=0,r.maxSize=0;continue}t.fit(),r.stretch=U.getStretch(t.widget),n?(r.minSize=t.minWidth,r.maxSize=t.maxWidth,i+=t.minWidth,o=Math.max(o,t.minHeight)):(r.minSize=t.minHeight,r.maxSize=t.maxHeight,o+=t.minHeight,i=Math.max(i,t.minWidth))}let r=this._box=B.ElementExt.boxSizing(this.parent.node);i+=r.horizontalSum,o+=r.verticalSum;let s=this.parent.node.style;s.minWidth=`${i}px`,s.minHeight=`${o}px`,this._dirty=!0,this.parent.parent&&S.MessageLoop.sendMessage(this.parent.parent,R.Msg.FitRequest),this._dirty&&S.MessageLoop.sendMessage(this.parent,R.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let n=0;for(let e=0,t=this._items.length;e<t;++e)n+=+!this._items[e].isHidden;if(0===n&&0===this.widgetOffset)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||(this._box=B.ElementExt.boxSizing(this.parent.node));let o=this._box.paddingTop,r=this._box.paddingLeft,s=e-this._box.horizontalSum,a=t-this._box.verticalSum,l=0,d=0,c="horizontal"===this._orientation;if(n>0){let e;if(e=c?Math.max(0,s-this._fixed):Math.max(0,a-this._fixed),this._hasNormedSizes){for(let t of this._sizers)t.sizeHint*=e;this._hasNormedSizes=!1}let t=i.calc(this._sizers,e);if(t>0)switch(this._alignment){case"start":break;case"center":l=0,d=t/2;break;case"end":l=0,d=t;break;case"justify":l=t/n,d=0;break;default:throw"unreachable"}}for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e].isHidden?0:this._sizers[e].size+l;this.updateItemPosition(e,c,c?r+d:r,c?o:o+d,a,s,t);let n=this.widgetOffset+(this._handles[e].classList.contains("lm-mod-hidden")?0:this._spacing);c?r+=t+n:o+=t+n}}}!function(e){e.getStretch=function(e){return a.stretchProperty.get(e)},e.setStretch=function(e,t){a.stretchProperty.set(e,t)}}(U||(U={})),function(e){function t(e){e.parent&&e.parent.layout instanceof U&&e.parent.fit()}e.stretchProperty=new M.AttachedProperty({name:"stretch",create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:t}),e.createSizer=function(e){let t=new P;return t.sizeHint=Math.floor(e),t},e.createHandle=function(e){let t=e.createHandle();return t.style.position="absolute",t.style.contain="style",t},e.averageSize=function(e){return e.reduce((e,t)=>e+t.size,0)/e.length||0},e.normalize=function(e){let t=e.length;if(0===t)return[];let n=e.reduce((e,t)=>e+Math.abs(t),0);return 0===n?e.map(e=>1/t):e.map(e=>e/n)}}(a||(a={}));class Y extends U{constructor(e){super({...e,orientation:e.orientation||"vertical"}),this._titles=[],this.titleSpace=e.titleSpace||22}get titleSpace(){return this.widgetOffset}set titleSpace(e){e=H.clampDimension(e),this.widgetOffset===e||(this.widgetOffset=e,this.parent&&this.parent.fit())}get titles(){return this._titles}dispose(){this.isDisposed||(this._titles.length=0,super.dispose())}updateTitle(e,t){let n=this._titles[e],i=n.classList.contains("lm-mod-expanded"),o=l.createTitle(this.renderer,t.title,i);this._titles[e]=o,this.parent.node.replaceChild(o,n)}insertWidget(e,t){t.id||(t.id=`id-${x.UUID.uuid4()}`),super.insertWidget(e,t)}attachWidget(e,t){let n=l.createTitle(this.renderer,t.title,!t.isHidden);j.ArrayExt.insert(this._titles,e,n),this.parent.node.appendChild(n),t.node.setAttribute("role","region"),t.node.setAttribute("aria-labelledby",n.id),super.attachWidget(e,t)}moveWidget(e,t,n){j.ArrayExt.move(this._titles,e,t),super.moveWidget(e,t,n)}detachWidget(e,t){let n=j.ArrayExt.removeAt(this._titles,e);this.parent.node.removeChild(n),super.detachWidget(e,t)}updateItemPosition(e,t,n,i,o,r,s){let a=this._titles[e].style;a.top=`${i}px`,a.left=`${n}px`,a.height=`${this.widgetOffset}px`,t?a.width=`${o}px`:a.width=`${r}px`,super.updateItemPosition(e,t,n,i,o,r,s)}}!function(e){e.createTitle=function(e,t,n=!0){let i=e.createSectionTitle(t);return i.style.position="absolute",i.style.contain="strict",i.setAttribute("aria-label",`${t.label} Section`),i.setAttribute("aria-expanded",n?"true":"false"),i.setAttribute("aria-controls",t.owner.id),n&&i.classList.add("lm-mod-expanded"),i}}(l||(l={}));class V extends R{constructor(e={}){super(),this.addClass("lm-Panel"),this.layout=d.createLayout(e)}get widgets(){return this.layout.widgets}addWidget(e){this.layout.addWidget(e)}insertWidget(e,t){this.layout.insertWidget(e,t)}}!function(e){e.createLayout=function(e){return e.layout||new W}}(d||(d={}));class q extends V{constructor(e={}){super({layout:c.createLayout(e)}),this._handleMoved=new I.Signal(this),this._pressData=null,this.addClass("lm-SplitPanel")}dispose(){this._releaseMouse(),super.dispose()}get orientation(){return this.layout.orientation}set orientation(e){this.layout.orientation=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get renderer(){return this.layout.renderer}get handleMoved(){return this._handleMoved}get handles(){return this.layout.handles}relativeSizes(){return this.layout.relativeSizes()}setRelativeSizes(e,t=!0){this.layout.setRelativeSizes(e,t)}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("pointerdown",this)}onAfterDetach(e){this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(e){e.child.addClass("lm-SplitPanel-child"),this._releaseMouse()}onChildRemoved(e){e.child.removeClass("lm-SplitPanel-child"),this._releaseMouse()}_evtKeyDown(e){this._pressData&&(e.preventDefault(),e.stopPropagation()),27===e.keyCode&&this._releaseMouse()}_evtPointerDown(e){let t;if(0!==e.button)return;let n=this.layout,i=j.ArrayExt.findFirstIndex(n.handles,t=>t.contains(e.target));if(-1===i)return;e.preventDefault(),e.stopPropagation(),document.addEventListener("pointerup",this,!0),document.addEventListener("pointermove",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("contextmenu",this,!0);let o=n.handles[i],r=o.getBoundingClientRect();t="horizontal"===n.orientation?e.clientX-r.left:e.clientY-r.top;let s=window.getComputedStyle(o),a=k.Drag.overrideCursor(s.cursor);this._pressData={index:i,delta:t,override:a}}_evtPointerMove(e){let t;e.preventDefault(),e.stopPropagation();let n=this.layout,i=this.node.getBoundingClientRect();t="horizontal"===n.orientation?e.clientX-i.left-this._pressData.delta:e.clientY-i.top-this._pressData.delta,n.moveHandle(this._pressData.index,t)}_evtPointerUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse())}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._handleMoved.emit(),document.removeEventListener("keydown",this,!0),document.removeEventListener("pointerup",this,!0),document.removeEventListener("pointermove",this,!0),document.removeEventListener("contextmenu",this,!0))}}!function(e){class t{createHandle(){let e=document.createElement("div");return e.className="lm-SplitPanel-handle",e}}e.Renderer=t,e.defaultRenderer=new t,e.getStretch=function(e){return U.getStretch(e)},e.setStretch=function(e,t){U.setStretch(e,t)}}(q||(q={})),function(e){e.createLayout=function(e){return e.layout||new U({renderer:e.renderer||q.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing})}}(c||(c={}));class G extends q{constructor(e={}){super({...e,layout:h.createLayout(e)}),this._widgetSizesCache=new WeakMap,this._expansionToggled=new I.Signal(this),this.addClass("lm-AccordionPanel")}get renderer(){return this.layout.renderer}get titleSpace(){return this.layout.titleSpace}set titleSpace(e){this.layout.titleSpace=e}get titles(){return this.layout.titles}get expansionToggled(){return this._expansionToggled}addWidget(e){super.addWidget(e),e.title.changed.connect(this._onTitleChanged,this)}collapse(e){let t=this.layout.widgets[e];t&&!t.isHidden&&this._toggleExpansion(e)}expand(e){let t=this.layout.widgets[e];t&&t.isHidden&&this._toggleExpansion(e)}insertWidget(e,t){super.insertWidget(e,t),t.title.changed.connect(this._onTitleChanged,this)}handleEvent(e){switch(super.handleEvent(e),e.type){case"click":this._evtClick(e);break;case"keydown":this._eventKeyDown(e)}}onBeforeAttach(e){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),super.onBeforeAttach(e)}onAfterDetach(e){super.onAfterDetach(e),this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this)}_onTitleChanged(e){let t=j.ArrayExt.findFirstIndex(this.widgets,t=>t.contains(e.owner));t>=0&&(this.layout.updateTitle(t,e.owner),this.update())}_computeWidgetSize(e){let t=this.layout,n=t.widgets[e];if(!n)return;let i=n.isHidden,o=t.absoluteSizes(),r=(i?-1:1)*this.spacing,s=o.reduce((e,t)=>e+t),a=[...o];if(i){let t=this._widgetSizesCache.get(n);if(!t)return;a[e]+=t;let i=a.map(e=>e-t>0).lastIndexOf(!0);-1===i?a.forEach((n,i)=>{i!==e&&(a[i]-=o[i]/s*(t-r))}):a[i]-=t-r}else{let t=o[e];this._widgetSizesCache.set(n,t),a[e]=0;let i=a.map(e=>e>0).lastIndexOf(!0);if(-1===i)return;a[i]=o[i]+t+r}return a.map(e=>e/(s+r))}_evtClick(e){let t=e.target;if(t){let n=j.ArrayExt.findFirstIndex(this.titles,e=>e.contains(t));n>=0&&(e.preventDefault(),e.stopPropagation(),this._toggleExpansion(n))}}_eventKeyDown(e){if(e.defaultPrevented)return;let t=e.target,n=!1;if(t){let i=j.ArrayExt.findFirstIndex(this.titles,e=>e.contains(t));if(i>=0){let o=e.keyCode.toString();if(e.key.match(/Space|Enter/)||o.match(/13|32/))t.click(),n=!0;else if("horizontal"===this.orientation?e.key.match(/ArrowLeft|ArrowRight/)||o.match(/37|39/):e.key.match(/ArrowUp|ArrowDown/)||o.match(/38|40/)){let t=e.key.match(/ArrowLeft|ArrowUp/)||o.match(/37|38/)?-1:1,r=this.titles.length,s=(i+r+t)%r;this.titles[s].focus(),n=!0}else"End"===e.key||"35"===o?(this.titles[this.titles.length-1].focus(),n=!0):("Home"===e.key||"36"===o)&&(this.titles[0].focus(),n=!0)}n&&e.preventDefault()}}_toggleExpansion(e){let t=this.titles[e],n=this.layout.widgets[e],i=this._computeWidgetSize(e);i&&this.setRelativeSizes(i,!1),n.isHidden?(t.classList.add("lm-mod-expanded"),t.setAttribute("aria-expanded","true"),n.show()):(t.classList.remove("lm-mod-expanded"),t.setAttribute("aria-expanded","false"),n.hide()),this._expansionToggled.emit(e)}}!function(e){class t extends q.Renderer{constructor(){super(),this.titleClassName="lm-AccordionPanel-title",this._titleID=0,this._titleKeys=new WeakMap,this._uuid=++t._nInstance}createCollapseIcon(e){return document.createElement("span")}createSectionTitle(e){let t=document.createElement("h3");for(let n in t.setAttribute("tabindex","0"),t.id=this.createTitleKey(e),t.className=this.titleClassName,e.dataset)t.dataset[n]=e.dataset[n];t.appendChild(this.createCollapseIcon(e)).className="lm-AccordionPanel-titleCollapser";let n=t.appendChild(document.createElement("span"));return n.className="lm-AccordionPanel-titleLabel",n.textContent=e.label,n.title=e.caption||e.label,t}createTitleKey(e){let t=this._titleKeys.get(e);return void 0===t&&(t=`title-key-${this._uuid}-${this._titleID++}`,this._titleKeys.set(e,t)),t}}t._nInstance=0,e.Renderer=t,e.defaultRenderer=new t}(G||(G={})),function(e){e.createLayout=function(e){return e.layout||new Y({renderer:e.renderer||G.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing,titleSpace:e.titleSpace})}}(h||(h={}));class $ extends W{constructor(e={}){super(),this._fixed=0,this._spacing=4,this._dirty=!1,this._sizers=[],this._items=[],this._box=null,this._alignment="start",this._direction="top-to-bottom",void 0!==e.direction&&(this._direction=e.direction),void 0!==e.alignment&&(this._alignment=e.alignment),void 0!==e.spacing&&(this._spacing=H.clampDimension(e.spacing))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,super.dispose()}get direction(){return this._direction}set direction(e){this._direction===e||(this._direction=e,this.parent&&(this.parent.dataset.direction=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment===e||(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=H.clampDimension(e),this._spacing===e||(this._spacing=e,this.parent&&this.parent.fit())}init(){this.parent.dataset.direction=this.direction,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){j.ArrayExt.insert(this._items,e,new F(t)),j.ArrayExt.insert(this._sizers,e,new P),this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,n){j.ArrayExt.move(this._items,e,t),j.ArrayExt.move(this._sizers,e,t),this.parent.update()}detachWidget(e,t){let n=j.ArrayExt.removeAt(this._items,e);j.ArrayExt.removeAt(this._sizers,e),this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.AfterDetach),n.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let e=0;for(let t=0,n=this._items.length;t<n;++t)e+=+!this._items[t].isHidden;this._fixed=this._spacing*Math.max(0,e-1);let t=u.isHorizontal(this._direction),n=t?this._fixed:0,i=t?0:this._fixed;for(let e=0,o=this._items.length;e<o;++e){let o=this._items[e],r=this._sizers[e];if(o.isHidden){r.minSize=0,r.maxSize=0;continue}o.fit(),r.sizeHint=$.getSizeBasis(o.widget),r.stretch=$.getStretch(o.widget),t?(r.minSize=o.minWidth,r.maxSize=o.maxWidth,n+=o.minWidth,i=Math.max(i,o.minHeight)):(r.minSize=o.minHeight,r.maxSize=o.maxHeight,i+=o.minHeight,n=Math.max(n,o.minWidth))}let o=this._box=B.ElementExt.boxSizing(this.parent.node);n+=o.horizontalSum,i+=o.verticalSum;let r=this.parent.node.style;r.minWidth=`${n}px`,r.minHeight=`${i}px`,this._dirty=!0,this.parent.parent&&S.MessageLoop.sendMessage(this.parent.parent,R.Msg.FitRequest),this._dirty&&S.MessageLoop.sendMessage(this.parent,R.Msg.UpdateRequest)}_update(e,t){let n;this._dirty=!1;let o=0;for(let e=0,t=this._items.length;e<t;++e)o+=+!this._items[e].isHidden;if(0===o)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||(this._box=B.ElementExt.boxSizing(this.parent.node));let r=this._box.paddingTop,s=this._box.paddingLeft,a=e-this._box.horizontalSum,l=t-this._box.verticalSum;switch(this._direction){case"left-to-right":n=i.calc(this._sizers,Math.max(0,a-this._fixed));break;case"top-to-bottom":n=i.calc(this._sizers,Math.max(0,l-this._fixed));break;case"right-to-left":n=i.calc(this._sizers,Math.max(0,a-this._fixed)),s+=a;break;case"bottom-to-top":n=i.calc(this._sizers,Math.max(0,l-this._fixed)),r+=l;break;default:throw"unreachable"}let d=0,c=0;if(n>0)switch(this._alignment){case"start":break;case"center":d=0,c=n/2;break;case"end":d=0,c=n;break;case"justify":d=n/o,c=0;break;default:throw"unreachable"}for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e];if(t.isHidden)continue;let n=this._sizers[e].size;switch(this._direction){case"left-to-right":t.update(s+c,r,n+d,l),s+=n+d+this._spacing;break;case"top-to-bottom":t.update(s,r+c,a,n+d),r+=n+d+this._spacing;break;case"right-to-left":t.update(s-c-n-d,r,n+d,l),s-=n+d+this._spacing;break;case"bottom-to-top":t.update(s,r-c-n-d,a,n+d),r-=n+d+this._spacing;break;default:throw"unreachable"}}}}!function(e){e.getStretch=function(e){return u.stretchProperty.get(e)},e.setStretch=function(e,t){u.stretchProperty.set(e,t)},e.getSizeBasis=function(e){return u.sizeBasisProperty.get(e)},e.setSizeBasis=function(e,t){u.sizeBasisProperty.set(e,t)}}($||($={})),function(e){function t(e){e.parent&&e.parent.layout instanceof $&&e.parent.fit()}e.stretchProperty=new M.AttachedProperty({name:"stretch",create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:t}),e.sizeBasisProperty=new M.AttachedProperty({name:"sizeBasis",create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:t}),e.isHorizontal=function(e){return"left-to-right"===e||"right-to-left"===e},e.clampSpacing=function(e){return Math.max(0,Math.floor(e))}}(u||(u={}));class J extends V{constructor(e={}){super({layout:p.createLayout(e)}),this.addClass("lm-BoxPanel")}get direction(){return this.layout.direction}set direction(e){this.layout.direction=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}onChildAdded(e){e.child.addClass("lm-BoxPanel-child")}onChildRemoved(e){e.child.removeClass("lm-BoxPanel-child")}}!function(e){e.getStretch=function(e){return $.getStretch(e)},e.setStretch=function(e,t){$.setStretch(e,t)},e.getSizeBasis=function(e){return $.getSizeBasis(e)},e.setSizeBasis=function(e,t){$.setSizeBasis(e,t)}}(J||(J={})),function(e){e.createLayout=function(e){return e.layout||new $(e)}}(p||(p={}));class K extends R{constructor(e){super({node:m.createNode()}),this._activeIndex=-1,this._items=[],this._results=null,this.addClass("lm-CommandPalette"),this.setFlag(R.Flag.DisallowLayout),this.commands=e.commands,this.renderer=e.renderer||K.defaultRenderer,this.commands.commandChanged.connect(this._onGenericChange,this),this.commands.keyBindingChanged.connect(this._onGenericChange,this)}dispose(){this._items.length=0,this._results=null,super.dispose()}get searchNode(){return this.node.getElementsByClassName("lm-CommandPalette-search")[0]}get inputNode(){return this.node.getElementsByClassName("lm-CommandPalette-input")[0]}get contentNode(){return this.node.getElementsByClassName("lm-CommandPalette-content")[0]}get items(){return this._items}addItem(e){let t=m.createItem(this.commands,e);return this._items.push(t),this.refresh(),t}addItems(e){let t=e.map(e=>m.createItem(this.commands,e));return t.forEach(e=>this._items.push(e)),this.refresh(),t}removeItem(e){this.removeItemAt(this._items.indexOf(e))}removeItemAt(e){j.ArrayExt.removeAt(this._items,e)&&this.refresh()}clearItems(){0!==this._items.length&&(this._items.length=0,this.refresh())}refresh(){this._results=null,""!==this.inputNode.value?this.node.getElementsByClassName("lm-close-icon")[0].style.display="inherit":this.node.getElementsByClassName("lm-close-icon")[0].style.display="none",this.update()}handleEvent(e){switch(e.type){case"click":this._evtClick(e);break;case"keydown":this._evtKeyDown(e);break;case"input":this.refresh();break;case"focus":case"blur":this._toggleFocused()}}onBeforeAttach(e){this.node.addEventListener("click",this),this.node.addEventListener("keydown",this),this.node.addEventListener("input",this),this.node.addEventListener("focus",this,!0),this.node.addEventListener("blur",this,!0)}onAfterDetach(e){this.node.removeEventListener("click",this),this.node.removeEventListener("keydown",this),this.node.removeEventListener("input",this),this.node.removeEventListener("focus",this,!0),this.node.removeEventListener("blur",this,!0)}onAfterShow(e){this.update(),super.onAfterShow(e)}onActivateRequest(e){if(this.isAttached){let e=this.inputNode;e.focus(),e.select()}}onUpdateRequest(e){if(!this.isVisible)return void T.VirtualDOM.render(null,this.contentNode);let t=this.inputNode.value,n=this.contentNode,i=this._results;if(i||(i=this._results=m.search(this._items,t),this._activeIndex=t?j.ArrayExt.findFirstIndex(i,m.canActivate):-1),!t&&0===i.length)return void T.VirtualDOM.render(null,n);if(t&&0===i.length){let e=this.renderer.renderEmptyMessage({query:t});T.VirtualDOM.render(e,n);return}let o=this.renderer,r=this._activeIndex,s=Array(i.length);for(let e=0,t=i.length;e<t;++e){let t=i[e];if("header"===t.type){let n=t.indices,i=t.category;s[e]=o.renderHeader({category:i,indices:n})}else{let n=t.item,i=t.indices,a=e===r;s[e]=o.renderItem({item:n,indices:i,active:a})}}if(T.VirtualDOM.render(s,n),r<0||r>=i.length)n.scrollTop=0;else{let e=n.children[r];B.ElementExt.scrollIntoViewIfNeeded(n,e)}}_evtClick(e){if(0!==e.button)return;if(e.target.classList.contains("lm-close-icon")){this.inputNode.value="",this.refresh();return}let t=j.ArrayExt.findFirstIndex(this.contentNode.children,t=>t.contains(e.target));-1!==t&&(e.preventDefault(),e.stopPropagation(),this._execute(t))}_evtKeyDown(e){if(!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey)switch(e.keyCode){case 13:e.preventDefault(),e.stopPropagation(),this._execute(this._activeIndex);break;case 38:e.preventDefault(),e.stopPropagation(),this._activatePreviousItem();break;case 40:e.preventDefault(),e.stopPropagation(),this._activateNextItem()}}_activateNextItem(){if(!this._results||0===this._results.length)return;let e=this._activeIndex,t=this._results.length,n=e<t-1?e+1:0,i=0===n?t-1:n-1;this._activeIndex=j.ArrayExt.findFirstIndex(this._results,m.canActivate,n,i),this.update()}_activatePreviousItem(){if(!this._results||0===this._results.length)return;let e=this._activeIndex,t=this._results.length,n=e<=0?t-1:e-1,i=n===t-1?0:n+1;this._activeIndex=j.ArrayExt.findLastIndex(this._results,m.canActivate,n,i),this.update()}_execute(e){if(!this._results)return;let t=this._results[e];if(t){if("header"===t.type){let e=this.inputNode;e.value=`${t.category.toLowerCase()} `,e.focus(),this.refresh();return}t.item.isEnabled&&(this.commands.execute(t.item.command,t.item.args),this.inputNode.value="",this.refresh())}}_toggleFocused(){let e=document.activeElement===this.inputNode;this.toggleClass("lm-mod-focused",e)}_onGenericChange(){this.refresh()}}!function(e){class t{renderHeader(e){let t=this.formatHeader(e);return T.h.li({className:"lm-CommandPalette-header"},t)}renderItem(e){let t=this.createItemClass(e),n=this.createItemDataset(e);return e.item.isToggleable?T.h.li({className:t,dataset:n,role:"menuitemcheckbox","aria-checked":`${e.item.isToggled}`},this.renderItemIcon(e),this.renderItemContent(e),this.renderItemShortcut(e)):T.h.li({className:t,dataset:n,role:"menuitem"},this.renderItemIcon(e),this.renderItemContent(e),this.renderItemShortcut(e))}renderEmptyMessage(e){let t=this.formatEmptyMessage(e);return T.h.li({className:"lm-CommandPalette-emptyMessage"},t)}renderItemIcon(e){let t=this.createIconClass(e);return T.h.div({className:t},e.item.icon,e.item.iconLabel)}renderItemContent(e){return T.h.div({className:"lm-CommandPalette-itemContent"},this.renderItemLabel(e),this.renderItemCaption(e))}renderItemLabel(e){let t=this.formatItemLabel(e);return T.h.div({className:"lm-CommandPalette-itemLabel"},t)}renderItemCaption(e){let t=this.formatItemCaption(e);return T.h.div({className:"lm-CommandPalette-itemCaption"},t)}renderItemShortcut(e){let t=this.formatItemShortcut(e);return T.h.div({className:"lm-CommandPalette-itemShortcut"},t)}createItemClass(e){let t="lm-CommandPalette-item";e.item.isEnabled||(t+=" lm-mod-disabled"),e.item.isToggled&&(t+=" lm-mod-toggled"),e.active&&(t+=" lm-mod-active");let n=e.item.className;return n&&(t+=` ${n}`),t}createItemDataset(e){return{...e.item.dataset,command:e.item.command}}createIconClass(e){let t="lm-CommandPalette-itemIcon",n=e.item.iconClass;return n?`${t} ${n}`:t}formatHeader(e){return e.indices&&0!==e.indices.length?j.StringExt.highlight(e.category,e.indices,T.h.mark):e.category}formatEmptyMessage(e){return`No commands found that match '${e.query}'`}formatItemShortcut(e){let t=e.item.keyBinding;return t?D.CommandRegistry.formatKeystroke(t.keys):null}formatItemLabel(e){return e.indices&&0!==e.indices.length?j.StringExt.highlight(e.item.label,e.indices,T.h.mark):e.item.label}formatItemCaption(e){return e.item.caption}}e.Renderer=t,e.defaultRenderer=new t}(K||(K={})),function(e){function t(e){return e.trim().replace(/\s+/g," ")}function n(e){return e.replace(/\s+/g,"").toLowerCase()}function i(e,t){t=n(t);let i=[];for(let n=0,r=e.length;n<r;++n){let r=e[n];if(!r.isVisible)continue;if(!t){i.push({matchType:3,categoryIndices:null,labelIndices:null,score:0,item:r});continue}let s=o(r,t);s&&(r.isEnabled||(s.score+=1e3),i.push(s))}return i}function o(e,t){let n=e.category.toLowerCase(),i=e.label.toLowerCase(),o=`${n} ${i}`,r=1/0,s=null,a=/\b\w/g;for(;;){let e=a.exec(o);if(!e)break;let n=j.StringExt.matchSumOfDeltas(o,t,e.index);if(!n)break;n.score<=r&&(r=n.score,s=n.indices)}if(!s||r===1/0)return null;let l=n.length+1,d=j.ArrayExt.lowerBound(s,l,(e,t)=>e-t),c=s.slice(0,d),h=s.slice(d);for(let e=0,t=h.length;e<t;++e)h[e]-=l;return 0===c.length?{matchType:0,categoryIndices:null,labelIndices:h,score:r,item:e}:0===h.length?{matchType:1,categoryIndices:c,labelIndices:null,score:r,item:e}:{matchType:2,categoryIndices:c,labelIndices:h,score:r,item:e}}function r(e,t){let n=e.matchType-t.matchType;if(0!==n)return n;let i=e.score-t.score;if(0!==i)return i;let o=0,r=0;switch(e.matchType){case 0:o=e.labelIndices[0],r=t.labelIndices[0];break;case 1:case 2:o=e.categoryIndices[0],r=t.categoryIndices[0]}if(o!==r)return o-r;let s=e.item.category.localeCompare(t.item.category);if(0!==s)return s;let a=e.item.rank,l=t.item.rank;return a!==l?a<l?-1:1:e.item.label.localeCompare(t.item.label)}function s(e){let t=[];for(let n=0,i=e.length;n<i;++n){let{item:i,categoryIndices:o,labelIndices:r}=e[n],s=i.category;(0===n||s!==e[n-1].item.category)&&t.push({type:"header",category:s,indices:o}),t.push({type:"item",item:i,indices:r})}return t}e.createNode=function(){let e=document.createElement("div"),t=document.createElement("div"),n=document.createElement("div"),i=document.createElement("input"),o=document.createElement("ul"),r=document.createElement("button");return t.className="lm-CommandPalette-search",n.className="lm-CommandPalette-wrapper",i.className="lm-CommandPalette-input",r.className="lm-close-icon",o.className="lm-CommandPalette-content",o.setAttribute("role","menu"),i.spellcheck=!1,n.appendChild(i),n.appendChild(r),t.appendChild(n),e.appendChild(t),e.appendChild(o),e},e.createItem=function(e,t){return new a(e,t)},e.search=function(e,t){let n=i(e,t);return n.sort(r),s(n)},e.canActivate=function(e){return"item"===e.type&&e.item.isEnabled};class a{constructor(e,n){this._commands=e,this.category=t(n.category),this.command=n.command,this.args=n.args||x.JSONExt.emptyObject,this.rank=void 0!==n.rank?n.rank:1/0}get label(){return this._commands.label(this.command,this.args)}get icon(){return this._commands.icon(this.command,this.args)}get iconClass(){return this._commands.iconClass(this.command,this.args)}get iconLabel(){return this._commands.iconLabel(this.command,this.args)}get caption(){return this._commands.caption(this.command,this.args)}get className(){return this._commands.className(this.command,this.args)}get dataset(){return this._commands.dataset(this.command,this.args)}get isEnabled(){return this._commands.isEnabled(this.command,this.args)}get isToggled(){return this._commands.isToggled(this.command,this.args)}get isToggleable(){return this._commands.isToggleable(this.command,this.args)}get isVisible(){return this._commands.isVisible(this.command,this.args)}get keyBinding(){let{command:e,args:t}=this;return j.ArrayExt.findLastValue(this._commands.keyBindings,n=>n.command===e&&x.JSONExt.deepEqual(n.args,t))||null}}}(m||(m={}));class Z extends R{constructor(e){super({node:g.createNode()}),this._childIndex=-1,this._activeIndex=-1,this._openTimerID=0,this._closeTimerID=0,this._items=[],this._childMenu=null,this._parentMenu=null,this._aboutToClose=new I.Signal(this),this._menuRequested=new I.Signal(this),this.addClass("lm-Menu"),this.setFlag(R.Flag.DisallowLayout),this.commands=e.commands,this.renderer=e.renderer||Z.defaultRenderer}dispose(){this.close(),this._items.length=0,super.dispose()}get aboutToClose(){return this._aboutToClose}get menuRequested(){return this._menuRequested}get parentMenu(){return this._parentMenu}get childMenu(){return this._childMenu}get rootMenu(){let e=this;for(;e._parentMenu;)e=e._parentMenu;return e}get leafMenu(){let e=this;for(;e._childMenu;)e=e._childMenu;return e}get contentNode(){return this.node.getElementsByClassName("lm-Menu-content")[0]}get activeItem(){return this._items[this._activeIndex]||null}set activeItem(e){this.activeIndex=e?this._items.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._items.length)&&(e=-1),-1===e||g.canActivate(this._items[e])||(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this._activeIndex>=0&&this.contentNode.childNodes[this._activeIndex]&&this.contentNode.childNodes[this._activeIndex].focus(),this.update())}get items(){return this._items}activateNextItem(){let e=this._items.length,t=this._activeIndex,n=t<e-1?t+1:0,i=0===n?e-1:n-1;this.activeIndex=j.ArrayExt.findFirstIndex(this._items,g.canActivate,n,i)}activatePreviousItem(){let e=this._items.length,t=this._activeIndex,n=t<=0?e-1:t-1,i=n===e-1?0:n+1;this.activeIndex=j.ArrayExt.findLastIndex(this._items,g.canActivate,n,i)}triggerActiveItem(){if(!this.isAttached)return;let e=this.activeItem;if(!e)return;if(this._cancelOpenTimer(),this._cancelCloseTimer(),"submenu"===e.type)return void this._openChildMenu(!0);this.rootMenu.close();let{command:t,args:n}=e;this.commands.isEnabled(t,n)?this.commands.execute(t,n):console.log(`Command '${t}' is disabled.`)}addItem(e){return this.insertItem(this._items.length,e)}insertItem(e,t){this.isAttached&&this.close(),this.activeIndex=-1;let n=Math.max(0,Math.min(e,this._items.length)),i=g.createItem(this,t);return j.ArrayExt.insert(this._items,n,i),this.update(),i}removeItem(e){let t=this._items.indexOf(e);-1!==t&&this.removeItemAt(t)}removeItemAt(e){this.isAttached&&this.close(),this.activeIndex=-1,j.ArrayExt.removeAt(this._items,e)&&this.update()}clearItems(){this.isAttached&&this.close(),this.activeIndex=-1,0!==this._items.length&&(this._items.length=0,this.update())}open(e,t,n={}){var i,o,r;if(this.isAttached)return;let s=n.forceX||!1,a=n.forceY||!1,l=null!=(i=n.host)?i:null,d=null!=(o=n.ref)?o:null,c=null!=(r=n.horizontalAlignment)?r:"rtl"===document.documentElement.dir?"right":"left";g.openRootMenu(this,e,t,s,a,c,l,d),this.activate()}handleEvent(e){switch(e.type){case"keydown":this._evtKeyDown(e);break;case"pointerup":this._evtPointerUp(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerenter":this._evtPointerEnter(e);break;case"pointerleave":this._evtPointerLeave(e);break;case"pointerdown":this._evtPointerDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("keydown",this),this.node.addEventListener("pointerup",this),this.node.addEventListener("pointermove",this),this.node.addEventListener("pointerenter",this),this.node.addEventListener("pointerleave",this),this.node.addEventListener("contextmenu",this),document.addEventListener("pointerdown",this,!0)}onAfterDetach(e){this.node.removeEventListener("keydown",this),this.node.removeEventListener("pointerup",this),this.node.removeEventListener("pointermove",this),this.node.removeEventListener("pointerenter",this),this.node.removeEventListener("pointerleave",this),this.node.removeEventListener("contextmenu",this),document.removeEventListener("pointerdown",this,!0)}onActivateRequest(e){this.isAttached&&this.node.focus()}onUpdateRequest(e){let t=this._items,n=this.renderer,i=this._activeIndex,o=g.computeCollapsed(t),r=Array(t.length);for(let e=0,s=t.length;e<s;++e){let s=t[e],a=e===i,l=o[e];r[e]=n.renderItem({item:s,active:a,collapsed:l,onfocus:()=>{this.activeIndex=e}})}T.VirtualDOM.render(r,this.contentNode)}onCloseRequest(e){this._cancelOpenTimer(),this._cancelCloseTimer(),this.activeIndex=-1;let t=this._childMenu;t&&(this._childIndex=-1,this._childMenu=null,t._parentMenu=null,t.close());let n=this._parentMenu;n&&(this._parentMenu=null,n._childIndex=-1,n._childMenu=null,n.activate()),this.isAttached&&this._aboutToClose.emit(void 0),super.onCloseRequest(e)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation();let t=e.keyCode;if(13===t)return void this.triggerActiveItem();if(27===t)return void this.close();if(37===t)return void(this._parentMenu?this.close():this._menuRequested.emit("previous"));if(38===t)return void this.activatePreviousItem();if(39===t){let e=this.activeItem;e&&"submenu"===e.type?this.triggerActiveItem():this.rootMenu._menuRequested.emit("next");return}if(40===t)return void this.activateNextItem();let n=(0,N.getKeyboardLayout)().keyForKeydownEvent(e);if(!n)return;let i=this._activeIndex+1,o=g.findMnemonic(this._items,n,i);-1===o.index||o.multiple?-1!==o.index?this.activeIndex=o.index:-1!==o.auto&&(this.activeIndex=o.auto):(this.activeIndex=o.index,this.triggerActiveItem())}_evtPointerUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this.triggerActiveItem())}_evtPointerMove(e){let t=j.ArrayExt.findFirstIndex(this.contentNode.children,t=>B.ElementExt.hitTest(t,e.clientX,e.clientY));if(t===this._activeIndex)return;if(this.activeIndex=t,(t=this.activeIndex)===this._childIndex){this._cancelOpenTimer(),this._cancelCloseTimer();return}-1!==this._childIndex&&this._startCloseTimer(),this._cancelOpenTimer();let n=this.activeItem;n&&"submenu"===n.type&&n.submenu&&this._startOpenTimer()}_evtPointerEnter(e){for(let e=this._parentMenu;e;e=e._parentMenu)e._cancelOpenTimer(),e._cancelCloseTimer(),e.activeIndex=e._childIndex}_evtPointerLeave(e){if(this._cancelOpenTimer(),!this._childMenu){this.activeIndex=-1;return}let{clientX:t,clientY:n}=e;B.ElementExt.hitTest(this._childMenu.node,t,n)?this._cancelCloseTimer():(this.activeIndex=-1,this._startCloseTimer())}_evtPointerDown(e){this._parentMenu||(g.hitTestMenus(this,e.clientX,e.clientY)?(e.preventDefault(),e.stopPropagation()):this.close())}_openChildMenu(e=!1){let t=this.activeItem;if(!t||"submenu"!==t.type||!t.submenu)return void this._closeChildMenu();let n=t.submenu;if(n===this._childMenu)return;Z.saveWindowData(),this._closeChildMenu(),this._childMenu=n,this._childIndex=this._activeIndex,n._parentMenu=this,S.MessageLoop.sendMessage(this,R.Msg.UpdateRequest);let i=this.contentNode.children[this._activeIndex];g.openSubmenu(n,i),e&&(n.activeIndex=-1,n.activateNextItem()),n.activate()}_closeChildMenu(){this._childMenu&&this._childMenu.close()}_startOpenTimer(){0===this._openTimerID&&(this._openTimerID=window.setTimeout(()=>{this._openTimerID=0,this._openChildMenu()},g.TIMER_DELAY))}_startCloseTimer(){0===this._closeTimerID&&(this._closeTimerID=window.setTimeout(()=>{this._closeTimerID=0,this._closeChildMenu()},g.TIMER_DELAY))}_cancelOpenTimer(){0!==this._openTimerID&&(clearTimeout(this._openTimerID),this._openTimerID=0)}_cancelCloseTimer(){0!==this._closeTimerID&&(clearTimeout(this._closeTimerID),this._closeTimerID=0)}static saveWindowData(){g.saveWindowData()}}!function(e){class t{renderItem(e){let t=this.createItemClass(e),n=this.createItemDataset(e),i=this.createItemARIA(e);return T.h.li({className:t,dataset:n,tabindex:"0",onfocus:e.onfocus,...i},this.renderIcon(e),this.renderLabel(e),this.renderShortcut(e),this.renderSubmenu(e))}renderIcon(e){let t=this.createIconClass(e);return T.h.div({className:t},e.item.icon,e.item.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return T.h.div({className:"lm-Menu-itemLabel"},t)}renderShortcut(e){let t=this.formatShortcut(e);return T.h.div({className:"lm-Menu-itemShortcut"},t)}renderSubmenu(e){return T.h.div({className:"lm-Menu-itemSubmenuIcon"})}createItemClass(e){let t="lm-Menu-item";e.item.isEnabled||(t+=" lm-mod-disabled"),e.item.isToggled&&(t+=" lm-mod-toggled"),e.item.isVisible||(t+=" lm-mod-hidden"),e.active&&(t+=" lm-mod-active"),e.collapsed&&(t+=" lm-mod-collapsed");let n=e.item.className;return n&&(t+=` ${n}`),t}createItemDataset(e){let{type:t,command:n,dataset:i}=e.item;return"command"===t?{...i,type:t,command:n}:{...i,type:t}}createIconClass(e){let t="lm-Menu-itemIcon",n=e.item.iconClass;return n?`${t} ${n}`:t}createItemARIA(e){let t={};switch(e.item.type){case"separator":t.role="presentation";break;case"submenu":t["aria-haspopup"]="true",e.item.isEnabled||(t["aria-disabled"]="true");break;default:e.item.isEnabled||(t["aria-disabled"]="true"),e.item.isToggled?(t.role="menuitemcheckbox",t["aria-checked"]="true"):t.role="menuitem"}return t}formatLabel(e){let{label:t,mnemonic:n}=e.item;if(n<0||n>=t.length)return t;let i=t.slice(0,n),o=t.slice(n+1),r=t[n];return[i,T.h.span({className:"lm-Menu-itemMnemonic"},r),o]}formatShortcut(e){let t=e.item.keyBinding;return t?D.CommandRegistry.formatKeystroke(t.keys):null}}e.Renderer=t,e.defaultRenderer=new t}(Z||(Z={})),function(e){e.TIMER_DELAY=300,e.SUBMENU_OVERLAP=3;let t=null,n=0;function i(){return n>0?(n--,t):r()}function o(e){return"separator"!==e.type&&e.isEnabled&&e.isVisible}function r(){return{pageXOffset:window.pageXOffset,pageYOffset:window.pageYOffset,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight}}function s(t,n){let o=i(),r=o.pageXOffset,s=o.pageYOffset,a=o.clientWidth,l=o.clientHeight;S.MessageLoop.sendMessage(t,R.Msg.UpdateRequest);let d=l,c=t.node,h=c.style;h.opacity="0",h.maxHeight=`${d}px`,R.attach(t,document.body);let{width:u,height:p}=c.getBoundingClientRect(),m=B.ElementExt.boxSizing(t.node),g=n.getBoundingClientRect(),A=g.right-e.SUBMENU_OVERLAP;A+u>r+a&&(A=g.left+e.SUBMENU_OVERLAP-u);let C=g.top-m.borderTop-m.paddingTop;C+p>s+l&&(C=g.bottom+m.borderBottom+m.paddingBottom-p),h.transform=`translate(${Math.max(0,A)}px, ${Math.max(0,C)}px`,h.opacity="1"}e.saveWindowData=function(){t=r(),n++},e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");return t.className="lm-Menu-content",e.appendChild(t),t.setAttribute("role","menu"),e.tabIndex=0,e},e.canActivate=o,e.createItem=function(e,t){return new a(e.commands,t)},e.hitTestMenus=function(e,t,n){for(let i=e;i;i=i.childMenu)if(B.ElementExt.hitTest(i.node,t,n))return!0;return!1},e.computeCollapsed=function(e){let t=Array(e.length);j.ArrayExt.fill(t,!1);let n=0,i=e.length;for(;n<i;++n){let i=e[n];if(i.isVisible){if("separator"!==i.type)break;t[n]=!0}}let o=i-1;for(;o>=0;--o){let n=e[o];if(n.isVisible){if("separator"!==n.type)break;t[o]=!0}}let r=!1;for(;++n<o;){let i=e[n];i.isVisible&&("separator"!==i.type?r=!1:r?t[n]=!0:r=!0)}return t},e.openRootMenu=function(e,t,n,o,r,s,a,l){let d=i(),c=d.pageXOffset,h=d.pageYOffset,u=d.clientWidth,p=d.clientHeight;S.MessageLoop.sendMessage(e,R.Msg.UpdateRequest);let m=p-(r?n:0),g=e.node,A=g.style;A.opacity="0",A.maxHeight=`${m}px`,R.attach(e,a||document.body,l);let{width:C,height:f}=g.getBoundingClientRect();"right"===s&&(t-=C),!o&&t+C>c+u&&(t=c+u-C),!r&&n+f>h+p&&(n>h+p?n=h+p-f:n-=f),A.transform=`translate(${Math.max(0,t)}px, ${Math.max(0,n)}px`,A.opacity="1"},e.openSubmenu=s,e.findMnemonic=function(e,t,n){let i=-1,r=-1,s=!1,a=t.toUpperCase();for(let t=0,l=e.length;t<l;++t){let d=(t+n)%l,c=e[d];if(!o(c))continue;let h=c.label;if(0===h.length)continue;let u=c.mnemonic;if(u>=0&&u<h.length){h[u].toUpperCase()===a&&(-1===i?i=d:s=!0);continue}-1===r&&h[0].toUpperCase()===a&&(r=d)}return{index:i,multiple:s,auto:r}};class a{constructor(e,t){this._commands=e,this.type=t.type||"command",this.command=t.command||"",this.args=t.args||x.JSONExt.emptyObject,this.submenu=t.submenu||null}get label(){return"command"===this.type?this._commands.label(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.label:""}get mnemonic(){return"command"===this.type?this._commands.mnemonic(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.mnemonic:-1}get icon(){return"command"===this.type?this._commands.icon(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.icon:void 0}get iconClass(){return"command"===this.type?this._commands.iconClass(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.iconClass:""}get iconLabel(){return"command"===this.type?this._commands.iconLabel(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.iconLabel:""}get caption(){return"command"===this.type?this._commands.caption(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.caption:""}get className(){return"command"===this.type?this._commands.className(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.className:""}get dataset(){return"command"===this.type?this._commands.dataset(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.dataset:{}}get isEnabled(){return"command"===this.type?this._commands.isEnabled(this.command,this.args):"submenu"!==this.type||null!==this.submenu}get isToggled(){return"command"===this.type&&this._commands.isToggled(this.command,this.args)}get isVisible(){return"command"===this.type?this._commands.isVisible(this.command,this.args):"submenu"!==this.type||null!==this.submenu}get keyBinding(){if("command"===this.type){let{command:e,args:t}=this;return j.ArrayExt.findLastValue(this._commands.keyBindings,n=>n.command===e&&x.JSONExt.deepEqual(n.args,t))||null}return null}}}(g||(g={}));class Q{constructor(e){this._groupByTarget=!0,this._idTick=0,this._items=[],this._sortBySelector=!0;const{groupByTarget:t,sortBySelector:n,...i}=e;this.menu=new Z(i),this._groupByTarget=!1!==t,this._sortBySelector=!1!==n}addItem(e){let t=A.createItem(e,this._idTick++);return this._items.push(t),new L.DisposableDelegate(()=>{j.ArrayExt.removeFirstOf(this._items,t)})}open(e){if(Z.saveWindowData(),this.menu.clearItems(),0===this._items.length)return!1;let t=A.matchItems(this._items,e,this._groupByTarget,this._sortBySelector);if(!t||0===t.length)return!1;for(let e of t)this.menu.addItem(e);return this.menu.open(e.clientX,e.clientY),!0}}!function(e){function t(e){if(-1!==e.indexOf(","))throw Error(`Selector cannot contain commas: ${e}`);if(!B.Selector.isValid(e))throw Error(`Invalid selector: ${e}`);return e}function n(e,t){let n=e.rank,i=t.rank;return n!==i?n<i?-1:1:e.id-t.id}function i(e,t){let i=B.Selector.calculateSpecificity(e.selector),o=B.Selector.calculateSpecificity(t.selector);return i!==o?o-i:n(e,t)}e.createItem=function(e,n){let i=t(e.selector),o=void 0!==e.rank?e.rank:1/0;return{...e,selector:i,rank:o,id:n}},e.matchItems=function(e,t,o,r){let s=t.target;if(!s)return null;let a=t.currentTarget;if(!a||!a.contains(s)&&(!(s=document.elementFromPoint(t.clientX,t.clientY))||!a.contains(s)))return null;let l=[],d=e.slice();for(;null!==s;){let e=[];for(let t=0,n=d.length;t<n;++t){let n=d[t];n&&B.Selector.matches(s,n.selector)&&(e.push(n),d[t]=null)}if(0!==e.length&&(o&&e.sort(r?i:n),l.push(...e)),s===a)break;s=s.parentElement}return o||l.sort(r?i:n),l}}(A||(A={}));let X=["ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Home","End"];class ee extends R{constructor(e={}){super({node:C.createNode()}),this._currentIndex=-1,this._titles=[],this._titlesEditable=!1,this._previousTitle=null,this._dragData=null,this._tabSizeFrozen=!1,this._frozenTabWidths=null,this._unfreezeRunID=0,this._unfreezeFallbackTimerID=0,this._unfreezeTransitionListener=null,this._addButtonEnabled=!1,this._tabMoved=new I.Signal(this),this._currentChanged=new I.Signal(this),this._addRequested=new I.Signal(this),this._tabCloseRequested=new I.Signal(this),this._tabDetachRequested=new I.Signal(this),this._tabActivateRequested=new I.Signal(this),this.addClass("lm-TabBar"),this.contentNode.setAttribute("role","tablist"),this.setFlag(R.Flag.DisallowLayout),this._document=e.document||document,this.tabsMovable=e.tabsMovable||!1,this.titlesEditable=e.titlesEditable||!1,this.allowDeselect=e.allowDeselect||!1,this.addButtonEnabled=e.addButtonEnabled||!1,this.insertBehavior=e.insertBehavior||"select-tab-if-needed",this.name=e.name||"",this.orientation=e.orientation||"horizontal",this.removeBehavior=e.removeBehavior||"select-tab-after",this.renderer=e.renderer||ee.defaultRenderer}dispose(){this._releaseMouse(),this._titles.length=0,this._previousTitle=null,super.dispose()}get currentChanged(){return this._currentChanged}get tabMoved(){return this._tabMoved}get tabActivateRequested(){return this._tabActivateRequested}get addRequested(){return this._addRequested}get tabCloseRequested(){return this._tabCloseRequested}get tabDetachRequested(){return this._tabDetachRequested}get document(){return this._document}get titlesEditable(){return this._titlesEditable}set titlesEditable(e){this._titlesEditable=e}get currentTitle(){return this._titles[this._currentIndex]||null}set currentTitle(e){this.currentIndex=e?this._titles.indexOf(e):-1}get currentIndex(){return this._currentIndex}set currentIndex(e){if((e<0||e>=this._titles.length)&&(e=-1),this._currentIndex===e)return;let t=this._currentIndex,n=this._titles[t]||null,i=e,o=this._titles[i]||null;this._currentIndex=i,this._previousTitle=n,this.update(),this._currentChanged.emit({previousIndex:t,previousTitle:n,currentIndex:i,currentTitle:o})}get name(){return this._name}set name(e){this._name=e,e?this.contentNode.setAttribute("aria-label",e):this.contentNode.removeAttribute("aria-label")}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._releaseMouse(),this._orientation=e,this.dataset.orientation=e,this.contentNode.setAttribute("aria-orientation",e))}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled!==e&&(this._addButtonEnabled=e,e?this.addButtonNode.classList.remove("lm-mod-hidden"):this.addButtonNode.classList.add("lm-mod-hidden"))}get titles(){return this._titles}get contentNode(){return this.node.getElementsByClassName("lm-TabBar-content")[0]}get addButtonNode(){return this.node.getElementsByClassName("lm-TabBar-addButton")[0]}addTab(e){return this.insertTab(this._titles.length,e)}insertTab(e,t){this._releaseMouse();let n=C.asTitle(t),i=this._titles.indexOf(n),o=Math.max(0,Math.min(e,this._titles.length));return -1===i?(j.ArrayExt.insert(this._titles,o,n),n.changed.connect(this._onTitleChanged,this),this.update(),this._adjustCurrentForInsert(o,n)):(o===this._titles.length&&o--,i===o||(j.ArrayExt.move(this._titles,i,o),this.update(),this._adjustCurrentForMove(i,o))),n}removeTab(e){this.removeTabAt(this._titles.indexOf(e))}removeTabAt(e){let t=e>=0&&e<this._titles.length;if(this._tabSizeFrozen)if(t){let t=this.contentNode.children;this._frozenTabWidths=[];for(let n=0,i=t.length;n<i;++n)n!==e&&this._frozenTabWidths.push(t[n].offsetWidth)}else this._frozenTabWidths=null;this._releaseMouse();let n=j.ArrayExt.removeAt(this._titles,e);n&&(n.changed.disconnect(this._onTitleChanged,this),n===this._previousTitle&&(this._previousTitle=null),this.update(),this._adjustCurrentForRemove(e,n))}clearTabs(){if(0===this._titles.length)return;for(let e of(this._releaseMouse(),this._titles))e.changed.disconnect(this._onTitleChanged,this);let e=this.currentIndex,t=this.currentTitle;this._currentIndex=-1,this._previousTitle=null,this._titles.length=0,this.update(),-1!==e&&this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}releaseMouse(){this._releaseMouse()}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"pointerleave":this._evtPointerLeave(e);break;case"dblclick":this._evtDblClick(e);break;case"keydown":e.eventPhase===Event.CAPTURING_PHASE?this._evtKeyDownCapturing(e):this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("pointerdown",this),this.node.addEventListener("pointerleave",this),this.node.addEventListener("dblclick",this),this.node.addEventListener("keydown",this)}onAfterDetach(e){this.node.removeEventListener("pointerdown",this),this.node.removeEventListener("pointerleave",this),this.node.removeEventListener("dblclick",this),this.node.removeEventListener("keydown",this),this._clearUnfreezeTransitionState(),this._clearTabSizeFreezeState(),this._releaseMouse()}onUpdateRequest(e){var t;let n=this._titles,i=this.renderer,o=this.currentTitle,r=Array(n.length),s=null!=(t=this._getCurrentTabindex())?t:this._currentIndex>-1?this._currentIndex:0;for(let e=0,t=n.length;e<t;++e){let a=n[e],l=a===o,d=l?t:t-e-1,c=s===e?0:-1;r[e]=i.renderTab({title:a,current:l,zIndex:d,tabIndex:c})}if(T.VirtualDOM.render(r,this.contentNode),this._tabSizeFrozen){let e=this.contentNode.children;if(this._frozenTabWidths&&this._frozenTabWidths.length===e.length){for(let t=0,n=e.length;t<n;++t)this._setFrozenTabSize(e[t],this._frozenTabWidths[t]);this._frozenTabWidths=null}else{this._frozenTabWidths=null;for(let t=0,n=e.length;t<n;++t){let n=e[t];this._setFrozenTabSize(n,n.offsetWidth)}}}}_getCurrentTabindex(){let e=null,t=this.contentNode.querySelector('li[tabindex="0"]');return t?e=[...this.contentNode.children].indexOf(t):this._addButtonEnabled&&"0"===this.addButtonNode.getAttribute("tabindex")&&(e=-1),e}_evtDblClick(e){if(!this.titlesEditable)return;let t=this.contentNode.children,n=j.ArrayExt.findFirstIndex(t,t=>B.ElementExt.hitTest(t,e.clientX,e.clientY));if(-1===n)return;let i=this.titles[n],o=t[n].querySelector(".lm-TabBar-tabLabel");if(o&&o.contains(e.target)){let e=i.label||"",t=o.innerHTML;o.innerHTML="";let n=document.createElement("input");n.classList.add("lm-TabBar-tabInput"),n.value=e,o.appendChild(n);let r=()=>{n.removeEventListener("blur",r),o.innerHTML=t,this.node.addEventListener("keydown",this)};n.addEventListener("dblclick",e=>e.stopPropagation()),n.addEventListener("blur",r),n.addEventListener("keydown",e=>{"Enter"===e.key?(""!==n.value&&(i.label=i.caption=n.value),r()):"Escape"===e.key&&r()}),this.node.removeEventListener("keydown",this),n.select(),n.focus(),o.children.length>0&&o.children[0].focus()}}_evtKeyDownCapturing(e){e.eventPhase===Event.CAPTURING_PHASE&&(e.preventDefault(),e.stopPropagation(),"Escape"===e.key&&this._releaseMouse())}_evtKeyDown(e){var t,n,i;if("Tab"!==e.key&&e.eventPhase!==Event.CAPTURING_PHASE){if("Enter"===e.key||"Spacebar"===e.key||" "===e.key){let t=document.activeElement;if(this.addButtonEnabled&&this.addButtonNode.contains(t))e.preventDefault(),e.stopPropagation(),this._addRequested.emit();else{let n=j.ArrayExt.findFirstIndex(this.contentNode.children,e=>e.contains(t));n>=0&&(e.preventDefault(),e.stopPropagation(),this.currentIndex=n)}}else if(X.includes(e.key)){let o,r=[...this.contentNode.children];if(this.addButtonEnabled&&r.push(this.addButtonNode),r.length<=1)return;e.preventDefault(),e.stopPropagation();let s=r.indexOf(document.activeElement);-1===s&&(s=this._currentIndex),"ArrowRight"===e.key&&"horizontal"===this._orientation||"ArrowDown"===e.key&&"vertical"===this._orientation?o=null!=(t=r[s+1])?t:r[0]:"ArrowLeft"===e.key&&"horizontal"===this._orientation||"ArrowUp"===e.key&&"vertical"===this._orientation?o=null!=(n=r[s-1])?n:r[r.length-1]:"Home"===e.key?o=r[0]:"End"===e.key&&(o=r[r.length-1]),o&&(null==(i=r[s])||i.setAttribute("tabindex","-1"),null==o||o.setAttribute("tabindex","0"),o.focus())}}}_evtPointerDown(e){if(0!==e.button&&1!==e.button||this._dragData||e.target.classList.contains("lm-TabBar-tabInput"))return;let t=this.addButtonEnabled&&this.addButtonNode.contains(e.target),n=this.contentNode.children,i=j.ArrayExt.findFirstIndex(n,t=>B.ElementExt.hitTest(t,e.clientX,e.clientY));if(-1===i&&!t||(e.preventDefault(),e.stopPropagation(),this._dragData={tab:n[i],index:i,pressX:e.clientX,pressY:e.clientY,tabPos:-1,tabSize:-1,tabPressPos:-1,targetIndex:-1,tabLayout:null,contentRect:null,override:null,dragActive:!1,dragAborted:!1,detachRequested:!1},this.document.addEventListener("pointerup",this,!0),1===e.button||t))return;let o=n[i].querySelector(this.renderer.closeIconSelector);o&&o.contains(e.target)||(this.tabsMovable&&(this.document.addEventListener("pointermove",this,!0),this.document.addEventListener("keydown",this,!0),this.document.addEventListener("contextmenu",this,!0)),this.allowDeselect&&this.currentIndex===i?this.currentIndex=-1:this.currentIndex=i,-1!==this.currentIndex&&this._tabActivateRequested.emit({index:this.currentIndex,title:this.currentTitle}))}_evtPointerMove(e){let t=this._dragData;if(!t)return;e.preventDefault(),e.stopPropagation();let n=this.contentNode.children;if(t.dragActive||C.dragExceeded(t,e)){if(!t.dragActive){let e=t.tab.getBoundingClientRect();"horizontal"===this._orientation?(t.tabPos=t.tab.offsetLeft,t.tabSize=e.width,t.tabPressPos=t.pressX-e.left):(t.tabPos=t.tab.offsetTop,t.tabSize=e.height,t.tabPressPos=t.pressY-e.top),t.tabPressOffset={x:t.pressX-e.left,y:t.pressY-e.top},t.tabLayout=C.snapTabLayout(n,this._orientation),t.contentRect=this.contentNode.getBoundingClientRect(),t.override=k.Drag.overrideCursor("default"),t.tab.classList.add("lm-mod-dragging"),this.addClass("lm-mod-dragging"),t.dragActive=!0}if(!t.detachRequested&&C.detachExceeded(t,e)){t.detachRequested=!0;let i=t.index,o=e.clientX,r=e.clientY,s=n[i],a=this._titles[i];if(this._tabDetachRequested.emit({index:i,title:a,tab:s,clientX:o,clientY:r,offset:t.tabPressOffset}),t.dragAborted)return}C.layoutTabs(n,t,e,this._orientation)}}_evtPointerUp(e){if(0!==e.button&&1!==e.button)return;let t=this._dragData;if(t){if(e.preventDefault(),e.stopPropagation(),this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),!t.dragActive){if(this._dragData=null,this.addButtonEnabled&&this.addButtonNode.contains(e.target))return void this._addRequested.emit(void 0);let n=this.contentNode.children,i=j.ArrayExt.findFirstIndex(n,t=>B.ElementExt.hitTest(t,e.clientX,e.clientY));if(i!==t.index)return;let o=this._titles[i];if(!o.closable)return;if(1===e.button)return void this._tabCloseRequested.emit({index:i,title:o});let r=n[i].querySelector(this.renderer.closeIconSelector);return void(r&&r.contains(e.target)&&(this._tabSizeFrozen=!0,this._tabCloseRequested.emit({index:i,title:o})))}0!==e.button||(C.finalizeTabPosition(t,this._orientation),t.tab.classList.remove("lm-mod-dragging"),setTimeout(()=>{if(t.dragAborted)return;this._dragData=null,C.resetTabPositions(this.contentNode.children,this._orientation),t.override.dispose(),this.removeClass("lm-mod-dragging");let e=t.index,n=t.targetIndex;-1!==n&&e!==n&&(j.ArrayExt.move(this._titles,e,n),this._adjustCurrentForMove(e,n),this._tabMoved.emit({fromIndex:e,toIndex:n,title:this._titles[n]}),S.MessageLoop.sendMessage(this,R.Msg.UpdateRequest))},C.parseTransitionDuration(t.tab)))}}_releaseMouse(){let e=this._dragData;!e||(this._dragData=null,this.document.removeEventListener("pointermove",this,!0),this.document.removeEventListener("pointerup",this,!0),this.document.removeEventListener("keydown",this,!0),this.document.removeEventListener("contextmenu",this,!0),e.dragAborted=!0,e.dragActive&&(C.resetTabPositions(this.contentNode.children,this._orientation),e.override.dispose(),e.tab.classList.remove("lm-mod-dragging"),this.removeClass("lm-mod-dragging")))}_adjustCurrentForInsert(e,t){let n=this.currentTitle,i=this._currentIndex,o=this.insertBehavior;if("select-tab"===o||"select-tab-if-needed"===o&&-1===i){this._currentIndex=e,this._previousTitle=n,this._currentChanged.emit({previousIndex:i,previousTitle:n,currentIndex:e,currentTitle:t});return}i>=e&&this._currentIndex++}_adjustCurrentForMove(e,t){this._currentIndex===e?this._currentIndex=t:this._currentIndex<e&&this._currentIndex>=t?this._currentIndex++:this._currentIndex>e&&this._currentIndex<=t&&this._currentIndex--}_adjustCurrentForRemove(e,t){let n=this._currentIndex,i=this.removeBehavior;if(n!==e){n>e&&this._currentIndex--;return}if(0===this._titles.length){this._currentIndex=-1,this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null});return}if("select-tab-after"===i){this._currentIndex=Math.min(e,this._titles.length-1),this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if("select-tab-before"===i){this._currentIndex=Math.max(0,e-1),this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if("select-previous-tab"===i){this._previousTitle?(this._currentIndex=this._titles.indexOf(this._previousTitle),this._previousTitle=null):this._currentIndex=Math.min(e,this._titles.length-1),this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}this._currentIndex=-1,this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}_onTitleChanged(e){this.update()}_evtPointerLeave(e){if(!this._tabSizeFrozen)return;this._tabSizeFrozen=!1,this._frozenTabWidths=null,this._unfreezeRunID++;let t=this._unfreezeRunID;this._clearUnfreezeTransitionState(),this.addClass("lm-mod-unfreezing");let n=this.contentNode.children;for(let e=0,t=n.length;e<t;++e){let t=n[e];t.style.width="",t.style.flexBasis=""}if(0===n.length)this.removeClass("lm-mod-unfreezing");else{let e=e=>{let n=e.propertyName;("width"===n||"flex-basis"===n)&&this._finalizeUnfreezeRun(t)};this._unfreezeTransitionListener=e,this.node.addEventListener("transitionend",e),this.node.addEventListener("transitioncancel",e),this._unfreezeFallbackTimerID=window.setTimeout(()=>{this._finalizeUnfreezeRun(t)},2e3)}this.update()}_setFrozenTabSize(e,t){let n=`${t}px`;e.style.width=n,e.style.flexBasis=n}_finalizeUnfreezeRun(e){e===this._unfreezeRunID&&(this._clearUnfreezeTransitionState(),this.removeClass("lm-mod-unfreezing"))}_clearUnfreezeTransitionState(){this._unfreezeTransitionListener&&(this.node.removeEventListener("transitionend",this._unfreezeTransitionListener),this.node.removeEventListener("transitioncancel",this._unfreezeTransitionListener),this._unfreezeTransitionListener=null),0!==this._unfreezeFallbackTimerID&&(clearTimeout(this._unfreezeFallbackTimerID),this._unfreezeFallbackTimerID=0)}_clearTabSizeFreezeState(){this._tabSizeFrozen=!1,this._frozenTabWidths=null,this.removeClass("lm-mod-unfreezing");let e=this.contentNode.children;for(let t=0,n=e.length;t<n;++t){let n=e[t];n.style.width="",n.style.flexBasis=""}}}!function(e){class t{constructor(){this.closeIconSelector=".lm-TabBar-tabCloseIcon",this._tabID=0,this._tabKeys=new WeakMap,this._uuid=++t._nInstance}renderTab(e){let t=e.title.caption,n=this.createTabKey(e),i=n,o=this.createTabStyle(e),r=this.createTabClass(e),s=this.createTabDataset(e),a=this.createTabARIA(e);return e.title.closable?T.h.li({id:i,key:n,className:r,title:t,style:o,dataset:s,...a},this.renderIcon(e),this.renderLabel(e),this.renderCloseIcon(e)):T.h.li({id:i,key:n,className:r,title:t,style:o,dataset:s,...a},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let{title:t}=e,n=this.createIconClass(e);return T.h.div({className:n},t.icon,t.iconLabel)}renderLabel(e){return T.h.div({className:"lm-TabBar-tabLabel"},e.title.label)}renderCloseIcon(e){return T.h.div({className:"lm-TabBar-tabCloseIcon"})}createTabKey(e){let t=this._tabKeys.get(e.title);return void 0===t&&(t=`tab-key-${this._uuid}-${this._tabID++}`,this._tabKeys.set(e.title,t)),t}createTabStyle(e){return{zIndex:`${e.zIndex}`}}createTabClass(e){let t="lm-TabBar-tab";return e.title.className&&(t+=` ${e.title.className}`),e.title.closable&&(t+=" lm-mod-closable"),e.current&&(t+=" lm-mod-current"),t}createTabDataset(e){return e.title.dataset}createTabARIA(e){var t;return{role:"tab","aria-selected":e.current.toString(),tabindex:`${null!=(t=e.tabIndex)?t:"-1"}`}}createIconClass(e){let t="lm-TabBar-tabIcon",n=e.title.iconClass;return n?`${t} ${n}`:t}}t._nInstance=0,e.Renderer=t,e.defaultRenderer=new t,e.addButtonSelector=".lm-TabBar-addButton"}(ee||(ee={})),function(e){function t(t,n){let i=Math.abs(n.clientX-t.pressX),o=Math.abs(n.clientY-t.pressY);return i>=e.DRAG_THRESHOLD||o>=e.DRAG_THRESHOLD}function n(t,n){let i=t.contentRect;return n.clientX<i.left-e.DETACH_THRESHOLD||n.clientX>=i.right+e.DETACH_THRESHOLD||n.clientY<i.top-e.DETACH_THRESHOLD||n.clientY>=i.bottom+e.DETACH_THRESHOLD}e.DRAG_THRESHOLD=5,e.DETACH_THRESHOLD=20,e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");t.setAttribute("role","tablist"),t.className="lm-TabBar-content",e.appendChild(t);let n=document.createElement("div");return n.className="lm-TabBar-addButton lm-mod-hidden",n.setAttribute("tabindex","-1"),n.setAttribute("role","button"),e.appendChild(n),e},e.asTitle=function(e){return e instanceof z?e:new z(e)},e.parseTransitionDuration=function(e){return 1e3*(parseFloat(window.getComputedStyle(e).transitionDuration)||0)},e.snapTabLayout=function(e,t){let n=Array(e.length);for(let i=0,o=e.length;i<o;++i){let o=e[i],r=window.getComputedStyle(o);"horizontal"===t?n[i]={pos:o.offsetLeft,size:o.offsetWidth,margin:parseFloat(r.marginLeft)||0}:n[i]={pos:o.offsetTop,size:o.offsetHeight,margin:parseFloat(r.marginTop)||0}}return n},e.dragExceeded=t,e.detachExceeded=n,e.layoutTabs=function(e,t,n,i){let o,r,s,a;"horizontal"===i?(o=t.pressX,r=n.clientX-t.contentRect.left,s=n.clientX,a=t.contentRect.width):(o=t.pressY,r=n.clientY-t.contentRect.top,s=n.clientY,a=t.contentRect.height);let l=t.index,d=r-t.tabPressPos,c=d+t.tabSize;for(let n=0,r=e.length;n<r;++n){let r,h=t.tabLayout[n],u=h.pos+(h.size>>1);if(n<t.index&&d<u)r=`${t.tabSize+t.tabLayout[n+1].margin}px`,l=Math.min(l,n);else if(n>t.index&&c>u)r=`${-t.tabSize-h.margin}px`,l=Math.max(l,n);else if(n===t.index){let e=s-o,n=a-(t.tabPos+t.tabSize);r=`${Math.max(-t.tabPos,Math.min(e,n))}px`}else r="";"horizontal"===i?e[n].style.left=r:e[n].style.top=r}t.targetIndex=l},e.finalizeTabPosition=function(e,t){let n,i;if(n="horizontal"===t?e.contentRect.width:e.contentRect.height,e.targetIndex===e.index)i=0;else if(e.targetIndex>e.index){let t=e.tabLayout[e.targetIndex];i=t.pos+t.size-e.tabSize-e.tabPos}else i=e.tabLayout[e.targetIndex].pos-e.tabPos;let o=n-(e.tabPos+e.tabSize),r=Math.max(-e.tabPos,Math.min(i,o));"horizontal"===t?e.tab.style.left=`${r}px`:e.tab.style.top=`${r}px`},e.resetTabPositions=function(e,t){for(let n of e)"horizontal"===t?n.style.left="":n.style.top=""}}(C||(C={}));class et extends O{constructor(e){super(),this._spacing=4,this._dirty=!1,this._root=null,this._box=null,this._items=new Map,this.renderer=e.renderer,void 0!==e.spacing&&(this._spacing=H.clampDimension(e.spacing)),this._document=e.document||document,this._hiddenMode=void 0!==e.hiddenMode?e.hiddenMode:R.HiddenMode.Display}dispose(){let e=this[Symbol.iterator]();for(let t of(this._items.forEach(e=>{e.dispose()}),this._box=null,this._root=null,this._items.clear(),e))t.dispose();super.dispose()}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){if(this._hiddenMode!==e){for(let t of(this._hiddenMode=e,this.tabBars()))if(t.titles.length>1)for(let e of t.titles)e.owner.hiddenMode=this._hiddenMode}}get spacing(){return this._spacing}set spacing(e){e=H.clampDimension(e),this._spacing===e||(this._spacing=e,this.parent&&this.parent.fit())}get isEmpty(){return null===this._root}[Symbol.iterator](){return this._root?this._root.iterAllWidgets():(0,j.empty)()}widgets(){return this._root?this._root.iterUserWidgets():(0,j.empty)()}selectedWidgets(){return this._root?this._root.iterSelectedWidgets():(0,j.empty)()}tabBars(){return this._root?this._root.iterTabBars():(0,j.empty)()}handles(){return this._root?this._root.iterHandles():(0,j.empty)()}moveHandle(e,t,n){let o,r=e.classList.contains("lm-mod-hidden");if(!this._root||r)return;let s=this._root.findSplitNode(e);!s||0!=(o="horizontal"===s.node.orientation?t-e.offsetLeft:n-e.offsetTop)&&(s.node.holdSizes(),i.adjust(s.node.sizers,s.index,o),this.parent&&this.parent.update())}saveLayout(){return this._root?(this._root.holdAllSizes(),{main:this._root.createConfig()}):{main:null}}restoreLayout(e){let t,n=new Set;t=e.main?f.normalizeAreaConfig(e.main,n):null;let i=this.widgets(),o=this.tabBars(),r=this.handles();for(let e of(this._root=null,i))n.has(e)||(e.parent=null);for(let e of o)e.dispose();for(let e of r)e.parentNode&&e.parentNode.removeChild(e);for(let e of n)e.parent=this.parent;t?this._root=f.realizeAreaConfig(t,{createTabBar:e=>this._createTabBar(),createHandle:()=>this._createHandle()},this._document):this._root=null,this.parent&&(n.forEach(e=>{this.attachWidget(e)}),this.parent.fit())}addWidget(e,t={}){let n=t.ref||null,i=t.mode||"tab-after",o=null;if(this._root&&n&&(o=this._root.findTabNode(n)),n&&!o)throw Error("Reference widget is not in the layout.");switch(e.parent=this.parent,i){case"tab-after":this._insertTab(e,n,o,!0);break;case"tab-before":this._insertTab(e,n,o,!1);break;case"split-top":this._insertSplit(e,n,o,"vertical",!1);break;case"split-left":this._insertSplit(e,n,o,"horizontal",!1);break;case"split-right":this._insertSplit(e,n,o,"horizontal",!0);break;case"split-bottom":this._insertSplit(e,n,o,"vertical",!0);break;case"merge-top":this._insertSplit(e,n,o,"vertical",!1,!0);break;case"merge-left":this._insertSplit(e,n,o,"horizontal",!1,!0);break;case"merge-right":this._insertSplit(e,n,o,"horizontal",!0,!0);break;case"merge-bottom":this._insertSplit(e,n,o,"vertical",!0,!0)}this.parent&&(this.attachWidget(e),this.parent.fit())}removeWidget(e){this._removeWidget(e),this.parent&&(this.detachWidget(e),this.parent.fit())}hitTestTabAreas(e,t){if(!this._root||!this.parent||!this.parent.isVisible)return null;this._box||(this._box=B.ElementExt.boxSizing(this.parent.node));let n=this.parent.node.getBoundingClientRect(),i=e-n.left-this._box.borderLeft,o=t-n.top-this._box.borderTop,r=this._root.hitTestTabNodes(i,o);if(!r)return null;let{tabBar:s,top:a,left:l,width:d,height:c}=r,h=this._box.borderLeft+this._box.borderRight,u=this._box.borderTop+this._box.borderBottom,p=n.width-h-(l+d),m=n.height-u-(a+c);return{tabBar:s,x:i,y:o,top:a,left:l,right:p,bottom:m,width:d,height:c}}init(){for(let e of(super.init(),this))this.attachWidget(e);for(let e of this.handles())this.parent.node.appendChild(e);this.parent.fit()}attachWidget(e){this.parent.node!==e.node.parentNode&&(this._items.set(e,new F(e)),this.parent.isAttached&&S.MessageLoop.sendMessage(e,R.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&S.MessageLoop.sendMessage(e,R.Msg.AfterAttach))}detachWidget(e){if(this.parent.node!==e.node.parentNode)return;this.parent.isAttached&&S.MessageLoop.sendMessage(e,R.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&S.MessageLoop.sendMessage(e,R.Msg.AfterDetach);let t=this._items.get(e);t&&(this._items.delete(e),t.dispose())}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_removeWidget(e){if(!this._root)return;let t=this._root.findTabNode(e);if(!t)return;if(f.removeAria(e),t.tabBar.titles.length>1){t.tabBar.removeTab(e.title),this._hiddenMode===R.HiddenMode.Scale&&1==t.tabBar.titles.length&&(t.tabBar.titles[0].owner.hiddenMode=R.HiddenMode.Display);return}if(t.tabBar.dispose(),this._root===t){this._root=null;return}this._root.holdAllSizes();let n=t.parent;t.parent=null;let i=j.ArrayExt.removeFirstOf(n.children,t),o=j.ArrayExt.removeAt(n.handles,i);if(j.ArrayExt.removeAt(n.sizers,i),o.parentNode&&o.parentNode.removeChild(o),n.children.length>1)return void n.syncHandles();let r=n.parent;n.parent=null;let s=n.children[0],a=n.handles[0];if(n.children.length=0,n.handles.length=0,n.sizers.length=0,a.parentNode&&a.parentNode.removeChild(a),this._root===n){s.parent=null,this._root=s;return}let l=r,d=l.children.indexOf(n);if(s instanceof f.TabLayoutNode){s.parent=l,l.children[d]=s;return}let c=j.ArrayExt.removeAt(l.handles,d);j.ArrayExt.removeAt(l.children,d),j.ArrayExt.removeAt(l.sizers,d),c.parentNode&&c.parentNode.removeChild(c);for(let e=0,t=s.children.length;e<t;++e){let t=s.children[e],n=s.handles[e],i=s.sizers[e];j.ArrayExt.insert(l.children,d+e,t),j.ArrayExt.insert(l.handles,d+e,n),j.ArrayExt.insert(l.sizers,d+e,i),t.parent=l}s.children.length=0,s.handles.length=0,s.sizers.length=0,s.parent=null,l.syncHandles()}_createTabNode(e){let t=new f.TabLayoutNode(this._createTabBar());return t.tabBar.addTab(e.title),f.addAria(e,t.tabBar),t}_insertTab(e,t,n,i){let o;if(e!==t){if(!this._root){let t=new f.TabLayoutNode(this._createTabBar());t.tabBar.addTab(e.title),this._root=t,f.addAria(e,t.tabBar);return}n||(n=this._root.findFirstTabNode()),-1===n.tabBar.titles.indexOf(e.title)&&(this._removeWidget(e),e.hide()),o=t?n.tabBar.titles.indexOf(t.title):n.tabBar.currentIndex,this._hiddenMode===R.HiddenMode.Scale?0===n.tabBar.titles.length?e.hiddenMode=R.HiddenMode.Display:1==n.tabBar.titles.length?n.tabBar.titles[0].owner.hiddenMode=R.HiddenMode.Scale:e.hiddenMode=R.HiddenMode.Scale:e.hiddenMode=this._hiddenMode,n.tabBar.insertTab(o+ +!!i,e.title),f.addAria(e,n.tabBar)}}_insertSplit(e,t,n,i,o,r=!1){if(e===t&&n&&1===n.tabBar.titles.length)return;if(this._removeWidget(e),!this._root){this._root=this._createTabNode(e);return}if(!n||!n.parent){let t=this._splitRoot(i),r=o?t.children.length:0;t.normalizeSizes();let s=f.createSizer(n?1:f.GOLDEN_RATIO),a=this._createTabNode(e);j.ArrayExt.insert(t.children,r,a),j.ArrayExt.insert(t.sizers,r,s),j.ArrayExt.insert(t.handles,r,this._createHandle()),a.parent=t,t.normalizeSizes(),t.syncHandles();return}let s=n.parent;if(s.orientation===i){let t=s.children.indexOf(n);if(r){let n=t+(o?1:-1),i=s.children[n];if(i instanceof f.TabLayoutNode){this._insertTab(e,null,i,!0),++i.tabBar.currentIndex;return}}s.normalizeSizes();let i=s.sizers[t].sizeHint/=2,a=t+ +!!o,l=this._createTabNode(e);j.ArrayExt.insert(s.children,a,l),j.ArrayExt.insert(s.sizers,a,f.createSizer(i)),j.ArrayExt.insert(s.handles,a,this._createHandle()),l.parent=s,s.syncHandles();return}let a=j.ArrayExt.removeFirstOf(s.children,n),l=new f.SplitLayoutNode(i);l.normalized=!0,l.children.push(n),l.sizers.push(f.createSizer(.5)),l.handles.push(this._createHandle()),n.parent=l;let d=+!!o,c=this._createTabNode(e);j.ArrayExt.insert(l.children,d,c),j.ArrayExt.insert(l.sizers,d,f.createSizer(.5)),j.ArrayExt.insert(l.handles,d,this._createHandle()),c.parent=l,l.syncHandles(),j.ArrayExt.insert(s.children,a,l),l.parent=s}_splitRoot(e){let t=this._root;if(t instanceof f.SplitLayoutNode&&t.orientation===e)return t;let n=this._root=new f.SplitLayoutNode(e);return t&&(n.children.push(t),n.sizers.push(f.createSizer(0)),n.handles.push(this._createHandle()),t.parent=n),n}_fit(){let e=0,t=0;if(this._root){let n=this._root.fit(this._spacing,this._items);e=n.minWidth,t=n.minHeight}let n=this._box=B.ElementExt.boxSizing(this.parent.node);e+=n.horizontalSum,t+=n.verticalSum;let i=this.parent.node.style;i.minWidth=`${e}px`,i.minHeight=`${t}px`,this._dirty=!0,this.parent.parent&&S.MessageLoop.sendMessage(this.parent.parent,R.Msg.FitRequest),this._dirty&&S.MessageLoop.sendMessage(this.parent,R.Msg.UpdateRequest)}_update(e,t){if(this._dirty=!1,!this._root)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||(this._box=B.ElementExt.boxSizing(this.parent.node));let n=this._box.paddingTop,i=this._box.paddingLeft,o=e-this._box.horizontalSum,r=t-this._box.verticalSum;this._root.update(n,i,o,r,this._spacing,this._items)}_createTabBar(){let e=this.renderer.createTabBar(this._document);return e.orientation="horizontal",this.parent&&this.attachWidget(e),e}_createHandle(){let e=this.renderer.createHandle(),t=e.style;return t.position="absolute",t.contain="strict",t.top="0",t.left="0",t.width="0",t.height="0",this.parent&&this.parent.node.appendChild(e),e}}!function(e){function t(e){let t=new P;return t.sizeHint=e,t.size=e,t}function n(e,t){return"tab-area"===e.type?a(e,t):l(e,t)}function o(e,t,n){return"tab-area"===e.type?d(e,t,n):c(e,t,n)}e.GOLDEN_RATIO=.618,e.createSizer=t,e.normalizeAreaConfig=n,e.realizeAreaConfig=o;class r{constructor(e){this.parent=null,this._top=0,this._left=0,this._width=0,this._height=0;let t=new P,n=new P;t.stretch=0,n.stretch=1,this.tabBar=e,this.sizers=[t,n]}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}*iterAllWidgets(){yield this.tabBar,yield*this.iterUserWidgets()}*iterUserWidgets(){for(let e of this.tabBar.titles)yield e.owner}*iterSelectedWidgets(){let e=this.tabBar.currentTitle;e&&(yield e.owner)}*iterTabBars(){yield this.tabBar}*iterHandles(){}findTabNode(e){return -1!==this.tabBar.titles.indexOf(e.title)?this:null}findSplitNode(e){return null}findFirstTabNode(){return this}hitTestTabNodes(e,t){return e<this._left||e>=this._left+this._width||t<this._top||t>=this._top+this._height?null:this}createConfig(){return{type:"tab-area",widgets:this.tabBar.titles.map(e=>e.owner),currentIndex:this.tabBar.currentIndex}}holdAllSizes(){}fit(e,t){let n=0,i=0,o=1/0,r=1/0,s=t.get(this.tabBar),a=this.tabBar.currentTitle,l=a?t.get(a.owner):void 0,[d,c]=this.sizers;return s&&s.fit(),l&&l.fit(),s&&!s.isHidden?(n=Math.max(n,s.minWidth),i+=s.minHeight,d.minSize=s.minHeight,d.maxSize=s.maxHeight):(d.minSize=0,d.maxSize=0),l&&!l.isHidden?(n=Math.max(n,l.minWidth),i+=l.minHeight,c.minSize=l.minHeight):c.minSize=0,c.maxSize=1/0,{minWidth:n,minHeight:i,maxWidth:o,maxHeight:r}}update(e,t,n,o,r,s){this._top=t,this._left=e,this._width=n,this._height=o;let a=s.get(this.tabBar),l=this.tabBar.currentTitle,d=l?s.get(l.owner):void 0;if(i.calc(this.sizers,o),a&&!a.isHidden){let i=this.sizers[0].size;a.update(e,t,n,i),t+=i}if(d&&!d.isHidden){let i=this.sizers[1].size;d.update(e,t,n,i)}}}e.TabLayoutNode=r;class s{constructor(e){this.parent=null,this.normalized=!1,this.children=[],this.sizers=[],this.handles=[],this.orientation=e}*iterAllWidgets(){for(let e of this.children)yield*e.iterAllWidgets()}*iterUserWidgets(){for(let e of this.children)yield*e.iterUserWidgets()}*iterSelectedWidgets(){for(let e of this.children)yield*e.iterSelectedWidgets()}*iterTabBars(){for(let e of this.children)yield*e.iterTabBars()}*iterHandles(){for(let e of(yield*this.handles,this.children))yield*e.iterHandles()}findTabNode(e){for(let t=0,n=this.children.length;t<n;++t){let n=this.children[t].findTabNode(e);if(n)return n}return null}findSplitNode(e){let t=this.handles.indexOf(e);if(-1!==t)return{index:t,node:this};for(let t=0,n=this.children.length;t<n;++t){let n=this.children[t].findSplitNode(e);if(n)return n}return null}findFirstTabNode(){return 0===this.children.length?null:this.children[0].findFirstTabNode()}hitTestTabNodes(e,t){for(let n=0,i=this.children.length;n<i;++n){let i=this.children[n].hitTestTabNodes(e,t);if(i)return i}return null}createConfig(){let e=this.orientation,t=this.createNormalizedSizes();return{type:"split-area",orientation:e,children:this.children.map(e=>e.createConfig()),sizes:t}}syncHandles(){this.handles.forEach((e,t)=>{e.setAttribute("data-orientation",this.orientation),t===this.handles.length-1?e.classList.add("lm-mod-hidden"):e.classList.remove("lm-mod-hidden")})}holdSizes(){for(let e of this.sizers)e.sizeHint=e.size}holdAllSizes(){for(let e of this.children)e.holdAllSizes();this.holdSizes()}normalizeSizes(){let e=this.sizers.length;if(0===e)return;this.holdSizes();let t=this.sizers.reduce((e,t)=>e+t.sizeHint,0);if(0===t)for(let t of this.sizers)t.size=t.sizeHint=1/e;else for(let e of this.sizers)e.size=e.sizeHint/=t;this.normalized=!0}createNormalizedSizes(){let e=this.sizers.length;if(0===e)return[];let t=this.sizers.map(e=>e.size),n=t.reduce((e,t)=>e+t,0);if(0===n)for(let n=t.length-1;n>-1;n--)t[n]=1/e;else for(let e=t.length-1;e>-1;e--)t[e]/=n;return t}fit(e,t){let n="horizontal"===this.orientation,i=Math.max(0,this.children.length-1)*e,o=n?i:0,r=n?0:i,s=1/0,a=1/0;for(let i=0,s=this.children.length;i<s;++i){let s=this.children[i].fit(e,t);n?(r=Math.max(r,s.minHeight),o+=s.minWidth,this.sizers[i].minSize=s.minWidth):(o=Math.max(o,s.minWidth),r+=s.minHeight,this.sizers[i].minSize=s.minHeight)}return{minWidth:o,minHeight:r,maxWidth:s,maxHeight:a}}update(e,t,n,o,r,s){let a="horizontal"===this.orientation,l=Math.max(0,(a?n:o)-Math.max(0,this.children.length-1)*r);if(this.normalized){for(let e of this.sizers)e.sizeHint*=l;this.normalized=!1}i.calc(this.sizers,l);for(let i=0,l=this.children.length;i<l;++i){let l=this.children[i],d=this.sizers[i].size,c=this.handles[i].style;a?(l.update(e,t,d,o,r,s),e+=d,c.top=`${t}px`,c.left=`${e}px`,c.width=`${r}px`,c.height=`${o}px`,e+=r):(l.update(e,t,n,d,r,s),t+=d,c.top=`${t}px`,c.left=`${e}px`,c.width=`${n}px`,c.height=`${r}px`,t+=r)}}}function a(e,t){if(0===e.widgets.length)return null;let n=[];for(let i of e.widgets)t.has(i)||(t.add(i),n.push(i));if(0===n.length)return null;let i=e.currentIndex;return -1!==i&&(i<0||i>=n.length)&&(i=0),{type:"tab-area",widgets:n,currentIndex:i}}function l(e,t){let i=e.orientation,o=[],r=[];for(let s=0,a=e.children.length;s<a;++s){let a=n(e.children[s],t);a&&("tab-area"===a.type||a.orientation!==i?(o.push(a),r.push(Math.abs(e.sizes[s]||0))):(o.push(...a.children),r.push(...a.sizes)))}return 0===o.length?null:1===o.length?o[0]:{type:"split-area",orientation:i,children:o,sizes:r}}function d(t,n,i){let o=n.createTabBar(i);for(let n of t.widgets)n.hide(),o.addTab(n.title),e.addAria(n,o);return o.currentIndex=t.currentIndex,new r(o)}function c(e,n,i){let r=new s(e.orientation);return e.children.forEach((s,a)=>{let l=o(s,n,i),d=t(e.sizes[a]),c=n.createHandle();r.children.push(l),r.handles.push(c),r.sizers.push(d),l.parent=r}),r.syncHandles(),r.normalizeSizes(),r}e.SplitLayoutNode=s,e.addAria=function(e,t){e.node.setAttribute("role","tabpanel");let n=t.renderer;if(n instanceof ee.Renderer){let t=n.createTabKey({title:e.title,current:!1,zIndex:0});e.node.setAttribute("aria-labelledby",t)}},e.removeAria=function(e){e.node.removeAttribute("role"),e.node.removeAttribute("aria-labelledby")}}(f||(f={}));class en extends R{constructor(e={}){super(),this._drag=null,this._tabsMovable=!0,this._tabsConstrained=!1,this._addButtonEnabled=!1,this._pressData=null,this._layoutModified=new I.Signal(this),this._addRequested=new I.Signal(this),this.addClass("lm-DockPanel"),this._document=e.document||document,this._mode=e.mode||"multiple-document",this._renderer=e.renderer||en.defaultRenderer,this._edges=e.edges||b.DEFAULT_EDGES,void 0!==e.tabsMovable&&(this._tabsMovable=e.tabsMovable),void 0!==e.tabsConstrained&&(this._tabsConstrained=e.tabsConstrained),void 0!==e.addButtonEnabled&&(this._addButtonEnabled=e.addButtonEnabled),this.dataset.mode=this._mode;let t={createTabBar:()=>this._createTabBar(),createHandle:()=>this._createHandle()};this.layout=new et({document:this._document,renderer:t,spacing:e.spacing,hiddenMode:e.hiddenMode}),this.overlay=e.overlay||new en.Overlay,this.node.appendChild(this.overlay.node)}dispose(){this._releaseMouse(),this.overlay.hide(0),this._drag&&this._drag.dispose(),super.dispose()}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(e){this.layout.hiddenMode=e}get layoutModified(){return this._layoutModified}get addRequested(){return this._addRequested}get renderer(){return this.layout.renderer}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get mode(){return this._mode}set mode(e){if(this._mode===e)return;this._mode=e,this.dataset.mode=e;let t=this.layout;switch(e){case"multiple-document":for(let e of t.tabBars())e.show();break;case"single-document":t.restoreLayout(b.createSingleDocumentConfig(this));break;default:throw"unreachable"}S.MessageLoop.postMessage(this,b.LayoutModified)}get tabsMovable(){return this._tabsMovable}set tabsMovable(e){for(let t of(this._tabsMovable=e,this.tabBars()))t.tabsMovable=e}get tabsConstrained(){return this._tabsConstrained}set tabsConstrained(e){this._tabsConstrained=e}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){for(let t of(this._addButtonEnabled=e,this.tabBars()))t.addButtonEnabled=e}get isEmpty(){return this.layout.isEmpty}*widgets(){yield*this.layout.widgets()}*selectedWidgets(){yield*this.layout.selectedWidgets()}*tabBars(){yield*this.layout.tabBars()}*handles(){yield*this.layout.handles()}selectWidget(e){let t=(0,j.find)(this.tabBars(),t=>-1!==t.titles.indexOf(e.title));if(!t)throw Error("Widget is not contained in the dock panel.");t.currentTitle=e.title}activateWidget(e){this.selectWidget(e),e.activate()}saveLayout(){return this.layout.saveLayout()}restoreLayout(e){this._mode="multiple-document",this.layout.restoreLayout(e),(B.Platform.IS_EDGE||B.Platform.IS_IE)&&S.MessageLoop.flush(),S.MessageLoop.postMessage(this,b.LayoutModified)}addWidget(e,t={}){"single-document"===this._mode?this.layout.addWidget(e):this.layout.addWidget(e,t),S.MessageLoop.postMessage(this,b.LayoutModified)}processMessage(e){"layout-modified"===e.type?this._layoutModified.emit(void 0):super.processMessage(e)}handleEvent(e){switch(e.type){case"lm-dragenter":this._evtDragEnter(e);break;case"lm-dragleave":this._evtDragLeave(e);break;case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e);break;case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("lm-dragenter",this),this.node.addEventListener("lm-dragleave",this),this.node.addEventListener("lm-dragover",this),this.node.addEventListener("lm-drop",this),this.node.addEventListener("pointerdown",this)}onAfterDetach(e){this.node.removeEventListener("lm-dragenter",this),this.node.removeEventListener("lm-dragleave",this),this.node.removeEventListener("lm-dragover",this),this.node.removeEventListener("lm-drop",this),this.node.removeEventListener("pointerdown",this),this._releaseMouse()}onChildAdded(e){b.isGeneratedTabBarProperty.get(e.child)||e.child.addClass("lm-DockPanel-widget")}onChildRemoved(e){b.isGeneratedTabBarProperty.get(e.child)||(e.child.removeClass("lm-DockPanel-widget"),S.MessageLoop.postMessage(this,b.LayoutModified))}_evtDragEnter(e){e.mimeData.hasData("application/vnd.lumino.widget-factory")&&(e.preventDefault(),e.stopPropagation())}_evtDragLeave(e){e.preventDefault(),this._tabsConstrained&&e.source!==this||(e.stopPropagation(),this.overlay.hide(1))}_evtDragOver(e){e.preventDefault(),this._tabsConstrained&&e.source!==this||"invalid"===this._showOverlay(e.clientX,e.clientY)?e.dropAction="none":(e.stopPropagation(),e.dropAction=e.proposedAction)}_evtDrop(e){if(e.preventDefault(),this.overlay.hide(0),"none"===e.proposedAction){e.dropAction="none";return}let{clientX:t,clientY:n}=e,{zone:i,target:o}=b.findDropTarget(this,t,n,this._edges);if(this._tabsConstrained&&e.source!==this||"invalid"===i){e.dropAction="none";return}let r=e.mimeData.getData("application/vnd.lumino.widget-factory");if("function"!=typeof r){e.dropAction="none";return}let s=r();if(!(s instanceof R)||s.contains(this)){e.dropAction="none";return}let a=o?b.getDropRef(o.tabBar):null;switch(i){case"root-all":this.addWidget(s);break;case"root-top":this.addWidget(s,{mode:"split-top"});break;case"root-left":this.addWidget(s,{mode:"split-left"});break;case"root-right":this.addWidget(s,{mode:"split-right"});break;case"root-bottom":this.addWidget(s,{mode:"split-bottom"});break;case"widget-all":case"widget-tab":this.addWidget(s,{mode:"tab-after",ref:a});break;case"widget-top":this.addWidget(s,{mode:"split-top",ref:a});break;case"widget-left":this.addWidget(s,{mode:"split-left",ref:a});break;case"widget-right":this.addWidget(s,{mode:"split-right",ref:a});break;case"widget-bottom":this.addWidget(s,{mode:"split-bottom",ref:a});break;default:throw"unreachable"}e.dropAction=e.proposedAction,e.stopPropagation(),this.activateWidget(s)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),27===e.keyCode&&(this._releaseMouse(),S.MessageLoop.postMessage(this,b.LayoutModified))}_evtPointerDown(e){if(0!==e.button)return;let t=this.layout,n=e.target,i=(0,j.find)(t.handles(),e=>e.contains(n));if(!i)return;e.preventDefault(),e.stopPropagation(),this._document.addEventListener("keydown",this,!0),this._document.addEventListener("pointerup",this,!0),this._document.addEventListener("pointermove",this,!0),this._document.addEventListener("contextmenu",this,!0);let o=i.getBoundingClientRect(),r=e.clientX-o.left,s=e.clientY-o.top,a=window.getComputedStyle(i),l=k.Drag.overrideCursor(a.cursor,this._document);this._pressData={handle:i,deltaX:r,deltaY:s,override:l}}_evtPointerMove(e){if(!this._pressData)return;e.preventDefault(),e.stopPropagation();let t=this.node.getBoundingClientRect(),n=e.clientX-t.left-this._pressData.deltaX,i=e.clientY-t.top-this._pressData.deltaY;this.layout.moveHandle(this._pressData.handle,n,i)}_evtPointerUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse(),S.MessageLoop.postMessage(this,b.LayoutModified))}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._document.removeEventListener("keydown",this,!0),this._document.removeEventListener("pointerup",this,!0),this._document.removeEventListener("pointermove",this,!0),this._document.removeEventListener("contextmenu",this,!0))}_showOverlay(e,t){let n,i,o,r,{zone:s,target:a}=b.findDropTarget(this,e,t,this._edges);if("invalid"===s)return this.overlay.hide(100),s;let l=B.ElementExt.boxSizing(this.node),d=this.node.getBoundingClientRect();switch(s){case"root-all":n=l.paddingTop,i=l.paddingLeft,o=l.paddingRight,r=l.paddingBottom;break;case"root-top":n=l.paddingTop,i=l.paddingLeft,o=l.paddingRight,r=d.height*b.GOLDEN_RATIO;break;case"root-left":n=l.paddingTop,i=l.paddingLeft,o=d.width*b.GOLDEN_RATIO,r=l.paddingBottom;break;case"root-right":n=l.paddingTop,i=d.width*b.GOLDEN_RATIO,o=l.paddingRight,r=l.paddingBottom;break;case"root-bottom":n=d.height*b.GOLDEN_RATIO,i=l.paddingLeft,o=l.paddingRight,r=l.paddingBottom;break;case"widget-all":n=a.top,i=a.left,o=a.right,r=a.bottom;break;case"widget-top":n=a.top,i=a.left,o=a.right,r=a.bottom+a.height/2;break;case"widget-left":n=a.top,i=a.left,o=a.right+a.width/2,r=a.bottom;break;case"widget-right":n=a.top,i=a.left+a.width/2,o=a.right,r=a.bottom;break;case"widget-bottom":n=a.top+a.height/2,i=a.left,o=a.right,r=a.bottom;break;case"widget-tab":{let e=a.tabBar.node.getBoundingClientRect().height;n=a.top,i=a.left,o=a.right,r=a.bottom+a.height-e;break}default:throw"unreachable"}return this.overlay.show({top:n,left:i,right:o,bottom:r}),s}_createTabBar(){let e=this._renderer.createTabBar(this._document);return b.isGeneratedTabBarProperty.set(e,!0),"single-document"===this._mode&&e.hide(),e.tabsMovable=this._tabsMovable,e.allowDeselect=!1,e.addButtonEnabled=this._addButtonEnabled,e.removeBehavior="select-previous-tab",e.insertBehavior="select-tab-if-needed",e.tabMoved.connect(this._onTabMoved,this),e.currentChanged.connect(this._onCurrentChanged,this),e.tabCloseRequested.connect(this._onTabCloseRequested,this),e.tabDetachRequested.connect(this._onTabDetachRequested,this),e.tabActivateRequested.connect(this._onTabActivateRequested,this),e.addRequested.connect(this._onTabAddRequested,this),e}_createHandle(){return this._renderer.createHandle()}_onTabMoved(){S.MessageLoop.postMessage(this,b.LayoutModified)}_onCurrentChanged(e,t){let{previousTitle:n,currentTitle:i}=t;n&&n.owner.hide(),i&&i.owner.show(),(B.Platform.IS_EDGE||B.Platform.IS_IE)&&S.MessageLoop.flush(),S.MessageLoop.postMessage(this,b.LayoutModified)}_onTabAddRequested(e){this._addRequested.emit(e)}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabDetachRequested(e,t){if(this._drag)return;e.releaseMouse();let{title:n,tab:i,clientX:o,clientY:r,offset:s}=t,a=new x.MimeData,l=()=>n.owner;a.setData("application/vnd.lumino.widget-factory",l);let d=i.cloneNode(!0);s&&(d.style.top=`-${s.y}px`,d.style.left=`-${s.x}px`),this._drag=new k.Drag({document:this._document,mimeData:a,dragImage:d,proposedAction:"move",supportedActions:"move",source:this}),i.classList.add("lm-mod-hidden");let c=()=>{this._drag=null,i.classList.remove("lm-mod-hidden")};this._drag.start(o,r).then(c)}}!function(e){class t{constructor(){this._timer=-1,this._hidden=!0,this.node=document.createElement("div"),this.node.classList.add("lm-DockPanel-overlay"),this.node.classList.add("lm-mod-hidden"),this.node.style.position="absolute",this.node.style.contain="strict"}show(e){let t=this.node.style;t.top=`${e.top}px`,t.left=`${e.left}px`,t.right=`${e.right}px`,t.bottom=`${e.bottom}px`,clearTimeout(this._timer),this._timer=-1,this._hidden&&(this._hidden=!1,this.node.classList.remove("lm-mod-hidden"))}hide(e){if(!this._hidden){if(e<=0){clearTimeout(this._timer),this._timer=-1,this._hidden=!0,this.node.classList.add("lm-mod-hidden");return}-1===this._timer&&(this._timer=window.setTimeout(()=>{this._timer=-1,this._hidden=!0,this.node.classList.add("lm-mod-hidden")},e))}}}e.Overlay=t;class n{createTabBar(e){let t=new ee({document:e});return t.addClass("lm-DockPanel-tabBar"),t}createHandle(){let e=document.createElement("div");return e.className="lm-DockPanel-handle",e}}e.Renderer=n,e.defaultRenderer=new n}(en||(en={})),function(e){e.GOLDEN_RATIO=.618,e.DEFAULT_EDGES={top:12,right:40,bottom:40,left:40},e.LayoutModified=new S.ConflatableMessage("layout-modified"),e.isGeneratedTabBarProperty=new M.AttachedProperty({name:"isGeneratedTabBar",create:()=>!1}),e.createSingleDocumentConfig=function(e){if(e.isEmpty)return{main:null};let t=Array.from(e.widgets()),n=e.selectedWidgets().next().value,i=n?t.indexOf(n):-1;return{main:{type:"tab-area",widgets:t,currentIndex:i}}},e.findDropTarget=function(e,t,n,i){let o;if(!B.ElementExt.hitTest(e.node,t,n))return{zone:"invalid",target:null};let r=e.layout;if(r.isEmpty)return{zone:"root-all",target:null};if("multiple-document"===e.mode){let o=e.node.getBoundingClientRect(),r=t-o.left+1,s=n-o.top+1,a=o.right-t,l=o.bottom-n;switch(Math.min(s,a,l,r)){case s:if(s<i.top)return{zone:"root-top",target:null};break;case a:if(a<i.right)return{zone:"root-right",target:null};break;case l:if(l<i.bottom)return{zone:"root-bottom",target:null};break;case r:if(r<i.left)return{zone:"root-left",target:null};break;default:throw"unreachable"}}let s=r.hitTestTabAreas(t,n);if(!s)return{zone:"invalid",target:null};if("single-document"===e.mode)return{zone:"widget-all",target:s};let a=s.x-s.left+1,l=s.y-s.top+1,d=s.left+s.width-s.x,c=s.top+s.height-s.y;if(l<s.tabBar.node.getBoundingClientRect().height)return{zone:"widget-tab",target:s};let h=Math.round(s.width/3),u=Math.round(s.height/3);if(a>h&&d>h&&l>u&&c>u)return{zone:"widget-all",target:s};switch(Math.min(a/=h,l/=u,d/=h,c/=u)){case a:o="widget-left";break;case l:o="widget-top";break;case d:o="widget-right";break;case c:o="widget-bottom";break;default:throw"unreachable"}return{zone:o,target:s}},e.getDropRef=function(e){return 0===e.titles.length?null:e.currentTitle?e.currentTitle.owner:e.titles[e.titles.length-1].owner}}(b||(b={}));class ei{constructor(){this._counter=0,this._widgets=[],this._activeWidget=null,this._currentWidget=null,this._numbers=new Map,this._nodes=new Map,this._activeChanged=new I.Signal(this),this._currentChanged=new I.Signal(this)}dispose(){if(!(this._counter<0)){for(let e of(this._counter=-1,I.Signal.clearData(this),this._widgets))e.node.removeEventListener("focus",this,!0),e.node.removeEventListener("blur",this,!0);this._activeWidget=null,this._currentWidget=null,this._nodes.clear(),this._numbers.clear(),this._widgets.length=0}}get currentChanged(){return this._currentChanged}get activeChanged(){return this._activeChanged}get isDisposed(){return this._counter<0}get currentWidget(){return this._currentWidget}get activeWidget(){return this._activeWidget}get widgets(){return this._widgets}focusNumber(e){let t=this._numbers.get(e);return void 0===t?-1:t}has(e){return this._numbers.has(e)}add(e){if(this._numbers.has(e))return;let t=e.node.contains(document.activeElement),n=t?this._counter++:-1;this._widgets.push(e),this._numbers.set(e,n),this._nodes.set(e.node,e),e.node.addEventListener("focus",this,!0),e.node.addEventListener("blur",this,!0),e.disposed.connect(this._onWidgetDisposed,this),t&&this._setWidgets(e,e)}remove(e){if(!this._numbers.has(e)||(e.disposed.disconnect(this._onWidgetDisposed,this),e.node.removeEventListener("focus",this,!0),e.node.removeEventListener("blur",this,!0),j.ArrayExt.removeFirstOf(this._widgets,e),this._nodes.delete(e.node),this._numbers.delete(e),this._currentWidget!==e))return;let t=this._widgets.filter(e=>-1!==this._numbers.get(e)),n=(0,j.max)(t,(e,t)=>this._numbers.get(e)-this._numbers.get(t))||null;this._setWidgets(n,null)}handleEvent(e){switch(e.type){case"focus":this._evtFocus(e);break;case"blur":this._evtBlur(e)}}_setWidgets(e,t){let n=this._currentWidget;this._currentWidget=e;let i=this._activeWidget;this._activeWidget=t,n!==e&&this._currentChanged.emit({oldValue:n,newValue:e}),i!==t&&this._activeChanged.emit({oldValue:i,newValue:t})}_evtFocus(e){let t=this._nodes.get(e.currentTarget);t!==this._currentWidget&&this._numbers.set(t,this._counter++),this._setWidgets(t,t)}_evtBlur(e){let t=this._nodes.get(e.currentTarget),n=e.relatedTarget;if(!n||!t.node.contains(n)&&!(0,j.find)(this._widgets,e=>e.node.contains(n)))return void this._setWidgets(this._currentWidget,null)}_onWidgetDisposed(e){this.remove(e)}}class eo extends O{constructor(e={}){super(e),this._dirty=!1,this._rowSpacing=4,this._columnSpacing=4,this._items=[],this._rowStarts=[],this._columnStarts=[],this._rowSizers=[new P],this._columnSizers=[new P],this._box=null,void 0!==e.rowCount&&v.reallocSizers(this._rowSizers,e.rowCount),void 0!==e.columnCount&&v.reallocSizers(this._columnSizers,e.columnCount),void 0!==e.rowSpacing&&(this._rowSpacing=v.clampValue(e.rowSpacing)),void 0!==e.columnSpacing&&(this._columnSpacing=v.clampValue(e.columnSpacing))}dispose(){for(let e of this._items){let t=e.widget;e.dispose(),t.dispose()}this._box=null,this._items.length=0,this._rowStarts.length=0,this._rowSizers.length=0,this._columnStarts.length=0,this._columnSizers.length=0,super.dispose()}get rowCount(){return this._rowSizers.length}set rowCount(e){e!==this.rowCount&&(v.reallocSizers(this._rowSizers,e),this.parent&&this.parent.fit())}get columnCount(){return this._columnSizers.length}set columnCount(e){e!==this.columnCount&&(v.reallocSizers(this._columnSizers,e),this.parent&&this.parent.fit())}get rowSpacing(){return this._rowSpacing}set rowSpacing(e){e=v.clampValue(e),this._rowSpacing!==e&&(this._rowSpacing=e,this.parent&&this.parent.fit())}get columnSpacing(){return this._columnSpacing}set columnSpacing(e){e=v.clampValue(e),this._columnSpacing!==e&&(this._columnSpacing=e,this.parent&&this.parent.fit())}rowStretch(e){let t=this._rowSizers[e];return t?t.stretch:-1}setRowStretch(e,t){let n=this._rowSizers[e];!n||(t=v.clampValue(t),n.stretch!==t&&(n.stretch=t,this.parent&&this.parent.update()))}columnStretch(e){let t=this._columnSizers[e];return t?t.stretch:-1}setColumnStretch(e,t){let n=this._columnSizers[e];!n||(t=v.clampValue(t),n.stretch!==t&&(n.stretch=t,this.parent&&this.parent.update()))}*[Symbol.iterator](){for(let e of this._items)yield e.widget}addWidget(e){-1===j.ArrayExt.findFirstIndex(this._items,t=>t.widget===e)&&(this._items.push(new F(e)),this.parent&&this.attachWidget(e))}removeWidget(e){let t=j.ArrayExt.findFirstIndex(this._items,t=>t.widget===e);if(-1===t)return;let n=j.ArrayExt.removeAt(this._items,t);this.parent&&this.detachWidget(e),n.dispose()}init(){for(let e of(super.init(),this))this.attachWidget(e)}attachWidget(e){this.parent.isAttached&&S.MessageLoop.sendMessage(e,R.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&S.MessageLoop.sendMessage(e,R.Msg.AfterAttach),this.parent.fit()}detachWidget(e){this.parent.isAttached&&S.MessageLoop.sendMessage(e,R.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&S.MessageLoop.sendMessage(e,R.Msg.AfterDetach),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){for(let e=0,t=this.rowCount;e<t;++e)this._rowSizers[e].minSize=0;for(let e=0,t=this.columnCount;e<t;++e)this._columnSizers[e].minSize=0;let e=this._items.filter(e=>!e.isHidden);for(let t=0,n=e.length;t<n;++t)e[t].fit();let t=this.rowCount-1,n=this.columnCount-1;e.sort(v.rowSpanCmp);for(let n=0,i=e.length;n<i;++n){let i=e[n],o=eo.getCellConfig(i.widget),r=Math.min(o.row,t),s=Math.min(o.row+o.rowSpan-1,t);v.distributeMin(this._rowSizers,r,s,i.minHeight)}e.sort(v.columnSpanCmp);for(let t=0,i=e.length;t<i;++t){let i=e[t],o=eo.getCellConfig(i.widget),r=Math.min(o.column,n),s=Math.min(o.column+o.columnSpan-1,n);v.distributeMin(this._columnSizers,r,s,i.minWidth)}if("set-no-constraint"===this.fitPolicy)return void S.MessageLoop.sendMessage(this.parent,R.Msg.UpdateRequest);let i=t*this._rowSpacing,o=n*this._columnSpacing;for(let e=0,t=this.rowCount;e<t;++e)i+=this._rowSizers[e].minSize;for(let e=0,t=this.columnCount;e<t;++e)o+=this._columnSizers[e].minSize;let r=this._box=B.ElementExt.boxSizing(this.parent.node);o+=r.horizontalSum,i+=r.verticalSum;let s=this.parent.node.style;s.minWidth=`${o}px`,s.minHeight=`${i}px`,this._dirty=!0,this.parent.parent&&S.MessageLoop.sendMessage(this.parent.parent,R.Msg.FitRequest),this._dirty&&S.MessageLoop.sendMessage(this.parent,R.Msg.UpdateRequest)}_update(e,t){this._dirty=!1,e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||(this._box=B.ElementExt.boxSizing(this.parent.node));let n=this._box.paddingTop,o=this._box.paddingLeft,r=e-this._box.horizontalSum,s=t-this._box.verticalSum,a=this.rowCount-1,l=this.columnCount-1,d=a*this._rowSpacing,c=l*this._columnSpacing;i.calc(this._rowSizers,Math.max(0,s-d)),i.calc(this._columnSizers,Math.max(0,r-c));for(let e=0,t=n,i=this.rowCount;e<i;++e)this._rowStarts[e]=t,t+=this._rowSizers[e].size+this._rowSpacing;for(let e=0,t=o,n=this.columnCount;e<n;++e)this._columnStarts[e]=t,t+=this._columnSizers[e].size+this._columnSpacing;for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e];if(t.isHidden)continue;let n=eo.getCellConfig(t.widget),i=Math.min(n.row,a),o=Math.min(n.column,l),r=Math.min(n.row+n.rowSpan-1,a),s=Math.min(n.column+n.columnSpan-1,l),d=this._columnStarts[o],c=this._rowStarts[i],h=this._columnStarts[s]+this._columnSizers[s].size-d,u=this._rowStarts[r]+this._rowSizers[r].size-c;t.update(d,c,h,u)}}}!function(e){e.getCellConfig=function(e){return v.cellConfigProperty.get(e)},e.setCellConfig=function(e,t){v.cellConfigProperty.set(e,v.normalizeConfig(t))}}(eo||(eo={})),function(e){function t(t,n){let i=e.cellConfigProperty.get(t.widget),o=e.cellConfigProperty.get(n.widget);return i.rowSpan-o.rowSpan}function n(t,n){let i=e.cellConfigProperty.get(t.widget),o=e.cellConfigProperty.get(n.widget);return i.columnSpan-o.columnSpan}function i(e){e.parent&&e.parent.layout instanceof eo&&e.parent.fit()}e.cellConfigProperty=new M.AttachedProperty({name:"cellConfig",create:()=>({row:0,column:0,rowSpan:1,columnSpan:1}),changed:i}),e.normalizeConfig=function(e){let t=Math.max(0,Math.floor(e.row||0)),n=Math.max(0,Math.floor(e.column||0));return{row:t,column:n,rowSpan:Math.max(1,Math.floor(e.rowSpan||0)),columnSpan:Math.max(1,Math.floor(e.columnSpan||0))}},e.clampValue=function(e){return Math.max(0,Math.floor(e))},e.rowSpanCmp=t,e.columnSpanCmp=n,e.reallocSizers=function(e,t){for(t=Math.max(1,Math.floor(t));e.length<t;)e.push(new P);e.length>t&&(e.length=t)},e.distributeMin=function(e,t,n,i){if(n<t)return;if(t===n){let n=e[t];n.minSize=Math.max(n.minSize,i);return}let o=0;for(let i=t;i<=n;++i)o+=e[i].minSize;if(o>=i)return;let r=(i-o)/(n-t+1);for(let i=t;i<=n;++i)e[i].minSize+=r}}(v||(v={}));class er extends R{constructor(e={}){super({node:_.createNode()}),this._activeIndex=-1,this._tabFocusIndex=0,this._menus=[],this._childMenu=null,this._overflowMenu=null,this._menuItemSizes=[],this._overflowIndex=-1,this.addClass("lm-MenuBar"),this.setFlag(R.Flag.DisallowLayout),this.renderer=e.renderer||er.defaultRenderer,this._forceItemsPosition=e.forceItemsPosition||{forceX:!0,forceY:!0},this._overflowMenuOptions=e.overflowMenuOptions||{isVisible:!0}}dispose(){this._closeChildMenu(),this._menus.length=0,super.dispose()}get childMenu(){return this._childMenu}get overflowIndex(){return this._overflowIndex}get overflowMenu(){return this._overflowMenu}get contentNode(){return this.node.getElementsByClassName("lm-MenuBar-content")[0]}get activeMenu(){return this._menus[this._activeIndex]||null}set activeMenu(e){this.activeIndex=e?this._menus.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._menus.length)&&(e=-1),e>-1&&0===this._menus[e].items.length&&(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this.update())}get menus(){return this._menus}openActiveMenu(){-1!==this._activeIndex&&(this._openChildMenu(),this._childMenu&&(this._childMenu.activeIndex=-1,this._childMenu.activateNextItem()))}addMenu(e,t=!0){this.insertMenu(this._menus.length,e,t)}insertMenu(e,t,n=!0){this._closeChildMenu();let i=this._menus.indexOf(t),o=Math.max(0,Math.min(e,this._menus.length));if(-1===i){j.ArrayExt.insert(this._menus,o,t),t.addClass("lm-MenuBar-menu"),t.aboutToClose.connect(this._onMenuAboutToClose,this),t.menuRequested.connect(this._onMenuMenuRequested,this),t.title.changed.connect(this._onTitleChanged,this),n&&this.update();return}o===this._menus.length&&o--,i!==o&&(j.ArrayExt.move(this._menus,i,o),n&&this.update())}removeMenu(e,t=!0){this.removeMenuAt(this._menus.indexOf(e),t)}removeMenuAt(e,t=!0){this._closeChildMenu();let n=j.ArrayExt.removeAt(this._menus,e);n&&(n.aboutToClose.disconnect(this._onMenuAboutToClose,this),n.menuRequested.disconnect(this._onMenuMenuRequested,this),n.title.changed.disconnect(this._onTitleChanged,this),n.removeClass("lm-MenuBar-menu"),t&&this.update())}clearMenus(){if(0!==this._menus.length){for(let e of(this._closeChildMenu(),this._menus))e.aboutToClose.disconnect(this._onMenuAboutToClose,this),e.menuRequested.disconnect(this._onMenuMenuRequested,this),e.title.changed.disconnect(this._onTitleChanged,this),e.removeClass("lm-MenuBar-menu");this._menus.length=0,this.update()}}handleEvent(e){switch(e.type){case"keydown":this._evtKeyDown(e);break;case"pointerdown":this._evtPointerDown(e);break;case"pointermove":case"pointerleave":this._evtPointerMove(e);break;case"focusout":this._evtFocusOut(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("keydown",this),this.node.addEventListener("pointerdown",this),this.node.addEventListener("pointermove",this),this.node.addEventListener("pointerleave",this),this.node.addEventListener("focusout",this),this.node.addEventListener("contextmenu",this)}onAfterDetach(e){this.node.removeEventListener("keydown",this),this.node.removeEventListener("pointerdown",this),this.node.removeEventListener("pointermove",this),this.node.removeEventListener("pointerleave",this),this.node.removeEventListener("focusout",this),this.node.removeEventListener("contextmenu",this),this._closeChildMenu()}onActivateRequest(e){this.isAttached&&this._focusItemAt(0)}onResize(e){this.update(),super.onResize(e)}onUpdateRequest(e){var t;let n=this._menus,i=this.renderer,o=this._activeIndex,r=this._tabFocusIndex>=0&&this._tabFocusIndex<n.length?this._tabFocusIndex:0,s=this._overflowIndex>-1?this._overflowIndex:n.length,a=0,l=!1,d=Array(s=null!==this._overflowMenu?s-1:s);for(let e=0;e<s;++e)d[e]=i.renderItem({title:n[e].title,active:e===o,tabbable:e===r,disabled:0===n[e].items.length,onfocus:()=>{this._tabFocusIndex=e,this.activeIndex=e}}),a+=this._menuItemSizes[e],n[e].title.label===this._overflowMenuOptions.title&&(l=!0,s--);if(this._overflowMenuOptions.isVisible){if(this._overflowIndex>-1&&!l){if(null===this._overflowMenu){let e=null!=(t=this._overflowMenuOptions.title)?t:"...";this._overflowMenu=new Z({commands:new D.CommandRegistry}),this._overflowMenu.title.label=e,this._overflowMenu.title.mnemonic=0,this.addMenu(this._overflowMenu,!1)}for(let e=n.length-2;e>=s;e--){let t=this.menus[e];t.title.mnemonic=0,this._overflowMenu.insertItem(0,{type:"submenu",submenu:t}),this.removeMenu(t,!1)}d[s]=i.renderItem({title:this._overflowMenu.title,active:s===o&&0!==n[s].items.length,tabbable:s===r,disabled:0===n[s].items.length,onfocus:()=>{this._tabFocusIndex=s,this.activeIndex=s}}),s++}else if(null!==this._overflowMenu){let e=this._overflowMenu.items,t=this.node.offsetWidth,o=this._overflowMenu.items.length;for(let l=0;l<o;++l){let o=n.length-1-l;if(t-a>this._menuItemSizes[o]){let t=e[0].submenu;this._overflowMenu.removeItemAt(0),this.insertMenu(s,t,!1),d[s]=i.renderItem({title:t.title,active:!1,tabbable:s===r,disabled:0===n[s].items.length,onfocus:()=>{this._tabFocusIndex=s,this.activeIndex=s}}),s++}}0===this._overflowMenu.items.length&&(this.removeMenu(this._overflowMenu,!1),d.pop(),this._overflowMenu=null,this._overflowIndex=-1)}}T.VirtualDOM.render(d,this.contentNode),this._updateOverflowIndex()}_updateOverflowIndex(){if(!this._overflowMenuOptions.isVisible)return;let e=this.contentNode.childNodes,t=this.node.offsetWidth,n=0,i=-1,o=e.length;if(0==this._menuItemSizes.length)for(let r=0;r<o;r++){let o=e[r];n+=o.offsetWidth,this._menuItemSizes.push(o.offsetWidth),n>t&&-1===i&&(i=r)}else for(let e=0;e<this._menuItemSizes.length;e++)if((n+=this._menuItemSizes[e])>t){i=e;break}this._overflowIndex=i}_evtKeyDown(e){let t=e.keyCode;if(9===t){this.activeIndex=-1;return}if(e.preventDefault(),e.stopPropagation(),13===t||32===t||38===t||40===t){if(this.activeIndex=this._tabFocusIndex,this.activeIndex!==this._tabFocusIndex)return;this.openActiveMenu();return}if(27===t){this._closeChildMenu(),this._focusItemAt(this.activeIndex);return}if(37===t||39===t){let e=37===t?-1:1,n=this._tabFocusIndex+e,i=this._menus.length;for(let t=0;t<i;t++){let o=(i+n+e*t)%i;if(this._menus[o].items.length)return void this._focusItemAt(o)}return}let n=(0,N.getKeyboardLayout)().keyForKeydownEvent(e);if(!n)return;let i=this._activeIndex+1,o=_.findMnemonic(this._menus,n,i);-1===o.index||o.multiple?-1!==o.index?(this.activeIndex=o.index,this._focusItemAt(this.activeIndex)):-1!==o.auto&&(this.activeIndex=o.auto,this._focusItemAt(this.activeIndex)):(this.activeIndex=o.index,this.openActiveMenu())}_evtPointerDown(e){if(!B.ElementExt.hitTest(this.node,e.clientX,e.clientY))return;e.stopPropagation(),e.stopImmediatePropagation();let t=j.ArrayExt.findFirstIndex(this.contentNode.children,t=>B.ElementExt.hitTest(t,e.clientX,e.clientY));if(-1===t)return void this._closeChildMenu();if(0===e.button)if(this._childMenu)this._closeChildMenu(),this.activeIndex=t;else{e.preventDefault();let n=this._positionForMenu(t);Z.saveWindowData(),this.activeIndex=t,this._openChildMenu(n)}}_evtPointerMove(e){let t=j.ArrayExt.findFirstIndex(this.contentNode.children,t=>B.ElementExt.hitTest(t,e.clientX,e.clientY));if(t===this._activeIndex||-1===t&&this._childMenu)return;let n=t>=0&&this._childMenu?this._positionForMenu(t):null;Z.saveWindowData(),this.activeIndex=t,n&&this._openChildMenu(n)}_positionForMenu(e){let{left:t,bottom:n}=this.contentNode.children[e].getBoundingClientRect();return{top:n,left:t}}_evtFocusOut(e){this._childMenu||this.node.contains(e.relatedTarget)||(this.activeIndex=-1)}_focusItemAt(e){let t=this.contentNode.childNodes[e];t&&t.focus()}_openChildMenu(e={}){let t=this.activeMenu;if(!t)return void this._closeChildMenu();let n=this._childMenu;if(n===t)return;this._childMenu=t,n?n.close():document.addEventListener("pointerdown",this,!0),this._tabFocusIndex=this.activeIndex,S.MessageLoop.sendMessage(this,R.Msg.UpdateRequest);let{left:i,top:o}=e;(void 0===i||void 0===o)&&({left:i,top:o}=this._positionForMenu(this._activeIndex)),n||this.addClass("lm-mod-active"),t.items.length>0&&t.open(i,o,this._forceItemsPosition)}_closeChildMenu(){if(!this._childMenu)return;this.removeClass("lm-mod-active"),document.removeEventListener("pointerdown",this,!0);let e=this._childMenu;this._childMenu=null,e.close(),this.activeIndex=-1}_onMenuAboutToClose(e){e===this._childMenu&&(this.removeClass("lm-mod-active"),document.removeEventListener("pointerdown",this,!0),this._childMenu=null,this.activeIndex=-1)}_onMenuMenuRequested(e,t){if(e!==this._childMenu)return;let n=this._activeIndex,i=this._menus.length;switch(t){case"next":this.activeIndex=n===i-1?0:n+1;break;case"previous":this.activeIndex=0===n?i-1:n-1}this.openActiveMenu()}_onTitleChanged(){this.update()}}!function(e){class t{renderItem(e){let t=this.createItemClass(e),n=this.createItemDataset(e),i=this.createItemARIA(e);return T.h.li({className:t,dataset:n,...e.disabled?{}:{tabindex:e.tabbable?"0":"-1"},onfocus:e.onfocus,...i},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let t=this.createIconClass(e);return T.h.div({className:t},e.title.icon,e.title.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return T.h.div({className:"lm-MenuBar-itemLabel"},t)}createItemClass(e){let t="lm-MenuBar-item";return e.title.className&&(t+=` ${e.title.className}`),e.active&&!e.disabled&&(t+=" lm-mod-active"),t}createItemDataset(e){return e.title.dataset}createItemARIA(e){return{role:"menuitem","aria-haspopup":"true","aria-disabled":e.disabled?"true":"false"}}createIconClass(e){let t="lm-MenuBar-itemIcon",n=e.title.iconClass;return n?`${t} ${n}`:t}formatLabel(e){let{label:t,mnemonic:n}=e.title;if(n<0||n>=t.length)return t;let i=t.slice(0,n),o=t.slice(n+1),r=t[n];return[i,T.h.span({className:"lm-MenuBar-itemMnemonic"},r),o]}}e.Renderer=t,e.defaultRenderer=new t}(er||(er={})),function(e){e.createNode=function(){let e=document.createElement("div"),t=document.createElement("ul");return t.className="lm-MenuBar-content",e.appendChild(t),t.setAttribute("role","menubar"),e},e.findMnemonic=function(e,t,n){let i=-1,o=-1,r=!1,s=t.toUpperCase();for(let t=0,a=e.length;t<a;++t){let l=(t+n)%a,d=e[l].title;if(0===d.label.length)continue;let c=d.mnemonic;if(c>=0&&c<d.label.length){d.label[c].toUpperCase()===s&&(-1===i?i=l:r=!0);continue}-1===o&&d.label[0].toUpperCase()===s&&(o=l)}return{index:i,multiple:r,auto:o}}}(_||(_={}));class es extends R{constructor(e={}){super({node:y.createNode()}),this._onRepeat=()=>{if(this._repeatTimer=-1,!this._pressData)return;let e=this._pressData.part;if("thumb"===e)return;this._repeatTimer=window.setTimeout(this._onRepeat,20);let t=this._pressData.mouseX,n=this._pressData.mouseY;if("decrement"===e){if(!B.ElementExt.hitTest(this.decrementNode,t,n))return;this._stepRequested.emit("decrement");return}if("increment"===e){if(!B.ElementExt.hitTest(this.incrementNode,t,n))return;this._stepRequested.emit("increment");return}if("track"===e){let e;if(!B.ElementExt.hitTest(this.trackNode,t,n))return;let i=this.thumbNode;if(B.ElementExt.hitTest(i,t,n))return;let o=i.getBoundingClientRect();e="horizontal"===this._orientation?t<o.left?"decrement":"increment":n<o.top?"decrement":"increment",this._pageRequested.emit(e);return}},this._value=0,this._page=10,this._maximum=100,this._repeatTimer=-1,this._pressData=null,this._thumbMoved=new I.Signal(this),this._stepRequested=new I.Signal(this),this._pageRequested=new I.Signal(this),this.addClass("lm-ScrollBar"),this.setFlag(R.Flag.DisallowLayout),this._orientation=e.orientation||"vertical",this.dataset.orientation=this._orientation,void 0!==e.maximum&&(this._maximum=Math.max(0,e.maximum)),void 0!==e.page&&(this._page=Math.max(0,e.page)),void 0!==e.value&&(this._value=Math.max(0,Math.min(e.value,this._maximum)))}get thumbMoved(){return this._thumbMoved}get stepRequested(){return this._stepRequested}get pageRequested(){return this._pageRequested}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._releaseMouse(),this._orientation=e,this.dataset.orientation=e,this.update())}get value(){return this._value}set value(e){e=Math.max(0,Math.min(e,this._maximum)),this._value!==e&&(this._value=e,this.update())}get page(){return this._page}set page(e){e=Math.max(0,e),this._page!==e&&(this._page=e,this.update())}get maximum(){return this._maximum}set maximum(e){e=Math.max(0,e),this._maximum!==e&&(this._maximum=e,this._value=Math.min(this._value,e),this.update())}get decrementNode(){return this.node.getElementsByClassName("lm-ScrollBar-button")[0]}get incrementNode(){return this.node.getElementsByClassName("lm-ScrollBar-button")[1]}get trackNode(){return this.node.getElementsByClassName("lm-ScrollBar-track")[0]}get thumbNode(){return this.node.getElementsByClassName("lm-ScrollBar-thumb")[0]}handleEvent(e){switch(e.type){case"mousedown":this._evtMouseDown(e);break;case"mousemove":this._evtMouseMove(e);break;case"mouseup":this._evtMouseUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("mousedown",this),this.update()}onAfterDetach(e){this.node.removeEventListener("mousedown",this),this._releaseMouse()}onUpdateRequest(e){let t=100*this._value/this._maximum,n=100*this._page/(this._page+this._maximum);t=Math.max(0,Math.min(t,100)),n=Math.max(0,Math.min(n,100));let i=this.thumbNode.style;"horizontal"===this._orientation?(i.top="",i.height="",i.left=`${t}%`,i.width=`${n}%`,i.transform=`translate(${-t}%, 0%)`):(i.left="",i.width="",i.top=`${t}%`,i.height=`${n}%`,i.transform=`translate(0%, ${-t}%)`)}_evtKeyDown(e){if(e.preventDefault(),e.stopPropagation(),27!==e.keyCode)return;let t=this._pressData?this._pressData.value:-1;this._releaseMouse(),-1!==t&&this._moveThumb(t)}_evtMouseDown(e){if(0!==e.button||(this.activate(),this._pressData))return;let t=y.findPart(this,e.target);if(!t)return;e.preventDefault(),e.stopPropagation();let n=k.Drag.overrideCursor("default");if(this._pressData={part:t,override:n,delta:-1,value:-1,mouseX:e.clientX,mouseY:e.clientY},document.addEventListener("mousemove",this,!0),document.addEventListener("mouseup",this,!0),document.addEventListener("keydown",this,!0),document.addEventListener("contextmenu",this,!0),"thumb"===t){let t=this.thumbNode,n=t.getBoundingClientRect();"horizontal"===this._orientation?this._pressData.delta=e.clientX-n.left:this._pressData.delta=e.clientY-n.top,t.classList.add("lm-mod-active"),this._pressData.value=this._value;return}if("track"===t){let t,n=this.thumbNode.getBoundingClientRect();t="horizontal"===this._orientation?e.clientX<n.left?"decrement":"increment":e.clientY<n.top?"decrement":"increment",this._repeatTimer=window.setTimeout(this._onRepeat,350),this._pageRequested.emit(t);return}if("decrement"===t){this.decrementNode.classList.add("lm-mod-active"),this._repeatTimer=window.setTimeout(this._onRepeat,350),this._stepRequested.emit("decrement");return}if("increment"===t){this.incrementNode.classList.add("lm-mod-active"),this._repeatTimer=window.setTimeout(this._onRepeat,350),this._stepRequested.emit("increment");return}}_evtMouseMove(e){let t,n;if(!this._pressData||(e.preventDefault(),e.stopPropagation(),this._pressData.mouseX=e.clientX,this._pressData.mouseY=e.clientY,"thumb"!==this._pressData.part))return;let i=this.thumbNode.getBoundingClientRect(),o=this.trackNode.getBoundingClientRect();"horizontal"===this._orientation?(t=e.clientX-o.left-this._pressData.delta,n=o.width-i.width):(t=e.clientY-o.top-this._pressData.delta,n=o.height-i.height);let r=0===n?0:t*this._maximum/n;this._moveThumb(r)}_evtMouseUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse())}_releaseMouse(){this._pressData&&(clearTimeout(this._repeatTimer),this._repeatTimer=-1,this._pressData.override.dispose(),this._pressData=null,document.removeEventListener("mousemove",this,!0),document.removeEventListener("mouseup",this,!0),document.removeEventListener("keydown",this,!0),document.removeEventListener("contextmenu",this,!0),this.thumbNode.classList.remove("lm-mod-active"),this.decrementNode.classList.remove("lm-mod-active"),this.incrementNode.classList.remove("lm-mod-active"))}_moveThumb(e){e=Math.max(0,Math.min(e,this._maximum)),this._value!==e&&(this._value=e,this.update(),this._thumbMoved.emit(e))}}!function(e){e.createNode=function(){let e=document.createElement("div"),t=document.createElement("div"),n=document.createElement("div"),i=document.createElement("div"),o=document.createElement("div");return t.className="lm-ScrollBar-button",n.className="lm-ScrollBar-button",t.dataset.action="decrement",n.dataset.action="increment",i.className="lm-ScrollBar-track",o.className="lm-ScrollBar-thumb",i.appendChild(o),e.appendChild(t),e.appendChild(i),e.appendChild(n),e},e.findPart=function(e,t){return e.thumbNode.contains(t)?"thumb":e.trackNode.contains(t)?"track":e.decrementNode.contains(t)?"decrement":e.incrementNode.contains(t)?"increment":null}}(y||(y={}));class ea extends O{constructor(){super(...arguments),this._widget=null}dispose(){if(this._widget){let e=this._widget;this._widget=null,e.dispose()}super.dispose()}get widget(){return this._widget}set widget(e){e&&(e.parent=this.parent),this._widget!==e&&(this._widget&&this._widget.dispose(),this._widget=e,this.parent&&e&&this.attachWidget(e))}*[Symbol.iterator](){this._widget&&(yield this._widget)}removeWidget(e){this._widget===e&&(this._widget=null,this.parent&&this.detachWidget(e))}init(){for(let e of(super.init(),this))this.attachWidget(e)}attachWidget(e){this.parent.isAttached&&S.MessageLoop.sendMessage(e,R.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&S.MessageLoop.sendMessage(e,R.Msg.AfterAttach)}detachWidget(e){this.parent.isAttached&&S.MessageLoop.sendMessage(e,R.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&S.MessageLoop.sendMessage(e,R.Msg.AfterDetach)}}class el extends W{constructor(e={}){super(e),this._dirty=!1,this._items=[],this._box=null,this._hiddenMode=void 0!==e.hiddenMode?e.hiddenMode:R.HiddenMode.Display}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){this._hiddenMode!==e&&(this._hiddenMode=e,this.widgets.length>1&&this.widgets.forEach(e=>{e.hiddenMode=this._hiddenMode}))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,super.dispose()}attachWidget(e,t){this._hiddenMode===R.HiddenMode.Scale&&this._items.length>0?(1===this._items.length&&(this.widgets[0].hiddenMode=R.HiddenMode.Scale),t.hiddenMode=R.HiddenMode.Scale):t.hiddenMode=R.HiddenMode.Display,j.ArrayExt.insert(this._items,e,new F(t)),this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,n){j.ArrayExt.move(this._items,e,t),this.parent.update()}detachWidget(e,t){let n=j.ArrayExt.removeAt(this._items,e);this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&S.MessageLoop.sendMessage(t,R.Msg.AfterDetach),n.widget.node.style.zIndex="",this._hiddenMode===R.HiddenMode.Scale&&(t.hiddenMode=R.HiddenMode.Display,1===this._items.length&&(this._items[0].widget.hiddenMode=R.HiddenMode.Display)),n.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let e=0,t=0;for(let n=0,i=this._items.length;n<i;++n){let i=this._items[n];i.isHidden||(i.fit(),e=Math.max(e,i.minWidth),t=Math.max(t,i.minHeight))}let n=this._box=B.ElementExt.boxSizing(this.parent.node);e+=n.horizontalSum,t+=n.verticalSum;let i=this.parent.node.style;i.minWidth=`${e}px`,i.minHeight=`${t}px`,this._dirty=!0,this.parent.parent&&S.MessageLoop.sendMessage(this.parent.parent,R.Msg.FitRequest),this._dirty&&S.MessageLoop.sendMessage(this.parent,R.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let n=0;for(let e=0,t=this._items.length;e<t;++e)n+=+!this._items[e].isHidden;if(0===n)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||(this._box=B.ElementExt.boxSizing(this.parent.node));let i=this._box.paddingTop,o=this._box.paddingLeft,r=e-this._box.horizontalSum,s=t-this._box.verticalSum;for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e];t.isHidden||(t.widget.node.style.zIndex=`${e}`,t.update(o,i,r,s))}}}class ed extends V{constructor(e={}){super({layout:E.createLayout(e)}),this._widgetRemoved=new I.Signal(this),this.addClass("lm-StackedPanel")}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(e){this.layout.hiddenMode=e}get widgetRemoved(){return this._widgetRemoved}onChildAdded(e){e.child.addClass("lm-StackedPanel-child")}onChildRemoved(e){e.child.removeClass("lm-StackedPanel-child"),this._widgetRemoved.emit(e.child)}}!function(e){e.createLayout=function(e){return e.layout||new el}}(E||(E={}));class ec extends R{constructor(e={}){super(),this._currentChanged=new I.Signal(this),this._addRequested=new I.Signal(this),this.addClass("lm-TabPanel"),this.tabBar=new ee(e),this.tabBar.addClass("lm-TabPanel-tabBar"),this.stackedPanel=new ed,this.stackedPanel.addClass("lm-TabPanel-stackedPanel"),this.tabBar.tabMoved.connect(this._onTabMoved,this),this.tabBar.currentChanged.connect(this._onCurrentChanged,this),this.tabBar.tabCloseRequested.connect(this._onTabCloseRequested,this),this.tabBar.tabActivateRequested.connect(this._onTabActivateRequested,this),this.tabBar.addRequested.connect(this._onTabAddRequested,this),this.stackedPanel.widgetRemoved.connect(this._onWidgetRemoved,this),this._tabPlacement=e.tabPlacement||"top";let t=w.directionFromPlacement(this._tabPlacement),n=w.orientationFromPlacement(this._tabPlacement);this.tabBar.orientation=n,this.tabBar.dataset.placement=this._tabPlacement;let i=new $({direction:t,spacing:0});$.setStretch(this.tabBar,0),$.setStretch(this.stackedPanel,1),i.addWidget(this.tabBar),i.addWidget(this.stackedPanel),this.layout=i}get currentChanged(){return this._currentChanged}get currentIndex(){return this.tabBar.currentIndex}set currentIndex(e){this.tabBar.currentIndex=e}get currentWidget(){let e=this.tabBar.currentTitle;return e?e.owner:null}set currentWidget(e){this.tabBar.currentTitle=e?e.title:null}get tabsMovable(){return this.tabBar.tabsMovable}set tabsMovable(e){this.tabBar.tabsMovable=e}get addButtonEnabled(){return this.tabBar.addButtonEnabled}set addButtonEnabled(e){this.tabBar.addButtonEnabled=e}get tabPlacement(){return this._tabPlacement}set tabPlacement(e){if(this._tabPlacement===e)return;this._tabPlacement=e;let t=w.directionFromPlacement(e),n=w.orientationFromPlacement(e);this.tabBar.orientation=n,this.tabBar.dataset.placement=e,this.layout.direction=t}get addRequested(){return this._addRequested}get widgets(){return this.stackedPanel.widgets}addWidget(e){this.insertWidget(this.widgets.length,e)}insertWidget(e,t){t!==this.currentWidget&&t.hide(),this.stackedPanel.insertWidget(e,t),this.tabBar.insertTab(e,t.title),t.node.setAttribute("role","tabpanel");let n=this.tabBar.renderer;if(n instanceof ee.Renderer){let e=n.createTabKey({title:t.title,current:!1,zIndex:0});t.node.setAttribute("aria-labelledby",e)}}_onCurrentChanged(e,t){let{previousIndex:n,previousTitle:i,currentIndex:o,currentTitle:r}=t,s=i?i.owner:null,a=r?r.owner:null;s&&s.hide(),a&&a.show(),this._currentChanged.emit({previousIndex:n,previousWidget:s,currentIndex:o,currentWidget:a}),(B.Platform.IS_EDGE||B.Platform.IS_IE)&&S.MessageLoop.flush()}_onTabAddRequested(e,t){this._addRequested.emit(e)}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabMoved(e,t){this.stackedPanel.insertWidget(t.toIndex,t.title.owner)}_onWidgetRemoved(e,t){t.node.removeAttribute("role"),t.node.removeAttribute("aria-labelledby"),this.tabBar.removeTab(t.title)}}!function(e){e.orientationFromPlacement=function(e){return t[e]},e.directionFromPlacement=function(e){return n[e]};let t={top:"horizontal",left:"vertical",right:"vertical",bottom:"horizontal"},n={top:"top-to-bottom",left:"left-to-right",right:"right-to-left",bottom:"bottom-to-top"}}(w||(w={}))},82311(e,t,n){"use strict";var i=n(85072),o=n.n(i),r=n(97825),s=n.n(r),a=n(77659),l=n.n(a),d=n(55056),c=n.n(d),h=n(10540),u=n.n(h),p=n(41113),m=n.n(p),g=n(56959),A={};A.styleTagTransform=m(),A.setAttributes=c(),A.insert=l().bind(null,"head"),A.domAPI=s(),A.insertStyleElement=u(),o()(g.A,A),g.A&&g.A.locals&&g.A.locals},62287(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNOS45IDEzLjYgMy42IDcuNGwuOC0uOCA1LjUgNS42IDUuNS01LjUuNy43eiIgY2xhc3M9ImpwLWljb24zIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIvPgo8L3N2Zz4K"},37453(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNNS4yIDUuOSA5IDkuN2wzLjgtMy44TDE0IDcuMWwtNC45IDUtNC45LTV6IiBjbGFzcz0ianAtaWNvbjMiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIi8+Cjwvc3ZnPgo="},32225(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNNS4yIDcuNSA5IDExLjJsMy44LTMuOEg1LjJ6IiBjbGFzcz0ianAtaWNvbjMiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIi8+Cjwvc3ZnPgo="},50394(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTAuOCAxMi44IDcuMSA5bDMuOC0zLjh2Ny42eiIgY2xhc3M9ImpwLWljb24zIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIvPgo8L3N2Zz4K"},59025(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNNy4yIDUuMiAxMC45IDlsLTMuOCAzLjhWNS4yeiIgY2xhc3M9ImpwLWljb24zIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIvPgo8L3N2Zz4K"},84666(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTUuNCAxMy4zIDkuOSA3LjdsLTUuNSA1LjUtLjgtLjcgNi4zLTYuMiA2LjIgNi4zeiIgY2xhc3M9ImpwLWljb24zIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIvPgo8L3N2Zz4K"},17150(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNNS4yIDEwLjUgOSA2LjhsMy44IDMuOEg1LjJ6IiBjbGFzcz0ianAtaWNvbjMiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIi8+Cjwvc3ZnPgo="},95558(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8ZyBmaWxsPSJ2YXIoLS1qcC1lcnJvci1jb2xvcjEsICNkMzJmMmYpIj4KICAgIDxjaXJjbGUgY3g9IjEwIiBjeT0iNyIgcj0iNiIgLz4KICA8L2c+Cjwvc3ZnPgo="},28047(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBmaWxsPSIjNjE2MTYxIiBjbGFzcz0ianAtaWNvbjMiPgogICAgPHBhdGggZD0iTTE2LjQ4IDE3LjI0OEE3LjUgNy41IDAgMCAwIDYuMzIgNy43MDZhNyA3IDAgMSAxIDEwLjE2IDkuNTQyIi8+CiAgICA8cGF0aCBkPSJNMTkuMTYgMTQuMjQ4QTcuNSA3LjUgMCAwIDAgOSA0LjcwNmE3IDcgMCAxIDEgMTAuMTYgOS41NDJNMTYgMTVhNyA3IDAgMSAxLTE0IDAgNyA3IDAgMCAxIDE0IDBtLTQuMjA5LTRMMTMgMTIuMjA5IDEwLjIwOSAxNSAxMyAxNy43OTEgMTEuNzkxIDE5IDkgMTYuMjA5IDYuMjA5IDE5IDUgMTcuNzkxIDcuNzkxIDE1IDUgMTIuMjA5IDYuMjA5IDExIDkgMTMuNzkxeiIvPgogIDwvZz4KPC9zdmc+Cg=="},14657(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBmaWxsPSIjNjE2MTYxIiBjbGFzcz0ianAtaWNvbjMiPgogICAgPHBhdGggZD0ibTEyLjAzOS41LS43NTMgMS41MDZMLjUgMjMuNTc2bDIzLjA4Mi0uMDAxem0uMDAxIDQuMDE3IDguNTI4IDE3LjA1LTE3LjA1NS4wMDF6Ii8+CiAgICA8cGF0aCBkPSJNMTEgOGgydjEwaC0yem0wIDExaDJ2MmgtMnoiLz4KICA8L2c+Cjwvc3ZnPgo="},97623(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNNSAyaDEwbDUgNXYxM2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNmgxdjJsNC0zLTQtM3YySDNWNGEyIDIgMCAwIDEgMi0ybTcgMTZoNHYtMmgtNHptMC00aDZ2LTJoLTZ6bTAtNGg2VjhoLTZ6bS0yIDRhMSAxIDAgMSAwIDAtMiAxIDEgMCAwIDAgMCAybS03LTJ2Mkgxdi0yeiIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},78587(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNNyA2aDR2MTJIN1ptNiAwaDR2MTJoLTR6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},84092(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjciIHI9IjYiIGZpbGw9InZhcigtLWpwLXdhcm4tY29sb3IxLCAjZjU3YzAwKSIgLz4KICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjciIHI9IjQiIHN0cm9rZT0idmFyKC0tanAtbGF5b3V0LWNvbG9yMCwgI2ZmZikiIHN0cm9rZS13aWR0aD0iMS4zIiAvPgo8L3N2Zz4K"},55260(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNOCA5LjUzMmguNTQybDMuOTA1LTMuOTA1LTEuMDYxLTEuMDYtMi42MzcgMi42MVYxSDcuMjUxdjYuMTc3bC0yLjYzNy0yLjYxLTEuMDYxIDEuMDYgMy45MDUgMy45MDV6bTEuOTU2IDMuNDgxYTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMCIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},5170(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNOCAxaC0uNTQyTDMuNTUzIDQuOTA1bDEuMDYxIDEuMDYgMi42MzctMi42MXY2LjE3N2gxLjQ5OFYzLjM1NWwyLjYzNyAyLjYxIDEuMDYxLTEuMDZMOC41NDIgMXptMS45NTYgMTIuMDEzYTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMCIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},54096(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTQuMjUgNS43NXYtNGgtMS41djIuNTQyYy0xLjE0NS0xLjM1OS0yLjkxMS0yLjIwOS00Ljg0LTIuMjA5LTMuMTc3IDAtNS45MiAyLjMwNy02LjE2IDUuMzk4bC0uMDIuMjY5aDEuNWwuMDIyLS4yMjZjLjIxMi0yLjE5NSAyLjIwMi0zLjk0IDQuNjU2LTMuOTQgMS43MzYgMCAzLjI0NC44NzUgNC4wNSAyLjE2NmgtMi44M3YxLjVoNC4xNjNsLjk2Mi0uOTc1VjUuNzV6TTggMTRhMiAyIDAgMSAwIDAtNCAyIDIgMCAwIDAgMCA0IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},83699(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8cGF0aCBmaWxsPSIjMDA3QUNDIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0xLjUgNC0uNS41djhsLjUuNUg0di0xSDJWNWgyVjR6bTEzIDkgLjUtLjV2LThsLS41LS41SDEydjFoMnY3aC0ydjF6TTguNzk3IDVsLTQuNSAyTDQgNy40NTd2Mi41bC4yNDMuNDI5IDIuNSAxLjUuNDYuMDI4IDQuNS0yTDEyIDkuNDU3di0yLjVsLS4yNDMtLjQyOS0yLjUtMS41ek01IDguMzR2MS4zMzRsMS41LjlWOS4yNHptMi41Ljk0MnYxLjQwNkwxMSA5LjEzMVY3LjcyNnptMi45MTgtMi4zOTEtMS40NTItLjg3Mi0zLjM4NCAxLjUwNCAxLjQ1Mi44NzF6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+Cg=="},49464(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNNSAyaDEwbDUgNXYxM2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNmgxdjJsNC0zLTQtM3YySDNWNGEyIDIgMCAwIDEgMi0ybTcgMTZoNHYtMmgtNHptMC00aDZ2LTJoLTZ6bTAtNGg2VjhoLTZ6bS0yIDRhMSAxIDAgMSAwIDAtMiAxIDEgMCAwIDAgMCAybS03LTJ2Mkgxdi0yeiIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},97473(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBmaWxsPSIjNjE2MTYxIiBjbGFzcz0ianAtaWNvbjMiPgogICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxOSIgcj0iMiIvPgogICAgPHBhdGggZD0iTTEwIDNoNHYxMmgtNHoiLz4KICA8L2c+Cjwvc3ZnPgo="},1328(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4NCiAgPHBhdGggY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxNjE2MSIgZD0iTTEzLDRWMjBhMSwxLDAsMCwxLTIsMFY0YTEsMSwwLDAsMSwyLDBaTTgsNUExLDEsMCwwLDAsNyw2VjE4YTEsMSwwLDAsMCwyLDBWNkExLDEsMCwwLDAsOCw1Wk00LDdBMSwxLDAsMCwwLDMsOHY4YTEsMSwwLDAsMCwyLDBWOEExLDEsMCwwLDAsNCw3Wk0xNiw1YTEsMSwwLDAsMC0xLDFWMThhMSwxLDAsMCwwLDIsMFY2QTEsMSwwLDAsMCwxNiw1Wm00LDJhMSwxLDAsMCwwLTEsMXY4YTEsMSwwLDAsMCwyLDBWOEExLDEsMCwwLDAsMjAsN1oiLz4NCjwvc3ZnPg0K"},41533(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxwYXRoIGZpbGw9IiMwMjg4RDEiIGQ9Ik0yMCAxOS44aDE2MHYxNTkuOUgyMHoiIGNsYXNzPSJqcC1jb25zb2xlLWljb24tYmFja2dyb3VuZC1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiLz4KICA8cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTA1IDEyNy4zaDQwdjEyLjhoLTQwek01MS4xIDc3IDc0IDk5LjlsLTIzLjMgMjMuMyAxMC41IDEwLjUgMjMuMy0yMy4zTDk1IDk5LjkgODQuNSA4OS40IDYxLjYgNjYuNXoiIGNsYXNzPSJqcC1jb25zb2xlLWljb24tY29sb3IganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiLz4KPC9zdmc+Cg=="},42352(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJtMTkuMyA4LjItNS41LTUuNWMtLjMtLjMtLjctLjUtMS4yLS41SDMuOWMtLjguMS0xLjYuOS0xLjYgMS44djE0LjFjMCAuOS43IDEuNiAxLjYgMS42aDE0LjJjLjkgMCAxLjYtLjcgMS42LTEuNlY5LjRjLjEtLjUtLjEtLjktLjQtMS4ybS01LjgtMy4zIDMuNCAzLjZoLTMuNHptMy45IDEyLjdINC43Yy0uMSAwLS4yIDAtLjItLjJWNC43YzAtLjIuMS0uMy4yLS4zaDcuMnY0LjRzMCAuOC4zIDEuMSAxLjEuMyAxLjEuM2g0LjN2Ny4ycy0uMS4yLS4yLjIiIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiLz4KPC9zdmc+Cg=="},67931(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzAwMCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNmgtOGwtMi0ySDRjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWOGMwLTEuMS0uOS0yLTItMm0tMi4wNiAxMUwxNSAxNS4yOCAxMi4wNiAxN2wuNzgtMy4zMy0yLjU5LTIuMjQgMy40MS0uMjlMMTUgOGwxLjM0IDMuMTQgMy40MS4yOS0yLjU5IDIuMjR6IiBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIi8+Cjwvc3ZnPgo="},49858(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04eiIgY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIvPgo8L3N2Zz4K"},62547(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzAwMCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgMjB2LTZoNHY2aDV2LThoM0wxMiAzIDIgMTJoM3Y4eiIgY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIvPgo8L3N2Zz4K"},62518(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0xMDguNCAwaDIzdjIyLjhoMjEuMlYwaDIzdjY5aC0yM1Y0NmgtMjF2MjNoLTIzLjJNMjA2IDIzaC0yMC4zVjBoNjMuN3YyM0gyMjl2NDZoLTIzbTUzLjUtNjloMjQuMWwxNC44IDI0LjNMMzEzLjIgMGgyNC4xdjY5aC0yM1YzNC44bC0xNi4xIDI0LjgtMTYuMS0yNC44VjY5aC0yMi42bTg5LjItNjloMjN2NDYuMmgzMi42VjY5aC01NS42IiBjbGFzcz0ianAtaWNvbjAganAtaWNvbi1zZWxlY3RhYmxlIi8+CiAgPHBhdGggZmlsbD0iI2U0NGQyNiIgZD0ibTEwNy42IDQ3MS0zMy0zNzAuNGgzNjIuOGwtMzMgMzcwLjJMMjU1LjcgNTEyIiBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlIi8+CiAgPHBhdGggZmlsbD0iI2YxNjUyOSIgZD0iTTI1NiA0ODAuNVYxMzFoMTQ4LjNMMzc2IDQ0NyIgY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIvPgogIDxwYXRoIGZpbGw9IiNlYmViZWIiIGQ9Ik0xNDIgMTc2LjNoMTE0djQ1LjRoLTY0LjJsNC4yIDQ2LjVoNjB2NDUuM0gxNTQuNG0yIDIyLjhIMjAybDMuMiAzNi4zIDUwLjggMTMuNnY0Ny40bC05My4yLTI2IiBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiLz4KICA8cGF0aCBmaWxsPSIjZmZmIiBkPSJNMzY5LjYgMTc2LjNIMjU1Ljh2NDUuNGgxMDkuNm0tNC4xIDQ2LjVIMjU1Ljh2NDUuNGg1NmwtNS4zIDU5LTUwLjcgMTMuNnY0Ny4ybDkzLTI1LjgiIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUtaW52ZXJzZSIvPgo8L3N2Zz4K"},32409(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBmaWxsPSIjRkZGIiBkPSJNMi4yIDIuMmgxNy41djE3LjVIMi4yeiIgY2xhc3M9ImpwLWljb24tYnJhbmQ0IGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIi8+CiAgPHBhdGggZmlsbD0iIzNGNTFCNSIgZD0iTTIuMiAyLjJ2MTcuNWgxNy41bC4xLTE3LjV6bTEyLjEgMi4yYzEuMiAwIDIuMiAxIDIuMiAyLjJzLTEgMi4yLTIuMiAyLjItMi4yLTEtMi4yLTIuMiAxLTIuMiAyLjItMi4yTTQuNCAxNy42bDMuMy04LjggMy4zIDYuNiAyLjItMy4yIDQuNCA1LjR6IiBjbGFzcz0ianAtaWNvbi1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIi8+Cjwvc3ZnPgo="},90021(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0ybS01IDE0SDR2LTRoMTF6bTAtNUg0VjloMTF6bTUgNWgtNFY5aDR6IiBjbGFzcz0ianAtaW5zcGVjdG9yLWljb24tY29sb3IganAtaWNvbi1zZWxlY3RhYmxlIi8+Cjwvc3ZnPgo="},43664(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBmaWxsPSIjRjlBODI1IiBjbGFzcz0ianAtanNvbi1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSI+CiAgICA8cGF0aCBkPSJNMjAuMiAxMS44Yy0xLjYgMC0xLjcuNS0xLjcgMSAwIC40LjEuOS4xIDEuMy4xLjUuMS45LjEgMS4zIDAgMS43LTEuNCAyLjMtMy41IDIuM2gtLjl2LTEuOWguNWMxLjEgMCAxLjQgMCAxLjQtLjggMC0uMyAwLS42LS4xLTEgMC0uNC0uMS0uOC0uMS0xLjIgMC0xLjMgMC0xLjggMS4zLTItMS4zLS4yLTEuMy0uNy0xLjMtMiAwLS40LjEtLjguMS0xLjIuMS0uNC4xLS43LjEtMSAwLS44LS40LS43LTEuNC0uOGgtLjVWNC4xaC45YzIuMiAwIDMuNS43IDMuNSAyLjMgMCAuNC0uMS45LS4xIDEuMy0uMS41LS4xLjktLjEgMS4zIDAgLjUuMiAxIDEuNyAxek0xLjggMTAuMWMxLjYgMCAxLjctLjUgMS43LTEgMC0uNC0uMS0uOS0uMS0xLjMtLjEtLjUtLjEtLjktLjEtMS4zIDAtMS42IDEuNC0yLjMgMy41LTIuM2guOXYxLjloLS41Yy0xIDAtMS40IDAtMS40LjggMCAuMyAwIC42LjEgMSAwIC4yLjEuNi4xIDEgMCAxLjMgMCAxLjgtMS4zIDJDNiAxMS4yIDYgMTEuNyA2IDEzYzAgLjQtLjEuOC0uMSAxLjItLjEuMy0uMS43LS4xIDEgMCAuOC4zLjggMS40LjhoLjV2MS45aC0uOWMtMi4xIDAtMy41LS42LTMuNS0yLjMgMC0uNC4xLS45LjEtMS4zLjEtLjUuMS0uOS4xLTEuMyAwLS41LS4yLTEtMS43LTF6Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjEzLjgiIHI9IjIuMSIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSI4LjIiIHI9IjIuMSIvPgogIDwvZz4KPC9zdmc+Cg=="},21957(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDMyNSAzMDAiPgogIDxwYXRoIGZpbGw9IiNjYjNjMzMiIGQ9Ik0xNTAuODk4IDIyNWMwIDQxLjQyMi0zMy41NzggNzUtNzUgNzVzLTc1LTMzLjU3OC03NS03NSAzMy41NzktNzUgNzUtNzUgNzUgMzMuNTc4IDc1IDc1IiBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIvPgogIDxwYXRoIGZpbGw9IiMzODk4MjYiIGQ9Ik0yMzcuNSA3NWMwIDQxLjQyMi0zMy41NzggNzUtNzUgNzVzLTc1LTMzLjU3OC03NS03NSAzMy41NzgtNzUgNzUtNzUgNzUgMzMuNTc4IDc1IDc1IiBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIvPgogIDxwYXRoIGZpbGw9IiM5NTU4YjIiIGQ9Ik0zMjQuMTAyIDIyNWMwIDQxLjQyMi0zMy41NzkgNzUtNzUgNzVzLTc1LTMzLjU3OC03NS03NSAzMy41NzgtNzUgNzUtNzUgNzUgMzMuNTc4IDc1IDc1IiBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIvPgo8L3N2Zz4K"},96081(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMTdjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0ybS05IDNoMnYyaC0yem0wIDNoMnYyaC0yek04IDhoMnYySDh6bTAgM2gydjJIOHptLTEgMkg1di0yaDJ6bTAtM0g1VjhoMnptOSA3SDh2LTJoOHptMC00aC0ydi0yaDJ6bTAtM2gtMlY4aDJ6bTMgM2gtMnYtMmgyem0wLTNoLTJWOGgyeiIgY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIvPgo8L3N2Zz4K"},10966(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMTlINVY1aDdWM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnpNMTQgM3YyaDMuNTlsLTkuODMgOS44MyAxLjQxIDEuNDFMMTkgNi40MVYxMGgyVjN6IiBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIi8+Cjwvc3ZnPgo="},73105(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjR6IiBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIi8+Cjwvc3ZnPgo="},98827(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNDkxIDY3NSI+CiAgPHBhdGggZmlsbD0iI2ZmMzY3MCIgZD0iTTg1IDkyYy00NiAwLTg1IDM3LTg1IDg1djMyMWMwIDQ2IDM3IDg1IDg1IDg1aDMyMWM0NiAwIDg1LTM3IDg1LTg1VjE3N2MwLTQ2LTM3LTg1LTg1LTg1em0tMiAxMTFjNzItMy4xIDEzOSA0MSAxNjIgMTA5IDI1LTY3IDkxLTExMiAxNjItMTA5IDIuNCA1Ny0yNSAxMTEtNzIgMTQ0LTI0IDE2LTM5IDQ0LTM5IDc0djUxSDE5MnYtNTFjLjA4LTI5LTE1LTU3LTM5LTc0LTQ3LTMyLTc1LTg2LTcyLTE0NHoiIGNsYXNzPSJqcC1pY29uLWNvbnRyYXN0MiBqcC1pY29uLXNlbGVjdGFibGUiLz4KPC9zdmc+Cg=="},55237(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBmaWxsPSIjRUY2QzAwIiBjbGFzcz0ianAtbm90ZWJvb2staWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM3ptMS41LTEuNUgxLjh2MTguM2gxOC4zeiIvPgogICAgPHBhdGggZD0ibTE2LjUgMTYuNS01LjQtNC4zLTUuNiA0LjN2LTExaDExeiIvPgogIDwvZz4KPC9zdmc+Cg=="},41420(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBmaWxsPSIjRkYyQTJBIiBkPSJtMTcuOTMzIDEzLjY2NyAzLjk4NyAzLjk4Ny0xLjExNyAxLjExNy0yLjUxLTIuNTEtMS4wNjYgMS4wNjcgMi4zNiAyLjM2LTEuMTE3IDEuMTE3LTIuMzYtMi4zNi0yLjQzIDIuNDI5LTEuNDc3LTEuNDc4em0tNi4xNjMtMy45My0zLjQ5NiAzLjQ5Ni41My41M3EuOTA1LjkwNiAxLjgzLjkzMi45MjkuMDMxIDEuNzg0LS44MjUuODUyLS44NTIuODIyLTEuNzczdC0uOTQtMS44M3ptLS4zNi0yLjU5NCAxLjU1NyAxLjU1OHExLjMwNSAxLjMwNSAxLjc1NCAyLjEzLjQ1Ni44MjUuNDY4IDEuNzI3LjAxNS43OS0uMjk2IDEuNDkzLS4zMS43MDItLjk1MSAxLjM0My0uNjQ5LjY0OC0xLjM1NS45NjMtLjcwMi4zMS0xLjQ5My4yOTUtLjkwNS0uMDE1LTEuNzM4LS40NzItLjgyOS0uNDYtMi4xMTgtMS43NUw1LjY4IDEyLjg3NHptLTUuNzYtNS43Nkw4LjEgMy44MzVROS4xOTUgNC45MyA5LjI5MSA2cS4xMDMgMS4wNy0uNzk1IDEuOTY4LS45MDEuOTAyLTEuOTc2LjgwMi0xLjA2Ny0uMS0yLjE2LTEuMTkzbC0uOTc1LS45NzVMMS4zOTcgOC41OS0uMDggNy4xMTNabS40MDYgMi41NDgtMS42IDEuNi44MTcuODE4cS40My40My44NzEuNDU3LjQ0NS4wMjMuODI5LS4zNjF0LjM1Ny0uODI1LS40NTctLjg3MXoiIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiLz4KPC9zdmc+Cg=="},52384(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iLTEwIC0xMCAxMzEuMTYxIDEzMi4zODkiPgogIDxwYXRoIGZpbGw9IiMzMDY5OTgiIGQ9Ik01NC45MTkgMGMtNC41ODQuMDIyLTguOTYxLjQxMy0xMi44MTMgMS4wOTVDMzAuNzYgMy4wOTkgMjguNyA3LjI5NSAyOC43IDE1LjAzMnYxMC4yMTloMjYuODEzdjMuNDA2SDE4LjYzOGMtNy43OTMgMC0xNC42MTYgNC42ODQtMTYuNzUgMTMuNTk0LTIuNDYyIDEwLjIxMy0yLjU3MSAxNi41ODYgMCAyNy4yNSAxLjkwNSA3LjkzOCA2LjQ1NyAxMy41OTQgMTQuMjUgMTMuNTk0aDkuMjE4di0xMi4yNWMwLTguODUgNy42NTctMTYuNjU3IDE2Ljc1LTE2LjY1N2gyNi43ODJjNy40NTQgMCAxMy40MDYtNi4xMzggMTMuNDA2LTEzLjYyNXYtMjUuNTNjMC03LjI2Ny02LjEzLTEyLjcyNi0xMy40MDYtMTMuOTM4QzY0LjI4Mi4zMjggNTkuNTAyLS4wMiA1NC45MTggMG0tMTQuNSA4LjIyYzIuNzcgMCA1LjAzMSAyLjI5OCA1LjAzMSA1LjEyNSAwIDIuODE2LTIuMjYyIDUuMDkzLTUuMDMxIDUuMDkzLTIuNzggMC01LjAzMS0yLjI3Ny01LjAzMS01LjA5MyAwLTIuODI3IDIuMjUxLTUuMTI1IDUuMDMtNS4xMjUiIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiLz4KICA8cGF0aCBmaWxsPSIjZmZkNDNiIiBkPSJNODUuNjM4IDI4LjY1N3YxMS45MDZjMCA5LjIzMS03LjgyNiAxNy0xNi43NSAxN0g0Mi4xMDZjLTcuMzM2IDAtMTMuNDA2IDYuMjc5LTEzLjQwNiAxMy42MjVWOTYuNzJjMCA3LjI2NiA2LjMxOSAxMS41NCAxMy40MDYgMTMuNjI1IDguNDg4IDIuNDk1IDE2LjYyNyAyLjk0NiAyNi43ODIgMCA2Ljc1LTEuOTU1IDEzLjQwNi01Ljg4OCAxMy40MDYtMTMuNjI1Vjg2LjVINTUuNTEzdi0zLjQwNUg5NS43YzcuNzkzIDAgMTAuNjk2LTUuNDM2IDEzLjQwNi0xMy41OTQgMi44LTguMzk5IDIuNjgtMTYuNDc2IDAtMjcuMjUtMS45MjUtNy43NTgtNS42MDQtMTMuNTk0LTEzLjQwNi0xMy41OTR6TTcwLjU3NSA5My4zMTNjMi43OCAwIDUuMDMxIDIuMjc4IDUuMDMxIDUuMDk0IDAgMi44MjctMi4yNTEgNS4xMjUtNS4wMzEgNS4xMjUtMi43NyAwLTUuMDMxLTIuMjk4LTUuMDMxLTUuMTI1IDAtMi44MTYgMi4yNjEtNS4wOTQgNS4wMzEtNS4wOTQiIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiLz4KPC9zdmc+Cg=="},94774(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgNzI0IDU2MSI+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZD0iTTM2MS40NTMsNDg1LjkzNyBDMTYyLjMyOSw0ODUuOTM3IDAuOTA2LDM3Ny44MjggMC45MDYsMjQ0LjQ2OSBDMC45MDYsMTExLjEwOSAxNjIuMzI5LDMuMDAwIDM2MS40NTMsMy4wMDAgQzU2MC41NzgsMy4wMDAgNzIyLjAwMCwxMTEuMTA5IDcyMi4wMDAsMjQ0LjQ2OSBDNzIyLjAwMCwzNzcuODI4IDU2MC41NzgsNDg1LjkzNyAzNjEuNDUzLDQ4NS45MzcgWk00MTYuNjQxLDk3LjQwNiBDMjY1LjI4OSw5Ny40MDYgMTQyLjU5NCwxNzEuMzE0IDE0Mi41OTQsMjYyLjQ4NCBDMTQyLjU5NCwzNTMuNjU0IDI2NS4yODksNDI3LjU2MiA0MTYuNjQxLDQyNy41NjIgQzU2Ny45OTIsNDI3LjU2MiA2NzkuNjg3LDM3Ny4wMzMgNjc5LjY4NywyNjIuNDg0IEM2NzkuNjg3LDE0Ny45NzEgNTY3Ljk5Miw5Ny40MDYgNDE2LjY0MSw5Ny40MDYgWiIgZmlsbD0icmdiKDE3OSwxNzksMTc5KSIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZD0iTTU1MC4wMDAsMzc3LjAwMCBDNTUwLjAwMCwzNzcuMDAwIDU3MS44MjIsMzgzLjU4NSA1ODQuNTAwLDM5MC4wMDAgQzU4OC44OTksMzkyLjIyNiA1OTYuNTEwLDM5Ni42NjggNjAyLjAwMCw0MDIuNTAwIEM2MDcuMzc4LDQwOC4yMTIgNjEwLjAwMCw0MTQuMDAwIDYxMC4wMDAsNDE0LjAwMCBMNjk2LjAwMCw1NTkuMDAwIEw1NTcuMDAwLDU1OS4wNjIgTDQ5Mi4wMDAsNDM3LjAwMCBDNDkyLjAwMCw0MzcuMDAwIDQ3OC42OTAsNDE0LjEzMSA0NzAuNTAwLDQwNy41MDAgQzQ2My42NjgsNDAxLjk2OSA0NjAuNzU1LDQwMC4wMDAgNDU0LjAwMCw0MDAuMDAwIEM0NDkuMjk4LDQwMC4wMDAgNDIwLjk3NCw0MDAuMDAwIDQyMC45NzQsNDAwLjAwMCBMNDIxLjAwMCw1NTguOTc0IEwyOTguMDAwLDU1OS4wMjYgTDI5OC4wMDAsMTUyLjkzOCBMNTQ1LjAwMCwxNTIuOTM4IEM1NDUuMDAwLDE1Mi45MzggNjU3LjUwMCwxNTQuOTY3IDY1Ny41MDAsMjYyLjAwMCBDNjU3LjUwMCwzNjkuMDMzIDU1MC4wMDAsMzc3LjAwMCA1NTAuMDAwLDM3Ny4wMDAgWk00OTYuNTAwLDI0MS4wMjQgTDQyMi4wMzcsMjQwLjk3NiBMNDIyLjAwMCwzMTAuMDI2IEw0OTYuNTAwLDMxMC4wMDIgQzQ5Ni41MDAsMzEwLjAwMiA1MzEuMDAwLDMwOS44OTUgNTMxLjAwMCwyNzQuODc3IEM1MzEuMDAwLDIzOS4xNTUgNDk2LjUwMCwyNDEuMDI0IDQ5Ni41MDAsMjQxLjAyNCBaIiBmaWxsPSJyZ2IoNTIsMTAxLDE3NikiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4K"},36035(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMTUwIDE1MCA1NDEuOSAyOTUuMyI+CiAgPGcgZmlsbD0iIzYxREFGQiIgY2xhc3M9ImpwLWljb24tYnJhbmQyIGpwLWljb24tc2VsZWN0YWJsZSI+CiAgICA8cGF0aCBkPSJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM20tMTMwLjItNjYuN2MtMy43IDEyLjktOC4zIDI2LjItMTMuNSAzOS41LTQuMS04LTguNC0xNi0xMy4xLTI0LTQuNi04LTkuNS0xNS44LTE0LjQtMjMuNCAxNC4yIDIuMSAyNy45IDQuNyA0MSA3LjltLTQ1LjggMTA2LjVjLTcuOCAxMy41LTE1LjggMjYuMy0yNC4xIDM4LjItMTQuOSAxLjMtMzAgMi00NS4yIDItMTUuMSAwLTMwLjItLjctNDUtMS45LTguMy0xMS45LTE2LjQtMjQuNi0yNC4yLTM4LTcuNi0xMy4xLTE0LjUtMjYuNC0yMC44LTM5LjggNi4yLTEzLjQgMTMuMi0yNi44IDIwLjctMzkuOSA3LjgtMTMuNSAxNS44LTI2LjMgMjQuMS0zOC4yIDE0LjktMS4zIDMwLTIgNDUuMi0yIDE1LjEgMCAzMC4yLjcgNDUgMS45IDguMyAxMS45IDE2LjQgMjQuNiAyNC4yIDM4IDcuNiAxMy4xIDE0LjUgMjYuNCAyMC44IDM5LjgtNi4zIDEzLjQtMTMuMiAyNi44LTIwLjcgMzkuOW0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xTTQyMS4yIDQzMGMtOS4zLTkuNi0xOC42LTIwLjMtMjcuOC0zMiA5IC40IDE4LjIuNyAyNy41LjcgOS40IDAgMTguNy0uMiAyNy44LS43LTkgMTEuNy0xOC4zIDIyLjQtMjcuNSAzMm0tNzQuNC01OC45Yy0xNC4yLTIuMS0yNy45LTQuNy00MS03LjkgMy43LTEyLjkgOC4zLTI2LjIgMTMuNS0zOS41IDQuMSA4IDguNCAxNiAxMy4xIDI0cTcuMDUgMTIgMTQuNCAyMy40TTQyMC43IDE2M2M5LjMgOS42IDE4LjYgMjAuMyAyNy44IDMyLTktLjQtMTguMi0uNy0yNy41LS43LTkuNCAwLTE4LjcuMi0yNy44LjcgOS0xMS43IDE4LjMtMjIuNCAyNy41LTMybS03NCA1OC45Yy00LjkgNy43LTkuOCAxNS42LTE0LjQgMjMuNy00LjYgOC04LjkgMTYtMTMgMjQtNS40LTEzLjQtMTAtMjYuOC0xMy44LTM5LjggMTMuMS0zLjEgMjYuOS01LjggNDEuMi03LjltLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42czIyLjktMzUuNiA1OC4zLTUwLjZjOC42LTMuNyAxOC03IDI3LjctMTAuMSA1LjcgMTkuNiAxMy4yIDQwIDIyLjUgNjAuOS05LjIgMjAuOC0xNi42IDQxLjEtMjIuMiA2MC42LTkuOS0zLjEtMTkuMy02LjUtMjgtMTAuMk0zMTAgNDkwYy0xMy42LTcuOC0xOS41LTM3LjUtMTQuOS03NS43IDEuMS05LjQgMi45LTE5LjMgNS4xLTI5LjQgMTkuNiA0LjggNDEgOC41IDYzLjUgMTAuOSAxMy41IDE4LjUgMjcuNSAzNS4zIDQxLjYgNTAtMzIuNiAzMC4zLTYzLjIgNDYuOS04NCA0Ni45LTQuNS0uMS04LjMtMS0xMS4zLTIuN20yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xbTM4LjUtNjYuN2MtOC42IDMuNy0xOCA3LTI3LjcgMTAuMS01LjctMTkuNi0xMy4yLTQwLTIyLjUtNjAuOSA5LjItMjAuOCAxNi42LTQxLjEgMjIuMi02MC42IDkuOSAzLjEgMTkuMyA2LjUgMjguMSAxMC4yIDM1LjQgMTUuMSA1OC4zIDM0LjkgNTguMyA1MC42LS4xIDE1LjctMjMgMzUuNi01OC40IDUwLjZNMzIwLjggNzguNCIvPgogICAgPGNpcmNsZSBjeD0iNDIwLjkiIGN5PSIyOTYuNSIgcj0iNDUuNyIvPgogIDwvZz4KPC9zdmc+Cg=="},69281(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVBLjQ5LjQ5IDAgMCAwIDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NHpNMTIgMTUuNWMtMS45MyAwLTMuNS0xLjU3LTMuNS0zLjVzMS41Ny0zLjUgMy41LTMuNSAzLjUgMS41NyAzLjUgMy41LTEuNTcgMy41LTMuNSAzLjUiIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiLz4KPC9zdmc+Cg=="},89120(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBmaWxsPSIjNENBRjUwIiBkPSJNMi4yIDIuMnYxNy42aDE3LjZWMi4yem0xNS40IDcuN2gtNS41VjQuNGg1LjV6TTkuOSA0LjR2NS41SDQuNFY0LjR6bS01LjUgNy43aDUuNXY1LjVINC40em03LjcgNS41di01LjVoNS41djUuNXoiIGNsYXNzPSJqcC1pY29uLWNvbnRyYXN0MSBqcC1pY29uLXNlbGVjdGFibGUiLz4KPC9zdmc+Cg=="},99083(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTUgMTVIM3YyaDEyem0wLThIM3YyaDEyek0zIDEzaDE4di0ySDN6bTAgOGgxOHYtMkgzek0zIDN2MmgxOFYzeiIgY2xhc3M9ImpwLXRleHQtZWRpdG9yLWljb24tY29sb3IganAtaWNvbi1zZWxlY3RhYmxlIi8+Cjwvc3ZnPgo="},72297(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBmaWxsPSIjMjEyMTIxIiBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIj4KICAgIDxwYXRoIGQ9Im0xMC42IDUuNCAyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJtMTUuOCAyLjItNC40IDYuNkw3IDYuM2wtNC44IDh2NS41aDE3LjZWMi4yem0tNyAxNS40SDUuNXYtNC40aDMuM3ptNC40IDBIOS44VjkuOGgzLjR6bTQuNCAwaC0zLjRWNi41aDMuNHoiLz4KICA8L2c+Cjwvc3ZnPgo="},12255(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOCAzdjJoLTJWM0g4djJINlYzSDR2MThoMnYtMmgydjJoOHYtMmgydjJoMlYzaC0yek04IDE3SDZ2LTJoMnYyem0wLTRINnYtMmgydjJ6bTAtNEg2VjdoMnYyem0xMCA4aC0ydi0yaDJ2MnptMC00aC0ydi0yaDJ2MnptMC00aC0yVjdoMnYyeiIvPgogICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgo8L3N2Zz4K"},32111(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBmaWxsPSIjRDgxQjYwIiBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjV6Ii8+CiAgICA8Y2lyY2xlIGN4PSIxNy42IiBjeT0iMTYuNSIgcj0iMi4xIi8+CiAgICA8Y2lyY2xlIGN4PSIxNy42IiBjeT0iMTEiIHI9IjIuMSIvPgogIDwvZz4KPC9zdmc+Cg=="},88255(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTMuNSA4SDEydjVsNC4yOCAyLjU0LjcyLTEuMjEtMy41LTIuMDh6TTEzIDNhOSA5IDAgMCAwLTkgOUgxbDMuOTYgNC4wM0w5IDEySDZhNyA3IDAgMCAxIDctNyA3IDcgMCAwIDEgNyA3IDcgNyAwIDAgMS03IDdjLTEuOTMgMC0zLjY4LS43OS00Ljk0LTIuMDZsLTEuNDIgMS40MkE4LjkgOC45IDAgMCAwIDEzIDIxYTkgOSAwIDAgMCA5LTkgOSA5IDAgMCAwLTktOSIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},49069(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUwLjk3OCA1MC45NzgiPgogIDxnIGZpbGw9IiM2MTYxNjEiIGNsYXNzPSJqcC1pY29uMyI+CiAgICA8cGF0aCBkPSJNNDMuNTIgNy40NThDMzguNzExIDIuNjQ4IDMyLjMwNyAwIDI1LjQ4OSAwIDE4LjY3IDAgMTIuMjY2IDIuNjQ4IDcuNDU4IDcuNDU4Yy05Ljk0MyA5Ljk0MS05Ljk0MyAyNi4xMTkgMCAzNi4wNjIgNC44MDkgNC44MDkgMTEuMjEyIDcuNDU2IDE4LjAzMSA3LjQ1OGguMDAyYzYuODE2IDAgMTMuMjIxLTIuNjQ4IDE4LjAyOS03LjQ1OCA0LjgwOS00LjgwOSA3LjQ1Ny0xMS4yMTIgNy40NTctMTguMDMgMC02LjgyLTIuNjQ5LTEzLjIyNC03LjQ1Ny0xOC4wMzJtLTEuNDE0IDM0LjY0N2MtNC40MzIgNC40MzEtMTAuMzMyIDYuODcyLTE2LjYxNSA2Ljg3MmgtLjAwMmMtNi4yODUtLjAwMS0xMi4xODctMi40NDEtMTYuNjE3LTYuODcyLTkuMTYyLTkuMTYzLTkuMTYyLTI0LjA3MSAwLTMzLjIzM0MxMy4zMDMgNC40NCAxOS4yMDQgMiAyNS40ODkgMmM2LjI4NCAwIDEyLjE4NiAyLjQ0IDE2LjYxNyA2Ljg3MiA0LjQzMSA0LjQzMSA2Ljg3MSAxMC4zMzIgNi44NzEgMTYuNjE3IDAgNi4yODMtMi40NDEgMTIuMTg2LTYuODcxIDE2LjYxNiIvPgogICAgPHBhdGggZD0iTTIzLjU3OCAzMi4yMThxLS4wMzQtMi42MDIuNDk2LTMuOTcydDIuMjcyLTMuMjUzcS43MDItLjgwNSAxLjM2Ny0xLjU3NS45MzktMS4xMyAxLjQzNi0yLjE3NS40OTYtMS4wNjEuNDk1LTIuNSAwLTEuNjQzLS43NzktMi45NzktLjg0OC0xLjMxOS0yLjgwNi0xLjM2OS0yLjcwMy4wODUtMy41NSAxLjgzMmE1LjMgNS4zIDAgMCAwLS42MDcgMS44MTQgMTEuMyAxMS4zIDAgMCAwLS4yMDcgMi4xNzRoLTIuOTM3cS0uMTM2LTMuMzEyIDEuNDkzLTUuNzE5IDEuNTkzLTIuNDU5IDUuMzc4LTIuNTI3IDMuMjQuMDM0IDUuMTQxIDEuNzU4IDEuOTE4IDEuNzQgMS45NSA0LjgxMSAwIDEuNzEyLS40MSAyLjkxMWE3LjYgNy42IDAgMCAxLTEuMjY4IDIuMjQzIDIyIDIyIDAgMCAxLTEuNzMgMi4wMDIgMzQgMzQgMCAwIDAtMS45ODcgMi4zNDYgNS4yIDUuMiAwIDAgMC0uNTY1IDEuMTk5cS0uMjQgMS40MzgtLjE3MSAyLjk3OXptMCA2LjAwMnYtMy40ODRoMy4wNzZ2My40ODR6Ii8+CiAgPC9nPgo8L3N2Zz4K"},35017(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNTIiIGhlaWdodD0iMTY1IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAxNTIgMTY1Ij4KICA8cGF0aCBmaWxsPSIjRjM3NzI2IiBkPSJNNzYuMDIxIDE0MC4xNjNjLTMyLjY0IDAtNjEuMTQ1LTExLjkyNy03NS45NDItMjkuNTggNS41MSAxNS44NCAxNS43ODEgMjkuNTY3IDI5LjM5IDM5LjI3OGE4MC4xNyA4MC4xNyAwIDAgMCA0Ni41NyAxNC45MjkgODAuMTcgODAuMTcgMCAwIDAgNDYuNTctMTQuOTI5YzEzLjYxLTkuNzExIDIzLjg4LTIzLjQzNyAyOS4zOTEtMzkuMjc4LTE0LjgzMyAxNy42NTMtNDMuMzM4IDI5LjU4LTc1Ljk3OSAyOS41OG0tLjAwNS0xMTQuODMyYzMyLjY0IDAgNjEuMTQ2IDExLjkyNyA3NS45NDMgMjkuNThhODAuOSA4MC45IDAgMCAwLTI5LjM5MS0zOS4yNzhBODAuMTYgODAuMTYgMCAwIDAgNzUuOTk4LjcwNWE4MC4xNiA4MC4xNiAwIDAgMC00Ni41NyAxNC45MjhBODAuOSA4MC45IDAgMCAwIC4wMzggNTQuOTEyYzE0LjgzMi0xNy42MTcgNDMuMzM4LTI5LjU4IDc1Ljk3OC0yOS41OCIgY2xhc3M9ImpwLWp1cHl0ZXItaWNvbi1jb2xvciIvPgo8L3N2Zz4K"},98034(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzOSIgaGVpZ2h0PSI1MSIgdmlld0JveD0iMCAwIDM5IDUxIj4KICA8cGF0aCBmaWxsPSIjRjM3NzI2IiBkPSJNMjAuMDA1IDM4LjExNGMtNy44NSAwLTE0LjcwNi0yLjg3Ni0xOC4yNjUtNy4xMzRhMTkuNSAxOS41IDAgMCAwIDcuMDY5IDkuNDczIDE5LjI0IDE5LjI0IDAgMCAwIDExLjIgMy42YzQuMDEzIDAgNy45MjctMS4yNTggMTEuMi0zLjZhMTkuNSAxOS41IDAgMCAwIDcuMDY5LTkuNDczYy0zLjU2NyA0LjI1OC0xMC40MjMgNy4xMzQtMTguMjczIDcuMTM0bS0uMDAyLTI3LjY5NGM3Ljg1IDAgMTQuNzA2IDIuODc2IDE4LjI2NSA3LjEzM2ExOS41IDE5LjUgMCAwIDAtNy4wNjktOS40NzNBMTkuMjQgMTkuMjQgMCAwIDAgMjAgNC40OGExOS4yNCAxOS4yNCAwIDAgMC0xMS4yIDMuNiAxOS41IDE5LjUgMCAwIDAtNy4wNjkgOS40NzNjMy41NjctNC4yNDggMTAuNDIzLTcuMTM0IDE4LjI3My03LjEzNCIgY2xhc3M9ImpwLWp1cHl0ZXItaWNvbi1jb2xvciIvPgogIDxwYXRoIGZpbGw9IiM2MTYxNjEiIGQ9Ik0zNy4xOTQgMy4xNTRhMyAzIDAgMCAxLS40MjYgMS42NzIgMi45NiAyLjk2IDAgMCAxLTEuMjc1IDEuMTUzIDIuOTMgMi45MyAwIDAgMS0zLjIzOC0uNTA1IDMgMyAwIDAgMS0uNzc2LTMuMjFjLjItLjU1My41NTgtMS4wMzMgMS4wMjktMS4zOGEyLjkzIDIuOTMgMCAwIDEgMy43MzMuMjA5Yy41NzYuNTMyLjkxOSAxLjI3NC45NTMgMi4wNjFNOS4yMjggNDYuMzkzYTMuNzcgMy43NyAwIDAgMS0uNTM2IDIuMTEgMy43MyAzLjczIDAgMCAxLTEuNjA4IDEuNDUyIDMuNjkgMy42OSAwIDAgMS00LjA4Mi0uNjM4IDMuNzUgMy43NSAwIDAgMS0xLjA5Ny0xLjg3NSAzLjggMy44IDAgMCAxIC4xMjItMi4xNzMgMy43NCAzLjc0IDAgMCAxIDEuMjk5LTEuNzM5IDMuNjk2IDMuNjk2IDAgMCAxIDQuNzA0LjI2OCAzLjc2IDMuNzYgMCAwIDEgMS4xOTggMi41OTVNMi42MzUgOS40NTZhMi4xNyAyLjE3IDAgMCAxLTEuMjI3LS4zMTggMi4yIDIuMiAwIDAgMS0uODQ1LS45NTFBMi4yMiAyLjIyIDAgMCAxIC45MzUgNS43N2EyLjE2IDIuMTYgMCAwIDEgMi4zNTYtLjU3N2MuNDA1LjE1Ljc1Ny40MTggMS4wMTEuNzdhMi4yMSAyLjIxIDAgMCAxLS4xNTYgMi43ODMgMi4xNyAyLjE3IDAgMCAxLTEuNTExLjcxIiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},91019(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIHZpZXdCb3g9IjAgMCAxODYwLjggNDc1Ij4KICA8cGF0aCBmaWxsPSIjNEU0RTRFIiBkPSJNNTMuMzI0IDI5My4wODdjMCA0OC43LTMuNyA2NC43LTEzLjYgNzYuNC0xMC44IDEwLTI1IDE1LjUtMzkuNyAxNS41bDMuNyAyOWMyMi44LjMgNDQuOC03LjkgNjEuOS0yMy4xIDE3LjgtMTguNSAyNC00NC4xIDI0LTgzLjN2LTE4NC4zaC0zNi40djE3MC4xem0yNzEuNDItMjIuMTc5YzAgMjEgMCAzOS41IDEuNyA1NS40aC0zMS44bC0yLjEtMzMuM2gtLjhjLTYuNyAxMS42LTE2LjQgMjEuMy0yOCAyNy45cy0yNC44IDEwLTM4LjIgOS44Yy0zMS40IDAtNjktMTcuNy02OS04OXYtMTE4LjhoMzYuNHYxMTIuN2MwIDM4LjcgMTEuNiA2NC43IDQ0LjYgNjQuNyAxMC4zLS4yIDIwLjQtMy41IDI4LjktOS40czE1LjEtMTQuMyAxOC45LTIzLjljMi4yLTYuMSAzLjMtMTIuNSAzLjMtMTguOXYtMTI1aDM2LjR2MTQ3Ljh6bTY4LjUxMi04MS41MjVjMC0yNi0uOC00Ny0xLjctNjYuN2gzMi43bDEuNyAzNC44aC44YzcuMS0xMi41IDE3LjUtMjIuOCAzMC4xLTI5LjcgMTIuNS03IDI2LjctMTAuMyA0MS05LjggNDguMyAwIDg0LjcgNDEuNyA4NC43IDEwMy4zIDAgNzMuMS00My43IDEwOS4yLTkxIDEwOS4yLTEyLjEuNS0yNC4yLTIuMi0zNS03LjhzLTE5LjktMTMuOS0yNi42LTI0LjJoLS44djExMC41aC0zNnYtMjIwem0zNiA1NC4yYy4xIDUuMS42IDEwLjEgMS43IDE1LjEgMyAxMi4zIDkuOSAyMy4zIDE5LjggMzEuMXMyMi4xIDEyLjEgMzQuNyAxMi4xYzM4LjUgMCA2MC43LTMxLjkgNjAuNy03OC41IDAtNDAuNy0yMS4xLTc1LjYtNTkuNS03NS42LTEyLjkuNC0yNS4zIDUuMS0zNS4zIDEzLjQtOS45IDguMy0xNi45IDE5LjctMTkuNiAzMi40LTEuNSA0LjktMi4zIDEwLTIuNSAxNS4xem0yMTcuNTcyLTEyMC40ODUgNDMuNyAxMjAuMWM0LjUgMTMuNCA5LjUgMjkuNCAxMi44IDQxLjdoLjhjMy43LTEyLjIgNy45LTI3LjcgMTIuOC00Mi40bDM5LjctMTE5LjJoMzguNWwtNTQuNCAxNDQuOGMtMjYgNjkuNy00My43IDEwNS40LTY4LjYgMTI3LjItMTIuNSAxMS43LTI3LjkgMjAtNDQuNiAyMy45bC05LjEtMzEuMWMxMS43LTMuOSAyMi41LTEwLjEgMzEuOC0xOC4xIDEzLjItMTEuMSAyMy43LTI1LjIgMzAuNi00MS4yIDEuNS0yLjggMi41LTUuNyAyLjktOC44LS4zLTMuMy0xLjItNi42LTIuNS05LjdsLTczLjgtMTg3LjFoMzkuN3pNODkwLjY0OSA2NC42NXY1OC4zaDUydjI4LjJoLTUydjEwOS41YzAgMjUgNyAzOS41IDI3LjMgMzkuNSA3LjEuMSAxNC4yLS43IDIxLjEtMi41bDEuNyAyNy43Yy0xMC4zIDMuNy0yMS4zIDUuNC0zMi4yIDUtNy4zLjQtMTQuNi0uNy0yMS4zLTMuNC02LjgtMi43LTEyLjktNi44LTE3LjktMTIuMS0xMC4zLTEwLjktMTQuMS0yOS0xNC4xLTUyLjl2LTExMC44aC0zMXYtMjguMmgzMXYtNDguN3ptMTE5LjExMSAxNjYuNzExYy44IDUwIDMyLjIgNzAuNiA2OC42IDcwLjYgMTkgLjYgMzcuOS0zIDU1LjMtMTAuNWw2LjIgMjYuNGMtMjAuOSA4LjktNDMuNSAxMy4xLTY2LjIgMTIuNi02MS41IDAtOTguMy00MS4yLTk4LjMtMTAyLjUgMC02MS40IDM1LjUtMTA5LjYgOTMuNy0xMDkuNiA2NS4yIDAgODIuNyA1OC4zIDgyLjcgOTUuNy0uMSA1LjgtLjUgMTEuNS0xLjIgMTcuMmgtMTQwLjh6bTEwNi42LTI2LjRjLjQtMjMuNS05LjUtNjAuMS01MC40LTYwLjEtMzYuOCAwLTUyLjggMzQuNC01NS43IDYwLjF6bTg4LjMxNy0xOC41MDVjMC0yMy45LS40LTQ0LjUtMS43LTYzLjRoMzEuOGwxLjIgMzkuOWgxLjdjOS4xLTI3LjMgMzEtNDQuNSA1NS4zLTQ0LjUgMy41LS4xIDcgLjQgMTAuMyAxLjJ2MzQuOGMtNC4xLS45LTguMi0xLjMtMTIuNC0xLjItMjUuNiAwLTQzLjcgMTkuNy00OC43IDQ3LjQtMSA1LjctMS42IDExLjUtMS43IDE3LjJ2MTA4LjNoLTM2di0xMzkuN3oiIGNsYXNzPSJqcC1pY29uMiIvPgogIDxwYXRoIGZpbGw9IiNGMzc3MjYiIGQ9Ik0xMzUyLjMgMzI2LjJoMzdWMjhoLTM3em0yNTIuNSAwYy0yLjUtMTMuOS0zLjQtMzEuMS0zLjQtNDguN3YtNzZjMC00MC43LTE1LjEtODMuMS03Ny4zLTgzLjEtMjUuNiAwLTUwIDcuMS02Ni44IDE4LjFsOC40IDI0LjRjMTQuMy05LjIgMzQtMTUuMSA1My0xNS4xIDQxLjYgMCA0Ni4yIDMwLjIgNDYuMiA0N3Y0LjJjLTc4LjYtLjQtMTIyLjMgMjYuNS0xMjIuMyA3NS42IDAgMjkuNCAyMSA1OC40IDYyLjIgNTguNCAyOSAwIDUwLjktMTQuMyA2Mi4yLTMwLjJoMS4zbDIuOSAyNS42aDMzLjZ6bS0zOS4xLTY4LjVjMCAzLjgtLjggOC0yLjEgMTEuOC01LjkgMTcuMi0yMi43IDM0LTQ5LjIgMzQtMTguOSAwLTM0LjktMTEuMy0zNC45LTM1LjMgMC0zOS41IDQ1LjgtNDYuNiA4Ni4yLTQ1Ljh6bTEzMi44IDY4LjUgMS43LTMzLjZoMS4zYzE1LjEgMjYuOSAzOC43IDM4LjIgNjguMSAzOC4yIDQ1LjQgMCA5MS4yLTM2LjEgOTEuMi0xMDguOC40LTYxLjctMzUuMy0xMDMuNy04NS43LTEwMy43LTMyLjggMC01Ni4zIDE0LjctNjkuMyAzNy40aC0uOFYyOGgtMzYuNnYyNDUuN2MwIDE4LjEtLjggMzguNi0xLjcgNTIuNXptNi4zLTExOGMwLTUuOSAxLjMtMTAuOSAyLjEtMTUuMSA3LjYtMjguMSAzMS4xLTQ1LjQgNTYuMy00NS40IDM5LjUgMCA2MC41IDM0LjkgNjAuNSA3NS42IDAgNDYuNi0yMy4xIDc4LjEtNjEuOCA3OC4xLTI2LjkgMC00OC4zLTE3LjYtNTUuNS00My4zLS44LTQuMi0xLjctOC44LTEuNy0xMy40di0zNi41eiIgY2xhc3M9ImpwLWp1cHl0ZXItaWNvbi1jb2xvciIvPgo8L3N2Zz4K"},20979(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTEuODggOS4xNGMxLjI4LjA2IDEuNjEgMS4xNSAxLjYzIDEuNjZoMS43OWMtLjA4LTEuOTgtMS40OS0zLjE5LTMuNDUtMy4xOUM5LjY0IDcuNjEgOCA5IDggMTIuMTRjMCAxLjk0LjkzIDQuMjQgMy44NCA0LjI0IDIuMjIgMCAzLjQxLTEuNjUgMy40NC0yLjk1aC0xLjc5Yy0uMDMuNTktLjQ1IDEuMzgtMS42MyAxLjQ0LTEuMzEtLjA0LTEuODYtMS4wNi0xLjg2LTIuNzMgMC0yLjg5IDEuMjgtMi45OCAxLjg4LTNNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMm0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOCIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},36436(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDIzIj4KICA8cGF0aCBmaWxsPSIjMzMzIiBkPSJNMTIgMTdhMiAyIDAgMCAwIDItMiAyIDIgMCAwIDAtMi0yIDIgMiAwIDAgMC0yIDIgMiAyIDAgMCAwIDIgMm02LTlhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlYxMGEyIDIgMCAwIDEgMi0yaDFWNmE1IDUgMCAwIDEgNS01IDUgNSAwIDAgMSA1IDV2MnptLTYtNWEzIDMgMCAwIDAtMyAzdjJoNlY2YTMgMyAwIDAgMC0zLTMiIGNsYXNzPSJqcC1pY29uNCIvPgo8L3N2Zz4K"},29005(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNNi41OSAzLjQxIDIgOGw0LjU5IDQuNkw4IDExLjE4IDQuODIgOCA4IDQuODJ6bTUuODIgMEwxMSA0LjgyIDE0LjE4IDggMTEgMTEuMThsMS40MSAxLjQyTDE3IDh6bTkuMTggOC4xOC04LjA5IDguMDlMOS44MyAxNmwtMS40MSAxLjQxIDUuMDggNS4wOUwyMyAxM3oiIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIi8+Cjwvc3ZnPgo="},29264(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDguNSAxMC41Ij4KICA8ZyBmaWxsPSIjQkRCREJEIiBjbGFzcz0ianAtaWNvbi1vdXRwdXQiPgogICAgPHBhdGggZD0iTS4wMTkgMGg4LjQ1OHYxLjA2NEguMDE5ek0wIDkuNTJoOC40OTF2MS4wNTlIMHptNC43NzYtNi42MDhIMy43MlYxLjMyM2gxLjA1NnoiLz4KICAgIDxwYXRoIGQ9Im00LjI0NCA1LjI0My0xLjA2LTEuMTY3LTEuMDYtMS4xNjdoNC4yNGwtMS4wNiAxLjE2N3ptLjUyOCA0LjAxNEgzLjcxNlY3LjY2NWgxLjA1NnoiLz4KICAgIDxwYXRoIGQ9Ik00LjI0MiA1LjMzMiA1LjMwMiA2LjVsMS4wNiAxLjE2N2gtNC4yNEwzLjE4MiA2LjV6Ii8+CiAgPC9nPgo8L3N2Zz4K"},689(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDguNSAxMC41Ij4KICA8ZyBmaWxsPSIjQkRCREJEIiBjbGFzcz0ianAtaWNvbi1vdXRwdXQiPgogICAgPHBhdGggZD0iTS4wMTkgMGg4LjQ1OHYxLjA2NEguMDE5ek0wIDkuNTIxaDguNDkxdjEuMDU5SDB6bTMuNzEyLTUuODIyaDEuMDU2djEuNTg5SDMuNzEyeiIvPgogICAgPHBhdGggZD0ibTQuMjQ0IDEuMzY4IDEuMDYgMS4xNjcgMS4wNiAxLjE2N2gtNC4yNGwxLjA2LTEuMTY3em0tLjUzMiAzLjkyaDEuMDU2VjYuODhIMy43MTJ6Ii8+CiAgICA8cGF0aCBkPSJtNC4yNDIgOS4yMTMtMS4wNi0xLjE2Ny0xLjA2LTEuMTY3aDQuMjRsLTEuMDYgMS4xNjd6Ii8+CiAgPC9nPgo8L3N2Zz4K"},85703(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgPHBhdGggZD0ibTUgNS43Ni00IDguODloMS4yMmwxLTIuMjJoNC40NWwxIDIuMjJIOS45TDYgNS43NXptLjQ1IDEuMjIgMS43NyA0LjM0SDMuNjd6Ii8+CiAgICA8cGF0aCBkPSJNMTAuMTMgNi4xNWMtLjA0LjUxLjQzLjkxLjkuOTcuNjcuMDcgMS40LS4xNSAxLjg2LS42NC4zMy0uMzYuMzYtLjg3LjM0LTEuMzR2LS41M2MtLjc3LjQ1LTEuNzMuMjctMi41NC42MWExIDEgMCAwIDAtLjU2LjkzTTEyLjcgNGEuNi42IDAgMCAwIC41Ni0uNjVjLjA0LS40LS4xNy0uOC0uNTQtLjk0LS41LS4yLTEuMDctLjIxLTEuNTktLjA4LS44LjI1LS44IDEuMS0uOCAxLjFoLS45OWMwLS42NC4yNC0xLjM2Ljg1LTEuNjguODUtLjQ5IDEuOS0uNSAyLjgzLS4yMy41My4xNSAxLjA3LjUgMS4yIDEuMDYuMTIuNDUuMDYuOTIuMDggMS4zOHYyLjg2YzAgLjQxLjU0LjI3LjcuMjZ2Ljc4Yy0uNDIuMTItLjkxLjItMS4zLS4wNS0uMjgtLjE4LS4zNy0uNTEtLjQxLS44MmEyLjkgMi45IDAgMCAxLTMuMDMuOTQgMS44IDEuOCAwIDAgMS0xLjI0LTEuNzZjLS4wMy0uNi4yNC0xLjIxLjc2LTEuNTMuNjItLjQ0IDEuNC0uNDQgMi4xMi0uNTR6Ii8+CiAgPC9nPgo8L3N2Zz4K"},13820(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8Y2lyY2xlIGNsYXNzPSJqcC1pY29uLWRvdCIgY3g9IjEyLjUiIGN5PSIxMiIgcj0iMiIgZmlsbD0iY3VycmVudENvbG9yIi8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJtOS4zMyA4djUuMjZjMCAwLjE5Ny0wLjA0MjkgMC40MTItMC4xOTcgMC41NDktMC4yNTcgMC4yNTctMC42ODYgMC4yNTctMC45NDMgMGwtMS4zNC0xLjM0cS0wLjIwNi0wLjIzMi0wLjE5Ny0wLjU1N3YtMy45MWwtMy44Ni00LjkyYTAuNjg2IDAuNjg2IDAgMCAxIDAuMTExLTAuOTM1cTAuMTk3LTAuMTM3IDAuNDItMC4xNDZoOS4zM3EwLjIyMyAwIDAuNDIgMC4xNDZjMC4yODMgMC4yMzIgMC4zNDMgMC42NDMgMC4xMTEgMC45MzV6IiBmaWxsPSJjdXJyZW50Q29sb3IiLz4KPC9zdmc+Cg=="},8770(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTkuMzMgOHY1LjI2YzAgMC4xOTctMC4wNDI5IDAuNDEyLTAuMTk3IDAuNTQ5LTAuMjU3IDAuMjU3LTAuNjg2IDAuMjU3LTAuOTQzIDBsLTEuMzQtMS4zNHEtMC4yMDYtMC4yMzItMC4xOTctMC41NTd2LTMuOTFsLTMuODYtNC45MmEwLjY4NiAwLjY4NiAwIDAgMSAwLjExMS0wLjkzNXEwLjE5Ny0wLjEzNyAwLjQyLTAuMTQ2aDkuMzNxMC4yMjMgMCAwLjQyIDAuMTQ2YzAuMjgzIDAuMjMyIDAuMzQzIDAuNjQzIDAuMTExIDAuOTM1eiIvPgo8L3N2Zz4K"},4721(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgPGNpcmNsZSBjeD0iMi43IiBjeT0iMTMiIHI9IjEuNyIvPgogICAgPHBhdGggZD0ibTEwIDEuMXYzLjZsLTMuMS0xLjgtMC41NyAxIDMuMSAxLjgtMy4xIDEuOCAwLjU3IDEgMy4xLTEuOHYzLjZoMS4ydi0zLjZsMy4xIDEuOCAwLjU4LTEtMy4xLTEuOCAzLjEtMS44LTAuNTctMS0zLjEgMS44di0zLjZ6Ii8+CiAgPC9nPgo8L3N2Zz4K"},42988(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgPHBhdGggZD0ibTEgMTEuMTIuMDQgMi42NkwxNSAxMy44di0yLjY3aC0xLjE4bC0uMDEgMS41NEgyLjJ2LTEuNTR6Ii8+CiAgICA8cGF0aCBkPSJNMy4xNiA5LjE3cTAgLjQ2LjMzLjcydC44LjI2cS41NSAwIDEuMDctLjI1Ljg4LS40My44OC0xLjR2LS44NXEtLjIuMTItLjUuMnQtLjYuMTJsLS42NC4wOHEtLjU3LjA4LS44Ni4yNC0uNDguMjgtLjQ4Ljg4TTUuNyA3LjA0cS4zNy0uMDUuNDktLjMxLjA3LS4xNC4wNy0uNCAwLS41NC0uMzktLjc4LS4zOC0uMjUtMS4xLS4yNS0uODIgMC0xLjE3LjQ1LS4xOS4yNC0uMjUuNzNoLS45OHEuMDMtMS4xNi43NS0xLjYxVDQuOCA0LjRxMS4xIDAgMS44LjQyLjY5LjQyLjY5IDEuMzF2My42MnEwIC4xNy4wNi4yNy4wNy4xLjI5LjFsLjE2LS4wMS4xOC0uMDN2Ljc4cS0uMjQuMDctLjM3LjA5dC0uMzUuMDJxLS41NSAwLS44LS40LS4xMi0uMi0uMTgtLjU3LS4zMi40Mi0uOTIuNzN0LTEuMzMuMzFxLS44OCAwLTEuNDQtLjUzVDIuMDUgOS4ycTAtLjg3LjU1LTEuMzUuNTQtLjQ4IDEuNDMtLjZaTTQuODQgNC40IiBhcmlhLWxhYmVsPSJhIi8+CiAgICA8cGF0aCBkPSJNOC40MiAyLjIxaDEuMDJ2My4xMnEuMzUtLjQ1LjgzLS42OHQxLjA0LS4yNHExLjE4IDAgMS45LjguNzQuODEuNzQgMi4zOCAwIDEuNS0uNzIgMi40OC0uNzMuOTgtMiAuOTgtLjcyIDAtMS4yMS0uMzQtLjMtLjItLjYzLS42NnYuOGgtLjk3Wm0yLjc0IDcuOXEuODYgMCAxLjI4LS42Ny40My0uNjguNDMtMS44IDAtLjk5LS40My0xLjY0LS40Mi0uNjUtMS4yNS0uNjUtLjcyIDAtMS4yNy41NC0uNTQuNTMtLjU0IDEuNzYgMCAuODguMjMgMS40My40MSAxLjA0IDEuNTUgMS4wNCIgYXJpYS1sYWJlbD0iYiIvPgogIDwvZz4KPC9zdmc+Cg=="},5938(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTQuOSAxNy40NWMxLjM1IDAgMi40NS0xLjEgMi40NS0yLjQ1cy0xLjEtMi40NS0yLjQ1LTIuNDVjLTEuMzYgMC0yLjQ1IDEuMS0yLjQ1IDIuNDVzMS4wOSAyLjQ1IDIuNDUgMi40NW01LjItMS43NyAxLjQ4IDEuMTZjLjEzLjExLjE3LjI5LjA4LjQ1bC0xLjQgMi40MmEuMzUuMzUgMCAwIDEtLjQzLjE1bC0xLjc0LS43Yy0uMzYuMjgtLjc2LjUxLTEuMTguNjlsLS4yNyAxLjg1Yy0uMDIuMTctLjE3LjMtLjM0LjNoLTIuOGMtLjE4IDAtLjMyLS4xMy0uMzUtLjNsLS4yNi0xLjg1Yy0uNDMtLjE4LS44Mi0uNDEtMS4xOC0uNjlsLTEuNzUuN2MtLjE1LjA2LS4zNCAwLS40Mi0uMTVsLTEuNC0yLjQyYS4zNS4zNSAwIDAgMSAuMDgtLjQ1bDEuNDgtMS4xNi0uMDUtLjY4LjA1LS42OS0xLjQ4LTEuMTVhLjM1LjM1IDAgMCAxLS4wOC0uNDVsMS40LTIuNDJjLjA4LS4xNi4yNy0uMjIuNDItLjE2bDEuNzUuNzFjLjM2LS4yOC43NS0uNTIgMS4xOC0uNjlsLjI2LTEuODZjLjAzLS4xNi4xNy0uMjkuMzUtLjI5aDIuOGMuMTcgMCAuMzIuMTMuMzQuMjlsLjI3IDEuODZjLjQyLjE3LjgyLjQxIDEuMTguNjlsMS43NC0uNzFjLjE3LS4wNi4zNCAwIC40My4xNmwxLjQgMi40MmMuMDkuMTUuMDUuMzQtLjA4LjQ1bC0xLjQ4IDEuMTUuMDUuNjl6TTcuMzMgNy40NDVBMS41NjYgMS41NjYgMCAwIDAgNy45MDQgNS4zYTEuNTc1IDEuNTc1IDAgMSAwLS41NzQgMi4xNDVtMi4zMjctMi42NSAxLjIxLjE1N2MuMDk2LjAyNS4xNzMuMTIuMTcxLjIzNnYxLjhhLjIxNC4yMTQgMCAwIDEtLjE4My4yMjNsLTEuMTk1LjE3LS40Mi43NS40MyAxLjEyNmMuMDM3LjEwNiAwIC4yMi0uMDk2LjI3NWwtMS41NTkuOWEuMjMuMjMgMCAwIDEtLjI5NC0uMDVsLS43MzQtLjk1LS44NzgtLjAwMS0uNzYyLjk2Yy0uMDU4LjA4LS4xNzMuMS0uMjc1LjA0M2wtMS41Ni0uOTAxYS4yMy4yMyAwIDAgMS0uMTAxLS4yNzZsLjQ1Mi0xLjExNi0uMjQ2LS4zNjYtLjE5NC0uMzk2LTEuMTkyLS4xNjZhLjIzLjIzIDAgMCAxLS4xODktLjIyNlY1LjE4NmMuMDAyLS4xMTcuMDc3LS4yMDYuMTc1LS4yMTdsMS4yMDQtLjE3NS40NDYtLjc2Ni0uNDU2LTEuMTFhLjIzLjIzIDAgMCAxIC4xMDQtLjI4bDEuNTYtLjlhLjIyNS4yMjUgMCAwIDEgLjI4NS4wNTRsLjc2LjkzNi44Ni4wMS43NDUtLjk0OWEuMjE0LjIxNCAwIDAgMSAuMjg0LS4wNDhsMS41Ni45YS4yNC4yNCAwIDAgMSAuMTE4LjI2N2wtLjQ3IDEuMTI2LjI0Ni4zNjZ6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},12037(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMjAuNSAxMUgxOVY3YzAtMS4xLS45LTItMi0yaC00VjMuNWEyLjUgMi41IDAgMCAwLTUgMFY1SDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJ2My44SDMuNWMxLjQ5IDAgMi43IDEuMjEgMi43IDIuN3MtMS4yMSAyLjctMi43IDIuN0gyVjIwYzAgMS4xLjkgMiAyIDJoMy44di0xLjVjMC0xLjQ5IDEuMjEtMi43IDIuNy0yLjdzMi43IDEuMjEgMi43IDIuN1YyMkgxN2MxLjEgMCAyLS45IDItMnYtNGgxLjVhMi41IDIuNSAwIDAgMCAwLTUiIGNsYXNzPSJqcC1pY29uMyIvPgo8L3N2Zz4K"},39267(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBmaWxsPSIjNjE2MTYxIiBjbGFzcz0ianAtaWNvbjMiPgogICAgPHBhdGggZD0iTTE4IDEzdjdINFY2aDUuMDJjLjA1LS43MS4yMi0xLjM4LjQ4LTJINGMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtNXptMS4zLTQuMTFjLjQ0LS43LjctMS41MS43LTIuMzlDMjAgNC4wMSAxNy45OSAyIDE1LjUgMlMxMSA0LjAxIDExIDYuNXMyLjAxIDQuNSA0LjQ5IDQuNWMuODggMCAxLjctLjI2IDIuMzktLjdMMjEgMTMuNDIgMjIuNDIgMTJ6TTE1LjUgOWEyLjUgMi41IDAgMCAxIDAtNSAyLjUgMi41IDAgMCAxIDAgNSIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNCA2aDUuMDE5YTYuNSA2LjUgMCAwIDAgMy4wMTUgNkg5djJoN3YtMS4wMTljLjU3LS4wNDMgMS4xMi0uMTYgMS42NC0uMzQxTDE4IDEzdjdINHptNCAySDZ2Mmgyem0tMiA0aDJ2Mkg2em0yIDRINnYyaDJ6bTEgMGg3djJIOXoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgogIDwvZz4KPC9zdmc+Cg=="},10375(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxwYXRoIGZpbGw9IiM2MTYxNjEiIGQ9Ik0yNTYgOEMxMTkgOCA4IDExOSA4IDI1NnMxMTEgMjQ4IDI0OCAyNDggMjQ4LTExMSAyNDgtMjQ4UzM5MyA4IDI1NiA4bTk2IDMyOGMwIDguOC03LjIgMTYtMTYgMTZIMTc2Yy04LjggMC0xNi03LjItMTYtMTZWMTc2YzAtOC44IDcuMi0xNiAxNi0xNmgxNjBjOC44IDAgMTYgNy4yIDE2IDE2eiIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},14063(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTggMmMtMS42NDUgMC0zIDEuMzU1LTMgMyAwIC4xOTEuMDIyLjM3Ny4wNTcuNTU5TDcuOTIyIDkuNzJBMi45NyAyLjk3IDAgMCAwIDYgOWMtMS42NDUgMC0zIDEuMzU1LTMgM3MxLjM1NSAzIDMgM2MuNzMyIDAgMS4zOTktLjI3OCAxLjkyMi0uNzJsNy4xMzUgNC4xNkEzIDMgMCAwIDAgMTUgMTljMCAxLjY0NSAxLjM1NSAzIDMgM3MzLTEuMzU1IDMtMy0xLjM1NS0zLTMtM2EyLjk3IDIuOTcgMCAwIDAtMS45MjIuNzIzbC03LjEzNS00LjE2NEM4Ljk3OCAxMi4zNzcgOSAxMi4xOSA5IDEycy0uMDIyLS4zNzctLjA1Ny0uNTU5bDcuMTM1LTQuMTYyQzE2LjYwMSA3LjcyMiAxNy4yNjggOCAxOCA4YzEuNjQ1IDAgMy0xLjM1NSAzLTNzLTEuMzU1LTMtMy0zbTAgMmMuNTY0IDAgMSAuNDM2IDEgMXMtLjQzNiAxLTEgMS0xLS40MzYtMS0xIC40MzYtMSAxLTFNNiAxMWMuNTY0IDAgMSAuNDM2IDEgMXMtLjQzNiAxLTEgMS0xLS40MzYtMS0xIC40MzYtMSAxLTFtMTIgN2MuNTY0IDAgMSAuNDM2IDEgMXMtLjQzNiAxLTEgMS0xLS40MzYtMS0xIC40MzYtMSAxLTEiIGNsYXNzPSJqcC1pY29uMyIvPgo8L3N2Zz4K"},57575(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMjEgM0gzYy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE4YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJtMCAxNkgzVjVoMTB2NGg4eiIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},79984(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNNyA1aDE0djJIN3ptMCA4di0yaDE0djJ6TTQgNC41QTEuNSAxLjUgMCAwIDEgNS41IDYgMS41IDEuNSAwIDAgMSA0IDcuNSAxLjUgMS41IDAgMCAxIDIuNSA2IDEuNSAxLjUgMCAwIDEgNCA0LjVtMCA2QTEuNSAxLjUgMCAwIDEgNS41IDEyIDEuNSAxLjUgMCAwIDEgNCAxMy41IDEuNSAxLjUgMCAwIDEgMi41IDEyIDEuNSAxLjUgMCAwIDEgNCAxMC41TTcgMTl2LTJoMTR2MnptLTMtMi41QTEuNSAxLjUgMCAwIDEgNS41IDE4IDEuNSAxLjUgMCAwIDEgNCAxOS41IDEuNSAxLjUgMCAwIDEgMi41IDE4IDEuNSAxLjUgMCAwIDEgNCAxNi41IiBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIi8+Cjwvc3ZnPgo="},6267(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTYgN2E0IDQgMCAxIDEtOCAwIDQgNCAwIDAgMSA4IDBtLTQgN2E3IDcgMCAwIDAtNyA3aDE0YTcgNyAwIDAgMC03LTciIGNsYXNzPSJqcC1pY29uMyIvPgo8L3N2Zz4K"},26482(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMzYgMjQiPgogIDxnIGZpbGw9IiM2MTYxNjEiIGNsYXNzPSJqcC1pY29uMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMuNjI4IC4xKXNjYWxlKDEuNzMyNykiPgogICAgPHBhdGggZD0iTTE4LjI3OSA1LjI2NWMtMS41OCAwLTIuOTY0Ljg1LTMuNzE4IDIuMTE1YTYuNyA2LjcgMCAwIDEgMi44MSAyLjIxaDUuMjNhNC4zMiA0LjMyIDAgMCAwLTQuMzIyLTQuMzI1bTIuMTg2LTIuODc1YTIuMTkgMi4xOSAwIDAgMS0yLjE4OCAyLjE4OCAyLjE5IDIuMTkgMCAwIDEtMi4xODktMi4xODlBMi4xOSAyLjE5IDAgMCAxIDE4LjI3Ny4yMDFhMi4xOSAyLjE5IDAgMCAxIDIuMTg4IDIuMTg4TTUuMzg1IDYuNjMzYTMuMDIgMy4wMiAwIDAgMC0zLjAyIDMuMDJoNC4yMmE2LjcgNi43IDAgMCAxIDEuNDQtMS40NjcgMy4wMiAzLjAyIDAgMCAwLTIuNjQtMS41NTNtMS41My0yLjAxYTEuNTMgMS41MyAwIDAgMS0xLjUyOSAxLjUzIDEuNTMgMS41MyAwIDAgMS0xLjUzLTEuNTMgMS41MyAxLjUzIDAgMCAxIDEuNTMtMS41MyAxLjUzIDEuNTMgMCAwIDEgMS41MyAxLjUzbS0uNzgxIDguOTEyYTUuODY1IDUuODY1IDAgMCAxIDExLjczIDB6Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjMuNzY4IiByPSIyLjk2OSIvPgogIDwvZz4KPC9zdmc+Cg=="},75386(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTYgMTYiPgogIDxwYXRoIGZpbGw9IiMzMzMiIGQ9Ik04IC4yOWMtMS40IDAtMi43LjczLTMuNiAxLjgtMS4yIDEuNS0xLjQgMy40LTEuNSA1LjItLjE4IDIuMi0uNDQgNC0yLjMgNS4zbC4yOCAxLjNoNWMuMDI2LjY2LjMyIDEuMS43MSAxLjUuODQuNjEgMiAuNjEgMi44IDAgLjUyLS40LjYtMSAuNzEtMS41aDVsLjI4LTEuM2MtMS45LS45Ny0yLjItMy4zLTIuMy01LjMtLjEzLTEuOC0uMjYtMy43LTEuNS01LjItLjg1LTEtMi4yLTEuOC0zLjYtMS44em0wIDEuNGMuODggMCAxLjkuNTUgMi41IDEuMy44OCAxLjEgMS4xIDIuNyAxLjIgNC40LjEzIDEuNy4yMyAzLjYgMS4zIDUuMkgzYzEuMS0xLjYgMS4yLTMuNCAxLjMtNS4yLjEzLTEuNy4zLTMuMyAxLjItNC40LjU5LS43MiAxLjYtMS4zIDIuNS0xLjNtLS43NCAxMmgxLjVjLS4wMDEuMjguMDE1Ljc5LS43NC43OS0uNzMuMDAyLS43Mi0uNTMtLjc0LS43OXoiIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiLz4KPC9zdmc+Cg=="},97146(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTUgOUg5djZoNnptLTIgNGgtMnYtMmgyem04LTJWOWgtMlY3YzAtMS4xLS45LTItMi0yaC0yVjNoLTJ2MmgtMlYzSDl2Mkg3Yy0xLjEgMC0yIC45LTIgMnYySDN2MmgydjJIM3YyaDJ2MmMwIDEuMS45IDIgMiAyaDJ2Mmgydi0yaDJ2Mmgydi0yaDJjMS4xIDAgMi0uOSAyLTJ2LTJoMnYtMmgtMnYtMnptLTQgNkg3VjdoMTB6IiBjbGFzcz0ianAtaWNvbjIiLz4KPC9zdmc+Cg=="},7754(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjZmZmIiBkPSJNNS44OCA0LjEyIDEzLjc2IDEybC03Ljg4IDcuODhMOCAyMmwxMC0xMEw4IDJ6Ii8+Cjwvc3ZnPgo="},64445(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgNXYxNEg1VjV6bTEuMS0ySDMuOWMtLjUgMC0uOS40LS45Ljl2MTYuMmMwIC40LjQuOS45LjloMTYuMmMuNCAwIC45LS41LjktLjlWMy45YzAtLjUtLjUtLjktLjktLjlNMTEgN2g2djJoLTZ6bTAgNGg2djJoLTZ6bTAgNGg2djJoLTZ6TTcgN2gydjJIN3ptMCA0aDJ2Mkg3em0wIDRoMnYySDd6IiBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIi8+Cjwvc3ZnPgo="},39054(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICA8cGF0aCBzdHJva2U9IiMzMzMiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTQuODYgMTQuNDRjLTEuMDM0LTIuNjctLjk5Ni01LjM4Mi0uNjEtNy4yNCAxLjIzMi0uMjY3IDIuODMtLjc5NyA0LjM1MS0xLjM1NWE5MiA5MiAwIDAgMCA0LjM4Ny0xLjc1IDY4IDY4IDAgMCAwIDQuMjMgMS43NDhjMS41MzIuNTcgMy4xODIgMS4xMSA0LjUzNiAxLjM3LjM4MiAxLjg1OS40MTcgNC41NjQtLjYxNSA3LjIyOC0xLjEwOSAyLjg2Mi0zLjQ3MiA1Ljc0My04LjEzOSA3LjQ5NC00LjY2Ny0xLjc1LTcuMDMtNC42MzItOC4xNC03LjQ5NFptMTEuODI0LTUuMTItNy4zNjggNy4zNjVtNy4zNjgtLjAwMUw5LjMxNiA5LjMxOSIgY2xhc3M9ImpwLWljb24yIi8+Cjwvc3ZnPgo="},26457(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjMzMzIiBkPSJNMiAyaDIwdjIwSDJ6IiBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1iYWNrZ3JvdW5kLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIvPgogIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik05LjAxIDE0Ljc2MnEwLS4yNDYtLjA3Ny0uNDM0YS45LjkgMCAwIDAtLjIzNC0uMzUxIDEuNiAxLjYgMCAwIDAtLjQyMi0uMjg4IDUgNSAwIDAgMC0uNjI3LS4yNjNxLS41OTItLjIxMS0xLjA3OC0uNDQ2YTMuNSAzLjUgMCAwIDEtLjgzMi0uNTQ0IDIuMiAyLjIgMCAwIDEtLjUyOC0uNzIxIDIuNCAyLjQgMCAwIDEtLjE4Ny0uOTg1cTAtLjQ5OC4xNy0uOTA4YTIuMSAyLjEgMCAwIDEgLjQ4LS43MnEuMzEtLjMwNi43NS0uNDkzLjQ0LS4xODguOTc5LS4yNFY3LjExaC45Mzd2MS4yNzJxLjUyNy4wNy45NS4yODcuNDIxLjIxNy43MTQuNTY4LjMuMzQ1LjQ1Ny44Mi4xNjUuNDcuMTY0IDEuMDU1SDguOTk4cTAtLjcwOS0uMzIzLTEuMDcyLS4zMjItLjM3LS44NzMtLjM3LS4yOTkgMC0uNTIxLjA4M2EuOS45IDAgMCAwLS4zNTguMjIzLjkuOSAwIDAgMC0uMjEuMzM0cS0uMDY2LjE5NC0uMDY1LjQyMSAwIC4yMy4wNjQuNDFhLjkuOSAwIDAgMCAuMjI5LjMyOXEuMTY1LjE1Mi40MjguMjkzLjI2My4xMzQuNjU2LjI3NS41OTEuMjIzIDEuMDcyLjQ2My40OC4yMzUuODIuNTUuMzQ2LjMxMi41MjguNzI3LjE4Ny40MS4xODcuOTczIDAgLjUxNS0uMTcuOTMyLS4xNy40MS0uNDg2LjcwOXQtLjc2Mi40OGEzLjcgMy43IDAgMCAxLS45OTYuMjI5djEuMTQ4aC0uOTMxVjE3LjFhNCA0IDAgMCAxLS45NjctLjIxNyAyLjYgMi42IDAgMCAxLS44MzItLjUwNCAyLjQgMi40IDAgMCAxLS41NzQtLjgyNnEtLjIxNy0uNTA1LS4yMTctMS4yMDdoMS42MzVxMCAuNDIxLjEyMy43MDkuMTIzLjI4MS4zMTYuNDUuMi4xNjUuNDUxLjIzNS4yNTIuMDcuNTE2LjA3LjYyNyAwIC45NDktLjI5MmEuOTguOTggMCAwIDAgLjMyMi0uNzU2bTguMzYgMy41MWgtNS4zNDNWMTdoNS4zNDR6IiBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUtaW52ZXJzZSIvPgo8L3N2Zz4K"},36454(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICA8cGF0aCBzdHJva2U9IiMzMzMiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTMuODYgMTQuNDRjLTEuMDM0LTIuNjctLjk5Ni01LjM4Mi0uNjEtNy4yNCAxLjIzMi0uMjY3IDIuODMtLjc5NyA0LjM1MS0xLjM1NWE5MiA5MiAwIDAgMCA0LjM4Ny0xLjc1IDY4IDY4IDAgMCAwIDQuMjMgMS43NDhjMS41MzIuNTcgMy4xODIgMS4xMSA0LjUzNiAxLjM3LjM4MiAxLjg1OS40MTcgNC41NjQtLjYxNSA3LjIyOC0xLjEwOSAyLjg2Mi0zLjQ3MiA1Ljc0My04LjEzOSA3LjQ5NC00LjY2Ny0xLjc1LTcuMDMtNC42MzItOC4xNC03LjQ5NFoiIGNsYXNzPSJqcC1pY29uMiIvPgogIDxwYXRoIGZpbGw9IiMzMzMiIHN0cm9rZT0iIzMzMyIgZD0ibTEwLjg2IDE0LjczMy0yLjEzMy0xLjg2Ni0uNzI3LjYzTDEwLjg2IDE2IDE2IDEwLjVsLS43MjEtLjYzMnoiIGNsYXNzPSJqcC1pY29uMiIvPgo8L3N2Zz4K"},97654(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE0IDE0Ij4KICA8ZyBjbGlwLXBhdGg9InVybCgjYWRkYWJvdmVhKSI+CiAgICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iLjciIGQ9Ik00Ljc1IDQuOTNoMS44NzV2MS44NzZjMCAuMjA2LjE2OS4zNzUuMzc1LjM3NWEuMzc2LjM3NiAwIDAgMCAuMzc1LS4zNzVWNC45M0g5LjI1YS4zNzYuMzc2IDAgMCAwIC4zNzUtLjM3NS4zNzYuMzc2IDAgMCAwLS4zNzUtLjM3NUg3LjM3NVYyLjMwNkEuMzc2LjM3NiAwIDAgMCA3IDEuOTNhLjM3Ni4zNzYgMCAwIDAtLjM3NS4zNzVWNC4xOEg0Ljc1YS4zNzYuMzc2IDAgMCAwLS4zNzUuMzc1YzAgLjIwNi4xNjkuMzc1LjM3NS4zNzVaIiBjbGFzcz0ianAtaWNvbjMiLz4KICA8L2c+CiAgPHBhdGggZmlsbD0iIzYxNjE2MSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTEuNSA5LjV2MmgtOXYtMnpNMTIgOGExIDEgMCAwIDEgMSAxdjNhMSAxIDAgMCAxLTEgMUgyYTEgMSAwIDAgMS0xLTFWOWExIDEgMCAwIDEgMS0xeiIgY2xhc3M9ImpwLWljb24zIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iYWRkYWJvdmVhIj4KICAgICAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEwIDEuNTU2SDR2Nmg2eiIgY2xhc3M9ImpwLWljb24zIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KPC9zdmc+Cg=="},54206(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE0IDE0Ij4KICA8ZyBjbGlwLXBhdGg9InVybCgjYWRkYmVsb3dhKSI+CiAgICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iLjciIGQ9Ik05LjI1IDEwLjA3SDcuMzc1VjguMTkzQS4zNzYuMzc2IDAgMCAwIDcgNy44MmEuMzc2LjM3NiAwIDAgMC0uMzc1LjM3NXYxLjg3NUg0Ljc1YS4zNzYuMzc2IDAgMCAwLS4zNzUuMzc1YzAgLjIwNy4xNjkuMzc1LjM3NS4zNzVoMS44NzV2MS44NzVjMCAuMjA3LjE2OS4zNzUuMzc1LjM3NWEuMzc2LjM3NiAwIDAgMCAuMzc1LS4zNzVWMTAuODJIOS4yNWEuMzc2LjM3NiAwIDAgMCAuMzc1LS4zNzUuMzc2LjM3NiAwIDAgMC0uMzc1LS4zNzVaIiBjbGFzcz0ianAtaWNvbjMiLz4KICA8L2c+CiAgPHBhdGggZmlsbD0iIzYxNjE2MSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMi41IDUuNXYtMmg5djJ6TTIgN2ExIDEgMCAwIDEtMS0xVjNhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjNhMSAxIDAgMCAxLTEgMXoiIGNsYXNzPSJqcC1pY29uMyIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImFkZGJlbG93YSI+CiAgICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik00IDEzLjQ0NGg2di02SDR6IiBjbGFzcz0ianAtaWNvbjMiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgo8L3N2Zz4K"},35510(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnoiIGNsYXNzPSJqcC1pY29uMyIvPgo8L3N2Zz4K"},56075(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBmaWxsPSIjNjE2MTYxIiBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE3LjE5IDhIMjB2MmgtMi4wOWMuMDUuMzMuMDkuNjYuMDkgMXYxaDJ2MmgtMnYuMDI3YTQuNSA0LjUgMCAwIDAtMy41NDUgNi40NDdBNS45OTcgNS45OTcgMCAwIDEgNi44MSAxOEg0di0yaDIuMDljLS4wNS0uMzMtLjA5LS42Ni0uMDktMXYtMUg0di0yaDJ2LTFjMC0uMzQuMDQtLjY3LjA5LTFINFY4aDIuODFjLjQ1LS43OCAxLjA3LTEuNDUgMS44MS0xLjk2TDcgNC40MSA4LjQxIDNsMi4xOCAyLjE3Yy40NS0uMTEuOTItLjE3IDEuNDEtLjE3cy45Ni4wNiAxLjQyLjE3TDE1LjU5IDMgMTcgNC40MWwtMS42MyAxLjYzYy43NS41MSAxLjM3IDEuMTggMS44MiAxLjk2TTEwIDE2aDR2LTJoLTR6bTAtNGg0di0yaC00eiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICA8cGF0aCBkPSJNMjIgMTguNWEzLjUgMy41IDAgMSAxLTcgMCAzLjUgMy41IDAgMCAxIDcgMCIvPgogIDwvZz4KPC9zdmc+Cg=="},94817(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgOGgtMi44MWE2IDYgMCAwIDAtMS44Mi0xLjk2TDE3IDQuNDEgMTUuNTkgM2wtMi4xNyAyLjE3QzEyLjk2IDUuMDYgMTIuNDkgNSAxMiA1cy0uOTYuMDYtMS40MS4xN0w4LjQxIDMgNyA0LjQxbDEuNjIgMS42M0M3Ljg4IDYuNTUgNy4yNiA3LjIyIDYuODEgOEg0djJoMi4wOWMtLjA1LjMzLS4wOS42Ni0uMDkgMXYxSDR2MmgydjFjMCAuMzQuMDQuNjcuMDkgMUg0djJoMi44MWMxLjA0IDEuNzkgMi45NyAzIDUuMTkgM3M0LjE1LTEuMjEgNS4xOS0zSDIwdi0yaC0yLjA5Yy4wNS0uMzMuMDktLjY2LjA5LTF2LTFoMnYtMmgtMnYtMWMwLS4zNC0uMDQtLjY3LS4wOS0xSDIwem0tNiA4aC00di0yaDR6bTAtNGgtNHYtMmg0eiIgY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIvPgo8L3N2Zz4K"},64907(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNOSAxNi4xNyA0LjgzIDEybC0xLjQyIDEuNDFMOSAxOSAyMSA3bC0xLjQxLTEuNDF6IiBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIi8+Cjwvc3ZnPgo="},22641(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTIgMkM2LjQ3IDIgMiA2LjQ3IDIgMTJzNC40NyAxMCAxMCAxMCAxMC00LjQ3IDEwLTEwUzE3LjUzIDIgMTIgMm0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOCIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},38101(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iOCIgZmlsbD0iIzYxNjE2MSIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},67764(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTYgMTFoLTFWM2MwLTEuMS0uOS0yLTItMmgtMmMtMS4xIDAtMiAuOS0yIDJ2OEg4Yy0yLjc2IDAtNSAyLjI0LTUgNXY3aDE4di03YzAtMi43Ni0yLjI0LTUtNS01bTMgMTBoLTJ2LTNjMC0uNTUtLjQ1LTEtMS0xcy0xIC40NS0xIDF2M2gtMnYtM2MwLS41NS0uNDUtMS0xLTFzLTEgLjQ1LTEgMXYzSDl2LTNjMC0uNTUtLjQ1LTEtMS0xcy0xIC40NS0xIDF2M0g1di01YzAtMS42NSAxLjM1LTMgMy0zaDhjMS42NSAwIDMgMS4zNSAzIDN6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},60848(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8bWFzayBpZD0iY2xlYXJhIj4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMjR2MjRIMHoiLz4KICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjgiIGZpbGw9IiMwMDAiLz4KICA8L21hc2s+CiAgPGcgZmlsbD0iIzYxNjE2MSIgY2xhc3M9ImpwLWljb24zIj4KICAgIDxwYXRoIGQ9Ik00LjkyOSA2LjM0MyA2LjM0MyA0LjkzbDEyLjcyOCAxMi43MjgtMS40MTQgMS40MTR6Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgbWFzaz0idXJsKCNjbGVhcmEpIi8+CiAgPC9nPgo8L3N2Zz4K"},17087(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMSIgZmlsbD0ibm9uZSIgY2xhc3M9ImpwLWljb24tbm9uZSBqcC1pY29uLXNlbGVjdGFibGUtaW52ZXJzZSBqcC1pY29uMy1ob3ZlciIvPgogIDxwYXRoIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA2LjQxIDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6IiBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIGpwLWljb24tYWNjZW50Mi1ob3ZlciIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjciIGZpbGw9Im5vbmUiIGNsYXNzPSJqcC1pY29uLW5vbmUganAtaWNvbi1idXN5Ii8+Cjwvc3ZnPgo="},27754(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgdmlld0JveD0iMCAwIDI4IDI4Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTEuNCAxOC42IDYuOCAxNGw0LjYtNC42TDEwIDhsLTYgNiA2IDZ6bTUuMiAwIDQuNi00LjYtNC42LTQuNkwxOCA4bDYgNi02IDZ6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},21498(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBmaWxsPSIjNjE2MTYxIiBjbGFzcz0ianAtaWNvbjMiPgogICAgPHBhdGggZD0iTTggMmgxMmMxIDAgMiAxIDIgMnYxMmMwIDEgMCAyLTIgMlY0SDZjMC0yIDEtMiAyLTIiLz4KICAgIDxwYXRoIGQ9Ik0xOCA4YzAtMS0xLTItMi0ySDRDMyA2IDIgNyAyIDh2MTJjMCAxIDEgMiAyIDJoMTJjMSAwIDItMSAyLTJ6bS0yIDB2MTJINFY4eiIvPgogICAgPHBhdGggZD0iTTYgMTN2Mmg4di0yeiIvPgogIDwvZz4KPC9zdmc+Cg=="},13258(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTEuOSAxSDMuMmMtLjggMC0xLjUuNy0xLjUgMS41djEwLjJoMS41VjIuNWg4Ljd6bTIuMiAyLjloLThjLS44IDAtMS41LjctMS41IDEuNXYxMC4yYzAgLjguNyAxLjUgMS41IDEuNWg4Yy44IDAgMS41LS43IDEuNS0xLjVWNS40Yy0uMS0uOC0uNy0xLjUtMS41LTEuNW0wIDExLjZoLThWNS40aDh6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},99615(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNOS42NCA3LjY0Yy4yMy0uNS4zNi0xLjA1LjM2LTEuNjQgMC0yLjIxLTEuNzktNC00LTRTMiAzLjc5IDIgNnMxLjc5IDQgNCA0Yy41OSAwIDEuMTQtLjEzIDEuNjQtLjM2TDEwIDEybC0yLjM2IDIuMzZDNy4xNCAxNC4xMyA2LjU5IDE0IDYgMTRjLTIuMjEgMC00IDEuNzktNCA0czEuNzkgNCA0IDQgNC0xLjc5IDQtNGMwLS41OS0uMTMtMS4xNC0uMzYtMS42NEwxMiAxNGw3IDdoM3YtMXpNNiA4Yy0xLjEgMC0yLS44OS0yLTJzLjktMiAyLTIgMiAuODkgMiAyLS45IDItMiAybTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJtNi03LjVjLS4yOCAwLS41LS4yMi0uNS0uNXMuMjItLjUuNS0uNS41LjIyLjUuNS0uMjIuNS0uNS41TTE5IDNsLTYgNiAyIDIgNy03VjN6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},29852(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjI2MjYyIiBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2ek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNHoiIGNsYXNzPSJqcC1pY29uMyIvPgo8L3N2Zz4K"},87976(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDIyIDIyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJtMTkuOCAxOS44di0xNy42aC0xNy42djE3LjZ6bS0xNS40MDgtMi4ydi0zLjgwMjdoMTMuMjA4djMuODAyN3ptMTMuMjA4LTUuNTMwMWgtMTMuMjE4di03LjY2OTloMTMuMjE4eiIgZmlsbD0iIzYxNjE2MSIvPgo8L3N2Zz4K"},38170(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDIyIDIyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJtMi4yIDE5LjhoMTcuNnYtMTcuNmgtMTcuNnptMi4yLTE1LjQwOGgzLjgwMjd2MTMuMjA4aC0zLjgwMjd6bTUuNTMwMSAxMy4yMDh2LTEzLjIxOGg3LjY2OTl2MTMuMjE4eiIgZmlsbD0iIzYxNjE2MSIvPgo8L3N2Zz4K"},22705(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDIyIDIyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJtMTkuOCAyLjJoLTE3LjZ2MTcuNmgxNy42em0tMi4yIDE1LjQwOGgtMy44MDI3di0xMy4yMDhoMy44MDI3em0tNS41MzAxLTEzLjIwOHYxMy4yMThoLTcuNjY5OXYtMTMuMjE4eiIgZmlsbD0iIzYxNjE2MSIvPgo8L3N2Zz4K"},91794(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDIyIDIyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJtMi4yIDIuMnYxNy42aDE3LjZ2LTE3LjZ6bTE1LjQwOCAyLjJ2My44MDI3aC0xMy4yMDh2LTMuODAyN3ptLTEzLjIwOCA1LjUzMDFoMTMuMjE4djcuNjY5OWgtMTMuMjE4eiIgZmlsbD0iIzYxNjE2MSIvPgo8L3N2Zz4K"},24649(e){"use strict";e.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTYiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDI0IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPGcgY2xhc3M9ImpwLWljb24zIiB0cmFuc2Zvcm09InJvdGF0ZSg5MCwxMiwxMikiIGZpbGw9IiM2MTYxNjEiPgogIDxjaXJjbGUgY3g9IjUiIGN5PSIxMiIgcj0iMiIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjIiLz4KICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEyIiByPSIyIi8+CiA8L2c+Cjwvc3ZnPgo="},6729(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgOWgtNFYzSDl2Nkg1bDcgN3pNNSAxOHYyaDE0di0yeiIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},160(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE0IDE0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjguODc1aDYuMDk2Yy4zMDUgMCAuNTU0LjI2NC41NTQuNTg3cy0uMjUuNTg3LS41NTQuNTg3SDMuMzU0Yy0uMzA1IDAtLjU1NC4yNjQtLjU1NC41ODdWOS42OGMwIC4zMjItLjI1LjU4Ny0uNTU0LjU4N3MtLjU1NC0uMjY0LS41NTQtLjU4N1YyLjA0OWMwLS42NDYuNDk4LTEuMTc0IDEuMTA4LTEuMTc0TTUuMzY3IDExLjlWNC41NWg1LjcxNnY3LjM1ek00LjE0MiA0LjE0MmMwLS40NTEuMzY1LS44MTcuODE2LS44MTdoNi41MzRjLjQ1IDAgLjgxNi4zNjYuODE2LjgxN3Y4LjE2NmEuODE3LjgxNyAwIDAgMS0uODE2LjgxN0g0Ljk1OGEuODE3LjgxNyAwIDAgMS0uODE2LS44MTd6IiBjbGFzcz0ianAtaWNvbjMiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgogIDxwYXRoIGZpbGw9IiM2MTYxNjEiIHN0cm9rZT0iIzYxNjE2MSIgc3Ryb2tlLXdpZHRoPSIuNSIgZD0iTTkuNDM2IDguMjY1SDguMzY0djEuMDcxYS4yMTUuMjE1IDAgMCAxLS4yMTQuMjE1LjIxNS4yMTUgMCAwIDEtLjIxNC0uMjE1di0xLjA3SDYuODY0YS4yMTUuMjE1IDAgMCAxLS4yMTQtLjIxNWMwLS4xMTguMDk2LS4yMTUuMjE0LS4yMTVoMS4wNzJ2LTEuMDdhLjIxNC4yMTQgMCAxIDEgLjQyOC0uMDAxdjEuMDcyaDEuMDcyYy4xMTggMCAuMjE0LjA5Ni4yMTQuMjE0YS4yMTUuMjE1IDAgMCAxLS4yMTQuMjE0WiIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},13841(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMyAxNy4yNVYyMWgzLjc1TDE3LjgxIDkuOTRsLTMuNzUtMy43NXpNMjAuNzEgNy4wNGEuOTk2Ljk5NiAwIDAgMCAwLTEuNDFsLTIuMzQtMi4zNGEuOTk2Ljk5NiAwIDAgMC0xLjQxIDBsLTEuODMgMS44MyAzLjc1IDMuNzV6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},21376(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBmaWxsPSIjNjE2MTYxIiBjbGFzcz0ianAtaWNvbjMiPgogICAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEyIiByPSIyIi8+CiAgPC9nPgo8L3N2Zz4K"},84783(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBmaWxsPSIjNjE2MTYxIiBjbGFzcz0ianAtaWNvbjMiPgogICAgPHBhdGggZD0iTTggMmgxMmMxIDAgMiAxIDIgMnYxMmMwIDEgMCAyLTIgMlY0SDZjMC0yIDEtMiAyLTIiLz4KICAgIDxwYXRoIGQ9Ik0xOCA4YzAtMS0xLTItMi0ySDRDMyA2IDIgNyAyIDh2MTJjMCAxIDEgMiAyIDJoMTJjMSAwIDItMSAyLTJ6bS0yIDB2MTJINFY4eiIvPgogICAgPHBhdGggZD0iTTExIDEwSDl2M0g2djJoM3YzaDJ2LTNoM3YtMmgtM3oiLz4KICA8L2c+Cjwvc3ZnPgo="},843(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJtNCAxOCA4LjUtNkw0IDZ6bTktMTJ2MTJsOC41LTZ6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},11631(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNOSAxNmg2di02aDRsLTctNy03IDdoNHptLTQgMmgxNHYySDV6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},13444(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgMThoNHYtMmgtNHpNMyA2djJoMThWNnptMyA3aDEydi0ySDZ6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},78635(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNCwwKSBzY2FsZSgtMSwxKSIgY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgPHBhdGggZD0iTTEyIDE0YTIgMiAwIDAxMiAyIDIgMiAwIDAxLTIgMiAyIDIgMCAwMS0yLTIgMiAyIDAgMDEyLTJtMTEuNDYtNS4xNGwtMS41OSA2Ljg5TDE1IDE0LjE2bDMuOC0yLjM4QTcuOTcyIDcuOTcyIDAgMDAxMiA4Yy0zLjk1IDAtNy4yMyAyLjg2LTcuODggNi42M2wtMS45Ny0uMzVDMi45NiA5LjU4IDcuMDYgNiAxMiA2YzMuNTggMCA2LjczIDEuODkgOC41IDQuNzJsMi45Ni0xLjg2eiIvPgogIDwvZz4KPC9zdmc+Cg=="},39645(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICA8cGF0aCBkPSJNMTIgMTRhMiAyIDAgMDEyIDIgMiAyIDAgMDEtMiAyIDIgMiAwIDAxLTItMiAyIDIgMCAwMTItMm0xMS40Ni01LjE0bC0xLjU5IDYuODlMMTUgMTQuMTZsMy44LTIuMzhBNy45NzIgNy45NzIgMCAwMDEyIDhjLTMuOTUgMC03LjIzIDIuODYtNy44OCA2LjYzbC0xLjk3LS4zNUMyLjk2IDkuNTggNy4wNiA2IDEyIDZjMy41OCAwIDYuNzMgMS44OSA4LjUgNC43MmwyLjk2LTEuODZ6Ii8+CiAgPC9nPgo8L3N2Zz4K"},62304(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj4KICA8ZyBmaWxsPSIjNjE2MTYxIiBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIj4KICAgIDxwYXRoIGQ9Ik0yNiAyOEg2YTIuMDAzIDIuMDAzIDAgMCAxLTItMlY2YTIuMDAzIDIuMDAzIDAgMCAxIDItMmgxMHYySDZ2MjBoMjBWMTZoMnYxMGEyLjAwMyAyLjAwMyAwIDAgMS0yIDIiLz4KICAgIDxwYXRoIGQ9Ik0yMCAydjJoNi41ODZMMTggMTIuNTg2IDE5LjQxNCAxNCAyOCA1LjQxNFYxMmgyVjJ6Ii8+CiAgPC9nPgo8L3N2Zz4K"},80977(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMy45IDEyYzAtMS43MSAxLjM5LTMuMSAzLjEtMy4xaDRWN0g3Yy0yLjc2IDAtNSAyLjI0LTUgNXMyLjI0IDUgNSA1aDR2LTEuOUg3Yy0xLjcxIDAtMy4xLTEuMzktMy4xLTMuMU04IDEzaDh2LTJIOHptOS02aC00djEuOWg0YzEuNzEgMCAzLjEgMS4zOSAzLjEgMy4xcy0xLjM5IDMuMS0zLjEgMy4xaC00VjE3aDRjMi43NiAwIDUtMi4yNCA1LTVzLTIuMjQtNS01LTUiIGNsYXNzPSJqcC1pY29uMyIvPgo8L3N2Zz4K"},52747(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE0IDE0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTIuNDcxIDcuNTI5YS43NDguNzQ4IDAgMCAwLTEuMDU3LTEuMDU4TDcuNzUgMTAuMTI3VjEuNzVhLjc1Ljc1IDAgMCAwLTEuNSAwdjguMzc4bC0zLjY1My0zLjY2YS43NTMuNzUzIDAgMSAwLTEuMDY1IDEuMDY0bDQuNzYgNC43NmExIDEgMCAwIDAgMS40MTUgMHoiIGNsYXNzPSJqcC1pY29uMyIvPgo8L3N2Zz4K"},16580(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE0IDE0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMS41MjkgNi40NzFhLjc0OC43NDggMCAwIDAgMS4wNTcgMS4wNThMNi4yNSAzLjg3M3Y4LjM3N2EuNzUuNzUgMCAwIDAgMS41IDBWMy44NzNsMy42NTMgMy42NTlhLjc1My43NTMgMCAxIDAgMS4wNjUtMS4wNjRsLTQuNzYtNC43NmExIDEgMCAwIDAtMS40MTUgMHoiIGNsYXNzPSJqcC1pY29uMyIvPgo8L3N2Zz4K"},40226(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNmgtOGwtMi0ySDRjLTEuMTEgMC0xLjk5Ljg5LTEuOTkgMkwyIDE4YzAgMS4xMS44OSAyIDIgMmgxNmMxLjExIDAgMi0uODkgMi0yVjhjMC0xLjExLS44OS0yLTItMm0tMSA4aC0zdjNoLTJ2LTNoLTN2LTJoM1Y5aDJ2M2gzeiIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},94702(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgdmlld0JveD0iMCAwIDI4IDI4Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNNCAxOWgydi41SDV2MWgxdi41SDR2MWgzdi00SDR6bTEtOWgxVjZINHYxaDF6bS0xIDNoMS44TDQgMTUuMXYuOWgzdi0xSDUuMkw3IDEyLjlWMTJINHptNS02djJoMTRWN3ptMCAxNGgxNHYtMkg5em0wLTZoMTR2LTJIOXoiIGNsYXNzPSJqcC1pY29uMyIvPgo8L3N2Zz4K"},14606(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTIgMi4wMmMtNS41MSAwLTkuOTggNC40Ny05Ljk4IDkuOThzNC40NyA5Ljk4IDkuOTggOS45OCA5Ljk4LTQuNDcgOS45OC05Ljk4UzE3LjUxIDIuMDIgMTIgMi4wMk0xMS40OCAyMHYtNi4yNkg4TDEzIDR2Ni4yNmgzLjM1eiIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},30958(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMmgtNC4xOEMxNC40Ljg0IDEzLjMgMCAxMiAwUzkuNi44NCA5LjE4IDJINWMtMS4xIDAtMiAuOS0yIDJ2MTZjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0ybS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMW03IDE4SDVWNGgydjNoMTBWNGgyeiIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},35545(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmE4IDggMCAwIDEgNy42LTUuNWMxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3eiIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},74078(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNOSAxMy41Yy0yLjQ5IDAtNC41LTIuMDEtNC41LTQuNVM2LjUxIDQuNSA5IDQuNWMxLjI0IDAgMi4zNi41MiAzLjE3IDEuMzNMMTAgOGg1VjNsLTEuNzYgMS43NkE2IDYgMCAwIDAgOSAzQzUuNjkgMyAzLjAxIDUuNjkgMy4wMSA5UzUuNjkgMTUgOSAxNWE1Ljk4IDUuOTggMCAwIDAgNS45LTVoLTEuNTJjLS40NiAyLTIuMjQgMy41LTQuMzggMy41IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},38072(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNOCA1djE0bDExLTd6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},47430(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTcgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGMxLjEgMCAyLS45IDItMlY3em0tNSAxNmMtMS42NiAwLTMtMS4zNC0zLTNzMS4zNC0zIDMtMyAzIDEuMzQgMyAzLTEuMzQgMy0zIDNtMy0xMEg1VjVoMTB6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},60829(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTIuMSAxMC45aC0uN2wtLjItLjJjLjgtLjkgMS4zLTIuMiAxLjMtMy41IDAtMy0yLjQtNS40LTUuNC01LjRTMS44IDQuMiAxLjggNy4xczIuNCA1LjQgNS40IDUuNGMxLjMgMCAyLjUtLjUgMy41LTEuM2wuMi4ydi43bDQuMSA0LjEgMS4yLTEuMnptLTUgMGMtMi4xIDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcgMy43LTMuNyAzLjcgMS43IDMuNyAzLjctMS42IDMuNy0zLjcgMy43IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},85077(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNNiA2aDEydjEySDZ6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},39699(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMjEgOEgzVjRoMTh6bTAgMkgzdjRoMTh6bTAgNkgzdjRoMTh6IiBjbGFzcz0ianAtaWNvbjMiLz4KPC9zdmc+Cg=="},76047(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDQzIDI4Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMjguODMzIDEyLjMzNCAzMyAxNi41MDFsNC4xNjYtNC4xNjd6TTE2LjIxIDIxLjYxYy0uNTIzLjUyLTEuMzY2LjUyLTEuODg1IDBsLTcuMzQyLTYuODg1Yy0uNDEtLjM4Ni0uOS0xLjExNS0uOTM1LTEuNjc3LS4wOTUtMS41Mi0uMDI4LTQuNDI5LjAxOC01Ljk3MUExLjA5MyAxLjA5MyAwIDAgMSA3LjExOCA2LjAzYzEuOTctLjA0NiA2LjE0Ni0uMDk1IDYuNTM0LjI5M2w4LjA4NSA3LjMxNWMuNTE5LjUyLjA0OCAxLjgzMy0uNDc1IDIuMzU2ek05Ljc3NSA4LjI2NWExLjEyNiAxLjEyNiAwIDEgMC0xLjU5MyAxLjU5MiAxLjEyNiAxLjEyNiAwIDAgMCAxLjU5My0xLjU5MiIgY2xhc3M9ImpwLWljb24zIi8+Cjwvc3ZnPgo="},12673(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMjIgMTFWM2gtN3YzSDlWM0gydjhoN1Y4aDJ2MTBoNHYzaDd2LThoLTd2M2gtMlY4aDJ2M3oiIGNsYXNzPSJqcC1pY29uMyIvPgo8L3N2Zz4K"},76035(e){"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjNjE2MTYxIiBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDgiIGNsYXNzPSJqcC1pY29uMyIvPgo8L3N2Zz4K"}}]);
//# sourceMappingURL=jlab_core.da06147b192e5892.js.map?v=da06147b192e5892