/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/normalize.css@8.0.1/node_modules/normalize.css/normalize.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./index.module.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************/
/* Non-theme variables */
:root {
  /* Fonts */
  --primary-font: 'Open Sans', sans-serif;
  --primary-font-size: 18px;
  --secondary-font-size: calc(0.75 * var(--primary-font-size));

  /* Header */
  --header-transition: 0.2s ease-in-out;
  --header-border-radius: 4px;

  /* Border */
  --border: 1px solid var(--border-color);
}

:root,
[data-theme='light']:root {
  --positive-luminance: white;
  --negative-luminance: black;
  /* Fonts */
  --font-color: #444;
  --font-color-high-contrast: var(--negative-luminance);
  /* Links */
  --link-color: #00e;
  --link-color-visited: #551a8b;
  /* Background */
  --background-color: #e1e1db;
  --background-color-high-contrast: var(--positive-luminance);
  /* Code */
  --code-background-color: #eee;
  /* Border */
  --border-color: #bbb;
  /* Header */
  --header-link-color: var(--negative-luminance);
  --header-main-border: #dedede;
  --header-tint: #428bca;
  --header-accent-border: #bdbdbd;
  /* The big red button */
  --button-primary-color: var(--positive-luminance);
  --button-primary-bg-color: #a42;
  --button-primary-border-color: #80331a;
  --button-primary-bg-color-light: color-mix(
    in hsl,
    var(--button-primary-bg-color),
    var(--positive-luminance)
  );
  --button-primary-border-color-light: color-mix(
    in hsl,
    var(--button-primary-border-color),
    var(--positive-luminance)
  );
  /* Clicked */
  --button-primary-active-color: color-mix(
    in hsl,
    var(--positive-luminance),
    var(--negative-luminance) 30%
  );
  /* Not the big red button */
  --button-secondary-color: #444;
  --button-secondary-bg-color-top: #fff;
  --button-secondary-bg-color-bottom: #f9f9f9;
  --button-secondary-bg-color: linear-gradient(
    to bottom,
    var(--button-secondary-bg-color-top),
    var(--button-secondary-bg-color-bottom)
  );
  --button-secondary-border-color: color-mix(
    in hsl,
    var(--button-secondary-bg-color-bottom),
    var(--negative-luminance) 20%
  );
  /* Disabled */
  --button-secondary-bg-color-light: color-mix(
    in hsl,
    var(--button-secondary-bg-color-bottom),
    var(--positive-luminance)
  );
  --button-secondary-border-color-light: color-mix(
    in hsl,
    var(--button-secondary-border-color),
    var(--positive-luminance)
  );
  --button-secondary-color-light: color-mix(
    in hsl,
    var(--button-secondary-color),
    var(--positive-luminance)
  );
  /* Clicked */
  --button-secondary-active-color: color-mix(
    in hsl,
    var(--negative-luminance),
    var(--positive-luminance) 30%
  );
  /* Output tabs */
  --output-background-tab: #fcfcfc;
  --output-current-tab: #f9ffff;
  /* Output compiler highlighting */
  --output-highlight-warning-color: #f79a06;
  --output-highlight-warning-bg-color: inherit;
  --output-highlight-error-color: #bf1b1b;
  --output-highlight-error-bg-color: inherit;
}

@media (prefers-color-scheme: dark) {
  :root {
    --positive-luminance: black;
    --negative-luminance: white;
    /* Fonts */
    --font-color: #dcdbd8;
    --font-color-high-contrast: #dcdbd8;
    /* Links */
    --link-color: #b2dcff;
    --link-color-visited: #eecaff;
    /* Background */
    --background-color: #444;
    --background-color-high-contrast: #181818;
    /* Code */
    --code-background-color: #3c3c3c;
    /* Border */
    --border-color: #5e5e5e;
    /* Header */
    --header-main-border: #363b3d;
    --header-accent-border: #bdbdbd;
    /* The big red button */
    --button-primary-color: #dcdbd8;
    --button-primary-bg-color: #5d2310;
    --button-primary-border-color: #612714;
    /* Not the big red button */
    --button-secondary-color: #dcdbd8;
    --button-secondary-bg-color-top: #17191a;
    --button-secondary-bg-color-bottom: #1a1c1d;
    --button-secondary-border-color: color-mix(
    in hsl,
    var(--button-secondary-bg-color-bottom),
    var(--negative-luminance) 40%
  );
    /* Output tabs */
    --output-background-tab: #343434;
    --output-current-tab: #191b1c;
    /* Output compiler highlighting */
    --output-highlight-warning-color: #ffe800;
    --output-highlight-warning-bg-color: #330;
    --output-highlight-error-color: #f5f5f5;
    --output-highlight-error-bg-color: #820000;
  }
}

[data-theme='dark']:root {
  --positive-luminance: black;
  --negative-luminance: white;
  /* Fonts */
  --font-color: #dcdbd8;
  --font-color-high-contrast: #dcdbd8;
  /* Links */
  --link-color: #b2dcff;
  --link-color-visited: #eecaff;
  /* Background */
  --background-color: #444;
  --background-color-high-contrast: #181818;
  /* Code */
  --code-background-color: #3c3c3c;
  /* Border */
  --border-color: #5e5e5e;
  /* Header */
  --header-main-border: #363b3d;
  --header-accent-border: #bdbdbd;
  /* The big red button */
  --button-primary-color: #dcdbd8;
  --button-primary-bg-color: #5d2310;
  --button-primary-border-color: #612714;
  /* Not the big red button */
  --button-secondary-color: #dcdbd8;
  --button-secondary-bg-color-top: #17191a;
  --button-secondary-bg-color-bottom: #1a1c1d;
  --button-secondary-border-color: color-mix(
    in hsl,
    var(--button-secondary-bg-color-bottom),
    var(--negative-luminance) 40%
  );
  /* Output tabs */
  --output-background-tab: #343434;
  --output-current-tab: #191b1c;
  /* Output compiler highlighting */
  --output-highlight-warning-color: #ffe800;
  --output-highlight-warning-bg-color: #330;
  --output-highlight-error-color: #f5f5f5;
  --output-highlight-error-bg-color: #820000;
}

/* Modify normalized styles */
button,
input,
optgroup,
select,
textarea {
  font-family: var(--primary-font);
  font-optical-sizing: auto;
}

html {
  box-sizing: border-box;
}

a {
  color: var(--link-color);
}

a:visited {
  color: var(--link-color-visited);
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body {
  color: var(--font-color);
  background-color: var(--background-color);
  padding: 0 1em;
  font-family: var(--primary-font);
  font-optical-sizing: auto;
  font-size: var(--primary-font-size);
}

/* stylelint-disable-next-line selector-class-pattern */
.language-rust_errors .warning {
    color: var(--output-highlight-warning-color);
    background-color: var(--output-highlight-warning-bg-color);
  }
.language-rust_errors .error {
    color: var(--output-highlight-error-color);
    background-color: var(--output-highlight-error-bg-color);
  }

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./HelpExample.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************/
.HelpExample-module__container--xdp20MtL6nShnq6JxSA5 {
  position: relative;
}

.HelpExample-module__loadExample--rFtxqICp0qHRL2PWL9vX {
  position: absolute;
  top: 0;
  right: 0;
  visibility: hidden;
  opacity: 0;
  transition: all 0.5s;
  cursor: pointer;
  border: none;
  border-bottom-left-radius: 0.5em;
  background: rgb(255 255 255 / 80%);
}

.HelpExample-module__container--xdp20MtL6nShnq6JxSA5:hover .HelpExample-module__loadExample--rFtxqICp0qHRL2PWL9vX {
  visibility: visible;
  opacity: 1;
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./Help.module.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************/
.Help-module__container--OwsEEdjsVbpKDgh93A9A {
  margin: 1em auto;
  color: var(--font-color-high-contrast);
  background-color: var(--background-color-high-contrast);
  padding: 1em;
  max-width: 800px;
  line-height: 1.25;
}

.Help-module__code--kkvSsGLjue7oz32nRQns {
  background: var(--code-background-color);
  padding: 0 0.25em;
}

.Help-module__logo--ErSdx8bvJPa1hmI48SHf {
  text-align: center;
}

.Help-module__logoLight--qIykdDL85fZFitkhUaee {
  display: inherit;
}

@media (prefers-color-scheme: dark) {

.Help-module__logoLight--qIykdDL85fZFitkhUaee {
    display: none;
}
  }

[data-theme='light']:root .Help-module__logoLight--qIykdDL85fZFitkhUaee {
    display: inherit;
  }

[data-theme='dark']:root .Help-module__logoLight--qIykdDL85fZFitkhUaee {
    display: none;
  }

.Help-module__logoDark--Z0E9vT_dKb2Ep_p0IblZ {
  display: none;
}

@media (prefers-color-scheme: dark) {

.Help-module__logoDark--Z0E9vT_dKb2Ep_p0IblZ {
    display: inherit;
}
  }

[data-theme='light']:root .Help-module__logoDark--Z0E9vT_dKb2Ep_p0IblZ {
    display: none;
  }

[data-theme='dark']:root .Help-module__logoDark--Z0E9vT_dKb2Ep_p0IblZ {
    display: inherit;
  }

.Help-module__header--G3kNKxeiQ2bzvpzrRmiK:hover::after {
    content: ' §';
  }

.Help-module__headerLink--DeecMfOHV8JXP_bMAj5A {
  color: var(--header-link-color);
  text-decoration: none;
}

.Help-module__headerLink--DeecMfOHV8JXP_bMAj5A:hover {
    text-decoration: underline;
  }

/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./MenuItem.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************/
.MenuItem-module__container--qQQRRXyLzTu6JHvHGMQx {
  margin-bottom: 1em;
}
.MenuItem-module__container--qQQRRXyLzTu6JHvHGMQx:last-child {
    margin-bottom: 0;
  }

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./ConfigElement.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
.ConfigElement-module__container--DAq9FuR0GnDMGBkcIjPS {
  display: flex;
  align-items: center;
}

.ConfigElement-module__name--UZGeICHemsqfQETsxb4B {
  flex: 1;
}

.ConfigElement-module__notDefault--wA5S9VYguQB3d2LdMv_m {
  color: var(--header-tint);
  font-weight: 600;
}

.ConfigElement-module__value--YDb9s81ZyjXlOK_wF9nK {
  flex: 1;
}

.ConfigElement-module__select--ANyTfRVnRJ3XSk8CPrEK {
  width: 100%;
  background: var(--button-secondary-bg-color);
  border-color: var(--button-secondary-border-color);
  color: var(--button-secondary-color);
}

.ConfigElement-module__select--ANyTfRVnRJ3XSk8CPrEK option {
    background-color: var(--button-secondary-bg-color-top);
    border-color: var(--button-secondary-border-color);
    color: var(--button-secondary-color);
  }

.ConfigElement-module__toggle--ZFx9yjD0LVODp6xZkQfF {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.ConfigElement-module__toggle--ZFx9yjD0LVODp6xZkQfF label {
    cursor: pointer;
    padding: 0 1em;
    color: #777;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    border: 1px solid transparent;
  }

:is(.ConfigElement-module__toggle--ZFx9yjD0LVODp6xZkQfF label):hover {
      background: hsl(208deg 100% 43% / 10%);
    }

:is(.ConfigElement-module__toggle--ZFx9yjD0LVODp6xZkQfF label):first-of-type {
      border-radius: var(--header-border-radius) 0 0 var(--header-border-radius);
      border-right-width: 0;
    }

:is(.ConfigElement-module__toggle--ZFx9yjD0LVODp6xZkQfF label):last-of-type {
      border-radius: 0 var(--header-border-radius) var(--header-border-radius) 0;
      border-left-width: 0;
    }

.ConfigElement-module__toggle--ZFx9yjD0LVODp6xZkQfF input {
    display: none;
  }

:is(.ConfigElement-module__toggle--ZFx9yjD0LVODp6xZkQfF input):checked + label {
      background: var(--header-tint);
      color: #fff;
    }

:is(.ConfigElement-module__toggle--ZFx9yjD0LVODp6xZkQfF input):not(:checked) + label {
      border-color: #bbb;
    }

/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./MenuAside.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************/
.MenuAside-module__aside--aJ2F4WDK9goc4Ta1_16D {
  margin: 0.25em 0 0;
  color: #888;
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./MenuGroup.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************/
.MenuGroup-module__container--cvPY9O51OvPnCPcYDMX9 {
  padding: 0.75em 1em 0;
  width: 27em;
  line-height: normal;
}

.MenuGroup-module__container--cvPY9O51OvPnCPcYDMX9:last-child {
    padding-bottom: 0.75em;
  }

.MenuGroup-module__title--Tv6w7AHNAWZ0VBCI36os {
  margin: 0;
  border-bottom: 1px solid var(--header-main-border);
  padding-bottom: 10px;
  font-weight: 700;
  font-size: var(--secondary-font-size);
  text-transform: uppercase;
}

.MenuGroup-module__content--rI4p4UgbssyyLmtqzk76 {
  padding: 1em 0.25em;
}

/*!**************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./shared.module.css ***!
  \**************************************************************************************************************************************************************/
.shared-module__-bodyMonospace--GtOBiXh6TX6MRcPpfiv5 {
  font-size: inherit;
  line-height: 1.25;

  /* http://code.stephenmorley.org/html-and-css/fixing-browsers-broken-monospace-font-handling/
   * ACE uses Monaco, Menlo, "Ubuntu Mono", Consolas, source-code-pro, monospace;
   */
  font-family: 'Source Code Pro', monospace;
  font-optical-sizing: auto;
}

.shared-module__-autoSize--j7UJjOJI8cVCDvKDj1NA {
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 0;
}

.shared-module__-buttonReset--PejGgtkj000mm2SKywBY {
  color: var(--font-color);
  border: none;
  background: inherit;
  background-color: transparent; /* IE 11 */
  padding: 0;
  font: inherit;
  line-height: inherit;
  text-align: inherit;
}

.shared-module__-buttonAsLink--aKZpJgmywQijXbVJVIIq {
  cursor: pointer;
  color: var(--link-color);
  user-select: text;
  text-decoration: underline;
}

.shared-module__-menuItemTitle--HicpIY2li9fAT1ZzESTQ {
  font-weight: 600;
}

.shared-module__-menuItemFullButton--lBz1gSS85WZ6qqIt9Cco {
  transition: color var(--header-transition);
  width: 100%;
  user-select: text;
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./SimpleButtonMenuItem.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************/
.SimpleButtonMenuItem-module__container--wtqqnvVH4RENwWYDMIbQ {
}
.SimpleButtonMenuItem-module__container--wtqqnvVH4RENwWYDMIbQ:hover {
    color: var(--header-tint);
  }

/*!********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./ButtonMenuItem.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************/
.ButtonMenuItem-module__name--U3eu8DZRzKgoWmI9wWBx {
  margin: 0;
}

.ButtonMenuItem-module__description--Fk9BAvzLbfjngFiF95EV {
  margin: 0;
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./BuildMenu.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************/
.BuildMenu-module__code--HcCVc3DEOJ483zlAdFgw {
  background: var(--code-background-color);
  padding: 0 0.25em;
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./ButtonSet.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************/
.ButtonSet-module__set--Ko8pzZkhH7cXzGzybPCl {
  display: flex;
}

.ButtonSet-module__-border--AtBOa9oScXRlRr1SpEpg {
  border-width: 1px 0;
  border-style: solid;
}

.ButtonSet-module__-border--AtBOa9oScXRlRr1SpEpg:first-child {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    border-left-width: 1px;
  }

.ButtonSet-module__-border--AtBOa9oScXRlRr1SpEpg:last-child {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    border-right-width: 1px;
  }

.ButtonSet-module__-button--KXzY1GCAHr6CpBwT46Nx {
  --button-gap: 0.5em;
  --button-side-padding: 1.25em;
  --button-height: 3em;
  --button-side-icon-nudge: 0.25em;
  display: grid;
  grid-auto-flow: column;
  gap: var(--button-gap);
  align-content: center;
  align-items: center;
  padding: 0 var(--button-side-padding);
  height: var(--button-height);
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.ButtonSet-module__-button--KXzY1GCAHr6CpBwT46Nx:enabled {
    cursor: pointer;
  }

.ButtonSet-module__small--hxCP6ceazPI4pS1sfjDZ {
  --button-gap: 0.25em;
  --button-side-padding: 0.75em;
  --button-height: 2.5em;
  --button-side-icon-nudge: 0.125em;
}

.ButtonSet-module__primary--N277nOjusweG_49DAZXx {
  background-color: var(--button-primary-bg-color);
  border-color: var(--button-primary-border-color);
  color: var(--button-primary-color);
  font-weight: 700;
}

.ButtonSet-module__primary--N277nOjusweG_49DAZXx:disabled {
    background-color: var(--button-primary-bg-color-light);
    border-color: var(--button-primary-border-color-light);
  }

.ButtonSet-module__primary--N277nOjusweG_49DAZXx:hover:enabled {
    background-color: var(--button-primary-border-color);
  }

.ButtonSet-module__primary--N277nOjusweG_49DAZXx:active:enabled {
    box-shadow: inset 0 0 5px var(--button-primary-active-color);
  }

.ButtonSet-module__secondary--ALmR2n0EOl_ED30jMvMq {
  background: var(--button-secondary-bg-color);
  border-color: var(--button-secondary-border-color);
  color: var(--button-secondary-color);
}

.ButtonSet-module__secondary--ALmR2n0EOl_ED30jMvMq:disabled {
    background: inherit;
    background-color: var(--button-secondary-bg-color-light);
    border-color: var(--button-secondary-border-color-light);
    color: var(--button-secondary-color-light);
  }

.ButtonSet-module__secondary--ALmR2n0EOl_ED30jMvMq:visited {
    color: var(--button-secondary-color);
  }

.ButtonSet-module__secondary--ALmR2n0EOl_ED30jMvMq:hover:enabled {
    background: inherit;
    background-color: var(--button-secondary-border-color);
  }

.ButtonSet-module__secondary--ALmR2n0EOl_ED30jMvMq:active:enabled {
    box-shadow: inset 0 0 5px var(--button-secondary-active-color);
  }

.ButtonSet-module__iconLeft--PFAj9di8s9juQjlHtOwX {
  transform: translate(calc(-1 * var(--button-side-icon-nudge)), 0);
}

.ButtonSet-module__iconRight--ssubQNMenNKyTo9goFcY {
  transform: translate(var(--button-side-icon-nudge), 0);
}

.ButtonSet-module__rule--fLrAej7E6pS527RSB3K8 {
  background-color: var(--button-secondary-border-color);
  width: 1px;
  border-color: var(--button-secondary-border-color);
}

.ButtonSet-module__icon--wVTHQOqDWCEDF8dhW5Vj {
  padding: 0;
  aspect-ratio: 1/1;
  justify-items: center;
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./Icon.module.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************/
.Icon-module__icon--bwriTBp9mt3lT3cYfTnK {
  fill: currentcolor;
  display: block;
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./SelectableMenuItem.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************/
.SelectableMenuItem-module__container--pDTYH95tmF9IhDo_o5lV {
}

.SelectableMenuItem-module__container--pDTYH95tmF9IhDo_o5lV:hover {
    color: var(--header-tint);
  }

.SelectableMenuItem-module__selected--FXUme88Y7h51jLstTjAr {
  color: var(--header-tint);
  font-weight: 600;
}

.SelectableMenuItem-module__header--sgIY00Gh0NPiztzKrM8r {
  display: flex;
  align-items: center;
}

.SelectableMenuItem-module__name--gsZOZLE4mCHfNR54FOcS {
}

.SelectableMenuItem-module__description--iAHpLAzmDpalenTDsDBy {
  padding-left: 2em;
}

.SelectableMenuItem-module__checkmark--yUhK5WH0jSkJuVJzKalp {
  opacity: 0;
  transition: opacity 0.15s ease-in-out;
  margin-right: 0.5em;
}

.SelectableMenuItem-module__selected--FXUme88Y7h51jLstTjAr .SelectableMenuItem-module__checkmark--yUhK5WH0jSkJuVJzKalp,
.SelectableMenuItem-module__selected--FXUme88Y7h51jLstTjAr:hover .SelectableMenuItem-module__checkmark--yUhK5WH0jSkJuVJzKalp {
  opacity: 1;
}

.SelectableMenuItem-module__container--pDTYH95tmF9IhDo_o5lV:hover .SelectableMenuItem-module__checkmark--yUhK5WH0jSkJuVJzKalp {
  opacity: 0.5;
  color: var(--header-tint);
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./ChannelMenu.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************/
.ChannelMenu-module__description--KO1OiJLCsxcx4SwuS4d0 {
  margin: 0;
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./PopButton.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************/
.PopButton-module__container--f03XebbWseUsZ5_ekiaR {
  z-index: 10;
  font-size: var(--secondary-font-size);
}

.PopButton-module__container--f03XebbWseUsZ5_ekiaR button:enabled {
    cursor: pointer;
  }

.PopButton-module__arrow--qbtsi3LgC8FsXH2rbzl7 {
  fill: var(--background-color-high-contrast);
}

.PopButton-module__-content--kkv7Yyw4uR_hbJgYsctM {
  margin: 10px;
  box-shadow:
    5px 5px 20px -3px rgb(0 0 0 / 25%),
    0 0 5px -2px rgb(0 0 0 / 90%);
  border-radius: var(--header-border-radius);
  background: var(--background-color-high-contrast);
  color: var(--font-color);
}

.PopButton-module__contentBottom--jBNcuLRSWpW_QUj4BM9T {
  margin-top: 0;
}

.PopButton-module__contentTop--KxwpjOmYR1U8jiH374e3 {
  margin-bottom: 0;
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./Header.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
.Header-module__container--QKslz1Vt3XLi5Hw8l3Xn,
.Header-module__left--ThcC_wRfm42510dWwHzd,
.Header-module__right--BteAl6y9Jl2eOWocVowt {
  display: flex;
  gap: 0.5em;
}

.Header-module__container--QKslz1Vt3XLi5Hw8l3Xn {
  font-size: var(--secondary-font-size);
  padding: 1.25em 0;
  justify-content: space-between;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./Notifications.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
.Notifications-module__container--LBC0qJPeimWoQ7397D9k {
  position: absolute;
  right: 0.5em;
  bottom: 0.5em;
  left: 0.5em;
  z-index: 10;
  margin-right: auto;
  margin-left: auto;
  border: 2px solid #428bca;
  background: var(--background-color);
  max-width: 50em;
}

.Notifications-module__notification--pqPkQfbJ9C4DmfuUxyx9 {
  display: flex;
}

.Notifications-module__notificationContent--jzQ2SPIoFblsWQuldbL8 {
  padding: 0.25em 0 0.25em 0.25em;
  width: 100%;
}

.Notifications-module__close--lFs_eSV6qPVCVlVtuIOT {
  cursor: pointer;
  padding: 0.25em;
}

.Notifications-module__action--XaQmIaIib_dQ4ubCQ_Dc {
  display: flex;
  justify-content: center;
  padding-top: 0.5em;
  gap: 0.5em;
}

.Notifications-module__swapTheme--__0StEmTpXaRGZwteDZA {
  width: 100%;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./Output/Header.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
.Output-Header-module__container--t8simowvs7SVfaj9NoU6 {
  display: flex;
  color: var(--font-color);
  white-space: nowrap;
}
.Output-Header-module__container--t8simowvs7SVfaj9NoU6::before,.Output-Header-module__container--t8simowvs7SVfaj9NoU6::after {
    flex: 1 1 auto;
    margin: auto;
    border-top: var(--border);
    content: '';
  }
.Output-Header-module__container--t8simowvs7SVfaj9NoU6::before {
    margin-right: 2%;
  }
.Output-Header-module__container--t8simowvs7SVfaj9NoU6::after {
    margin-left: 2%;
  }

/*!********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./Output/Section.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************/
.Output-Section-module__code--mzFQw6qCl6QiKVO3jUC8 {
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./Loader.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
@keyframes Loader-module__loader-fade--oYWgnPpBY4Q7N11LIl6H {
  0% {
    opacity: 0;
  }

  75% {
    opacity: 1;
  }
}

.Loader-module__dot--mfy80lScepjSSx4cM8yd {
  opacity: 0;
  animation: Loader-module__loader-fade--oYWgnPpBY4Q7N11LIl6H 1s;
  animation-iteration-count: infinite;
}

.Loader-module__dot--mfy80lScepjSSx4cM8yd:nth-child(2) {
    animation-delay: 0.2s;
  }

.Loader-module__dot--mfy80lScepjSSx4cM8yd:nth-child(3) {
    animation-delay: 0.4s;
  }

/*!************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./Output/OutputPrism.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************/
.Output-OutputPrism-module__container--hG7gaiXUHSHwDNYhJsb8 {
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./Output/Execute.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************/
.Output-Execute-module__addMain--lc6FiVCXrxM7p0C5a9X6 {
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./Output/Gist.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************/
.Output-Gist-module__container--GMYhco7Lx4QIu6PnERwg {
  display: flex;

  --copied-duration: 1s ease-in-out;
}

.Output-Gist-module__button--wvvAP_UDqtz70AsVgDZW {
  transition: color var(--copied-duration);
  cursor: pointer;
  margin: 0 0.25em 0 0.5em;
}

.Output-Gist-module__text--SdHB7g2C4Yp3_tyDpDTs {
  visibility: hidden;
  opacity: 0;
  transition:
    visibility var(--copied-duration),
    opacity var(--copied-duration),
    color var(--copied-duration);
}

.Output-Gist-module__active--FL6pF81DGf2PiaKWw4wj {
}

.Output-Gist-module__active--FL6pF81DGf2PiaKWw4wj .Output-Gist-module__button--wvvAP_UDqtz70AsVgDZW {
    transition: color 0s;
    color: green;
  }

.Output-Gist-module__active--FL6pF81DGf2PiaKWw4wj .Output-Gist-module__text--SdHB7g2C4Yp3_tyDpDTs {
    visibility: visible;
    opacity: 1;
    transition:
      visibility 0s,
      opacity 0s,
      color 0s;
    color: green;
  }

/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./Output.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
.Output-module__container--b_JxsoWvy1O6mnQxpOu1 {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.Output-module__tabs--ZKaG84C0njlCcUOPfWke {
  display: flex;
}

.Output-module__tab--hBPeCwvLPAYW7BmO5fma {
  color: var(--font-color);
  flex: 1 1 auto;
  cursor: pointer;
  border: var(--border);
  border-right: none;
  background-color: var(--output-background-tab);
  line-height: 1.5;
}

.Output-module__tab--hBPeCwvLPAYW7BmO5fma:last-of-type {
    border-right: var(--border);
  }

.Output-module__tabSelected--rqSU_up47fiEji4d8T3W {
  cursor: default;
  border-bottom: none;
  background-color: var(--output-current-tab);
}

.Output-module__tabSelected--rqSU_up47fiEji4d8T3W:focus {
    outline: none;
  }

.Output-module__tabClose--CZsPIs2NbtVOHL_S5jM8 {
  flex: 0 0 auto;
}

.Output-module__body--KY1sicBGfwv3aWkbHCS1 {
  border: var(--border);
  border-top: none;
  background-color: var(--output-current-tab);
  padding: 0.5em;
  height: 100%;
  overflow: scroll;
}

.Output-module__stdin--RsKYh7HwMYgbVzLVoN6Q {
  margin-top: 0.25em;
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./Stdin.module.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************/
.Stdin-module__form--_cAyDOwh1YRcxY4xXvOH {
  display: flex;
  gap: 0.25em;
  align-items: flex-end;
}

.Stdin-module__multiLine--U39ga92MDeAnWRQqBY7b {
  flex: 1;
  display: grid;
}

.Stdin-module__text--obyhxjKmIGmPJNaaBmKi,
.Stdin-module__sizer--b3PDpOZfthV77wtmeSF1 {
  margin: 0;
  padding: 0.25em;
  grid-area: 1 / 1 / 2 /2;
  max-height: 3.5lh;
}

.Stdin-module__text--obyhxjKmIGmPJNaaBmKi {
  resize: none;
}

.Stdin-module__sizer--b3PDpOZfthV77wtmeSF1 {
  visibility: hidden;
  white-space: pre-wrap;
}

.Stdin-module__buttons--EF8z5tnShUjA3d2TzRym {
  font-size: var(--secondary-font-size);
}

.Stdin-module__menu--zTYstV6N2yvCIUi6WEmD {
  list-style: none;
  margin: 0;
  padding: 0;
}

.Stdin-module__button--TL6S2ro8smoqj5KpqVf7 {
  padding: 1em;
}

.Stdin-module__button--TL6S2ro8smoqj5KpqVf7:hover {
    color: var(--header-tint);
  }

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./editor/Editor.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
.editor-Editor-module__container--e4W4wpvo1y9F4ag5QJj6 {
  position: relative;
}

.editor-Editor-module__-advanced--KzIAWyeqeADNnSbMKJKU {
  position: absolute;
}

.editor-Editor-module__ace--za9ERySo77fujpkadp5K {
}

.editor-Editor-module__monaco--E7VjWkpKwrMzr_qq4CFb {
}

.editor-Editor-module__simple--eARrBepneI1lIWqGdY2g {
  border: none;
  color: inherit;
  background-color: inherit;
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.4_webpack@5.107.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.15_typescript@6.0.3_webpack@5.107.2/node_modules/postcss-loader/dist/cjs.js!./Playground.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************/
.Playground-module__container--SkID_M2W7gSrOhRFjLaJ {
  display: flex;
  flex-direction: column;
  padding-bottom: 1em;
  height: 100vh;
}

.Playground-module__playground--aAzZSD80dLPrUIYtD0sA {

  --minimum: 100px;
  --gutter-dimension: 12px;
  --final-editor-dimension: minmax(var(--minimum), 1fr);
  --final-output-width: minmax(var(--minimum), var(--output-width, 1fr));

  /* Ensure the output height leaves room for the editor and the
   * gutter. Otherwise, the output can grow such that the (editor +
   * gutter + output) height causes the whole container to grow.
   */
  --output-height-cap: min(
    var(--output-height),
    calc(100% - var(--minimum) - var(--gutter-dimension))
  );
  --final-output-height: minmax(var(--minimum), var(--output-height-cap, 1fr));

  display: grid;
  grid-template-areas: 'eee';
  grid-template-columns: var(--final-editor-dimension);
}

.Playground-module__playground--aAzZSD80dLPrUIYtD0sA[data-orientation='horizontal'][data-output-mode='full'] {
  grid-template-areas:
    'eee'
    'eog'
    'ooo';
  grid-template-rows:
    var(--final-editor-dimension)
    var(--gutter-dimension)
    var(--final-output-height);
}

.Playground-module__playground--aAzZSD80dLPrUIYtD0sA[data-orientation='horizontal'][data-output-mode='slim'] {
  grid-template-areas:
    'eee'
    'ooo';
  grid-template-rows:
    var(--final-editor-dimension)
    auto;
}

.Playground-module__playground--aAzZSD80dLPrUIYtD0sA[data-orientation='vertical'][data-output-mode='full'] {
  grid-template-areas: 'eee eog ooo';
  grid-template-columns:
    var(--final-editor-dimension)
    var(--gutter-dimension)
    var(--final-output-width);
}

.Playground-module__playground--aAzZSD80dLPrUIYtD0sA[data-orientation='vertical'][data-output-mode='slim'] {
  grid-template-areas: 'eee ooo';
  grid-template-columns:
    var(--final-editor-dimension)
    auto;
}

.Playground-module__editor--qcUzBu2Yp9XaUlE7qqMj {
  grid-area: eee;
  border: 4px solid var(--border-color);
  border-radius: 4px;
}

.Playground-module__editorOutputGutter--sO7qoPSfLurluz0ACYB6 {
  grid-area: eog;
}

.Playground-module__output--MUsB4Icg2vMUeu3FkDJP {
  grid-area: ooo;
}

.Playground-module__gutter--fxIHcIc7GXAF9gIviWu9 {
  display: flex;
  justify-content: center;
  align-items: center;
}

.Playground-module__gutter--fxIHcIc7GXAF9gIviWu9[data-orientation='vertical'] {
  cursor: col-resize;
}

.Playground-module__gutterHandle--Im0CiBf6whu8XGaeT0Yw {
  -webkit-user-select: none;
          user-select: none;
}

.Playground-module__gutter--fxIHcIc7GXAF9gIviWu9[data-orientation='horizontal'] {
  cursor: row-resize;
}

.Playground-module__gutter--fxIHcIc7GXAF9gIviWu9[data-orientation='horizontal'] .Playground-module__gutterHandle--Im0CiBf6whu8XGaeT0Yw {
    transform: rotate(90deg);
  }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi0yNDc5ZjEwMzE1ZWU1MWU3ZDRlNy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkVBQTJFOztBQUUzRTsrRUFDK0U7O0FBRS9FOzs7RUFHRTs7QUFFRjtFQUNFLGlCQUFpQixFQUFFLE1BQU07RUFDekIsOEJBQThCLEVBQUUsTUFBTTtBQUN4Qzs7QUFFQTsrRUFDK0U7O0FBRS9FOztFQUVFOztBQUVGO0VBQ0UsU0FBUztBQUNYOztBQUVBOztFQUVFOztBQUVGO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTs7O0VBR0U7O0FBRUY7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCO0FBQ2xCOztBQUVBOytFQUMrRTs7QUFFL0U7OztFQUdFOztBQUVGO0VBQ0UsdUJBQXVCLEVBQUUsTUFBTTtFQUMvQixTQUFTLEVBQUUsTUFBTTtFQUNqQixpQkFBaUIsRUFBRSxNQUFNO0FBQzNCOztBQUVBOzs7RUFHRTs7QUFFRjtFQUNFLGlDQUFpQyxFQUFFLE1BQU07RUFDekMsY0FBYyxFQUFFLE1BQU07QUFDeEI7O0FBRUE7K0VBQytFOztBQUUvRTs7RUFFRTs7QUFFRjtFQUNFLDZCQUE2QjtBQUMvQjs7QUFFQTs7O0VBR0U7O0FBRUY7RUFDRSxtQkFBbUIsRUFBRSxNQUFNO0VBQzNCLDBCQUEwQixFQUFFLE1BQU07RUFDbEMsaUNBQWlDLEVBQUUsTUFBTTtBQUMzQzs7QUFFQTs7RUFFRTs7QUFFRjs7RUFFRSxtQkFBbUI7QUFDckI7O0FBRUE7OztFQUdFOztBQUVGOzs7RUFHRSxpQ0FBaUMsRUFBRSxNQUFNO0VBQ3pDLGNBQWMsRUFBRSxNQUFNO0FBQ3hCOztBQUVBOztFQUVFOztBQUVGO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTs7O0VBR0U7O0FBRUY7O0VBRUUsY0FBYztFQUNkLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTsrRUFDK0U7O0FBRS9FOztFQUVFOztBQUVGO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBOytFQUMrRTs7QUFFL0U7OztFQUdFOztBQUVGOzs7OztFQUtFLG9CQUFvQixFQUFFLE1BQU07RUFDNUIsZUFBZSxFQUFFLE1BQU07RUFDdkIsaUJBQWlCLEVBQUUsTUFBTTtFQUN6QixTQUFTLEVBQUUsTUFBTTtBQUNuQjs7QUFFQTs7O0VBR0U7O0FBRUY7UUFDUSxNQUFNO0VBQ1osaUJBQWlCO0FBQ25COztBQUVBOzs7RUFHRTs7QUFFRjtTQUNTLE1BQU07RUFDYixvQkFBb0I7QUFDdEI7O0FBRUE7O0VBRUU7O0FBRUY7Ozs7RUFJRSwwQkFBMEI7QUFDNUI7O0FBRUE7O0VBRUU7O0FBRUY7Ozs7RUFJRSxrQkFBa0I7RUFDbEIsVUFBVTtBQUNaOztBQUVBOztFQUVFOztBQUVGOzs7O0VBSUUsOEJBQThCO0FBQ2hDOztBQUVBOztFQUVFOztBQUVGO0VBQ0UsOEJBQThCO0FBQ2hDOztBQUVBOzs7OztFQUtFOztBQUVGO0VBQ0Usc0JBQXNCLEVBQUUsTUFBTTtFQUM5QixjQUFjLEVBQUUsTUFBTTtFQUN0QixjQUFjLEVBQUUsTUFBTTtFQUN0QixlQUFlLEVBQUUsTUFBTTtFQUN2QixVQUFVLEVBQUUsTUFBTTtFQUNsQixtQkFBbUIsRUFBRSxNQUFNO0FBQzdCOztBQUVBOztFQUVFOztBQUVGO0VBQ0Usd0JBQXdCO0FBQzFCOztBQUVBOztFQUVFOztBQUVGO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTs7O0VBR0U7O0FBRUY7O0VBRUUsc0JBQXNCLEVBQUUsTUFBTTtFQUM5QixVQUFVLEVBQUUsTUFBTTtBQUNwQjs7QUFFQTs7RUFFRTs7QUFFRjs7RUFFRSxZQUFZO0FBQ2Q7O0FBRUE7OztFQUdFOztBQUVGO0VBQ0UsNkJBQTZCLEVBQUUsTUFBTTtFQUNyQyxvQkFBb0IsRUFBRSxNQUFNO0FBQzlCOztBQUVBOztFQUVFOztBQUVGO0VBQ0Usd0JBQXdCO0FBQzFCOztBQUVBOzs7RUFHRTs7QUFFRjtFQUNFLDBCQUEwQixFQUFFLE1BQU07RUFDbEMsYUFBYSxFQUFFLE1BQU07QUFDdkI7O0FBRUE7K0VBQytFOztBQUUvRTs7RUFFRTs7QUFFRjtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7K0VBQytFOztBQUUvRTs7RUFFRTs7QUFFRjtFQUNFLGFBQWE7QUFDZjs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLGFBQWE7QUFDZjs7Ozs7QUM1VkEsd0JBQXdCO0FBQ3hCO0VBQ0UsVUFBVTtFQUNWLHVDQUF1QztFQUN2Qyx5QkFBeUI7RUFDekIsNERBQTREOztFQUU1RCxXQUFXO0VBQ1gscUNBQXFDO0VBQ3JDLDJCQUEyQjs7RUFFM0IsV0FBVztFQUNYLHVDQUF1QztBQUN6Qzs7QUEwSkE7O0VBdkpFLDJCQUEyQjtFQUMzQiwyQkFBMkI7RUFFM0IsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixxREFBcUQ7RUFFckQsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQiw2QkFBNkI7RUFFN0IsZUFBZTtFQUNmLDJCQUEyQjtFQUMzQiwyREFBMkQ7RUFFM0QsU0FBUztFQUNULDZCQUE2QjtFQUU3QixXQUFXO0VBQ1gsb0JBQW9CO0VBRXBCLFdBQVc7RUFDWCw4Q0FBOEM7RUFDOUMsNkJBQTZCO0VBQzdCLHNCQUFzQjtFQUN0QiwrQkFBK0I7RUFFL0IsdUJBQXVCO0VBQ3ZCLGlEQUFpRDtFQUNqRCwrQkFBK0I7RUFDL0Isc0NBQXNDO0VBQ3RDOzs7O0dBSUM7RUFDRDs7OztHQUlDO0VBRUQsWUFBWTtFQUNaOzs7O0dBSUM7RUFFRCwyQkFBMkI7RUFDM0IsOEJBQThCO0VBQzlCLHFDQUFxQztFQUNyQywyQ0FBMkM7RUFDM0M7Ozs7R0FJQztFQUNEOzs7O0dBSUM7RUFFRCxhQUFhO0VBQ2I7Ozs7R0FJQztFQUNEOzs7O0dBSUM7RUFDRDs7OztHQUlDO0VBRUQsWUFBWTtFQUNaOzs7O0dBSUM7RUFFRCxnQkFBZ0I7RUFDaEIsZ0NBQWdDO0VBQ2hDLDZCQUE2QjtFQUU3QixpQ0FBaUM7RUFDakMseUNBQXlDO0VBQ3pDLDRDQUE0QztFQUM1Qyx1Q0FBdUM7RUFDdkMsMENBQTBDO0FBMEQ1Qzs7QUFFQTtFQUNFO0lBekRBLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFFM0IsVUFBVTtJQUNWLHFCQUFxQjtJQUNyQixtQ0FBbUM7SUFFbkMsVUFBVTtJQUNWLHFCQUFxQjtJQUNyQiw2QkFBNkI7SUFFN0IsZUFBZTtJQUNmLHdCQUF3QjtJQUN4Qix5Q0FBeUM7SUFFekMsU0FBUztJQUNULGdDQUFnQztJQUVoQyxXQUFXO0lBQ1gsdUJBQXVCO0lBRXZCLFdBQVc7SUFDWCw2QkFBNkI7SUFDN0IsK0JBQStCO0lBRS9CLHVCQUF1QjtJQUN2QiwrQkFBK0I7SUFDL0Isa0NBQWtDO0lBQ2xDLHNDQUFzQztJQUV0QywyQkFBMkI7SUFDM0IsaUNBQWlDO0lBQ2pDLHdDQUF3QztJQUN4QywyQ0FBMkM7SUFDM0M7Ozs7R0FJQztJQUVELGdCQUFnQjtJQUNoQixnQ0FBZ0M7SUFDaEMsNkJBQTZCO0lBRTdCLGlDQUFpQztJQUNqQyx5Q0FBeUM7SUFDekMseUNBQXlDO0lBQ3pDLHVDQUF1QztJQUN2QywwQ0FBMEM7RUFXMUM7QUFDRjs7QUFFQTtFQTlERSwyQkFBMkI7RUFDM0IsMkJBQTJCO0VBRTNCLFVBQVU7RUFDVixxQkFBcUI7RUFDckIsbUNBQW1DO0VBRW5DLFVBQVU7RUFDVixxQkFBcUI7RUFDckIsNkJBQTZCO0VBRTdCLGVBQWU7RUFDZix3QkFBd0I7RUFDeEIseUNBQXlDO0VBRXpDLFNBQVM7RUFDVCxnQ0FBZ0M7RUFFaEMsV0FBVztFQUNYLHVCQUF1QjtFQUV2QixXQUFXO0VBQ1gsNkJBQTZCO0VBQzdCLCtCQUErQjtFQUUvQix1QkFBdUI7RUFDdkIsK0JBQStCO0VBQy9CLGtDQUFrQztFQUNsQyxzQ0FBc0M7RUFFdEMsMkJBQTJCO0VBQzNCLGlDQUFpQztFQUNqQyx3Q0FBd0M7RUFDeEMsMkNBQTJDO0VBQzNDOzs7O0dBSUM7RUFFRCxnQkFBZ0I7RUFDaEIsZ0NBQWdDO0VBQ2hDLDZCQUE2QjtFQUU3QixpQ0FBaUM7RUFDakMseUNBQXlDO0VBQ3pDLHlDQUF5QztFQUN6Qyx1Q0FBdUM7RUFDdkMsMENBQTBDO0FBZ0I1Qzs7QUFFQSw2QkFBNkI7QUFDN0I7Ozs7O0VBS0UsZ0NBQWdDO0VBQ2hDLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQTtFQUNFLGdDQUFnQztBQUNsQzs7QUFFQTs7O0VBR0UsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0Usd0JBQXdCO0VBQ3hCLHlDQUF5QztFQUN6QyxjQUFjO0VBQ2QsZ0NBQWdDO0VBQ2hDLHlCQUF5QjtFQUN6QixtQ0FBbUM7QUFDckM7O0FBRUEsdURBQXVEO0FBRXJEO0lBQ0UsNENBQTRDO0lBQzVDLDBEQUEwRDtFQUM1RDtBQUVBO0lBQ0UsMENBQTBDO0lBQzFDLHdEQUF3RDtFQUMxRDs7Ozs7QUNyT0Y7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLG9CQUFvQjtFQUNwQixlQUFlO0VBQ2YsWUFBWTtFQUNaLGdDQUFnQztFQUNoQyxrQ0FBa0M7QUFDcEM7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIsVUFBVTtBQUNaOzs7OztBQ3BCQTtFQUNFLGdCQUFnQjtFQUNoQixzQ0FBc0M7RUFDdEMsdURBQXVEO0VBQ3ZELFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0Usd0NBQXdDO0VBQ3hDLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGdCQUFnQjtBQWFsQjs7QUFYRTs7QUFIRjtJQUlJLGFBQWE7QUFVakI7RUFURTs7QUFFQTtJQUNFLGdCQUFnQjtFQUNsQjs7QUFFQTtJQUNFLGFBQWE7RUFDZjs7QUFHRjtFQUNFLGFBQWE7QUFhZjs7QUFYRTs7QUFIRjtJQUlJLGdCQUFnQjtBQVVwQjtFQVRFOztBQUVBO0lBQ0UsYUFBYTtFQUNmOztBQUVBO0lBQ0UsZ0JBQWdCO0VBQ2xCOztBQUlBO0lBQ0UsYUFBYTtFQUNmOztBQUdGO0VBQ0UsK0JBQStCO0VBQy9CLHFCQUFxQjtBQUt2Qjs7QUFIRTtJQUNFLDBCQUEwQjtFQUM1Qjs7Ozs7QUM5REY7RUFDRSxrQkFBa0I7QUFLcEI7QUFIRTtJQUNFLGdCQUFnQjtFQUNsQjs7Ozs7QUNMRjtFQUNFLGFBQWE7RUFDYixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxPQUFPO0FBQ1Q7O0FBRUE7RUFFRSx5QkFBeUI7RUFDekIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsT0FBTztBQUNUOztBQUVBO0VBQ0UsV0FBVztFQUNYLDRDQUE0QztFQUM1QyxrREFBa0Q7RUFDbEQsb0NBQW9DO0FBT3RDOztBQUxFO0lBQ0Usc0RBQXNEO0lBQ3RELGtEQUFrRDtJQUNsRCxvQ0FBb0M7RUFDdEM7O0FBR0Y7RUFDRSxhQUFhO0VBQ2IsOEJBQThCO0FBc0NoQzs7QUFwQ0U7SUFDRSxlQUFlO0lBQ2YsY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6Qiw2QkFBNkI7RUFlL0I7O0FBYkU7TUFDRSxzQ0FBc0M7SUFDeEM7O0FBRUE7TUFDRSwwRUFBMEU7TUFDMUUscUJBQXFCO0lBQ3ZCOztBQUVBO01BQ0UsMEVBQTBFO01BQzFFLG9CQUFvQjtJQUN0Qjs7QUFHRjtJQUNFLGFBQWE7RUFVZjs7QUFSRTtNQUNFLDhCQUE4QjtNQUM5QixXQUFXO0lBQ2I7O0FBRUE7TUFDRSxrQkFBa0I7SUFDcEI7Ozs7O0FDdEVKO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7QUFDYjs7Ozs7QUNIQTtFQUNFLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsbUJBQW1CO0FBS3JCOztBQUhFO0lBQ0Usc0JBQXNCO0VBQ3hCOztBQUdGO0VBQ0UsU0FBUztFQUNULGtEQUFrRDtFQUNsRCxvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLHFDQUFxQztFQUNyQyx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7Ozs7O0FDckJBO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQjs7RUFFakI7O0lBRUU7RUFDRix5Q0FBeUM7RUFDekMseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixZQUFZO0VBQ1osYUFBYTtBQUNmOztBQUVBO0VBQ0Usd0JBQXdCO0VBQ3hCLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsNkJBQTZCLEVBQUUsVUFBVTtFQUN6QyxVQUFVO0VBQ1YsYUFBYTtFQUNiLG9CQUFvQjtFQUNwQixtQkFBbUI7QUFDckI7O0FBRUE7RUFFRSxlQUFlO0VBQ2Ysd0JBQXdCO0VBQ3hCLGlCQUFpQjtFQUNqQiwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFFRSwwQ0FBMEM7RUFDMUMsV0FBVztFQUNYLGlCQUFpQjtBQUNuQjs7Ozs7QUM5Q0E7QUFNQTtBQUhFO0lBQ0UseUJBQXlCO0VBQzNCOzs7OztBQ0xGO0VBRUUsU0FBUztBQUNYOztBQUVBO0VBQ0UsU0FBUztBQUNYOzs7OztBQ1BBO0VBQ0Usd0NBQXdDO0VBQ3hDLGlCQUFpQjtBQUNuQjs7Ozs7QUNBQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLG1CQUFzQjtFQUN0QixtQkFBbUI7QUFhckI7O0FBWEU7SUFDRSwyQkFBK0I7SUFDL0IsOEJBQWtDO0lBQ2xDLHNCQUF5QjtFQUMzQjs7QUFFQTtJQUNFLDRCQUFnQztJQUNoQywrQkFBbUM7SUFDbkMsdUJBQTBCO0VBQzVCOztBQUdGO0VBQ0UsbUJBQW1CO0VBQ25CLDZCQUE2QjtFQUM3QixvQkFBb0I7RUFDcEIsZ0NBQWdDO0VBR2hDLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsc0JBQXNCO0VBQ3RCLHFCQUFxQjtFQUNyQixtQkFBbUI7RUFDbkIscUNBQXFDO0VBQ3JDLDRCQUE0QjtFQUM1QixnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLHlCQUF5QjtFQUN6QixtQkFBbUI7QUFLckI7O0FBSEU7SUFDRSxlQUFlO0VBQ2pCOztBQUdGO0VBQ0Usb0JBQW9CO0VBQ3BCLDZCQUE2QjtFQUM3QixzQkFBc0I7RUFDdEIsaUNBQWlDO0FBQ25DOztBQUVBO0VBRUUsZ0RBQWdEO0VBQ2hELGdEQUFnRDtFQUNoRCxrQ0FBa0M7RUFDbEMsZ0JBQWdCO0FBY2xCOztBQVpFO0lBQ0Usc0RBQXNEO0lBQ3RELHNEQUFzRDtFQUN4RDs7QUFFQTtJQUNFLG9EQUFvRDtFQUN0RDs7QUFFQTtJQUNFLDREQUE0RDtFQUM5RDs7QUFHRjtFQUVFLDRDQUE0QztFQUM1QyxrREFBa0Q7RUFDbEQsb0NBQW9DO0FBcUJ0Qzs7QUFuQkU7SUFDRSxtQkFBbUI7SUFDbkIsd0RBQXdEO0lBQ3hELHdEQUF3RDtJQUN4RCwwQ0FBMEM7RUFDNUM7O0FBRUE7SUFDRSxvQ0FBb0M7RUFDdEM7O0FBRUE7SUFDRSxtQkFBbUI7SUFDbkIsc0RBQXNEO0VBQ3hEOztBQUVBO0lBQ0UsOERBQThEO0VBQ2hFOztBQUdGO0VBQ0UsaUVBQWlFO0FBQ25FOztBQUVBO0VBQ0Usc0RBQXNEO0FBQ3hEOztBQUVBO0VBRUUsc0RBQXNEO0VBQ3RELFVBQVU7RUFDVixrREFBa0Q7QUFDcEQ7O0FBRUE7RUFFRSxVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLHFCQUFxQjtBQUN2Qjs7Ozs7QUMzSEE7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztBQUNoQjs7Ozs7QUNIQTtBQU1BOztBQUhFO0lBQ0UseUJBQXlCO0VBQzNCOztBQUdGO0VBRUUseUJBQXlCO0VBQ3pCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7QUFDckI7O0FBRUE7QUFFQTs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLFVBQVU7RUFDVixxQ0FBcUM7RUFDckMsbUJBQW1CO0FBQ3JCOztBQUVBOztFQUVFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFlBQVk7RUFDWix5QkFBeUI7QUFDM0I7Ozs7O0FDekNBO0VBQ0UsU0FBUztBQUNYOzs7OztBQ0NBO0VBQ0UsV0FBVztFQUNYLHFDQUFxQztBQUt2Qzs7QUFIRTtJQUNFLGVBQWU7RUFDakI7O0FBR0Y7RUFDRSwyQ0FBMkM7QUFDN0M7O0FBRUE7RUFDRSxZQUFxQjtFQUNyQjs7aUNBRStCO0VBQy9CLDBDQUEwQztFQUMxQyxpREFBaUQ7RUFDakQsd0JBQXdCO0FBQzFCOztBQUVBO0VBRUUsYUFBYTtBQUNmOztBQUVBO0VBRUUsZ0JBQWdCO0FBQ2xCOzs7OztBQ2xDQTs7O0VBR0UsYUFBYTtFQUNiLFVBQVU7QUFDWjs7QUFFQTtFQUNFLHFDQUFxQztFQUNyQyxpQkFBaUI7RUFDakIsOEJBQThCO0FBQ2hDOzs7OztBQ1JBO0VBQ0Usa0JBQWtCO0VBQ2xCLFlBQWM7RUFDZCxhQUFlO0VBQ2YsV0FBYTtFQUNiLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLHlCQUF5QjtFQUN6QixtQ0FBbUM7RUFDbkMsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLCtCQUErQjtFQUMvQixXQUFXO0FBQ2I7O0FBRUE7RUFFRSxlQUFlO0VBQ2YsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7Ozs7QUN4Q0E7RUFDRSxhQUFhO0VBQ2Isd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQWlCckI7QUFmRTtJQUVFLGNBQWM7SUFDZCxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7RUFDYjtBQUVBO0lBQ0UsZ0JBQWdCO0VBQ2xCO0FBRUE7SUFDRSxlQUFlO0VBQ2pCOzs7OztBQ25CRjtBQUVBOzs7OztBQ0ZBO0VBQ0U7SUFDRSxVQUFVO0VBQ1o7O0VBRUE7SUFDRSxVQUFVO0VBQ1o7QUFDRjs7QUFFQTtFQUNFLFVBQVU7RUFDViw4REFBeUI7RUFDekIsbUNBQW1DO0FBU3JDOztBQVBFO0lBQ0UscUJBQXFCO0VBQ3ZCOztBQUVBO0lBQ0UscUJBQXFCO0VBQ3ZCOzs7OztBQ3JCRjtBQUVBOzs7OztBQ0ZBO0FBRUE7Ozs7O0FDRkE7RUFDRSxhQUFhOztFQUViLGlDQUFpQztBQUNuQzs7QUFFQTtFQUVFLHdDQUF3QztFQUN4QyxlQUFlO0VBQ2Ysd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVjs7O2dDQUc4QjtBQUNoQzs7QUFFQTtBQWlCQTs7QUFkRTtJQUNFLG9CQUFvQjtJQUNwQixZQUFZO0VBQ2Q7O0FBRUE7SUFDRSxtQkFBbUI7SUFDbkIsVUFBVTtJQUNWOzs7Y0FHVTtJQUNWLFlBQVk7RUFDZDs7Ozs7QUN0Q0Y7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSx3QkFBd0I7RUFDeEIsY0FBYztFQUNkLGVBQWU7RUFDZixxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLDhDQUE4QztFQUM5QyxnQkFBZ0I7QUFLbEI7O0FBSEU7SUFDRSwyQkFBMkI7RUFDN0I7O0FBR0Y7RUFFRSxlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLDJDQUEyQztBQUs3Qzs7QUFIRTtJQUNFLGFBQWE7RUFDZjs7QUFHRjtFQUVFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxxQkFBcUI7RUFDckIsZ0JBQWdCO0VBQ2hCLDJDQUEyQztFQUMzQyxjQUFjO0VBQ2QsWUFBWTtFQUNaLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7Ozs7QUNwREE7RUFDRSxhQUFhO0VBQ2IsV0FBVztFQUNYLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLE9BQU87RUFDUCxhQUFhO0FBQ2Y7O0FBRUE7O0VBRUUsU0FBUztFQUNULGVBQWU7RUFDZix1QkFBdUI7RUFDdkIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLHFDQUFxQztBQUN2Qzs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixTQUFTO0VBQ1QsVUFBVTtBQUNaOztBQUVBO0VBRUUsWUFBWTtBQUtkOztBQUhFO0lBQ0UseUJBQXlCO0VBQzNCOzs7OztBQzVDRjtFQUVFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUVFLGtCQUFrQjtBQUNwQjs7QUFFQTtBQUVBOztBQUVBO0FBRUE7O0FBRUE7RUFFRSxZQUFZO0VBQ1osY0FBYztFQUNkLHlCQUF5QjtBQUMzQjs7Ozs7QUN2QkE7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLG1CQUFtQjtFQUNuQixhQUFhO0FBQ2Y7O0FBRUE7O0VBR0UsZ0JBQWdCO0VBQ2hCLHdCQUF3QjtFQUN4QixxREFBcUQ7RUFDckQsc0VBQXNFOztFQUV0RTs7O0lBR0U7RUFDRjs7O0dBR0M7RUFDRCw0RUFBNEU7O0VBRTVFLGFBQWE7RUFDYiwwQkFBMEI7RUFDMUIsb0RBQW9EO0FBQ3REOztBQUVBO0VBQ0U7OztTQUdPO0VBQ1A7Ozs4QkFHNEI7QUFDOUI7O0FBRUE7RUFDRTs7U0FFTztFQUNQOztRQUVNO0FBQ1I7O0FBRUE7RUFDRSxrQ0FBa0M7RUFDbEM7Ozs2QkFHMkI7QUFDN0I7O0FBRUE7RUFDRSw4QkFBOEI7RUFDOUI7O1FBRU07QUFDUjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxxQ0FBcUM7RUFDckMsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUVFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHlCQUFpQjtVQUFqQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxrQkFBa0I7QUFLcEI7O0FBSEU7SUFDRSx3QkFBd0I7RUFDMUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly91aS8uL25vZGVfbW9kdWxlcy8ucG5wbS9ub3JtYWxpemUuY3NzQDguMC4xL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCJ3ZWJwYWNrOi8vdWkvLi9pbmRleC5tb2R1bGUuY3NzIiwid2VicGFjazovL3VpLy4vSGVscEV4YW1wbGUubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly91aS8uL0hlbHAubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly91aS8uL01lbnVJdGVtLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vdWkvLi9Db25maWdFbGVtZW50Lm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vdWkvLi9NZW51QXNpZGUubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly91aS8uL01lbnVHcm91cC5tb2R1bGUuY3NzIiwid2VicGFjazovL3VpLy4vc2hhcmVkLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vdWkvLi9TaW1wbGVCdXR0b25NZW51SXRlbS5tb2R1bGUuY3NzIiwid2VicGFjazovL3VpLy4vQnV0dG9uTWVudUl0ZW0ubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly91aS8uL0J1aWxkTWVudS5tb2R1bGUuY3NzIiwid2VicGFjazovL3VpLy4vQnV0dG9uU2V0Lm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vdWkvLi9JY29uLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vdWkvLi9TZWxlY3RhYmxlTWVudUl0ZW0ubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly91aS8uL0NoYW5uZWxNZW51Lm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vdWkvLi9Qb3BCdXR0b24ubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly91aS8uL0hlYWRlci5tb2R1bGUuY3NzIiwid2VicGFjazovL3VpLy4vTm90aWZpY2F0aW9ucy5tb2R1bGUuY3NzIiwid2VicGFjazovL3VpLy4vT3V0cHV0L0hlYWRlci5tb2R1bGUuY3NzIiwid2VicGFjazovL3VpLy4vT3V0cHV0L1NlY3Rpb24ubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly91aS8uL0xvYWRlci5tb2R1bGUuY3NzIiwid2VicGFjazovL3VpLy4vT3V0cHV0L091dHB1dFByaXNtLm1vZHVsZS5jc3MiLCJ3ZWJwYWNrOi8vdWkvLi9PdXRwdXQvRXhlY3V0ZS5tb2R1bGUuY3NzIiwid2VicGFjazovL3VpLy4vT3V0cHV0L0dpc3QubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly91aS8uL091dHB1dC5tb2R1bGUuY3NzIiwid2VicGFjazovL3VpLy4vU3RkaW4ubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly91aS8uL2VkaXRvci9FZGl0b3IubW9kdWxlLmNzcyIsIndlYnBhY2s6Ly91aS8uL1BsYXlncm91bmQubW9kdWxlLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyogTm9uLXRoZW1lIHZhcmlhYmxlcyAqL1xuOnJvb3Qge1xuICAvKiBGb250cyAqL1xuICAtLXByaW1hcnktZm9udDogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gIC0tcHJpbWFyeS1mb250LXNpemU6IDE4cHg7XG4gIC0tc2Vjb25kYXJ5LWZvbnQtc2l6ZTogY2FsYygwLjc1ICogdmFyKC0tcHJpbWFyeS1mb250LXNpemUpKTtcblxuICAvKiBIZWFkZXIgKi9cbiAgLS1oZWFkZXItdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgLS1oZWFkZXItYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gIC8qIEJvcmRlciAqL1xuICAtLWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG59XG5cbkBkZWZpbmUtbWl4aW4gbGlnaHQtdGhlbWUtdmFycyB7XG4gIC0tcG9zaXRpdmUtbHVtaW5hbmNlOiB3aGl0ZTtcbiAgLS1uZWdhdGl2ZS1sdW1pbmFuY2U6IGJsYWNrO1xuXG4gIC8qIEZvbnRzICovXG4gIC0tZm9udC1jb2xvcjogIzQ0NDtcbiAgLS1mb250LWNvbG9yLWhpZ2gtY29udHJhc3Q6IHZhcigtLW5lZ2F0aXZlLWx1bWluYW5jZSk7XG5cbiAgLyogTGlua3MgKi9cbiAgLS1saW5rLWNvbG9yOiAjMDBlO1xuICAtLWxpbmstY29sb3ItdmlzaXRlZDogIzU1MWE4YjtcblxuICAvKiBCYWNrZ3JvdW5kICovXG4gIC0tYmFja2dyb3VuZC1jb2xvcjogI2UxZTFkYjtcbiAgLS1iYWNrZ3JvdW5kLWNvbG9yLWhpZ2gtY29udHJhc3Q6IHZhcigtLXBvc2l0aXZlLWx1bWluYW5jZSk7XG5cbiAgLyogQ29kZSAqL1xuICAtLWNvZGUtYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcblxuICAvKiBCb3JkZXIgKi9cbiAgLS1ib3JkZXItY29sb3I6ICNiYmI7XG5cbiAgLyogSGVhZGVyICovXG4gIC0taGVhZGVyLWxpbmstY29sb3I6IHZhcigtLW5lZ2F0aXZlLWx1bWluYW5jZSk7XG4gIC0taGVhZGVyLW1haW4tYm9yZGVyOiAjZGVkZWRlO1xuICAtLWhlYWRlci10aW50OiAjNDI4YmNhO1xuICAtLWhlYWRlci1hY2NlbnQtYm9yZGVyOiAjYmRiZGJkO1xuXG4gIC8qIFRoZSBiaWcgcmVkIGJ1dHRvbiAqL1xuICAtLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiB2YXIoLS1wb3NpdGl2ZS1sdW1pbmFuY2UpO1xuICAtLWJ1dHRvbi1wcmltYXJ5LWJnLWNvbG9yOiAjYTQyO1xuICAtLWJ1dHRvbi1wcmltYXJ5LWJvcmRlci1jb2xvcjogIzgwMzMxYTtcbiAgLS1idXR0b24tcHJpbWFyeS1iZy1jb2xvci1saWdodDogY29sb3ItbWl4KFxuICAgIGluIGhzbCxcbiAgICB2YXIoLS1idXR0b24tcHJpbWFyeS1iZy1jb2xvciksXG4gICAgdmFyKC0tcG9zaXRpdmUtbHVtaW5hbmNlKVxuICApO1xuICAtLWJ1dHRvbi1wcmltYXJ5LWJvcmRlci1jb2xvci1saWdodDogY29sb3ItbWl4KFxuICAgIGluIGhzbCxcbiAgICB2YXIoLS1idXR0b24tcHJpbWFyeS1ib3JkZXItY29sb3IpLFxuICAgIHZhcigtLXBvc2l0aXZlLWx1bWluYW5jZSlcbiAgKTtcblxuICAvKiBDbGlja2VkICovXG4gIC0tYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiBjb2xvci1taXgoXG4gICAgaW4gaHNsLFxuICAgIHZhcigtLXBvc2l0aXZlLWx1bWluYW5jZSksXG4gICAgdmFyKC0tbmVnYXRpdmUtbHVtaW5hbmNlKSAzMCVcbiAgKTtcblxuICAvKiBOb3QgdGhlIGJpZyByZWQgYnV0dG9uICovXG4gIC0tYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogIzQ0NDtcbiAgLS1idXR0b24tc2Vjb25kYXJ5LWJnLWNvbG9yLXRvcDogI2ZmZjtcbiAgLS1idXR0b24tc2Vjb25kYXJ5LWJnLWNvbG9yLWJvdHRvbTogI2Y5ZjlmOTtcbiAgLS1idXR0b24tc2Vjb25kYXJ5LWJnLWNvbG9yOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgdG8gYm90dG9tLFxuICAgIHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYmctY29sb3ItdG9wKSxcbiAgICB2YXIoLS1idXR0b24tc2Vjb25kYXJ5LWJnLWNvbG9yLWJvdHRvbSlcbiAgKTtcbiAgLS1idXR0b24tc2Vjb25kYXJ5LWJvcmRlci1jb2xvcjogY29sb3ItbWl4KFxuICAgIGluIGhzbCxcbiAgICB2YXIoLS1idXR0b24tc2Vjb25kYXJ5LWJnLWNvbG9yLWJvdHRvbSksXG4gICAgdmFyKC0tbmVnYXRpdmUtbHVtaW5hbmNlKSAyMCVcbiAgKTtcblxuICAvKiBEaXNhYmxlZCAqL1xuICAtLWJ1dHRvbi1zZWNvbmRhcnktYmctY29sb3ItbGlnaHQ6IGNvbG9yLW1peChcbiAgICBpbiBoc2wsXG4gICAgdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1iZy1jb2xvci1ib3R0b20pLFxuICAgIHZhcigtLXBvc2l0aXZlLWx1bWluYW5jZSlcbiAgKTtcbiAgLS1idXR0b24tc2Vjb25kYXJ5LWJvcmRlci1jb2xvci1saWdodDogY29sb3ItbWl4KFxuICAgIGluIGhzbCxcbiAgICB2YXIoLS1idXR0b24tc2Vjb25kYXJ5LWJvcmRlci1jb2xvciksXG4gICAgdmFyKC0tcG9zaXRpdmUtbHVtaW5hbmNlKVxuICApO1xuICAtLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItbGlnaHQ6IGNvbG9yLW1peChcbiAgICBpbiBoc2wsXG4gICAgdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1jb2xvciksXG4gICAgdmFyKC0tcG9zaXRpdmUtbHVtaW5hbmNlKVxuICApO1xuXG4gIC8qIENsaWNrZWQgKi9cbiAgLS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogY29sb3ItbWl4KFxuICAgIGluIGhzbCxcbiAgICB2YXIoLS1uZWdhdGl2ZS1sdW1pbmFuY2UpLFxuICAgIHZhcigtLXBvc2l0aXZlLWx1bWluYW5jZSkgMzAlXG4gICk7XG5cbiAgLyogT3V0cHV0IHRhYnMgKi9cbiAgLS1vdXRwdXQtYmFja2dyb3VuZC10YWI6ICNmY2ZjZmM7XG4gIC0tb3V0cHV0LWN1cnJlbnQtdGFiOiAjZjlmZmZmO1xuXG4gIC8qIE91dHB1dCBjb21waWxlciBoaWdobGlnaHRpbmcgKi9cbiAgLS1vdXRwdXQtaGlnaGxpZ2h0LXdhcm5pbmctY29sb3I6ICNmNzlhMDY7XG4gIC0tb3V0cHV0LWhpZ2hsaWdodC13YXJuaW5nLWJnLWNvbG9yOiBpbmhlcml0O1xuICAtLW91dHB1dC1oaWdobGlnaHQtZXJyb3ItY29sb3I6ICNiZjFiMWI7XG4gIC0tb3V0cHV0LWhpZ2hsaWdodC1lcnJvci1iZy1jb2xvcjogaW5oZXJpdDtcbn1cblxuQGRlZmluZS1taXhpbiBkYXJrLXRoZW1lLXZhcnMge1xuICAtLXBvc2l0aXZlLWx1bWluYW5jZTogYmxhY2s7XG4gIC0tbmVnYXRpdmUtbHVtaW5hbmNlOiB3aGl0ZTtcblxuICAvKiBGb250cyAqL1xuICAtLWZvbnQtY29sb3I6ICNkY2RiZDg7XG4gIC0tZm9udC1jb2xvci1oaWdoLWNvbnRyYXN0OiAjZGNkYmQ4O1xuXG4gIC8qIExpbmtzICovXG4gIC0tbGluay1jb2xvcjogI2IyZGNmZjtcbiAgLS1saW5rLWNvbG9yLXZpc2l0ZWQ6ICNlZWNhZmY7XG5cbiAgLyogQmFja2dyb3VuZCAqL1xuICAtLWJhY2tncm91bmQtY29sb3I6ICM0NDQ7XG4gIC0tYmFja2dyb3VuZC1jb2xvci1oaWdoLWNvbnRyYXN0OiAjMTgxODE4O1xuXG4gIC8qIENvZGUgKi9cbiAgLS1jb2RlLWJhY2tncm91bmQtY29sb3I6ICMzYzNjM2M7XG5cbiAgLyogQm9yZGVyICovXG4gIC0tYm9yZGVyLWNvbG9yOiAjNWU1ZTVlO1xuXG4gIC8qIEhlYWRlciAqL1xuICAtLWhlYWRlci1tYWluLWJvcmRlcjogIzM2M2IzZDtcbiAgLS1oZWFkZXItYWNjZW50LWJvcmRlcjogI2JkYmRiZDtcblxuICAvKiBUaGUgYmlnIHJlZCBidXR0b24gKi9cbiAgLS1idXR0b24tcHJpbWFyeS1jb2xvcjogI2RjZGJkODtcbiAgLS1idXR0b24tcHJpbWFyeS1iZy1jb2xvcjogIzVkMjMxMDtcbiAgLS1idXR0b24tcHJpbWFyeS1ib3JkZXItY29sb3I6ICM2MTI3MTQ7XG5cbiAgLyogTm90IHRoZSBiaWcgcmVkIGJ1dHRvbiAqL1xuICAtLWJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICNkY2RiZDg7XG4gIC0tYnV0dG9uLXNlY29uZGFyeS1iZy1jb2xvci10b3A6ICMxNzE5MWE7XG4gIC0tYnV0dG9uLXNlY29uZGFyeS1iZy1jb2xvci1ib3R0b206ICMxYTFjMWQ7XG4gIC0tYnV0dG9uLXNlY29uZGFyeS1ib3JkZXItY29sb3I6IGNvbG9yLW1peChcbiAgICBpbiBoc2wsXG4gICAgdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1iZy1jb2xvci1ib3R0b20pLFxuICAgIHZhcigtLW5lZ2F0aXZlLWx1bWluYW5jZSkgNDAlXG4gICk7XG5cbiAgLyogT3V0cHV0IHRhYnMgKi9cbiAgLS1vdXRwdXQtYmFja2dyb3VuZC10YWI6ICMzNDM0MzQ7XG4gIC0tb3V0cHV0LWN1cnJlbnQtdGFiOiAjMTkxYjFjO1xuXG4gIC8qIE91dHB1dCBjb21waWxlciBoaWdobGlnaHRpbmcgKi9cbiAgLS1vdXRwdXQtaGlnaGxpZ2h0LXdhcm5pbmctY29sb3I6ICNmZmU4MDA7XG4gIC0tb3V0cHV0LWhpZ2hsaWdodC13YXJuaW5nLWJnLWNvbG9yOiAjMzMwO1xuICAtLW91dHB1dC1oaWdobGlnaHQtZXJyb3ItY29sb3I6ICNmNWY1ZjU7XG4gIC0tb3V0cHV0LWhpZ2hsaWdodC1lcnJvci1iZy1jb2xvcjogIzgyMDAwMDtcbn1cblxuOnJvb3QsXG5bZGF0YS10aGVtZT0nbGlnaHQnXTpyb290IHtcbiAgQG1peGluIGxpZ2h0LXRoZW1lLXZhcnM7XG59XG5cbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgOnJvb3Qge1xuICAgIEBtaXhpbiBkYXJrLXRoZW1lLXZhcnM7XG4gIH1cbn1cblxuW2RhdGEtdGhlbWU9J2RhcmsnXTpyb290IHtcbiAgQG1peGluIGRhcmstdGhlbWUtdmFycztcbn1cblxuLyogTW9kaWZ5IG5vcm1hbGl6ZWQgc3R5bGVzICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogdmFyKC0tcHJpbWFyeS1mb250KTtcbiAgZm9udC1vcHRpY2FsLXNpemluZzogYXV0bztcbn1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmEge1xuICBjb2xvcjogdmFyKC0tbGluay1jb2xvcik7XG59XG5cbmE6dmlzaXRlZCB7XG4gIGNvbG9yOiB2YXIoLS1saW5rLWNvbG9yLXZpc2l0ZWQpO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgcGFkZGluZzogMCAxZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1wcmltYXJ5LWZvbnQpO1xuICBmb250LW9wdGljYWwtc2l6aW5nOiBhdXRvO1xuICBmb250LXNpemU6IHZhcigtLXByaW1hcnktZm9udC1zaXplKTtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cbjpnbG9iYWwoLmxhbmd1YWdlLXJ1c3RfZXJyb3JzKSB7XG4gICYgOmdsb2JhbCgud2FybmluZykge1xuICAgIGNvbG9yOiB2YXIoLS1vdXRwdXQtaGlnaGxpZ2h0LXdhcm5pbmctY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW91dHB1dC1oaWdobGlnaHQtd2FybmluZy1iZy1jb2xvcik7XG4gIH1cblxuICAmIDpnbG9iYWwoLmVycm9yKSB7XG4gICAgY29sb3I6IHZhcigtLW91dHB1dC1oaWdobGlnaHQtZXJyb3ItY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW91dHB1dC1oaWdobGlnaHQtZXJyb3ItYmctY29sb3IpO1xuICB9XG59XG4iLCIuY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubG9hZEV4YW1wbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjVlbTtcbiAgYmFja2dyb3VuZDogcmdiKDI1NSAyNTUgMjU1IC8gODAlKTtcbn1cblxuLmNvbnRhaW5lcjpob3ZlciAubG9hZEV4YW1wbGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xufVxuIiwiLmNvbnRhaW5lciB7XG4gIG1hcmdpbjogMWVtIGF1dG87XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWhpZ2gtY29udHJhc3QpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yLWhpZ2gtY29udHJhc3QpO1xuICBwYWRkaW5nOiAxZW07XG4gIG1heC13aWR0aDogODAwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG4uY29kZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvZGUtYmFja2dyb3VuZC1jb2xvcik7XG4gIHBhZGRpbmc6IDAgMC4yNWVtO1xufVxuXG4ubG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmxvZ29MaWdodCB7XG4gIGRpc3BsYXk6IGluaGVyaXQ7XG5cbiAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICA6cm9vdFtkYXRhLXRoZW1lPSdsaWdodCddICYge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gIH1cblxuICA6cm9vdFtkYXRhLXRoZW1lPSdkYXJrJ10gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubG9nb0Rhcmsge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICB9XG5cbiAgOnJvb3RbZGF0YS10aGVtZT0nbGlnaHQnXSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgOnJvb3RbZGF0YS10aGVtZT0nZGFyayddICYge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gIH1cbn1cblxuLmhlYWRlciB7XG4gICY6aG92ZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnIMKnJztcbiAgfVxufVxuXG4uaGVhZGVyTGluayB7XG4gIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuIiwiLmNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi5jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubmFtZSB7XG4gIGZsZXg6IDE7XG59XG5cbi5ub3REZWZhdWx0IHtcbiAgY29tcG9zZXM6IG5hbWU7XG4gIGNvbG9yOiB2YXIoLS1oZWFkZXItdGludCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi52YWx1ZSB7XG4gIGZsZXg6IDE7XG59XG5cbi5zZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1iZy1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1ib3JkZXItY29sb3IpO1xuICBjb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1jb2xvcik7XG5cbiAgJiBvcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYmctY29sb3ItdG9wKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1jb2xvcik7XG4gIH1cbn1cblxuLnRvZ2dsZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblxuICAmIGxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMCAxZW07XG4gICAgY29sb3I6ICM3Nzc7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogaHNsKDIwOGRlZyAxMDAlIDQzJSAvIDEwJSk7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWhlYWRlci1ib3JkZXItcmFkaXVzKSAwIDAgdmFyKC0taGVhZGVyLWJvcmRlci1yYWRpdXMpO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIH1cblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0taGVhZGVyLWJvcmRlci1yYWRpdXMpIHZhcigtLWhlYWRlci1ib3JkZXItcmFkaXVzKSAwO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgJiBpbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWhlYWRlci10aW50KTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICY6bm90KDpjaGVja2VkKSArIGxhYmVsIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2JiYjtcbiAgICB9XG4gIH1cbn1cbiIsIi5hc2lkZSB7XG4gIG1hcmdpbjogMC4yNWVtIDAgMDtcbiAgY29sb3I6ICM4ODg7XG59XG4iLCIuY29udGFpbmVyIHtcbiAgcGFkZGluZzogMC43NWVtIDFlbSAwO1xuICB3aWR0aDogMjdlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjc1ZW07XG4gIH1cbn1cblxuLnRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0taGVhZGVyLW1haW4tYm9yZGVyKTtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2Vjb25kYXJ5LWZvbnQtc2l6ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jb250ZW50IHtcbiAgcGFkZGluZzogMWVtIDAuMjVlbTtcbn1cbiIsIi4tYm9keU1vbm9zcGFjZSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG5cbiAgLyogaHR0cDovL2NvZGUuc3RlcGhlbm1vcmxleS5vcmcvaHRtbC1hbmQtY3NzL2ZpeGluZy1icm93c2Vycy1icm9rZW4tbW9ub3NwYWNlLWZvbnQtaGFuZGxpbmcvXG4gICAqIEFDRSB1c2VzIE1vbmFjbywgTWVubG8sIFwiVWJ1bnR1IE1vbm9cIiwgQ29uc29sYXMsIHNvdXJjZS1jb2RlLXBybywgbW9ub3NwYWNlO1xuICAgKi9cbiAgZm9udC1mYW1pbHk6ICdTb3VyY2UgQ29kZSBQcm8nLCBtb25vc3BhY2U7XG4gIGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87XG59XG5cbi4tYXV0b1NpemUge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi4tYnV0dG9uUmVzZXQge1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvcik7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIElFIDExICovXG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xufVxuXG4uLWJ1dHRvbkFzTGluayB7XG4gIGNvbXBvc2VzOiAtYnV0dG9uUmVzZXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHZhcigtLWxpbmstY29sb3IpO1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi4tbWVudUl0ZW1UaXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi4tbWVudUl0ZW1GdWxsQnV0dG9uIHtcbiAgY29tcG9zZXM6IC1idXR0b25SZXNldDtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0taGVhZGVyLXRyYW5zaXRpb24pO1xuICB3aWR0aDogMTAwJTtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG59XG4iLCIuY29udGFpbmVyIHtcbiAgY29tcG9zZXM6IC1tZW51SXRlbUZ1bGxCdXR0b24gZnJvbSAnLi9zaGFyZWQubW9kdWxlLmNzcyc7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWhlYWRlci10aW50KTtcbiAgfVxufVxuIiwiLm5hbWUge1xuICBjb21wb3NlczogLW1lbnVJdGVtVGl0bGUgZnJvbSAnLi9zaGFyZWQubW9kdWxlLmNzcyc7XG4gIG1hcmdpbjogMDtcbn1cblxuLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luOiAwO1xufVxuIiwiLmNvZGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2RlLWJhY2tncm91bmQtY29sb3IpO1xuICBwYWRkaW5nOiAwIDAuMjVlbTtcbn1cbiIsIiR3aWR0aDogMXB4O1xuJHJhZGl1czogNHB4O1xuXG4uc2V0IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLi1ib3JkZXIge1xuICBib3JkZXItd2lkdGg6ICR3aWR0aCAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItbGVmdC13aWR0aDogJHdpZHRoO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6ICR3aWR0aDtcbiAgfVxufVxuXG4uLWJ1dHRvbiB7XG4gIC0tYnV0dG9uLWdhcDogMC41ZW07XG4gIC0tYnV0dG9uLXNpZGUtcGFkZGluZzogMS4yNWVtO1xuICAtLWJ1dHRvbi1oZWlnaHQ6IDNlbTtcbiAgLS1idXR0b24tc2lkZS1pY29uLW51ZGdlOiAwLjI1ZW07XG5cbiAgY29tcG9zZXM6IC1idXR0b25SZXNldCBmcm9tICcuL3NoYXJlZC5tb2R1bGUuY3NzJztcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1idXR0b24tZ2FwKTtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwIHZhcigtLWJ1dHRvbi1zaWRlLXBhZGRpbmcpO1xuICBoZWlnaHQ6IHZhcigtLWJ1dHRvbi1oZWlnaHQpO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjplbmFibGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLnNtYWxsIHtcbiAgLS1idXR0b24tZ2FwOiAwLjI1ZW07XG4gIC0tYnV0dG9uLXNpZGUtcGFkZGluZzogMC43NWVtO1xuICAtLWJ1dHRvbi1oZWlnaHQ6IDIuNWVtO1xuICAtLWJ1dHRvbi1zaWRlLWljb24tbnVkZ2U6IDAuMTI1ZW07XG59XG5cbi5wcmltYXJ5IHtcbiAgY29tcG9zZXM6IC1ib3JkZXIgLWJ1dHRvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLXByaW1hcnktYmctY29sb3IpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJ1dHRvbi1wcmltYXJ5LWJvcmRlci1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1idXR0b24tcHJpbWFyeS1jb2xvcik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLXByaW1hcnktYmctY29sb3ItbGlnaHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnV0dG9uLXByaW1hcnktYm9yZGVyLWNvbG9yLWxpZ2h0KTtcbiAgfVxuXG4gICY6aG92ZXI6ZW5hYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLXByaW1hcnktYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICY6YWN0aXZlOmVuYWJsZWQge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA1cHggdmFyKC0tYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yKTtcbiAgfVxufVxuXG4uc2Vjb25kYXJ5IHtcbiAgY29tcG9zZXM6IC1ib3JkZXIgLWJ1dHRvbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1iZy1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1ib3JkZXItY29sb3IpO1xuICBjb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1jb2xvcik7XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tc2Vjb25kYXJ5LWJnLWNvbG9yLWxpZ2h0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yLWxpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1jb2xvci1saWdodCk7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yKTtcbiAgfVxuXG4gICY6aG92ZXI6ZW5hYmxlZCB7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tc2Vjb25kYXJ5LWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmOmFjdGl2ZTplbmFibGVkIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yKTtcbiAgfVxufVxuXG4uaWNvbkxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC0xICogdmFyKC0tYnV0dG9uLXNpZGUtaWNvbi1udWRnZSkpLCAwKTtcbn1cblxuLmljb25SaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLWJ1dHRvbi1zaWRlLWljb24tbnVkZ2UpLCAwKTtcbn1cblxuLnJ1bGUge1xuICBjb21wb3NlczogLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLXNlY29uZGFyeS1ib3JkZXItY29sb3IpO1xuICB3aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6IHZhcigtLWJ1dHRvbi1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTtcbn1cblxuLmljb24ge1xuICBjb21wb3Nlczogc2Vjb25kYXJ5O1xuICBwYWRkaW5nOiAwO1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xufVxuIiwiLmljb24ge1xuICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLmNvbnRhaW5lciB7XG4gIGNvbXBvc2VzOiAtbWVudUl0ZW1GdWxsQnV0dG9uIGZyb20gJy4vc2hhcmVkLm1vZHVsZS5jc3MnO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItdGludCk7XG4gIH1cbn1cblxuLnNlbGVjdGVkIHtcbiAgY29tcG9zZXM6IGNvbnRhaW5lcjtcbiAgY29sb3I6IHZhcigtLWhlYWRlci10aW50KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5uYW1lIHtcbiAgY29tcG9zZXM6IC1tZW51SXRlbVRpdGxlIGZyb20gJy4vc2hhcmVkLm1vZHVsZS5jc3MnO1xufVxuXG4uZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cblxuLmNoZWNrbWFyayB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG5cbi5zZWxlY3RlZCAuY2hlY2ttYXJrLFxuLnNlbGVjdGVkOmhvdmVyIC5jaGVja21hcmsge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uY29udGFpbmVyOmhvdmVyIC5jaGVja21hcmsge1xuICBvcGFjaXR5OiAwLjU7XG4gIGNvbG9yOiB2YXIoLS1oZWFkZXItdGludCk7XG59XG4iLCIuZGVzY3JpcHRpb24ge1xuICBtYXJnaW46IDA7XG59XG4iLCIkYXJyb3ctaGVpZ2h0OiAxMHB4O1xuJGFycm93LXdpZHRoOiAyMHB4O1xuXG4uY29udGFpbmVyIHtcbiAgei1pbmRleDogMTA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2Vjb25kYXJ5LWZvbnQtc2l6ZSk7XG5cbiAgJiBidXR0b246ZW5hYmxlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5hcnJvdyB7XG4gIGZpbGw6IHZhcigtLWJhY2tncm91bmQtY29sb3ItaGlnaC1jb250cmFzdCk7XG59XG5cbi4tY29udGVudCB7XG4gIG1hcmdpbjogJGFycm93LWhlaWdodDtcbiAgYm94LXNoYWRvdzpcbiAgICA1cHggNXB4IDIwcHggLTNweCByZ2IoMCAwIDAgLyAyNSUpLFxuICAgIDAgMCA1cHggLTJweCByZ2IoMCAwIDAgLyA5MCUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1oZWFkZXItYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtY29sb3ItaGlnaC1jb250cmFzdCk7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yKTtcbn1cblxuLmNvbnRlbnRCb3R0b20ge1xuICBjb21wb3NlczogLWNvbnRlbnQ7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jb250ZW50VG9wIHtcbiAgY29tcG9zZXM6IC1jb250ZW50O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuIiwiLmNvbnRhaW5lcixcbi5sZWZ0LFxuLnJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjVlbTtcbn1cblxuLmNvbnRhaW5lciB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2Vjb25kYXJ5LWZvbnQtc2l6ZSk7XG4gIHBhZGRpbmc6IDEuMjVlbSAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4iLCIkYnVmZmVyOiAwLjVlbTtcbiRzcGFjZTogMC4yNWVtO1xuXG4uY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogJGJ1ZmZlcjtcbiAgYm90dG9tOiAkYnVmZmVyO1xuICBsZWZ0OiAkYnVmZmVyO1xuICB6LWluZGV4OiAxMDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgYm9yZGVyOiAycHggc29saWQgIzQyOGJjYTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XG4gIG1heC13aWR0aDogNTBlbTtcbn1cblxuLm5vdGlmaWNhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5ub3RpZmljYXRpb25Db250ZW50IHtcbiAgcGFkZGluZzogJHNwYWNlIDAgJHNwYWNlICRzcGFjZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jbG9zZSB7XG4gIGNvbXBvc2VzOiAtYnV0dG9uUmVzZXQgZnJvbSAnLi9zaGFyZWQubW9kdWxlLmNzcyc7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogJHNwYWNlO1xufVxuXG4uYWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgZ2FwOiAwLjVlbTtcbn1cblxuLnN3YXBUaGVtZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuIiwiLmNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyKTtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMiU7XG4gIH1cbn1cbiIsIi5jb2RlIHtcbiAgY29tcG9zZXM6IC1ib2R5TW9ub3NwYWNlIGZyb20gJy4uL3NoYXJlZC5tb2R1bGUuY3NzJztcbn1cbiIsIkBrZXlmcmFtZXMgbG9hZGVyLWZhZGUge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZG90IHtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiBsb2FkZXItZmFkZSAxcztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG5cbiAgJjpudGgtY2hpbGQoMikge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4ycztcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDMpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNHM7XG4gIH1cbn1cbiIsIi5jb250YWluZXIge1xuICBjb21wb3NlczogLWJvZHlNb25vc3BhY2UgZnJvbSAnLi4vc2hhcmVkLm1vZHVsZS5jc3MnO1xufVxuIiwiLmFkZE1haW4ge1xuICBjb21wb3NlczogLWJ1dHRvbkFzTGluayBmcm9tICcuLi9zaGFyZWQubW9kdWxlLmNzcyc7XG59XG4iLCIuY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAtLWNvcGllZC1kdXJhdGlvbjogMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5idXR0b24ge1xuICBjb21wb3NlczogLWJ1dHRvblJlc2V0IGZyb20gJy4uL3NoYXJlZC5tb2R1bGUuY3NzJztcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tY29waWVkLWR1cmF0aW9uKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW46IDAgMC4yNWVtIDAgMC41ZW07XG59XG5cbi50ZXh0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOlxuICAgIHZpc2liaWxpdHkgdmFyKC0tY29waWVkLWR1cmF0aW9uKSxcbiAgICBvcGFjaXR5IHZhcigtLWNvcGllZC1kdXJhdGlvbiksXG4gICAgY29sb3IgdmFyKC0tY29waWVkLWR1cmF0aW9uKTtcbn1cblxuLmFjdGl2ZSB7XG4gIGNvbXBvc2VzOiBjb250YWluZXI7XG5cbiAgJiAuYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwcztcbiAgICBjb2xvcjogZ3JlZW47XG4gIH1cblxuICAmIC50ZXh0IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHZpc2liaWxpdHkgMHMsXG4gICAgICBvcGFjaXR5IDBzLFxuICAgICAgY29sb3IgMHM7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG59XG4iLCIuY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udGFiIHtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3IpO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IHZhcigtLWJvcmRlcik7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3V0cHV0LWJhY2tncm91bmQtdGFiKTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXIpO1xuICB9XG59XG5cbi50YWJTZWxlY3RlZCB7XG4gIGNvbXBvc2VzOiB0YWI7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3V0cHV0LWN1cnJlbnQtdGFiKTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbi50YWJDbG9zZSB7XG4gIGNvbXBvc2VzOiB0YWI7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uYm9keSB7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyKTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tb3V0cHV0LWN1cnJlbnQtdGFiKTtcbiAgcGFkZGluZzogMC41ZW07XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLnN0ZGluIHtcbiAgbWFyZ2luLXRvcDogMC4yNWVtO1xufVxuIiwiLmZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuMjVlbTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4ubXVsdGlMaW5lIHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLnRleHQsXG4uc2l6ZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMjVlbTtcbiAgZ3JpZC1hcmVhOiAxIC8gMSAvIDIgLzI7XG4gIG1heC1oZWlnaHQ6IDMuNWxoO1xufVxuXG4udGV4dCB7XG4gIHJlc2l6ZTogbm9uZTtcbn1cblxuLnNpemVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbi5idXR0b25zIHtcbiAgZm9udC1zaXplOiB2YXIoLS1zZWNvbmRhcnktZm9udC1zaXplKTtcbn1cblxuLm1lbnUge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5idXR0b24ge1xuICBjb21wb3NlczogLW1lbnVJdGVtRnVsbEJ1dHRvbiBmcm9tICcuL3NoYXJlZC5tb2R1bGUuY3NzJztcbiAgcGFkZGluZzogMWVtO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItdGludCk7XG4gIH1cbn1cbiIsIi5jb250YWluZXIge1xuICBjb21wb3NlczogLWF1dG9TaXplIGZyb20gJy4uL3NoYXJlZC5tb2R1bGUuY3NzJztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uLWFkdmFuY2VkIHtcbiAgY29tcG9zZXM6IC1ib2R5TW9ub3NwYWNlIC1hdXRvU2l6ZSBmcm9tICcuLi9zaGFyZWQubW9kdWxlLmNzcyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmFjZSB7XG4gIGNvbXBvc2VzOiAtYWR2YW5jZWQ7XG59XG5cbi5tb25hY28ge1xuICBjb21wb3NlczogLWFkdmFuY2VkO1xufVxuXG4uc2ltcGxlIHtcbiAgY29tcG9zZXM6IC1hZHZhbmNlZDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cbiIsIi5jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuXG4ucGxheWdyb3VuZCB7XG4gIGNvbXBvc2VzOiAtYXV0b1NpemUgZnJvbSAnLi9zaGFyZWQubW9kdWxlLmNzcyc7XG5cbiAgLS1taW5pbXVtOiAxMDBweDtcbiAgLS1ndXR0ZXItZGltZW5zaW9uOiAxMnB4O1xuICAtLWZpbmFsLWVkaXRvci1kaW1lbnNpb246IG1pbm1heCh2YXIoLS1taW5pbXVtKSwgMWZyKTtcbiAgLS1maW5hbC1vdXRwdXQtd2lkdGg6IG1pbm1heCh2YXIoLS1taW5pbXVtKSwgdmFyKC0tb3V0cHV0LXdpZHRoLCAxZnIpKTtcblxuICAvKiBFbnN1cmUgdGhlIG91dHB1dCBoZWlnaHQgbGVhdmVzIHJvb20gZm9yIHRoZSBlZGl0b3IgYW5kIHRoZVxuICAgKiBndXR0ZXIuIE90aGVyd2lzZSwgdGhlIG91dHB1dCBjYW4gZ3JvdyBzdWNoIHRoYXQgdGhlIChlZGl0b3IgK1xuICAgKiBndXR0ZXIgKyBvdXRwdXQpIGhlaWdodCBjYXVzZXMgdGhlIHdob2xlIGNvbnRhaW5lciB0byBncm93LlxuICAgKi9cbiAgLS1vdXRwdXQtaGVpZ2h0LWNhcDogbWluKFxuICAgIHZhcigtLW91dHB1dC1oZWlnaHQpLFxuICAgIGNhbGMoMTAwJSAtIHZhcigtLW1pbmltdW0pIC0gdmFyKC0tZ3V0dGVyLWRpbWVuc2lvbikpXG4gICk7XG4gIC0tZmluYWwtb3V0cHV0LWhlaWdodDogbWlubWF4KHZhcigtLW1pbmltdW0pLCB2YXIoLS1vdXRwdXQtaGVpZ2h0LWNhcCwgMWZyKSk7XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogJ2VlZSc7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tZmluYWwtZWRpdG9yLWRpbWVuc2lvbik7XG59XG5cbi5wbGF5Z3JvdW5kW2RhdGEtb3JpZW50YXRpb249J2hvcml6b250YWwnXVtkYXRhLW91dHB1dC1tb2RlPSdmdWxsJ10ge1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICdlZWUnXG4gICAgJ2VvZydcbiAgICAnb29vJztcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOlxuICAgIHZhcigtLWZpbmFsLWVkaXRvci1kaW1lbnNpb24pXG4gICAgdmFyKC0tZ3V0dGVyLWRpbWVuc2lvbilcbiAgICB2YXIoLS1maW5hbC1vdXRwdXQtaGVpZ2h0KTtcbn1cblxuLnBsYXlncm91bmRbZGF0YS1vcmllbnRhdGlvbj0naG9yaXpvbnRhbCddW2RhdGEtb3V0cHV0LW1vZGU9J3NsaW0nXSB7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgJ2VlZSdcbiAgICAnb29vJztcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOlxuICAgIHZhcigtLWZpbmFsLWVkaXRvci1kaW1lbnNpb24pXG4gICAgYXV0bztcbn1cblxuLnBsYXlncm91bmRbZGF0YS1vcmllbnRhdGlvbj0ndmVydGljYWwnXVtkYXRhLW91dHB1dC1tb2RlPSdmdWxsJ10ge1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiAnZWVlIGVvZyBvb28nO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6XG4gICAgdmFyKC0tZmluYWwtZWRpdG9yLWRpbWVuc2lvbilcbiAgICB2YXIoLS1ndXR0ZXItZGltZW5zaW9uKVxuICAgIHZhcigtLWZpbmFsLW91dHB1dC13aWR0aCk7XG59XG5cbi5wbGF5Z3JvdW5kW2RhdGEtb3JpZW50YXRpb249J3ZlcnRpY2FsJ11bZGF0YS1vdXRwdXQtbW9kZT0nc2xpbSddIHtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogJ2VlZSBvb28nO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6XG4gICAgdmFyKC0tZmluYWwtZWRpdG9yLWRpbWVuc2lvbilcbiAgICBhdXRvO1xufVxuXG4uZWRpdG9yIHtcbiAgZ3JpZC1hcmVhOiBlZWU7XG4gIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmVkaXRvck91dHB1dEd1dHRlciB7XG4gIGdyaWQtYXJlYTogZW9nO1xufVxuXG4ub3V0cHV0IHtcbiAgY29tcG9zZXM6IC1hdXRvU2l6ZSBmcm9tICcuL3NoYXJlZC5tb2R1bGUuY3NzJztcbiAgZ3JpZC1hcmVhOiBvb287XG59XG5cbi5ndXR0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmd1dHRlcltkYXRhLW9yaWVudGF0aW9uPSd2ZXJ0aWNhbCddIHtcbiAgY3Vyc29yOiBjb2wtcmVzaXplO1xufVxuXG4uZ3V0dGVySGFuZGxlIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5ndXR0ZXJbZGF0YS1vcmllbnRhdGlvbj0naG9yaXpvbnRhbCddIHtcbiAgY3Vyc29yOiByb3ctcmVzaXplO1xuXG4gICYgLmd1dHRlckhhbmRsZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/