#line-settings-popup {
  width: 312px;
  height: 480px;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Whole number selected states. */
  /* Use & notation because popup's selected data attribute is set on the
  highest level of the popup so all elements can make use of it. */
}
#line-settings-popup #line-settings-popup-box {
  left: 30%;
}
#line-settings-popup input {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto;
  font-size: 16px;
}
#line-settings-popup ul {
  margin: 0 -16px;
  padding: 0;
  list-style-type: none;
}
#line-settings-popup ul li {
  padding: 0 16px;
  display: flex;
  align-items: center;
  /* Matches the popup-divider color. Doesn't have a variable. */
  border-bottom: #CCC solid 1px;
  cursor: pointer;
  height: 48px;
}
#line-settings-popup ul li.selected {
  background-color: #8EC6E5;
  border: none;
}
#line-settings-popup ul li:last-child {
  border-bottom: 0;
}
#line-settings-popup ul li .line-setting-label {
  margin-right: auto;
}
#line-settings-popup .header {
  justify-content: flex-start;
  height: 48px;
  padding: 0 16px;
}
#line-settings-popup .header .whole-numbers-title,
#line-settings-popup .header .fraction-numbers-title,
#line-settings-popup .header .decimal-numbers-title {
  display: none;
}
#line-settings-popup .header.wholes .title,
#line-settings-popup .header.fractions .title,
#line-settings-popup .header.decimals .title {
  display: none;
}
#line-settings-popup .header.wholes .whole-numbers-title {
  display: block;
}
#line-settings-popup .header.fractions .fraction-numbers-title {
  display: block;
}
#line-settings-popup .header.decimals .decimal-numbers-title {
  display: block;
}
#line-settings-popup .header .back-button {
  /* By default hide the back button. */
  display: none;
  width: 48px;
  height: 48px;
  margin-left: -16px;
  background-image: url('../../1588984088329/images/dialogs/triangle-arrow-light@2x.png');
  background-repeat: no-repeat;
  background-size: 16px 20px;
  background-position: center;
  transform: scaleX(-1);
}
#line-settings-popup .header .close-button {
  width: 64px;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
  margin-right: -16px;
  margin-left: auto;
  font-weight: normal;
  font-size: 16px;
}
#line-settings-popup .header.low .back-button {
  display: block;
}
#line-settings-popup .content {
  display: flex;
  flex-direction: row;
  padding: 0 16px 16px 16px;
  width: calc(200%);
  height: 432px;
  padding-top: 0;
  position: relative;
  transform: translate(0px, 0px);
  transition: transform 0.35s;
  /* When viewing a low-level list, show the right half of the content. */
}
#line-settings-popup .content.low {
  transform: translate(-50%, 0px);
}
#line-settings-popup .settings-menu {
  width: 50%;
}
#line-settings-popup .forward {
  height: 48px;
  width: 16px;
  margin-left: 16px;
  background-image: url('../../1588984088329/images/dialogs/triangle-arrow-medium@2x.png');
  background-repeat: no-repeat;
  background-size: 16px 20px;
  background-position: center;
}
#line-settings-popup[selected="1"] .high-level-settings .whole-numbers,
#line-settings-popup[selected="2"] .high-level-settings .whole-numbers,
#line-settings-popup[selected="5"] .high-level-settings .whole-numbers,
#line-settings-popup[selected="10"] .high-level-settings .whole-numbers,
#line-settings-popup[selected="25"] .high-level-settings .whole-numbers,
#line-settings-popup[selected="100"] .high-level-settings .whole-numbers,
#line-settings-popup[selected="custom"] .high-level-settings .whole-numbers {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-whole-01.png');
}
#line-settings-popup[selected="1"] [data-value="1"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="2"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-whole-02.png');
}
#line-settings-popup[selected="2"] [data-value="2"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="5"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-whole-03.png');
}
#line-settings-popup[selected="5"] [data-value="5"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="10"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-whole-04.png');
}
#line-settings-popup[selected="10"] [data-value="10"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="25"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-whole-05.png');
}
#line-settings-popup[selected="25"] [data-value="25"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="100"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-whole-06.png');
}
#line-settings-popup[selected="100"] [data-value="100"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="custom"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-custom.png');
}
#line-settings-popup[selected="custom"] .whole-numbers[data-value="custom"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/2"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/3"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/4"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/5"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/6"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/8"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/9"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/10"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/12"] .high-level-settings .fraction-numbers {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/2"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-01.png');
}
#line-settings-popup[selected="1/2"] [data-value="1/2"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/3"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-02.png');
}
#line-settings-popup[selected="1/3"] [data-value="1/3"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/4"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-03.png');
}
#line-settings-popup[selected="1/4"] [data-value="1/4"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/5"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-04.png');
}
#line-settings-popup[selected="1/5"] [data-value="1/5"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/6"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-05.png');
}
#line-settings-popup[selected="1/6"] [data-value="1/6"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/8"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-06.png');
}
#line-settings-popup[selected="1/8"] [data-value="1/8"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/9"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-07.png');
}
#line-settings-popup[selected="1/9"] [data-value="1/9"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/10"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-08.png');
}
#line-settings-popup[selected="1/10"] [data-value="1/10"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/12"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-09.png');
}
#line-settings-popup[selected="1/12"] [data-value="1/12"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.1"] .high-level-settings .decimal-numbers,
#line-settings-popup[selected="0.01"] .high-level-settings .decimal-numbers,
#line-settings-popup[selected="0.001"] .high-level-settings .decimal-numbers,
#line-settings-popup[selected="0.5"] .high-level-settings .decimal-numbers,
#line-settings-popup[selected="0.25"] .high-level-settings .decimal-numbers,
#line-settings-popup[selected="0.125"] .high-level-settings .decimal-numbers {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.1"] .decimal-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-decimals-01.png');
}
#line-settings-popup[selected="0.1"] [data-value="0.1"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.01"] .decimal-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-decimals-02.png');
}
#line-settings-popup[selected="0.01"] [data-value="0.01"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.001"] .decimal-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-decimals-03.png');
}
#line-settings-popup[selected="0.001"] [data-value="0.001"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.5"] .decimal-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-decimals-04.png');
}
#line-settings-popup[selected="0.5"] [data-value="0.5"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.25"] .decimal-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-decimals-05.png');
}
#line-settings-popup[selected="0.25"] [data-value="0.25"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.125"] .decimal-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-decimals-06.png');
}
#line-settings-popup[selected="0.125"] [data-value="0.125"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="no-numbers"] .high-level-settings .no-numbers,
#line-settings-popup[selected="no-ticks"] .high-level-settings .no-ticks {
  background-color: #8EC6E5;
}
#line-settings-popup .high-level-settings {
  margin-right: 16px;
}
#line-settings-popup .high-level-settings .no-numbers,
#line-settings-popup .high-level-settings .no-ticks {
  padding-right: 48px;
}
#line-settings-popup .high-level-settings .numbering-class.selected .forward {
  background-image: url('../../1588984088329/images/dialogs/triangle-arrow-light@2x.png');
}
#line-settings-popup .low-level-settings {
  margin-left: 16px;
  /* By default, hide all submenus. */
  /* Show submenus when active. */
}
#line-settings-popup .low-level-settings .submenu {
  display: none;
}
#line-settings-popup .low-level-settings .submenu .line-setting-label {
  font-weight: bold;
}
#line-settings-popup .low-level-settings .whole-submenu .choose-custom {
  height: 68px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#line-settings-popup .low-level-settings .whole-submenu .choose-custom .line-setting-label {
  margin-right: 0;
  font-weight: normal;
}
#line-settings-popup .low-level-settings .whole-submenu .choose-custom .line-custom-input-container {
  display: flex;
  width: 80px;
}
#line-settings-popup .low-level-settings .whole-submenu .choose-custom .line-custom-input-container input {
  height: 36px;
  width: 40px;
  border-right: none;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
#line-settings-popup .low-level-settings .whole-submenu .choose-custom .line-custom-input-container button {
  height: 36px;
  width: 40px;
  margin: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
#line-settings-popup .low-level-settings[active="whole"] .whole-submenu {
  display: block;
}
#line-settings-popup .low-level-settings[active="fraction"] .fraction-submenu {
  display: block;
}
#line-settings-popup .low-level-settings[active="decimal"] .decimal-submenu {
  display: block;
}
#line-settings-popup .popup-divider {
  /* Override core divider margins. */
  margin: 0 -16px;
  flex-basis: 4px;
  height: 4px;
  background: #0081c6;
}
#line-settings-popup .spacing-container {
  height: 116px;
}
#line-settings-popup .spacing-container .spacing-header {
  height: 44px;
  display: flex;
  align-items: center;
}
#line-settings-popup .spacing-container .ticks {
  margin-bottom: 16px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
#line-settings-popup .spacing-container .ticks .spacing-value {
  border: 2px solid #333;
  border-radius: 3px;
  width: 88px;
  height: 56px;
  display: flex;
  justify-content: center;
  background-repeat: no-repeat;
  background-position: center;
}
#line-settings-popup .spacing-container .ticks .spacing-value.disabled {
  border-color: #000;
  opacity: 0.33;
}
#line-settings-popup .spacing-container .ticks .spacing-value.selected:not(.disabled) {
  border-color: transparent;
  background-color: #8EC6E5;
}
#line-settings-popup .spacing-container .ticks .spacing-value.narrow-spacing {
  background-image: url('../../1588984088329/images/dialogs/spacing-narrow.png');
}
#line-settings-popup .spacing-container .ticks .spacing-value.medium-spacing {
  background-image: url('../../1588984088329/images/dialogs/spacing-medium.png');
}
#line-settings-popup .spacing-container .ticks .spacing-value.wide-spacing {
  background-image: url('../../1588984088329/images/dialogs/spacing-wide.png');
}
#line-settings-popup .start-at-container {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  height: 68px;
  padding: 16px 0;
}
#line-settings-popup .start-at-container .start-at-label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-right: 1em;
}
#line-settings-popup .start-at-container .start-at-input-container {
  display: flex;
  width: 100px;
}
#line-settings-popup .start-at-container .start-at-input-container input {
  width: 60px;
  border: 2px solid #333;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  height: 36px;
}
#line-settings-popup .start-at-container .start-at-input-container input:disabled {
  border-color: #BBB;
}
#line-settings-popup .start-at-container .start-at-input-container button {
  background: transparent;
  color: #333;
  border: 2px solid #333;
  margin: 0;
  height: 36px;
  width: 40px;
  border-left: none;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  padding: 0;
}
#line-settings-popup .start-at-container .start-at-input-container button:disabled {
  border-color: #BBB;
  color: #BBB;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}
html,
body {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}
body {
  font-family: Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  overflow: hidden;
  touch-action: none;
  user-drag: none;
  -ms-content-zooming: none;
  color: #333;
  font-size: 100%;
  background-image: url('../../1588984088329/images/canvas-pattern.png');
}
main {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
button {
  background: none;
  outline: none;
  padding: 0;
  margin: 0;
  border: 0;
  color: inherit;
  font: inherit;
  line-height: normal;
  overflow: visible;
  cursor: pointer;
}
.hidden {
  display: none;
}
.light-on-dark {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.soft-shadow {
  box-shadow: 0 0 300px rgba(0, 0, 0, 0.25);
}
#canvas {
  order: 2;
  flex: 1 0;
  background-color: #f8f8f8;
  outline: none;
}
/* Adds an alpha tag to a canvas. */
.alpha-tag::after {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "ALPHA";
  font-size: 1.5em;
  background: #551A8B;
  opacity: 0.75;
  position: absolute;
  padding: 0.2em 0.4em;
  top: 0.3em;
  right: 0.9em;
  color: #fff;
  border-radius: 3px;
  font-weight: 600;
  pointer-events: none;
}
/* Adds a beta tag to a canvas. */
.beta-tag::after {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "BETA";
  font-size: 1.5em;
  background: #0273af;
  opacity: 0.75;
  position: absolute;
  padding: 0.2em 0.4em;
  top: 0.3em;
  right: 0.9em;
  color: #fff;
  border-radius: 3px;
  font-weight: 600;
  pointer-events: none;
}
/* -----
Toolbar
----- */
#toolbar {
  order: 3;
  flex: 0 0 48px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  background: #0081c6;
  margin: 0;
  padding: 0;
}
#toolbar.top {
  order: 1;
}
#toolbar.top .popup {
  bottom: auto;
  top: 64px;
}
#toolbar.top .popup::after {
  top: -24px;
  background: url('../../1588984088329/images/toolbar/popup-tail-top.svg') no-repeat;
}
#toolbar.top .popup .popup-body {
  border-radius: 10px;
}
#toolbar.top .popup.tail-right .popup-body {
  border-top-right-radius: 0;
}
#toolbar.top .popup.tail-right::after {
  background-position: 24px 0;
  right: 48px;
}
#toolbar.top .popup.tail-left .popup-body {
  border-top-left-radius: 0;
}
#toolbar.top .popup.tail-left::after {
  background-position: -24px 0;
  left: 48px;
}
#toolbar .toolbar-spacer {
  display: flex;
  flex-grow: 1;
}
#toolbar .divider {
  height: 48px;
  -ms-flex: 0 0 16px;
  flex: 0 0 16px;
  background-image: url('../../1588984088329/images/toolbar/divider.png');
  background-repeat: no-repeat;
  background-position: center;
}
#toolbar .button-group {
  position: relative;
  height: 48px;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}
#toolbar .popup {
  bottom: 64px;
}
#toolbar .toolbar-button {
  height: 48px;
  width: 64px;
  background-repeat: no-repeat;
  background-position: center;
}
#toolbar .toolbar-button.narrow {
  width: 40px;
}
#toolbar .toolbar-button.wide {
  width: 96px;
}
#toolbar .toolbar-button.disabled,
#toolbar .toolbar-button:active {
  opacity: 0.5;
}
.text-button {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #629d34;
  color: white;
  padding: 0.8em 0;
  font-size: 0.825em;
  border-radius: 3px;
  font-weight: 600;
  letter-spacing: 0.025em;
  word-spacing: 0.1em;
  white-space: nowrap;
}
.text-button:hover {
  opacity: 0.8;
}
.text-button:active {
  background-color: #4a7727;
}
.text-button:disabled {
  background-color: #b2b2b2;
  cursor: default;
}
.text-button:disabled:hover {
  background-color: #b2b2b2;
  opacity: 1;
}
.button-field {
  display: flex;
  flex-direction: row;
}
.button-field input {
  border: 1px solid #CCC;
  border-right: none;
  border-radius: 3px 0 0 3px;
  box-shadow: inset 2px 2px 5px #CCC;
  padding: 5px;
  font-size: 0.9em;
  margin: 0;
  flex-grow: 1;
}
.button-field button {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
/* -----
Dialog
----- */
/* jquery dialogs */
#dialog-modal {
  display: none;
}
/* background overlay */
.ui-front {
  z-index: 101;
  /* same as toolbar or higher */
}
.ui-widget-overlay {
  background: none repeat scroll 0 0 gray;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* our app's generic dialog */
.ui-dialog.alert {
  padding: 0;
  background-image: none;
  background-color: #FFFFFF;
  border-radius: 8px;
  overflow: hidden;
  outline: none;
}
.ui-dialog.alert .ui-dialog-titlebar {
  padding-top: 20px;
  font-family: Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: bold;
  color: #000000;
  background: none;
  border: none;
  text-align: center;
  font-size: 16px;
}
.ui-dialog.alert .ui-dialog-titlebar .ui-dialog-title.no-title {
  /* Fix to JQuery UI 1.12 update where empty titles
      are replaced with an nbsp;.
      Manually hiding to prevent extra padding.
   */
  display: none;
}
.ui-dialog.alert .ui-dialog-titlebar-close {
  display: none;
}
.ui-dialog.alert .ui-dialog-content {
  font-family: Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 16px;
  text-align: center;
  padding: 5px 20px 20px;
  line-height: 1.2em;
}
.ui-dialog.alert .ui-dialog-buttonpane {
  margin: 0;
  padding: 0;
}
.ui-dialog.alert .ui-dialog-buttonset {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  border-top: solid 1px #BBB;
}
.ui-dialog.alert .ui-button {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 35px;
  background: none;
  border: none;
  color: #1C81C4;
  /*font-size: 14px;*/
  /*text-transform: uppercase;*/
}
.ui-dialog.alert.confirm .ui-button {
  width: 50%;
}
.ui-dialog.alert.confirm .ui-button:first-child {
  border-right: solid 1px #BBB;
}
.ui-dialog.alert .ui-button:hover {
  background-color: #F7F7F7;
}
.ui-dialog.alert .ui-button:active {
  background-color: #DDD;
}
.ui-dialog.alert.has-close button.ui-dialog-titlebar-close {
  display: block;
  position: absolute;
  color: transparent;
  top: 0;
  right: 0;
  border-radius: 18px;
  margin: 5px;
  width: 36px;
  background: black url('../../1588984088329/images/toolbar/icon-trash.png') no-repeat center;
}
.ui-dialog.alert.has-close button.ui-dialog-titlebar-close:hover {
  background-color: darkgrey;
}
#templates {
  display: none;
}
/* -----
  Modal styles
----- */
.modal-backdrop {
  height: 100vh;
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .modal-backdrop {
    height: 200vh;
    width: 200vw;
    transform: translateX(-50%), translateY(-50%);
  }
}
.modal {
  z-index: 100;
}
.modal.dark-backdrop .modal-backdrop {
  background-color: rgba(108, 118, 128, 0.5);
}
.modal.popup {
  position: absolute;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .modal.popup {
    transform: translateX(-50%);
    left: 50%;
  }
}
.modal.popup::after {
  content: '';
  position: absolute;
  bottom: -24px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  height: 24px;
  width: 48px;
  background: url('../../1588984088329/images/toolbar/popup-tail.svg') no-repeat;
}
.modal.popup.tail-right .popup-body {
  transform: translateX(-50%);
  border-bottom-right-radius: 0;
}
.modal.popup.tail-right::after {
  background-position: 24px 0;
  right: 48px;
}
.modal.popup.tail-left .popup-body {
  transform: translateX(50%);
  border-bottom-left-radius: 0;
}
.modal.popup.tail-left::after {
  background-position: -24px 0;
  left: 48px;
}
.modal.dialog {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}
.modal.dialog.hidden {
  display: none;
}
.modal.dialog .modal-box {
  top: -24px;
}
.modal-box {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}
.modal-box .content {
  background: white;
}
.modal-box .header {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 15px;
  background: #0081c6;
  color: white;
  height: 46px;
  font-weight: 600;
  font-size: 1.1em;
}
.modal-box .header .close-button {
  height: 46px;
  width: 46px;
  background: url('../../1588984088329/images/toolbar/close.svg') no-repeat center;
  background-size: 40%;
}
.modal-box .header .close-button.close-dark {
  background-image: url('../../1588984088329/images/toolbar/close-dark.svg');
}
.modal-box .header .close-button:active {
  opacity: 0.5;
}
.modal.alert .modal-box {
  display: flex;
  flex-flow: column nowrap;
  width: 300px;
  text-align: center;
  position: relative;
  top: -24px;
}
.modal.alert .title {
  margin: 20px 20px 0;
  font-weight: 600;
}
.modal.alert .message {
  margin: 0.5em 20px 20px;
}
.modal.alert .button-container {
  display: flex;
  flex-flow: row wrap;
}
.modal.alert .button-container button {
  color: #1C81C4;
  flex: 1 0 100%;
  padding: 0.5em 0;
  border-top: 1px solid #BBB;
}
.modal.alert .button-container button:nth-last-child(-n + 2):first-child,
.modal.alert .button-container button:nth-last-child(-n + 2):first-child ~ button {
  flex: 1 0 40%;
}
.modal.alert .button-container button:first-child:nth-last-child(2) {
  border-right: 1px solid #BBB;
}
.modal.alert .button-container button:hover {
  background-color: #e6e6e6;
}
.modal.alert .button-container button:hover:active {
  background-color: #cccccc;
}
.modal.alert .button-container button.default {
  background-color: #afd8ee;
  color: #0a609a;
  animation: pulse-alert-default 3s ease infinite;
}
.modal.alert .button-container button.default:hover {
  background-color: #9aceea;
  animation: none;
}
.modal.alert .button-container button.default:hover:active {
  background-color: #85c3e5;
}
@keyframes pulse-alert-default {
  0% {
    background-color: #afd8ee;
  }
  50% {
    background-color: #daeef9;
  }
  100% {
    background-color: #afd8ee;
  }
}
.modal.popup {
  user-select: text;
  -moz-user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
  -webkit-user-drag: auto;
}
.modal.popup .content {
  background-color: white;
  padding: 15px;
  display: flex;
  flex-direction: column;
}
.modal.popup .description {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  margin-bottom: 0.75em;
}
.modal.popup .description .description-icon {
  height: 24px;
  width: 24px;
  margin-right: 0.5em;
}
.modal.popup .description .description-icon.short {
  height: 20px;
}
.modal.popup .text-button {
  margin: 0 5px;
  padding-left: 0;
  padding-right: 0;
  flex-basis: 0;
  flex-grow: 1;
}
.modal.popup input {
  height: 100%;
  padding: 0 0.5em;
  border: 1px solid #CCC;
  border-radius: 3px;
  box-shadow: inset 2px 2px 5px #CCC;
  margin: 0;
}
.modal.popup .modal-box {
  position: relative;
}
.modal.popup .popup-divider {
  margin: 1em -15px;
  flex-grow: 0;
  flex-basis: 2px;
  background: #CCC;
}
#save-popup {
  width: 380px;
}
#save-popup .modal-box {
  right: 130px;
}
#save-popup #share-image-ui-container,
#save-popup #share-activity-ui-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
#save-popup .share-image-button-container {
  display: flex;
  flex-flow: row nowrap;
  width: calc(100% + 10px);
  margin: 0 -5px;
}
#save-popup #share-link-ui-container input {
  width: 240px;
}
#save-popup #link-copy {
  margin: 0;
  padding-left: 1.5em;
  padding-right: 1.5em;
}
#copy-container {
  position: relative;
  overflow: hidden;
  padding: 0;
}
#copy-container #image-copy {
  width: 100%;
  height: 100%;
}
html.disable-copy-image #copy-container {
  background-color: #b2b2b2;
}
#share-activity-ui-container {
  display: flex;
  flex-flow: row nowrap;
  width: calc(100% + 10px);
  margin: 0 -5px;
}
#share-activity-ui-container .input-container,
#share-activity-ui-container .text-button {
  margin: 0 5px;
  flex: 1 0 0;
}
#share-activity-ui-container input {
  font-family: Monaco, monospace;
  font-size: 1em;
  width: 100%;
}
.submit-container {
  display: flex;
  justify-content: space-between;
}
.submit-container .field-container {
  width: 100%;
}
.submit-container .input-container {
  margin: 0 5px;
  padding-left: 0;
  padding-right: 0;
  position: relative;
  overflow: hidden;
}
.submit-container .input-container input {
  border: 1px solid #CCC;
  border-radius: 3px;
  box-shadow: inset 2px 2px 5px #CCC;
  padding: 5px;
  font-size: 4em;
  font-weight: 400;
  margin: 0;
  flex-grow: 1;
  letter-spacing: -0.01em;
}
.submit-container .text-button {
  padding: 0.75em 1.2em;
  font-size: 1.4em;
}
/* Default styling: show desktop instructions. */
#copy-image-modal .copy-image-instructions .mobile {
  display: none;
}
/*
 * If touch is detected, hide desktop instructions and show mobileinstructions.
 */
.touch #copy-image-modal .desktop {
  display: none;
}
.touch #copy-image-modal .mobile {
  display: block;
}
#copy-image-modal {
  z-index: 110;
}
#copy-image-modal .modal-box {
  position: relative;
  top: -24px;
}
#copy-image-modal .content {
  padding: 20px;
  display: flex;
  flex-flow: row nowrap;
}
#copy-image-modal .content .copy-image-instructions {
  width: 10em;
  margin-right: 20px;
}
#copy-image-modal .content .copy-image-instructions p:first-child {
  margin-top: 0;
}
#copy-image-modal .content .copy-image-instructions .sub-head {
  font-size: 0.9em;
}
#copy-image-modal .content .copy-image-source-container {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}
#copy-image-modal .content .copy-image-source-container .copy-image-source {
  max-width: 50vw;
  max-height: 50vh;
  box-shadow: 0 5px 10px 0 grey;
}
#activity-display .header {
  border-bottom: solid 2px #CCC;
  background-color: white;
  color: #333;
  justify-content: center;
  padding: 0 15px;
}
#activity-display .header .close-button {
  /* Give the title full width to center itself. */
  position: absolute;
  right: 0;
  top: 0;
}
#activity-display .content {
  padding: 5px 10px 10px 10px;
}
#activity-display .content .description {
  font-size: 10pt;
  font-weight: 500;
  text-align: center;
}
#activity-display .content #activity-display-code {
  padding: 15px 25px;
  font-family: Monaco, monospace;
  font-size: 6em;
  text-align: center;
  text-transform: uppercase;
}
#activity-display .submit-glyph-inline {
  height: 1.2em;
  width: 24px;
  vertical-align: bottom;
}
#submit-activity-submit-box .header .error-text {
  display: none;
}
#submit-activity-submit-box.show-error .header {
  background: #ac312e;
}
#submit-activity-submit-box.show-error .header span {
  display: none;
}
#submit-activity-submit-box.show-error .header .error-text {
  display: inline;
}
#submit-activity-submit-box.show-error input {
  color: #ac312e;
}
#submit-activity-ui-container {
  padding: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#submit-activity-ui-container .submit-icon {
  width: 48px;
}
#submit-activity-ui-container .input-container {
  margin: 0 15px;
}
#submit-activity-ui-container .input-container input {
  font-family: Monaco, monospace;
  text-transform: uppercase;
  padding-left: 15px;
  padding-right: 15px;
  width: 6em;
}
#submit-activity-ui-container #submit-activity-target-background {
  box-shadow: none;
  background: white;
  color: grey;
}
#submit-activity-ui-container #submit-activity-target {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
}
/* --- End Modal styles --- */
.mlc-framework--equation-tools-input input {
  width: 414px;
  height: 44px;
  font: 300 32px Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  padding: 2px 4px;
}
.mlc-framework--text-tools-textarea textarea {
  width: 414px;
  height: 202px;
  font: 300 30px Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  line-height: 1.1;
  padding: 2px 4px;
  resize: none;
  overflow: auto;
}
.infopage {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: 200;
  background-color: #cce0ff;
  /* hide about initially */
}
.infopage .titlebar {
  position: absolute;
  width: 100%;
  z-index: 10;
  height: 50px;
  background-color: #0287cf;
  color: white;
  text-align: center;
  font-weight: bold;
  line-height: 50px;
}
.infopage .sectionwrapper {
  display: inline-block;
  text-align: center;
  line-height: 13px;
  margin: auto;
}
.infopage .title {
  display: inline-block;
  color: white;
  font-size: 13px;
  cursor: pointer;
  margin: 5px 0;
  padding: 6px 5px;
  text-align: center;
  width: 100px;
  border: solid 1px white;
}
.infopage .title:first-child {
  border-bottom-left-radius: 5px;
  border-right: medium none;
  border-top-left-radius: 5px;
}
.infopage .title:last-child {
  border-bottom-right-radius: 5px;
  border-right: 1px solid white;
  border-top-right-radius: 5px;
}
.infopage .title.selected {
  color: #0287CF;
  background-color: white;
}
.infopage .close {
  display: inline-block;
}
.infopage .close {
  float: right;
  cursor: pointer;
  padding-right: 15px;
  font-weight: normal;
}
.infopage .infowrapper {
  height: 100%;
}
.infopage .contents-wrapper {
  height: 100%;
  background-color: #cce0ff;
  overflow-y: scroll;
  overflow-x: hidden;
}
.infopage .contents {
  padding-top: 50px;
  margin: 0 10px 10px;
}
.infopage .contents.about {
  display: none;
}
.infopage .box {
  background-color: white;
  border-radius: 10px;
  margin: 10px auto;
  max-width: 810px;
  min-width: 500px;
  padding: 30px;
}
.infopage .infohead {
  color: #0081c6;
  font: bold 36px Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  margin: 0;
  text-align: center;
}
.infopage .infohead.howto {
  margin-bottom: 1em;
}
.infopage .infohead.rule-line {
  border-top: 4px solid #a4dfff;
  margin: 30px -30px 0;
  padding-top: 30px;
}
.infopage .info-subhead {
  color: #0081c6;
  font: bold 28px Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  margin: 0 0 20px;
  text-align: left;
}
.infopage .info-subhead-description {
  color: #0081c6;
  font: 18px Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  line-height: 1.4em;
  margin: -15px 0 30px;
  text-align: left;
}
.infopage .infobody,
.infopage .box ul,
.infopage .info-buttons p {
  color: #666;
  font: 18px/1.4em Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.infopage .infolink {
  text-align: center;
  font-size: 24px;
  padding-bottom: 10px;
}
.infopage img {
  text-decoration: none;
  border: 0px;
}
.infopage .info_illus {
  margin: 40px 0;
  text-align: center;
}
.infopage .info_illus img {
  max-width: 100%;
}
.infopage .infoversion {
  font-size: 11pt;
  text-align: center;
  color: #666;
}
.infopage a.about-link {
  color: #0287CF;
  display: block;
  font-weight: bold;
  text-align: center;
  transition: opacity 0.2s ease 0s;
  width: 100%;
}
.infopage a.about-link:hover {
  opacity: 0.5;
}
.flex {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
.two-column {
  width: 50%;
}
.two-column-wide {
  width: 55%;
}
.two-column-small {
  width: 45%;
}
/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('../../fonts/roboto-v19-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../fonts/roboto-v19-latin-300.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-300italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: url('../../fonts/roboto-v19-latin-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../fonts/roboto-v19-latin-300italic.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../../fonts/roboto-v19-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../fonts/roboto-v19-latin-regular.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url('../../fonts/roboto-v19-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../fonts/roboto-v19-latin-italic.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-700italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: url('../../fonts/roboto-v19-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../fonts/roboto-v19-latin-700italic.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../../fonts/roboto-v19-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../fonts/roboto-v19-latin-700.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
#line-settings-popup {
  width: 312px;
  height: 480px;
  box-sizing: border-box;
  user-select: none;
  /* Whole number selected states. */
  /* Use & notation because popup's selected data attribute is set on the
  highest level of the popup so all elements can make use of it. */
}
#line-settings-popup #line-settings-popup-box {
  left: 30%;
}
#line-settings-popup input {
  user-select: auto;
  font-size: 16px;
}
#line-settings-popup ul {
  margin: 0 -16px;
  padding: 0;
  list-style-type: none;
}
#line-settings-popup ul li {
  padding: 0 16px;
  display: flex;
  align-items: center;
  /* Matches the popup-divider color. Doesn't have a variable. */
  border-bottom: #CCC solid 1px;
  cursor: pointer;
  height: 48px;
}
#line-settings-popup ul li.selected {
  background-color: #8EC6E5;
  border: none;
}
#line-settings-popup ul li:last-child {
  border-bottom: 0;
}
#line-settings-popup ul li .line-setting-label {
  margin-right: auto;
}
#line-settings-popup .header {
  justify-content: flex-start;
  height: 48px;
  padding: 0 16px;
}
#line-settings-popup .header .whole-numbers-title,
#line-settings-popup .header .fraction-numbers-title,
#line-settings-popup .header .decimal-numbers-title {
  display: none;
}
#line-settings-popup .header.wholes .title,
#line-settings-popup .header.fractions .title,
#line-settings-popup .header.decimals .title {
  display: none;
}
#line-settings-popup .header.wholes .whole-numbers-title {
  display: block;
}
#line-settings-popup .header.fractions .fraction-numbers-title {
  display: block;
}
#line-settings-popup .header.decimals .decimal-numbers-title {
  display: block;
}
#line-settings-popup .header .back-button {
  /* By default hide the back button. */
  display: none;
  width: 48px;
  height: 48px;
  margin-left: -16px;
  background-image: url('../../1588984088329/images/dialogs/triangle-arrow-light@2x.png');
  background-repeat: no-repeat;
  background-size: 16px 20px;
  background-position: center;
  transform: scaleX(-1);
}
#line-settings-popup .header .close-button {
  width: 64px;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
  margin-right: -16px;
  margin-left: auto;
  font-weight: normal;
  font-size: 16px;
}
#line-settings-popup .header.low .back-button {
  display: block;
}
#line-settings-popup .content {
  display: flex;
  flex-direction: row;
  padding: 0 16px 16px 16px;
  width: calc(200%);
  height: 432px;
  padding-top: 0;
  position: relative;
  transform: translate(0px, 0px);
  transition: transform 0.35s;
  /* When viewing a low-level list, show the right half of the content. */
}
#line-settings-popup .content.low {
  transform: translate(-50%, 0px);
}
#line-settings-popup .settings-menu {
  width: 50%;
}
#line-settings-popup .forward {
  height: 48px;
  width: 16px;
  margin-left: 16px;
  background-image: url('../../1588984088329/images/dialogs/triangle-arrow-medium@2x.png');
  background-repeat: no-repeat;
  background-size: 16px 20px;
  background-position: center;
}
#line-settings-popup[selected="1"] .high-level-settings .whole-numbers,
#line-settings-popup[selected="2"] .high-level-settings .whole-numbers,
#line-settings-popup[selected="5"] .high-level-settings .whole-numbers,
#line-settings-popup[selected="10"] .high-level-settings .whole-numbers,
#line-settings-popup[selected="25"] .high-level-settings .whole-numbers,
#line-settings-popup[selected="100"] .high-level-settings .whole-numbers,
#line-settings-popup[selected="custom"] .high-level-settings .whole-numbers {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-whole-01.png');
}
#line-settings-popup[selected="1"] [data-value="1"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="2"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-whole-02.png');
}
#line-settings-popup[selected="2"] [data-value="2"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="5"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-whole-03.png');
}
#line-settings-popup[selected="5"] [data-value="5"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="10"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-whole-04.png');
}
#line-settings-popup[selected="10"] [data-value="10"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="25"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-whole-05.png');
}
#line-settings-popup[selected="25"] [data-value="25"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="100"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-whole-06.png');
}
#line-settings-popup[selected="100"] [data-value="100"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="custom"] .whole-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-custom.png');
}
#line-settings-popup[selected="custom"] .whole-numbers[data-value="custom"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/2"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/3"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/4"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/5"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/6"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/8"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/9"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/10"] .high-level-settings .fraction-numbers,
#line-settings-popup[selected="1/12"] .high-level-settings .fraction-numbers {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/2"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-01.png');
}
#line-settings-popup[selected="1/2"] [data-value="1/2"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/3"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-02.png');
}
#line-settings-popup[selected="1/3"] [data-value="1/3"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/4"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-03.png');
}
#line-settings-popup[selected="1/4"] [data-value="1/4"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/5"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-04.png');
}
#line-settings-popup[selected="1/5"] [data-value="1/5"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/6"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-05.png');
}
#line-settings-popup[selected="1/6"] [data-value="1/6"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/8"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-06.png');
}
#line-settings-popup[selected="1/8"] [data-value="1/8"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/9"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-07.png');
}
#line-settings-popup[selected="1/9"] [data-value="1/9"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/10"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-08.png');
}
#line-settings-popup[selected="1/10"] [data-value="1/10"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="1/12"] .fraction-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-fractions-09.png');
}
#line-settings-popup[selected="1/12"] [data-value="1/12"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.1"] .high-level-settings .decimal-numbers,
#line-settings-popup[selected="0.01"] .high-level-settings .decimal-numbers,
#line-settings-popup[selected="0.001"] .high-level-settings .decimal-numbers,
#line-settings-popup[selected="0.5"] .high-level-settings .decimal-numbers,
#line-settings-popup[selected="0.25"] .high-level-settings .decimal-numbers,
#line-settings-popup[selected="0.125"] .high-level-settings .decimal-numbers {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.1"] .decimal-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-decimals-01.png');
}
#line-settings-popup[selected="0.1"] [data-value="0.1"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.01"] .decimal-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-decimals-02.png');
}
#line-settings-popup[selected="0.01"] [data-value="0.01"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.001"] .decimal-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-decimals-03.png');
}
#line-settings-popup[selected="0.001"] [data-value="0.001"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.5"] .decimal-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-decimals-04.png');
}
#line-settings-popup[selected="0.5"] [data-value="0.5"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.25"] .decimal-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-decimals-05.png');
}
#line-settings-popup[selected="0.25"] [data-value="0.25"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="0.125"] .decimal-numbers .line-image {
  content: url('../../1588984088329/images/dialogs/icon-nl-decimals-06.png');
}
#line-settings-popup[selected="0.125"] [data-value="0.125"] {
  background-color: #8EC6E5;
}
#line-settings-popup[selected="no-numbers"] .high-level-settings .no-numbers,
#line-settings-popup[selected="no-ticks"] .high-level-settings .no-ticks {
  background-color: #8EC6E5;
}
#line-settings-popup .high-level-settings {
  margin-right: 16px;
}
#line-settings-popup .high-level-settings .no-numbers,
#line-settings-popup .high-level-settings .no-ticks {
  padding-right: 48px;
}
#line-settings-popup .high-level-settings .numbering-class.selected .forward {
  background-image: url('../../1588984088329/images/dialogs/triangle-arrow-light@2x.png');
}
#line-settings-popup .low-level-settings {
  margin-left: 16px;
  /* By default, hide all submenus. */
  /* Show submenus when active. */
}
#line-settings-popup .low-level-settings .submenu {
  display: none;
}
#line-settings-popup .low-level-settings .submenu .line-setting-label {
  font-weight: bold;
}
#line-settings-popup .low-level-settings .whole-submenu .choose-custom {
  height: 68px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#line-settings-popup .low-level-settings .whole-submenu .choose-custom .line-setting-label {
  margin-right: 0;
  font-weight: normal;
}
#line-settings-popup .low-level-settings .whole-submenu .choose-custom .line-custom-input-container {
  display: flex;
  width: 80px;
}
#line-settings-popup .low-level-settings .whole-submenu .choose-custom .line-custom-input-container input {
  height: 36px;
  width: 40px;
  border-right: none;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
#line-settings-popup .low-level-settings .whole-submenu .choose-custom .line-custom-input-container button {
  height: 36px;
  width: 40px;
  margin: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
#line-settings-popup .low-level-settings[active="whole"] .whole-submenu {
  display: block;
}
#line-settings-popup .low-level-settings[active="fraction"] .fraction-submenu {
  display: block;
}
#line-settings-popup .low-level-settings[active="decimal"] .decimal-submenu {
  display: block;
}
#line-settings-popup .popup-divider {
  /* Override core divider margins. */
  margin: 0 -16px;
  flex-basis: 4px;
  height: 4px;
  background: #0081c6;
}
#line-settings-popup .spacing-container {
  height: 116px;
}
#line-settings-popup .spacing-container .spacing-header {
  height: 44px;
  display: flex;
  align-items: center;
}
#line-settings-popup .spacing-container .ticks {
  margin-bottom: 16px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
#line-settings-popup .spacing-container .ticks .spacing-value {
  border: 2px solid #333;
  border-radius: 3px;
  width: 88px;
  height: 56px;
  display: flex;
  justify-content: center;
  background-repeat: no-repeat;
  background-position: center;
}
#line-settings-popup .spacing-container .ticks .spacing-value.disabled {
  border-color: #000;
  opacity: 0.33;
}
#line-settings-popup .spacing-container .ticks .spacing-value.selected:not(.disabled) {
  border-color: transparent;
  background-color: #8EC6E5;
}
#line-settings-popup .spacing-container .ticks .spacing-value.narrow-spacing {
  background-image: url('../../1588984088329/images/dialogs/spacing-narrow.png');
}
#line-settings-popup .spacing-container .ticks .spacing-value.medium-spacing {
  background-image: url('../../1588984088329/images/dialogs/spacing-medium.png');
}
#line-settings-popup .spacing-container .ticks .spacing-value.wide-spacing {
  background-image: url('../../1588984088329/images/dialogs/spacing-wide.png');
}
#line-settings-popup .start-at-container {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  height: 68px;
  padding: 16px 0;
}
#line-settings-popup .start-at-container .start-at-label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-right: 1em;
}
#line-settings-popup .start-at-container .start-at-input-container {
  display: flex;
  width: 100px;
}
#line-settings-popup .start-at-container .start-at-input-container input {
  width: 60px;
  border: 2px solid #333;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  height: 36px;
}
#line-settings-popup .start-at-container .start-at-input-container input:disabled {
  border-color: #BBB;
}
#line-settings-popup .start-at-container .start-at-input-container button {
  background: transparent;
  color: #333;
  border: 2px solid #333;
  margin: 0;
  height: 36px;
  width: 40px;
  border-left: none;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  padding: 0;
}
#line-settings-popup .start-at-container .start-at-input-container button:disabled {
  border-color: #BBB;
  color: #BBB;
}
@-webkit-keyframes missing-feature {
  0% {
    background-color: red;
  }
  17% {
    background-color: magenta;
  }
  33% {
    background-color: blue;
  }
  50% {
    background-color: cyan;
  }
  67% {
    background-color: green;
  }
  83% {
    background-color: yellow;
  }
  100% {
    background-color: red;
  }
}
@keyframes missing-feature {
  0% {
    background-color: red;
  }
  17% {
    background-color: magenta;
  }
  33% {
    background-color: blue;
  }
  50% {
    background-color: cyan;
  }
  67% {
    background-color: green;
  }
  83% {
    background-color: yellow;
  }
  100% {
    background-color: red;
  }
}
.missing-feature {
  -webkit-animation: missing-feature 600s infinite linear;
  animation: missing-feature 600s infinite linear;
}
.beta-tag::after {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "BETA";
  font-size: 1.5em;
  background: #0273af;
  opacity: 0.75;
  position: absolute;
  padding: 0.2em 0.4em;
  top: 0.3em;
  right: 0.3em;
  color: #fff;
  border-radius: 3px;
  font-weight: 600;
  pointer-events: none;
}
#toolbar {
  flex: 0 0 48px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  background: #0081c6;
  margin: 0;
  padding: 0 16px;
}
#toolbar .toolbar-button {
  height: 100%;
  width: 100%;
  max-width: 48px;
}
#toolbar .toolbar-button.big {
  background-size: auto 36px;
  max-width: none;
}
#toolbar .toolbar-button-container {
  position: relative;
  flex: 0 1 56px;
  height: 48px;
  margin: 0 4px;
  min-width: 24px;
  display: flex;
  justify-content: center;
}
#toolbar .toolbar-button-container.narrow {
  flex-basis: 26px;
}
#toolbar .toolbar-button-container.narrow.left-margin {
  margin-left: 15px;
}
#toolbar .toolbar-button-container.narrow.right-margin {
  margin-right: 15px;
}
#toolbar .toolbar-button-container.wide {
  min-width: 58px;
  max-width: none;
}
#toolbar .toolbar-button-container.tall {
  height: calc(48px + 12px);
  top: 6px;
}
#toolbar .toolbar-divider {
  height: 48px;
  flex: 0 0 2px;
  margin: 0 7px;
  border: none;
  background: #4da7d7;
}
#toolbar .button-group.tab {
  background-color: inherit;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  position: relative;
  top: -12px;
  align-items: center;
  /* Counteract divider padding. */
  margin: 0 -7px;
  padding: 0 7px;
  flex-basis: 84px;
}
#toolbar .button-group.tab > .toolbar-button {
  margin-top: 12px;
  max-width: none;
  min-width: 58px;
}
.input-feedback {
  position: absolute;
  background: url('../../1588984088329/images/45stripe.svg');
  width: 400%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 3px;
  align-items: center;
  justify-content: center;
  display: none;
  z-index: 10;
  background-size: 48px;
  opacity: 0;
  color: #4a7727;
  font-size: 1.2em;
  letter-spacing: 0.025em;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
@-webkit-keyframes pulse-feedback {
  10% {
    left: -150%;
    background-size: 8px;
    opacity: 1;
  }
  80% {
    left: -150%;
    background-size: 8px;
    opacity: 1;
  }
}
@keyframes pulse-feedback {
  10% {
    left: -150%;
    background-size: 8px;
    opacity: 1;
  }
  80% {
    left: -150%;
    background-size: 8px;
    opacity: 1;
  }
}
.input-feedback-pulse {
  -webkit-animation-duration: 2.5s;
  animation-duration: 2.5s;
  -webkit-animation-name: pulse-feedback;
  animation-name: pulse-feedback;
  display: flex;
}
.button-field {
  position: relative;
  width: 100%;
}
.button-field .input-container {
  position: relative;
  flex-grow: 1;
  overflow: hidden;
}
#modal-staging {
  display: none;
}
#canvas {
  background-image: url('../../1588984088329/images/canvas-pattern.png');
}
#canvas.draw-cursor:not(.pan-cursor) {
  cursor: url('../../1588984088329/images/drawingmenu/cursor-pen.cur'), crosshair !important;
  /* !important gets around bugginess with EaselJS cursor setting and IE */
}
#canvas.draw-cursor[data-draw-color='BLACK']:not(.pan-cursor) {
  cursor: url('../../1588984088329/images/drawingmenu/cursor-pen-black.cur'), crosshair !important;
  /* !important gets around bugginess with EaselJS cursor setting and IE */
}
#canvas.draw-cursor[data-draw-color='BLUE']:not(.pan-cursor) {
  cursor: url('../../1588984088329/images/drawingmenu/cursor-pen-blue.cur'), crosshair !important;
  /* !important gets around bugginess with EaselJS cursor setting and IE */
}
#canvas.draw-cursor[data-draw-color='GREEN']:not(.pan-cursor) {
  cursor: url('../../1588984088329/images/drawingmenu/cursor-pen-green.cur'), crosshair !important;
  /* !important gets around bugginess with EaselJS cursor setting and IE */
}
#canvas.draw-cursor[data-draw-color='YELLOW']:not(.pan-cursor) {
  cursor: url('../../1588984088329/images/drawingmenu/cursor-pen-yellow.cur'), crosshair !important;
  /* !important gets around bugginess with EaselJS cursor setting and IE */
}
#canvas.draw-cursor[data-draw-color='ORANGE']:not(.pan-cursor) {
  cursor: url('../../1588984088329/images/drawingmenu/cursor-pen-orange.cur'), crosshair !important;
  /* !important gets around bugginess with EaselJS cursor setting and IE */
}
#canvas.draw-cursor[data-draw-color='RED']:not(.pan-cursor) {
  cursor: url('../../1588984088329/images/drawingmenu/cursor-pen-red.cur'), crosshair !important;
  /* !important gets around bugginess with EaselJS cursor setting and IE */
}
#canvas.erase-cursor:not(.pan-cursor) {
  cursor: url('../../1588984088329/images/drawingmenu/eraser-transparent.cur'), crosshair !important;
  /* !important gets around bugginess with EaselJS cursor setting and IE */
}
#canvas.pan-cursor {
  cursor: -webkit-grab;
  cursor: grab;
}
#canvas.pan-cursor:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
#loading-spinner {
  position: fixed;
  left: 50%;
  top: 50%;
}
/* -----
Toolbar Buttons
----- */
.toolbar-button {
  background-size: auto 24px;
}
#jump {
  background-image: url('../../1588984088329/images/toolbar/icon-jump@2x.png');
}
#jump-labels {
  background-image: url('../../1588984088329/images/toolbar/icon-label-auto@2x.png');
}
#jump-labels.on {
  background-image: url('../../1588984088329/images/toolbar/icon-label-auto-on@2x.png');
}
#line-settings {
  background-image: url('../../1588984088329/images/toolbar/icon-set-numbering@2x.png');
}
#line-masking {
  background-image: url('../../1588984088329/images/toolbar/icon-tick-covers@2x.png');
}
#line-masking.on {
  background-image: url('../../1588984088329/images/toolbar/icon-tick-covers-on@2x.png');
}
#tickmark {
  background-image: url('../../1588984088329/images/toolbar/icon-custom-tick@2x.png');
}
#restart {
  background-image: url('../../1588984088329/images/toolbar/icon-reload@2x.png');
}
#duplicate {
  background-image: url('../../1588984088329/images/toolbar/icon-duplicate@2x.png');
}
#shade {
  background-image: url('../../1588984088329/images/toolbar/icon-shade.png');
}
#equation {
  background-image: url('../../1588984088329/images/toolbar/icon-equation@2x.png');
}
#equation.on {
  opacity: 0.5;
}
#text {
  background-image: url('../../1588984088329/images/toolbar/icon-text@2x.png');
}
#text.on {
  opacity: 0.5;
}
#draw {
  background-image: url('../../1588984088329/images/toolbar/icon-drawing@2x.png');
}
#draw.on {
  background-image: url('../../1588984088329/images/toolbar/icon-drawing-on@2x.png');
}
#shade {
  background-image: url('../../1588984088329/images/toolbar/icon-shade@2x.png');
}
#trash {
  background-image: url('../../1588984088329/images/toolbar/icon-trash@2x.png');
}
#info {
  background-image: url('../../1588984088329/images/toolbar/icon-info@2x.png');
}
#save {
  background-image: url('../../1588984088329/images/toolbar/icon-share@2x.png');
}
#code {
  background-image: url('../../1588984088329/images/toolbar/icon-share-code@2x.png');
}
.loading #toolbar {
  display: none;
}
/* How To Styling */
.infopage .infowrapper {
  display: flex;
  flex-flow: column nowrap;
}
.infopage .titlebar {
  flex: 0 0 50px;
  position: relative;
  height: auto;
}
.infopage .contents-wrapper {
  flex: 1 0 0;
  overflow-y: hidden;
}
.infopage .contents {
  width: 100%;
  height: 100%;
  border: none;
  margin: 0;
  padding: 0;
}
h1,
h2 {
  color: #0273af;
}
.infopage .titlebar {
  background-color: #0273af;
}
.infopage .title.selected {
  color: #0273af;
}
.infopage .info-subhead {
  margin-bottom: 1em;
}
.howto-overview {
  display: inline-flex;
  flex-wrap: wrap;
}
.howto-overview .instructions {
  font-size: 18px;
  margin-bottom: 2.5em;
  /*.flex;*/
  display: flex;
  box-sizing: border-box;
  align-items: flex-start;
}
.howto-overview .instructions.left {
  padding-right: 1.5em;
}
.howto-overview .instructions.right {
  padding-left: 1.5em;
}
.howto-overview .instructions img {
  max-height: -webkit-fit-content;
  max-height: -moz-fit-content;
  max-height: fit-content;
  height: 100%;
}
.howto-overview .instructions img.left-edge {
  margin-right: 1em;
}
.howto-overview .instructions img.right-edge {
  margin-left: 0.5em;
}
.howto-overview .instructions img.right-center {
  margin-right: 1em;
}
.howto-overview .instructions img.left-center {
  margin-left: 1em;
}
.howto-overview .instructions p {
  line-height: 1.45em;
  color: #444;
  margin: 0;
}
.howto-toolbar table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 3em;
}
.howto-toolbar table td,
.howto-toolbar table th {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: center;
}
.howto-toolbar table td.icon,
.howto-toolbar table th.icon {
  background-color: #0081c6;
  text-align: center;
}
.howto-toolbar table td.tool,
.howto-toolbar table th.tool {
  font-weight: bold;
}
.howto-toolbar table td.description,
.howto-toolbar table th.description {
  text-align: left;
  padding-left: 1em;
}
.howto-toolbar table th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: center;
  background-color: #0273af;
  color: white;
}
.howto-toolbar table th.left-align {
  text-align: left;
  padding-left: 1em;
}
.howto-toolbar table img {
  margin: 0 0.2em;
  vertical-align: middle;
  height: 24px;
}
.howto-toolbar .keyboard-support-table {
  margin-bottom: 1em;
}
.howto-toolbar .keyboard-support-table td.tool {
  text-align: left;
  padding-left: 1em;
}
.about a.about-link {
  color: #0273af;
}
.about .privacy-terms,
.about .infoversion {
  text-align: center;
  color: #444;
}
.about .privacy-terms a,
.about .infoversion a {
  font-weight: bold;
  text-decoration: none;
  color: #223087;
}
@media all and (max-width: 767px) {
  .howto-overview .instructions.left,
  .howto-overview .instructions.right {
    padding-right: 0;
    padding-left: 0;
    width: 90%;
  }
}

/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('../../fonts/roboto-v19-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../fonts/roboto-v19-latin-300.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-300italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: url('../../fonts/roboto-v19-latin-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../fonts/roboto-v19-latin-300italic.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../../fonts/roboto-v19-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../fonts/roboto-v19-latin-regular.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url('../../fonts/roboto-v19-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../fonts/roboto-v19-latin-italic.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-700italic - latin */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: url('../../fonts/roboto-v19-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../fonts/roboto-v19-latin-700italic.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../../fonts/roboto-v19-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../fonts/roboto-v19-latin-700.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

.flex {
  display: flex;
}
.two-column {
  width: 50%;
}
.two-column-wide {
  width: 55%;
}
.two-column-small {
  width: 45%;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpbmVTZXR0aW5ncy5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21sYy1mcmFtZXdvcmsvbGVzcy9jb3JlLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbWxjLWZyYW1ld29yay9sZXNzL2NvbnN0YW50cy5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21sYy1mcmFtZXdvcmsvbGVzcy9pbmZvcGFnZS5sZXNzIiwidmFyaWFibGVzLmxlc3MiLCJyb2JvdG8ubGVzcyIsIm1haW4ubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQTtFQUNFLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSx5QkFBQTtFQUFBLHNCQUFBO0VBQUEscUJBQUE7RUFBQSxpQkFBQTs7Ozs7QUFKRixvQkFNRTtFQUNFLFNBQUE7O0FBUEosb0JBVUU7RUFDRSx5QkFBQTtFQUFBLHNCQUFBO0VBQUEscUJBQUE7RUFBQSxpQkFBQTtFQUNBLGVBQUE7O0FBWkosb0JBZUU7RUFDRSxlQUFBO0VBQ0EsVUFBQTtFQUNBLHFCQUFBOztBQWxCSixvQkFlRSxHQUtFO0VBQ0UsZUFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTs7RUFFQSw2QkFBQTtFQUNBLGVBQUE7RUFFQSxZQUFBOztBQUVBLG9CQWZKLEdBS0UsR0FVRTtFQUNFLHlCQUFBO0VBQ0EsWUFBQTs7QUFHRixvQkFwQkosR0FLRSxHQWVFO0VBQ0UsZ0JBQUE7O0FBcENSLG9CQWVFLEdBS0UsR0FtQkU7RUFDRSxrQkFBQTs7QUF4Q1Isb0JBNkNFO0VBQ0UsMkJBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTs7QUFoREosb0JBNkNFLFFBS0U7QUFsREosb0JBNkNFLFFBWUU7QUF6REosb0JBNkNFLFFBYUU7RUFMRSxhQUFBOztBQUdGLG9CQVhGLFFBV0UsT0FBQTtBQU9BLG9CQWxCRixRQWtCRyxVQUFXO0FBQ1osb0JBbkJGLFFBbUJHLFNBQVU7RUFMVCxhQUFBOztBQUdGLG9CQWpCRixRQWlCRSxPQUFBO0VBQ0UsY0FBQTs7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O0VBQ0EsZ0JBQUE7RUFDQSxTQUNTLDZDQUE2QyxPQUFPLHVEQUNwRCw0Q0FBNEMsT0FBTyxPQUY1RDs7OztBQUtGO0VBQ0UsYUFBQSxRQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLFNBQ1MsZ0RBQWdELE9BQU8sdURBQ3ZELCtDQUErQyxPQUFPLE9BRi9EOzs7O0FBS0Y7RUFDRSxhQUFBLFFBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsU0FDUywwQ0FBMEMsT0FBTyx1REFDakQseUNBQXlDLE9BQU8sT0FGekQ7Ozs7QUQ5Q0Y7RUFLRSxhQUFBOztBQUdGO0VBQ0UsVUFBQTs7QUFHRjtFQUNFLFVBQUE7O0FBR0Y7RUFDRSxVQUFBIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnbWxjLWZyYW1ld29yay9sZXNzL2NvbnN0YW50cyc7XG5cbkBkaWFsb2dJbWc6ICcuLi8uLi9pbWFnZXMvZGlhbG9ncyc7XG5cbkBDT0xPUl9VSV9TRUxFQ1RFRDogIzhFQzZFNTtcblxuQENPTE9SX1VJX1NFTEVDVEVEOiAjOEVDNkU1O1xuXG4jbGluZS1zZXR0aW5ncy1wb3B1cCB7XG4gIHdpZHRoOiAzMTJweDtcbiAgaGVpZ2h0OiA0ODBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgI2xpbmUtc2V0dGluZ3MtcG9wdXAtYm94IHtcbiAgICBsZWZ0OiAzMCU7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgdXNlci1zZWxlY3Q6IGF1dG87XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgdWwge1xuICAgIG1hcmdpbjogMCAtMTZweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLyogTWF0Y2hlcyB0aGUgcG9wdXAtZGl2aWRlciBjb2xvci4gRG9lc24ndCBoYXZlIGEgdmFyaWFibGUuICovXG4gICAgICBib3JkZXItYm90dG9tOiAjQ0NDIHNvbGlkIDFweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgaGVpZ2h0OiA0OHB4O1xuXG4gICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX1VJX1NFTEVDVEVEO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC5saW5lLXNldHRpbmctbGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG5cbiAgICAud2hvbGUtbnVtYmVycy10aXRsZSxcbiAgICAuZnJhY3Rpb24tbnVtYmVycy10aXRsZSxcbiAgICAuZGVjaW1hbC1udW1iZXJzLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi53aG9sZXMgLnRpdGxlLFxuICAgICYuZnJhY3Rpb25zIC50aXRsZSxcbiAgICAmLmRlY2ltYWxzIC50aXRsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYud2hvbGVzIC53aG9sZS1udW1iZXJzLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLmZyYWN0aW9ucyAuZnJhY3Rpb24tbnVtYmVycy10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5kZWNpbWFscyAuZGVjaW1hbC1udW1iZXJzLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5iYWNrLWJ1dHRvbiB7XG4gICAgICAvKiBCeSBkZWZhdWx0IGhpZGUgdGhlIGJhY2sgYnV0dG9uLiAqL1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe2RpYWxvZ0ltZ30vdHJpYW5nbGUtYXJyb3ctbGlnaHRAMngucG5nJyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgfVxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTE2cHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgJi5sb3cge1xuICAgICAgLmJhY2stYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwYWRkaW5nOiAwIDE2cHggMTZweCAxNnB4O1xuXG4gICAgd2lkdGg6IGNhbGMoMjAwJSk7XG4gICAgaGVpZ2h0OiA0MzJweDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzO1xuXG4gICAgLyogV2hlbiB2aWV3aW5nIGEgbG93LWxldmVsIGxpc3QsIHNob3cgdGhlIHJpZ2h0IGhhbGYgb2YgdGhlIGNvbnRlbnQuICovXG4gICAgJi5sb3cge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMHB4KTtcbiAgICB9XG4gIH1cblxuICAuc2V0dGluZ3MtbWVudSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5mb3J3YXJkIHtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe2RpYWxvZ0ltZ30vdHJpYW5nbGUtYXJyb3ctbWVkaXVtQDJ4LnBuZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDIwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG5cbiAgLyogV2hvbGUgbnVtYmVyIHNlbGVjdGVkIHN0YXRlcy4gKi9cbiAgLyogVXNlICYgbm90YXRpb24gYmVjYXVzZSBwb3B1cCdzIHNlbGVjdGVkIGRhdGEgYXR0cmlidXRlIGlzIHNldCBvbiB0aGVcbiAgaGlnaGVzdCBsZXZlbCBvZiB0aGUgcG9wdXAgc28gYWxsIGVsZW1lbnRzIGNhbiBtYWtlIHVzZSBvZiBpdC4gKi9cbiAgJltzZWxlY3RlZD1cIjFcIl0sXG4gICZbc2VsZWN0ZWQ9XCIyXCJdLFxuICAmW3NlbGVjdGVkPVwiNVwiXSxcbiAgJltzZWxlY3RlZD1cIjEwXCJdLFxuICAmW3NlbGVjdGVkPVwiMjVcIl0sXG4gICZbc2VsZWN0ZWQ9XCIxMDBcIl0sXG4gICZbc2VsZWN0ZWQ9XCJjdXN0b21cIl0ge1xuICAgICYgLmhpZ2gtbGV2ZWwtc2V0dGluZ3MgLndob2xlLW51bWJlcnMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX1VJX1NFTEVDVEVEO1xuICAgIH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMVwiXSB7XG4gICAgLndob2xlLW51bWJlcnMgLmxpbmUtaW1hZ2UgeyBjb250ZW50OiB1cmwoJ0B7ZGlhbG9nSW1nfS9pY29uLW5sLXdob2xlLTAxLnBuZycpOyB9XG4gICAgW2RhdGEtdmFsdWU9XCIxXCJdIHsgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX1VJX1NFTEVDVEVEOyB9XG4gIH1cbiAgJltzZWxlY3RlZD1cIjJcIl0ge1xuICAgIC53aG9sZS1udW1iZXJzIC5saW5lLWltYWdlIHsgY29udGVudDogdXJsKCdAe2RpYWxvZ0ltZ30vaWNvbi1ubC13aG9sZS0wMi5wbmcnKTsgfVxuICAgIFtkYXRhLXZhbHVlPVwiMlwiXSB7IGJhY2tncm91bmQtY29sb3I6IEBDT0xPUl9VSV9TRUxFQ1RFRDsgfVxuICB9XG4gICZbc2VsZWN0ZWQ9XCI1XCJdIHtcbiAgICAud2hvbGUtbnVtYmVycyAubGluZS1pbWFnZSB7IGNvbnRlbnQ6IHVybCgnQHtkaWFsb2dJbWd9L2ljb24tbmwtd2hvbGUtMDMucG5nJyk7IH1cbiAgICBbZGF0YS12YWx1ZT1cIjVcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7IH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMTBcIl0ge1xuICAgIC53aG9sZS1udW1iZXJzIC5saW5lLWltYWdlIHsgY29udGVudDogdXJsKCdAe2RpYWxvZ0ltZ30vaWNvbi1ubC13aG9sZS0wNC5wbmcnKTsgfVxuICAgIFtkYXRhLXZhbHVlPVwiMTBcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7IH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMjVcIl0ge1xuICAgIC53aG9sZS1udW1iZXJzIC5saW5lLWltYWdlIHsgY29udGVudDogdXJsKCdAe2RpYWxvZ0ltZ30vaWNvbi1ubC13aG9sZS0wNS5wbmcnKTsgfVxuICAgIFtkYXRhLXZhbHVlPVwiMjVcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7IH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMTAwXCJdIHtcbiAgICAud2hvbGUtbnVtYmVycyAubGluZS1pbWFnZSB7IGNvbnRlbnQ6IHVybCgnQHtkaWFsb2dJbWd9L2ljb24tbmwtd2hvbGUtMDYucG5nJyk7IH1cbiAgICBbZGF0YS12YWx1ZT1cIjEwMFwiXSB7IGJhY2tncm91bmQtY29sb3I6IEBDT0xPUl9VSV9TRUxFQ1RFRDsgfVxuICB9XG4gICZbc2VsZWN0ZWQ9XCJjdXN0b21cIl0ge1xuICAgIC53aG9sZS1udW1iZXJzIC5saW5lLWltYWdlIHsgY29udGVudDogdXJsKCdAe2RpYWxvZ0ltZ30vaWNvbi1ubC1jdXN0b20ucG5nJyk7IH1cbiAgICAud2hvbGUtbnVtYmVyc1tkYXRhLXZhbHVlPVwiY3VzdG9tXCJdIHsgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX1VJX1NFTEVDVEVEOyB9XG4gIH1cblxuICAmW3NlbGVjdGVkPVwiMS8yXCJdLFxuICAmW3NlbGVjdGVkPVwiMS8zXCJdLFxuICAmW3NlbGVjdGVkPVwiMS80XCJdLFxuICAmW3NlbGVjdGVkPVwiMS81XCJdLFxuICAmW3NlbGVjdGVkPVwiMS82XCJdLFxuICAmW3NlbGVjdGVkPVwiMS84XCJdLFxuICAmW3NlbGVjdGVkPVwiMS85XCJdLFxuICAmW3NlbGVjdGVkPVwiMS8xMFwiXSxcbiAgJltzZWxlY3RlZD1cIjEvMTJcIl0ge1xuICAgICYgLmhpZ2gtbGV2ZWwtc2V0dGluZ3MgLmZyYWN0aW9uLW51bWJlcnMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX1VJX1NFTEVDVEVEO1xuICAgIH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMS8yXCJdIHtcbiAgICAuZnJhY3Rpb24tbnVtYmVycyAubGluZS1pbWFnZSB7IGNvbnRlbnQ6IHVybCgnQHtkaWFsb2dJbWd9L2ljb24tbmwtZnJhY3Rpb25zLTAxLnBuZycpOyB9XG4gICAgW2RhdGEtdmFsdWU9XCIxLzJcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7IH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMS8zXCJdIHtcbiAgICAuZnJhY3Rpb24tbnVtYmVycyAubGluZS1pbWFnZSB7IGNvbnRlbnQ6IHVybCgnQHtkaWFsb2dJbWd9L2ljb24tbmwtZnJhY3Rpb25zLTAyLnBuZycpOyB9XG4gICAgW2RhdGEtdmFsdWU9XCIxLzNcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7IH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMS80XCJdIHtcbiAgICAuZnJhY3Rpb24tbnVtYmVycyAubGluZS1pbWFnZSB7IGNvbnRlbnQ6IHVybCgnQHtkaWFsb2dJbWd9L2ljb24tbmwtZnJhY3Rpb25zLTAzLnBuZycpOyB9XG4gICAgW2RhdGEtdmFsdWU9XCIxLzRcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7IH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMS81XCJdIHtcbiAgICAuZnJhY3Rpb24tbnVtYmVycyAubGluZS1pbWFnZSB7IGNvbnRlbnQ6IHVybCgnQHtkaWFsb2dJbWd9L2ljb24tbmwtZnJhY3Rpb25zLTA0LnBuZycpOyB9XG4gICAgW2RhdGEtdmFsdWU9XCIxLzVcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7IH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMS82XCJdIHtcbiAgICAuZnJhY3Rpb24tbnVtYmVycyAubGluZS1pbWFnZSB7IGNvbnRlbnQ6IHVybCgnQHtkaWFsb2dJbWd9L2ljb24tbmwtZnJhY3Rpb25zLTA1LnBuZycpOyB9XG4gICAgW2RhdGEtdmFsdWU9XCIxLzZcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7IH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMS84XCJdIHtcbiAgICAuZnJhY3Rpb24tbnVtYmVycyAubGluZS1pbWFnZSB7IGNvbnRlbnQ6IHVybCgnQHtkaWFsb2dJbWd9L2ljb24tbmwtZnJhY3Rpb25zLTA2LnBuZycpOyB9XG4gICAgW2RhdGEtdmFsdWU9XCIxLzhcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7IH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMS85XCJdIHtcbiAgICAuZnJhY3Rpb24tbnVtYmVycyAubGluZS1pbWFnZSB7IGNvbnRlbnQ6IHVybCgnQHtkaWFsb2dJbWd9L2ljb24tbmwtZnJhY3Rpb25zLTA3LnBuZycpOyB9XG4gICAgW2RhdGEtdmFsdWU9XCIxLzlcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7IH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMS8xMFwiXSB7XG4gICAgLmZyYWN0aW9uLW51bWJlcnMgLmxpbmUtaW1hZ2UgeyBjb250ZW50OiB1cmwoJ0B7ZGlhbG9nSW1nfS9pY29uLW5sLWZyYWN0aW9ucy0wOC5wbmcnKTsgfVxuICAgIFtkYXRhLXZhbHVlPVwiMS8xMFwiXSB7IGJhY2tncm91bmQtY29sb3I6IEBDT0xPUl9VSV9TRUxFQ1RFRDsgfVxuICB9XG4gICZbc2VsZWN0ZWQ9XCIxLzEyXCJdIHtcbiAgICAuZnJhY3Rpb24tbnVtYmVycyAubGluZS1pbWFnZSB7IGNvbnRlbnQ6IHVybCgnQHtkaWFsb2dJbWd9L2ljb24tbmwtZnJhY3Rpb25zLTA5LnBuZycpOyB9XG4gICAgW2RhdGEtdmFsdWU9XCIxLzEyXCJdIHsgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX1VJX1NFTEVDVEVEOyB9XG4gIH1cblxuICAmW3NlbGVjdGVkPVwiMC4xXCJdLFxuICAmW3NlbGVjdGVkPVwiMC4wMVwiXSxcbiAgJltzZWxlY3RlZD1cIjAuMDAxXCJdLFxuICAmW3NlbGVjdGVkPVwiMC41XCJdLFxuICAmW3NlbGVjdGVkPVwiMC4yNVwiXSxcbiAgJltzZWxlY3RlZD1cIjAuMTI1XCJdIHtcbiAgICAmIC5oaWdoLWxldmVsLXNldHRpbmdzIC5kZWNpbWFsLW51bWJlcnMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX1VJX1NFTEVDVEVEO1xuICAgIH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMC4xXCJdIHtcbiAgICAuZGVjaW1hbC1udW1iZXJzIC5saW5lLWltYWdlIHsgY29udGVudDogdXJsKCdAe2RpYWxvZ0ltZ30vaWNvbi1ubC1kZWNpbWFscy0wMS5wbmcnKTsgfVxuICAgIFtkYXRhLXZhbHVlPVwiMC4xXCJdIHsgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX1VJX1NFTEVDVEVEOyB9XG4gIH1cbiAgJltzZWxlY3RlZD1cIjAuMDFcIl0ge1xuICAgIC5kZWNpbWFsLW51bWJlcnMgLmxpbmUtaW1hZ2UgeyBjb250ZW50OiB1cmwoJ0B7ZGlhbG9nSW1nfS9pY29uLW5sLWRlY2ltYWxzLTAyLnBuZycpOyB9XG4gICAgW2RhdGEtdmFsdWU9XCIwLjAxXCJdIHsgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX1VJX1NFTEVDVEVEOyB9XG4gIH1cbiAgJltzZWxlY3RlZD1cIjAuMDAxXCJdIHtcbiAgICAuZGVjaW1hbC1udW1iZXJzIC5saW5lLWltYWdlIHsgY29udGVudDogdXJsKCdAe2RpYWxvZ0ltZ30vaWNvbi1ubC1kZWNpbWFscy0wMy5wbmcnKTsgfVxuICAgIFtkYXRhLXZhbHVlPVwiMC4wMDFcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7IH1cbiAgfVxuICAmW3NlbGVjdGVkPVwiMC41XCJdIHtcbiAgICAuZGVjaW1hbC1udW1iZXJzIC5saW5lLWltYWdlIHsgY29udGVudDogdXJsKCdAe2RpYWxvZ0ltZ30vaWNvbi1ubC1kZWNpbWFscy0wNC5wbmcnKTsgfVxuICAgIFtkYXRhLXZhbHVlPVwiMC41XCJdIHsgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX1VJX1NFTEVDVEVEOyB9XG4gIH1cbiAgJltzZWxlY3RlZD1cIjAuMjVcIl0ge1xuICAgIC5kZWNpbWFsLW51bWJlcnMgLmxpbmUtaW1hZ2UgeyBjb250ZW50OiB1cmwoJ0B7ZGlhbG9nSW1nfS9pY29uLW5sLWRlY2ltYWxzLTA1LnBuZycpOyB9XG4gICAgW2RhdGEtdmFsdWU9XCIwLjI1XCJdIHsgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX1VJX1NFTEVDVEVEOyB9XG4gIH1cbiAgJltzZWxlY3RlZD1cIjAuMTI1XCJdIHtcbiAgICAuZGVjaW1hbC1udW1iZXJzIC5saW5lLWltYWdlIHsgY29udGVudDogdXJsKCdAe2RpYWxvZ0ltZ30vaWNvbi1ubC1kZWNpbWFscy0wNi5wbmcnKTsgfVxuICAgIFtkYXRhLXZhbHVlPVwiMC4xMjVcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7IH1cbiAgfVxuXG4gICZbc2VsZWN0ZWQ9XCJuby1udW1iZXJzXCJdIC5oaWdoLWxldmVsLXNldHRpbmdzIC5uby1udW1iZXJzLFxuICAmW3NlbGVjdGVkPVwibm8tdGlja3NcIl0gLmhpZ2gtbGV2ZWwtc2V0dGluZ3MgLm5vLXRpY2tzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7XG4gIH1cblxuICAuaGlnaC1sZXZlbC1zZXR0aW5ncyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuXG4gICAgLm5vLW51bWJlcnMsIC5uby10aWNrcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xuICAgIH1cblxuICAgIC5udW1iZXJpbmctY2xhc3Muc2VsZWN0ZWQgLmZvcndhcmQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe2RpYWxvZ0ltZ30vdHJpYW5nbGUtYXJyb3ctbGlnaHRAMngucG5nJyk7XG4gICAgfVxuICB9XG5cbiAgLmxvdy1sZXZlbC1zZXR0aW5ncyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG5cbiAgICAvKiBCeSBkZWZhdWx0LCBoaWRlIGFsbCBzdWJtZW51cy4gKi9cbiAgICAuc3VibWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAubGluZS1zZXR0aW5nLWxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLndob2xlLXN1Ym1lbnUge1xuICAgICAgLmNob29zZS1jdXN0b20ge1xuICAgICAgICBoZWlnaHQ6IDY4cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAubGluZS1zZXR0aW5nLWxhYmVsIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5lLWN1c3RvbS1pbnB1dC1jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgd2lkdGg6IDgwcHg7XG5cbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIFNob3cgc3VibWVudXMgd2hlbiBhY3RpdmUuICovXG4gICAgJlthY3RpdmU9XCJ3aG9sZVwiXSAud2hvbGUtc3VibWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJlthY3RpdmU9XCJmcmFjdGlvblwiXSAuZnJhY3Rpb24tc3VibWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJlthY3RpdmU9XCJkZWNpbWFsXCJdIC5kZWNpbWFsLXN1Ym1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLnBvcHVwLWRpdmlkZXIge1xuICAgIC8qIE92ZXJyaWRlIGNvcmUgZGl2aWRlciBtYXJnaW5zLiAqL1xuICAgIG1hcmdpbjogMCAtMTZweDtcblxuICAgIGZsZXgtYmFzaXM6IDRweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiBAQ09MT1JfUFJJTUFSWV9CQVNFO1xuICB9XG5cbiAgLnNwYWNpbmctY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDExNnB4O1xuXG4gICAgLnNwYWNpbmctaGVhZGVyIHtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50aWNrcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIC5zcGFjaW5nLXZhbHVlIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzMzMztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICB3aWR0aDogODhweDtcbiAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgICAgICAgICBvcGFjaXR5OiAwLjMzO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWxlY3RlZDpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAQ09MT1JfVUlfU0VMRUNURUQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLm5hcnJvdy1zcGFjaW5nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ0B7ZGlhbG9nSW1nfS9zcGFjaW5nLW5hcnJvdy5wbmcnKTtcbiAgICAgICAgfVxuICAgICAgICAmLm1lZGl1bS1zcGFjaW5nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ0B7ZGlhbG9nSW1nfS9zcGFjaW5nLW1lZGl1bS5wbmcnKTtcbiAgICAgICAgfVxuICAgICAgICAmLndpZGUtc3BhY2luZyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe2RpYWxvZ0ltZ30vc3BhY2luZy13aWRlLnBuZycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnN0YXJ0LWF0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiA2OHB4O1xuICAgIHBhZGRpbmc6IDE2cHggMDtcblxuICAgIC5zdGFydC1hdC1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgfVxuXG4gICAgLnN0YXJ0LWF0LWlucHV0LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgXG4gICAgICBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMzMzO1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjQkJCO1xuICAgICAgICB9XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzMzMztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjQkJCO1xuICAgICAgICAgIGNvbG9yOiAjQkJCO1xuICAgICAgICB9XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuL2NvbnN0YW50cy5sZXNzJztcblxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sLCBib2R5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IEBERUZBVUxUX0ZPTlQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdXNlci1kcmFnOiBub25lO1xuICAtbXMtY29udGVudC16b29taW5nOiBub25lO1xuICBjb2xvcjogIzMzMztcbiAgLy8gT3ZlcnJpZGUgZm9yIENocm9tZSBBcHAgaW5qZWN0ZWQgc3R5bGVzaGVldFxuICBmb250LXNpemU6IDEwMCU7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvY2FudmFzLXBhdHRlcm4ucG5nJyk7XG59XG5cbm1haW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG59XG5cbi8vIEJ1dHRvbiBzdHlsZSByZXNldFxuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxpZ2h0LW9uLWRhcmsge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLnNvZnQtc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAwIEBzb2Z0LXNoYWRvdy1yYWRpdXMgQHNvZnQtc2hhZG93LWNvbG9yO1xufVxuXG4jY2FudmFzIHtcbiAgb3JkZXI6IDI7XG4gIGZsZXg6IDEgMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQENBTlZBU19CQUNLR1JPVU5EX0NPTE9SO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiBBZGRzIGFuIGFscGhhIHRhZyB0byBhIGNhbnZhcy4gKi9cbi5hbHBoYS10YWc6OmFmdGVyIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgY29udGVudDogXCJBTFBIQVwiO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBiYWNrZ3JvdW5kOiAjNTUxQThCO1xuICBvcGFjaXR5OiAwLjc1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IC4yZW0gLjRlbTtcbiAgdG9wOiAuM2VtO1xuICByaWdodDogLjllbTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIEFkZHMgYSBiZXRhIHRhZyB0byBhIGNhbnZhcy4gKi9cbi5iZXRhLXRhZzo6YWZ0ZXIge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICBjb250ZW50OiBcIkJFVEFcIjtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgYmFja2dyb3VuZDogQGJyYW5kLWNvbG9yLWRhcms7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZzogLjJlbSAuNGVtO1xuICB0b3A6IC4zZW07XG4gIHJpZ2h0OiAuOWVtO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogLS0tLS1cblRvb2xiYXJcbi0tLS0tICovXG5cbi8vIFRvb2xiYXIgaW1hZ2UgcGF0aFxuQHRiaW1nOiAnaW1hZ2VzL3Rvb2xiYXInO1xuXG4jdG9vbGJhciB7XG4gIG9yZGVyOiAzO1xuXG4gIC8vIE92ZXJyaWRlcyBmb3Igd2hlbiB0b29sYmFyIGlzIGF0IHRvcCBvZiBwYWdlXG4gICYudG9wIHtcbiAgICBvcmRlcjogMTtcblxuICAgIC5wb3B1cCB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IChAVE9PTEJBUl9IRUlHSFQgKyBAUE9QVVBfVEFJTF9IRUlHSFQgLSA4cHgpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogLUBQT1BVUF9UQUlMX0hFSUdIVDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdAe3RiaW1nfS9wb3B1cC10YWlsLXRvcC5zdmcnKSBuby1yZXBlYXQ7XG4gICAgICB9XG5cbiAgICAgIC5wb3B1cC1ib2R5IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIH1cblxuICAgICAgJi50YWlsLXJpZ2h0IHtcbiAgICAgICAgLnBvcHVwLWJvZHkge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IChAUE9QVVBfVEFJTF9XSURUSCAvIDIpIDA7XG4gICAgICAgICAgcmlnaHQ6IEBQT1BVUF9UQUlMX1dJRFRIO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudGFpbC1sZWZ0IHtcbiAgICAgICAgLnBvcHVwLWJvZHkge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogKC1AUE9QVVBfVEFJTF9XSURUSCAvIDIpIDA7XG4gICAgICAgICAgbGVmdDogQFBPUFVQX1RBSUxfV0lEVEg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICB9XG5cbiAgZmxleDogMCAwIEBUT09MQkFSX0hFSUdIVDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBiYWNrZ3JvdW5kOiBAQ09MT1JfUFJJTUFSWV9CQVNFO1xuICAvLyBSZW1vdmUgZGVmYXVsdCBzcGFjaW5nIGZyb20gbWVudSB0eXBlPVwidG9vbGJhclwiXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAvLyBTcGFjZXJzIG9uIGxlZnQgYW5kIHJpZ2h0IHNpZGUgb2YgdG9vbGJhciB0byBjZW50ZXIgdGhlIGJ1dHRvbnNcbiAgLy8gaW4gdGhlIG1pZGRsZVxuICAudG9vbGJhci1zcGFjZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgLy8gRGl2aWRpbmcgbGluZSBiZXR3ZWVuIGJ1dHRvbiBncm91cHNcbiAgLmRpdmlkZXIge1xuICAgIGhlaWdodDogQFRPT0xCQVJfSEVJR0hUO1xuXG4gICAgLW1zLWZsZXg6IDAgMCAxNnB4O1xuICAgIGZsZXg6IDAgMCAxNnB4O1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe3RiaW1nfS9kaXZpZGVyLnBuZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG5cbiAgLy8gR3JvdXBzIG9mIGJ1dHRvbnMgYmV0d2VlbiBkaXZpZGVyc1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiBAVE9PTEJBUl9IRUlHSFQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG5cbiAgLnBvcHVwIHtcbiAgICBib3R0b206IChAVE9PTEJBUl9IRUlHSFQgKyBAUE9QVVBfVEFJTF9IRUlHSFQgLSA4cHgpO1xuICB9XG5cbiAgLnRvb2xiYXItYnV0dG9uIHtcbiAgICBoZWlnaHQ6IEBUT09MQkFSX0hFSUdIVDtcbiAgICB3aWR0aDogNjRweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgICYubmFycm93IHtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgIH1cbiAgICAmLndpZGUge1xuICAgICAgd2lkdGg6IDk2cHg7XG4gICAgfVxuICAgICYuZGlzYWJsZWQsXG4gICAgJjphY3RpdmUge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbiAgfVxufVxuXG4udGV4dC1idXR0b24ge1xuICAubGlnaHQtb24tZGFyaygpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGV4dC1idXR0b24tY29sb3I7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogLjhlbSAwO1xuICBmb250LXNpemU6IC44MjVlbTtcbiAgYm9yZGVyLXJhZGl1czogQGJ1dHRvbi1ib3JkZXItcmFkaXVzO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLjAyNWVtO1xuICB3b3JkLXNwYWNpbmc6IC4xZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogLjg7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHRleHQtYnV0dG9uLWNvbG9yLWFjdGl2ZVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX05FVVRSQUxfQkFTRTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBDT0xPUl9ORVVUUkFMX0JBU0U7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4uYnV0dG9uLWZpZWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICBpbnB1dCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NDQztcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogQGJ1dHRvbi1ib3JkZXItcmFkaXVzIDAgMCBAYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDJweCA1cHggI0NDQztcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBidXR0b24ge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxufVxuXG4vKiAtLS0tLVxuRGlhbG9nXG4tLS0tLSAqL1xuXG4vKiBqcXVlcnkgZGlhbG9ncyAqL1xuI2RpYWxvZy1tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIGJhY2tncm91bmQgb3ZlcmxheSAqL1xuLnVpLWZyb250IHtcbiAgei1pbmRleDogMTAxOyAvKiBzYW1lIGFzIHRvb2xiYXIgb3IgaGlnaGVyICovXG59XG4udWktd2lkZ2V0LW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwIGdyYXk7XG4gIG9wYWNpdHk6IDAuNjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIG91ciBhcHAncyBnZW5lcmljIGRpYWxvZyAqL1xuLnVpLWRpYWxvZy5hbGVydCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi51aS1kaWFsb2cuYWxlcnQgLnVpLWRpYWxvZy10aXRsZWJhciB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBmb250LWZhbWlseTogQERFRkFVTFRfRk9OVDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuLnVpLWRpYWxvZy5hbGVydCAudWktZGlhbG9nLXRpdGxlYmFyIC51aS1kaWFsb2ctdGl0bGUubm8tdGl0bGUge1xuICAvKiBGaXggdG8gSlF1ZXJ5IFVJIDEuMTIgdXBkYXRlIHdoZXJlIGVtcHR5IHRpdGxlc1xuICAgICAgYXJlIHJlcGxhY2VkIHdpdGggYW4gbmJzcDsuXG4gICAgICBNYW51YWxseSBoaWRpbmcgdG8gcHJldmVudCBleHRyYSBwYWRkaW5nLlxuICAgKi9cbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVpLWRpYWxvZy5hbGVydCAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS1kaWFsb2cuYWxlcnQgLnVpLWRpYWxvZy1jb250ZW50IHtcbiAgZm9udC1mYW1pbHk6IEBERUZBVUxUX0ZPTlQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA1cHggMjBweCAyMHB4O1xuICBsaW5lLWhlaWdodDogMS4yZW07XG59XG4udWktZGlhbG9nLmFsZXJ0IC51aS1kaWFsb2ctYnV0dG9ucGFuZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi51aS1kaWFsb2cuYWxlcnQgLnVpLWRpYWxvZy1idXR0b25zZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAjQkJCO1xufVxuLnVpLWRpYWxvZy5hbGVydCAudWktYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzNXB4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjMUM4MUM0O1xuICAvKmZvbnQtc2l6ZTogMTRweDsqL1xuICAvKnRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Ki9cbn1cbi51aS1kaWFsb2cuYWxlcnQuY29uZmlybSAudWktYnV0dG9uIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aS1kaWFsb2cuYWxlcnQuY29uZmlybSAudWktYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI0JCQjtcbn1cbi51aS1kaWFsb2cuYWxlcnQgLnVpLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGN0Y3Rjc7XG59XG4udWktZGlhbG9nLmFsZXJ0IC51aS1idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RERDtcbn1cblxuLnVpLWRpYWxvZy5hbGVydC5oYXMtY2xvc2UgYnV0dG9uLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcblxuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBtYXJnaW46IDVweDtcbiAgd2lkdGg6IDM2cHg7XG5cbiAgYmFja2dyb3VuZDogYmxhY2sgdXJsKCdAe3RiaW1nfS9pY29uLXRyYXNoLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2dyZXk7XG4gIH1cbn1cblxuI3RlbXBsYXRlcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC0tLS0tXG4gIE1vZGFsIHN0eWxlc1xuLS0tLS0gKi9cblxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7XG5cbiAgLy8gRml4IHRvIElFJ3MgZGl2ZXJnZW50IGJlaGF2aW9yIHdpdGggY2VudGVyaW5nIHBvcHVwc1xuICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIGhlaWdodDogMjAwdmg7XG4gICAgd2lkdGg6IDIwMHZ3O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSwgdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG4ubW9kYWwge1xuICB6LWluZGV4OiAxMDA7XG5cbiAgJi5kYXJrLWJhY2tkcm9wIHtcbiAgICAubW9kYWwtYmFja2Ryb3Age1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGRhcmstYmFja2Ryb3AtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC5wb3B1cCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAvLyBGaXggdG8gSUUncyBkaXZlcmdlbnQgYmVoYXZpb3Igd2l0aCBjZW50ZXJpbmcgcG9wdXBzXG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuXG4gIC8vIFRhaWwgcG9pbnRpbmcgdG8gdGhlIGJ1dHRvbiBwb3B1cCBpcyBwb3BwaW5nIG91dCBmcm9tXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtQFBPUFVQX1RBSUxfSEVJR0hUO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGhlaWdodDogQFBPUFVQX1RBSUxfSEVJR0hUO1xuICAgIHdpZHRoOiBAUE9QVVBfVEFJTF9XSURUSDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ0B7dGJpbWd9L3BvcHVwLXRhaWwuc3ZnJykgbm8tcmVwZWF0O1xuICB9XG5cbiAgJi50YWlsLXJpZ2h0IHtcbiAgICAucG9wdXAtYm9keSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAoQFBPUFVQX1RBSUxfV0lEVEggLyAyKSAwO1xuICAgICAgcmlnaHQ6IEBQT1BVUF9UQUlMX1dJRFRIO1xuICAgIH1cbiAgfVxuXG4gICYudGFpbC1sZWZ0IHtcbiAgICAucG9wdXAtYm9keSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogKC1AUE9QVVBfVEFJTF9XSURUSCAvIDIpIDA7XG4gICAgICBsZWZ0OiBAUE9QVVBfVEFJTF9XSURUSDtcbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLmRpYWxvZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcblxuICAmLmhpZGRlbiB7XG4gICAgLmhpZGRlbigpO1xuICB9XG5cbiAgLm1vZGFsLWJveCB7XG4gICAgdG9wOiAtMjRweDtcbiAgfVxufVxuXG4ubW9kYWwtYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gIC5jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgfVxuXG4gIC5oZWFkZXIge1xuICAgIC5saWdodC1vbi1kYXJrKCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xuICAgIGJhY2tncm91bmQ6IEBDT0xPUl9QUklNQVJZX0JBU0U7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGhlaWdodDogNDZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGhlaWdodDogNDZweDtcbiAgICAgIHdpZHRoOiA0NnB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKCdAe3RiaW1nfS9jbG9zZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0MCU7XG5cbiAgICAgICYuY2xvc2UtZGFyayB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHt0YmltZ30vY2xvc2UtZGFyay5zdmcnKTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC5hbGVydCB7XG4gIC5tb2RhbC1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogKC1AVE9PTEJBUl9IRUlHSFQgLyAyKTtcbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgbWFyZ2luOiAyMHB4IDIwcHggMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLm1lc3NhZ2Uge1xuICAgIG1hcmdpbjogLjVlbSAyMHB4IDIwcHg7XG4gIH1cblxuICAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGJ1dHRvbiB7XG4gICAgICBjb2xvcjogIzFDODFDNDtcbiAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgcGFkZGluZzogLjVlbSAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNCQkI7XG4gICAgICAvLyBJZiB0d28gb3IgZmV3ZXIgYnV0dG9ucywgc2V0IHRoZW0gdG8gNDAlIHNvIHRoZSBjYXNlIG9mIHR3byBidXR0b25zIHdvbid0IHdyYXBcbiAgICAgICY6bnRoLWxhc3QtY2hpbGQoLW4gKyAyKTpmaXJzdC1jaGlsZCxcbiAgICAgICY6bnRoLWxhc3QtY2hpbGQoLW4gKyAyKTpmaXJzdC1jaGlsZCB+IGJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDEgMCA0MCU7XG4gICAgICB9XG4gICAgICAvLyBJZiBleGFjdGx5IHR3byBidXR0b25zLCBhZGQgYSBzZXBhcmF0b3IgdG8gdGhlIGZpcnN0IGJ1dHRvblxuICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCQkI7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKHdoaXRlLCAxMCUpO1xuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKHdoaXRlLCAyMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmRlZmF1bHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWZkOGVlO1xuICAgICAgICBjb2xvcjogIzBhNjA5YTtcbiAgICAgICAgYW5pbWF0aW9uOiBwdWxzZS1hbGVydC1kZWZhdWx0IDNzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjYWZkOGVlLCA1JSk7XG4gICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjYWZkOGVlLCAxMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgcHVsc2UtYWxlcnQtZGVmYXVsdCB7XG4gICAgMCUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FmZDhlZTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWVlZjk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FmZDhlZTtcbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLnBvcHVwIHtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gIC1tb3otdXNlci1zZWxlY3Q6IHRleHQ7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IHRleHQ7XG4gIC1tcy11c2VyLXNlbGVjdDogdGV4dDtcbiAgLXdlYmtpdC11c2VyLWRyYWc6IGF1dG87XG5cbiAgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IC43NWVtO1xuICAgIC5kZXNjcmlwdGlvbi1pY29uIHtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xuICAgICAgJi5zaG9ydCB7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGV4dC1idXR0b24ge1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgLjVlbTtcblxuICAgIC8vIFRoaXMgaXMgYSBwYXRjaCBmb3IgNC4yIHJlbGVhc2UsIHNob3VsZCBiZSBtb3ZlZCB0byBhIGNvbW1vbiBpbnB1dCBjbGFzc1xuICAgIC8vIHNoYXJlZCB3aXRoIGJ1dHRvbi1maWVsZCBpbnB1dFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDJweCAycHggNXB4ICNDQ0M7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5tb2RhbC1ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5wb3B1cC1kaXZpZGVyIHtcbiAgICBtYXJnaW46IDFlbSAtMTVweDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1iYXNpczogMnB4O1xuICAgIGJhY2tncm91bmQ6ICAjQ0NDO1xuICB9XG59XG5cbiNzYXZlLXBvcHVwIHtcbiAgd2lkdGg6IDM4MHB4O1xuXG4gIC5tb2RhbC1ib3gge1xuICAgIHJpZ2h0OiAxMzBweDtcbiAgfVxufVxuXG4jc2F2ZS1wb3B1cCB7XG4gICNzaGFyZS1pbWFnZS11aS1jb250YWluZXIsXG4gICNzaGFyZS1hY3Rpdml0eS11aS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuc2hhcmUtaW1hZ2UtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwcHgpO1xuICAgIG1hcmdpbjogMCAtNXB4O1xuICB9XG5cbiAgI3NoYXJlLWxpbmstdWktY29udGFpbmVyIHtcbiAgICBpbnB1dCB7XG4gICAgICB3aWR0aDogMjQwcHg7XG4gICAgfVxuICB9XG5cbiAgI2xpbmstY29weSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41ZW07XG4gIH1cbn1cblxuI2NvcHktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuXG4gICNpbWFnZS1jb3B5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbmh0bWwuZGlzYWJsZS1jb3B5LWltYWdlICNjb3B5LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBDT0xPUl9ORVVUUkFMX0JBU0U7XG59XG5cbiNzaGFyZS1hY3Rpdml0eS11aS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgbWFyZ2luOiAwIC01cHg7XG5cbiAgLmlucHV0LWNvbnRhaW5lcixcbiAgLnRleHQtYnV0dG9uIHtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIGZsZXg6IDEgMCAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGZvbnQtZmFtaWx5OiBAc2hhcmUtY29kZS1mb250O1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5zdWJtaXQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIC5maWVsZC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmlucHV0LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGlucHV0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gICAgICBib3JkZXItcmFkaXVzOiBAYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAycHggMnB4IDVweCAjQ0NDO1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgZm9udC1zaXplOiA0ZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgLy8gRml4IHRvIHVuZXhwbGFpbmVkIHRpbnkgaG9yaXpvbnRhbCBzY3JvbGxpbmcgd2hlbiBmaWVsZCBmdWxsIGluIGNocm9tZS5cbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIH1cbiAgfVxuXG4gIC50ZXh0LWJ1dHRvbiB7XG4gICAgcGFkZGluZzogLjc1ZW0gMS4yZW07XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgfVxufVxuXG4vKiBEZWZhdWx0IHN0eWxpbmc6IHNob3cgZGVza3RvcCBpbnN0cnVjdGlvbnMuICovXG4jY29weS1pbWFnZS1tb2RhbCAuY29weS1pbWFnZS1pbnN0cnVjdGlvbnMgLm1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKlxuICogSWYgdG91Y2ggaXMgZGV0ZWN0ZWQsIGhpZGUgZGVza3RvcCBpbnN0cnVjdGlvbnMgYW5kIHNob3cgbW9iaWxlaW5zdHJ1Y3Rpb25zLlxuICovXG4udG91Y2ggI2NvcHktaW1hZ2UtbW9kYWwge1xuICAuZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4jY29weS1pbWFnZS1tb2RhbCB7XG4gIHotaW5kZXg6IDExMDtcbiAgLm1vZGFsLWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogKC1AVE9PTEJBUl9IRUlHSFQgLyAyKTtcbiAgfVxufVxuXG4jY29weS1pbWFnZS1tb2RhbCAuY29udGVudCB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAuY29weS1pbWFnZS1pbnN0cnVjdGlvbnMge1xuICAgIHdpZHRoOiAxMGVtO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuc3ViLWhlYWQge1xuICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgIH1cbiAgfVxuXG4gIC5jb3B5LWltYWdlLXNvdXJjZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLmNvcHktaW1hZ2Utc291cmNlIHtcbiAgICAgIG1heC13aWR0aDogNTB2dztcbiAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IDAgZ3JleTtcbiAgICB9XG4gIH1cbn1cblxuI2FjdGl2aXR5LWRpc3BsYXkgLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAjQ0NDO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMzMzM7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgLyogR2l2ZSB0aGUgdGl0bGUgZnVsbCB3aWR0aCB0byBjZW50ZXIgaXRzZWxmLiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuI2FjdGl2aXR5LWRpc3BsYXkgLmNvbnRlbnQge1xuICBwYWRkaW5nOiA1cHggMTBweCAxMHB4IDEwcHg7XG5cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDEwcHQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAjYWN0aXZpdHktZGlzcGxheS1jb2RlIHtcbiAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IEBzaGFyZS1jb2RlLWZvbnQ7XG4gICAgZm9udC1zaXplOiA2ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cblxuI2FjdGl2aXR5LWRpc3BsYXkgLnN1Ym1pdC1nbHlwaC1pbmxpbmUge1xuICBoZWlnaHQ6IDEuMmVtO1xuICB3aWR0aDogMjRweDtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuXG4jc3VibWl0LWFjdGl2aXR5LXN1Ym1pdC1ib3gge1xuICAuaGVhZGVyIC5lcnJvci10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4jc3VibWl0LWFjdGl2aXR5LXN1Ym1pdC1ib3guc2hvdy1lcnJvciB7XG4gIC5oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IEBlcnJvci1jb2xvcjtcbiAgfVxuXG4gIC5oZWFkZXIgc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaGVhZGVyIC5lcnJvci10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgY29sb3I6IEBlcnJvci1jb2xvcjtcbiAgfVxufVxuI3N1Ym1pdC1hY3Rpdml0eS11aS1jb250YWluZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAuc3VibWl0LWljb24ge1xuICAgIHdpZHRoOiA0OHB4O1xuICB9XG5cbiAgLmlucHV0LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIDE1cHg7XG5cbiAgICBpbnB1dCB7XG4gICAgICBmb250LWZhbWlseTogQHNoYXJlLWNvZGUtZm9udDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgd2lkdGg6IDYuMGVtO1xuICAgIH1cbiAgfVxuXG4gICNzdWJtaXQtYWN0aXZpdHktdGFyZ2V0LWJhY2tncm91bmQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgY29sb3I6IGdyZXk7XG4gIH1cblxuICAjc3VibWl0LWFjdGl2aXR5LXRhcmdldCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vKiAtLS0gRW5kIE1vZGFsIHN0eWxlcyAtLS0gKi9cblxuLm1sYy1mcmFtZXdvcmstLWVxdWF0aW9uLXRvb2xzLWlucHV0IGlucHV0IHtcbiAgd2lkdGg6IDQxNHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGZvbnQ6IDMwMCAzMnB4IEBERUZBVUxUX0ZPTlQ7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG59XG5cbi5tbGMtZnJhbWV3b3JrLS10ZXh0LXRvb2xzLXRleHRhcmVhIHRleHRhcmVhIHtcbiAgd2lkdGg6IDQxNHB4O1xuICBoZWlnaHQ6IDIwMnB4O1xuICBmb250OiAzMDAgMzBweCBAREVGQVVMVF9GT05UO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBwYWRkaW5nOiAycHggNHB4O1xuICByZXNpemU6IG5vbmU7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuIiwiQENPTE9SX1BSSU1BUllfQkFTRTogcmdiYSgwLCAxMjksIDE5OCwgMSk7XG5AQ09MT1JfUFJJTUFSWV9MSUdIVDogcmdiYSg5NSwgMTUyLCAyMzIsIDEpO1xuQENPTE9SX1BSSU1BUllfUEFMRTogcmdiYSgxNjQsIDIyMywgMjU1LCAxKTtcbkBDT0xPUl9QUklNQVJZX1BBTEVfREVTQVQ6IHJnYmEoMjA0LCAyMjQsIDI1NSwgMSk7XG5cbkBDT0xPUl9TRUNPTkRBUllfQkFTRTogcmdiYSgzOSwgNTQsIDE0NSwgMSk7XG5cbkBDT0xPUl9ORVVUUkFMX0JBU0U6IHJnYmEoMTc4LCAxNzgsIDE3OCwgMSk7XG5AQ09MT1JfTkVVVFJBTF9MSUdIVDogcmdiYSgyMjEsIDIyMSwgMjIxLCAxKTtcbkBDT0xPUl9ORVVUUkFMX1BBTEU6IHJnYmEoMjQyLCAyNDIsIDI0MiwgMSk7XG5cbkBDQU5WQVNfQkFDS0dST1VORF9DT0xPUjogI2Y4ZjhmODtcblxuQFRPT0xCQVJfSEVJR0hUOiA0OHB4O1xuXG5AUE9QVVBfVEFJTF9IRUlHSFQ6IDI0cHg7XG5AUE9QVVBfVEFJTF9XSURUSDogNDhweDtcblxuXG5AREVGQVVMVF9GT05UOiBSb2JvdG8sICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbkB0ZXh0LWJ1dHRvbi1jb2xvcjogZGFya2VuKCM3YWMxNDMsIDEwJSk7XG5AdGV4dC1idXR0b24tY29sb3ItYWN0aXZlOiBkYXJrZW4oIzdhYzE0MywgMjAlKTtcbkBidXR0b24tYm9yZGVyLXJhZGl1czogM3B4O1xuXG5Ac29mdC1zaGFkb3ctY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5Ac29mdC1zaGFkb3ctcmFkaXVzOiAzMDBweDtcblxuQGRhcmstYmFja2Ryb3AtY29sb3I6IHJnYmEoMTA4LCAxMTgsIDEyOCwgLjUpO1xuXG5AaW1nOiAnLi4vLi4vaW1hZ2VzJztcblxuQGVycm9yLWNvbG9yOiAjYWMzMTJlO1xuQHNoYXJlLWNvZGUtZm9udDogTW9uYWNvLCBtb25vc3BhY2U7XG4iLCJAaW1wb3J0ICcuL2NvbnN0YW50cy5sZXNzJztcblxuLmluZm9wYWdlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDIwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX1BSSU1BUllfUEFMRV9ERVNBVDtcblxuICAmIC50aXRsZWJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4N2NmO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gIH1cblxuICAmIC5zZWN0aW9ud3JhcHBlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTNweDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cblxuICAmIC50aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgcGFkZGluZzogNnB4IDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGJvcmRlcjogc29saWQgMXB4IHdoaXRlO1xuICB9XG5cbiAgJiAudGl0bGU6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItcmlnaHQ6IG1lZGl1bSBub25lO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgfVxuICAmIC50aXRsZTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHdoaXRlO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gIH1cblxuICAmIC50aXRsZS5zZWxlY3RlZCB7XG4gICAgY29sb3I6ICMwMjg3Q0Y7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbiAgJiAuY2xvc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gICYgLmNsb3NlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gICYgLmluZm93cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmIC5jb250ZW50cy13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQENPTE9SX1BSSU1BUllfUEFMRV9ERVNBVDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB9XG5cbiAgJiAuY29udGVudHMge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIG1hcmdpbjogMCAxMHB4IDEwcHg7XG4gIH1cblxuICAvKiBoaWRlIGFib3V0IGluaXRpYWxseSAqL1xuICAmIC5jb250ZW50cy5hYm91dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG5cbiAgJiAuYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICAgIG1heC13aWR0aDogODEwcHg7XG4gICAgbWluLXdpZHRoOiA1MDBweDtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICB9XG5cbiAgJiAuaW5mb2hlYWQge1xuICAgIGNvbG9yOiAjMDA4MWM2O1xuICAgIGZvbnQ6IGJvbGQgMzZweCBAREVGQVVMVF9GT05UO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmIC5pbmZvaGVhZC5ob3d0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB9XG5cbiAgJiAuaW5mb2hlYWQucnVsZS1saW5lIHtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgQENPTE9SX1BSSU1BUllfUEFMRTtcbiAgICBtYXJnaW46IDMwcHggLTMwcHggMDtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgfVxuXG4gICYgLmluZm8tc3ViaGVhZCB7XG4gICAgY29sb3I6ICMwMDgxYzY7XG4gICAgZm9udDogYm9sZCAyOHB4IEBERUZBVUxUX0ZPTlQ7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgJiAuaW5mby1zdWJoZWFkLWRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogIzAwODFjNjtcbiAgICBmb250OiAxOHB4IEBERUZBVUxUX0ZPTlQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgIG1hcmdpbjogLTE1cHggMCAzMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAmIC5pbmZvYm9keSxcbiAgJiAuYm94IHVsLFxuICAmIC5pbmZvLWJ1dHRvbnMgcCB7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgZm9udDogMThweC8xLjRlbSBAREVGQVVMVF9GT05UO1xuICB9XG5cbiAgJiAuaW5mb2xpbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIH1cblxuICAmIGltZyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMHB4O1xuICB9XG5cbiAgJiAuaW5mb19pbGx1cyB7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJiAuaW5mb19pbGx1cyBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gICYgLmluZm92ZXJzaW9uIHtcbiAgICBmb250LXNpemU6IDExcHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjNjY2O1xuICB9XG5cbiAgJiBhLmFib3V0LWxpbmsge1xuICAgIGNvbG9yOiAjMDI4N0NGO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSAwcztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYgYS5hYm91dC1saW5rOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cbiIsIkBicmFuZC1jb2xvcjogIzAwODFjNjtcbkBicmFuZC1jb2xvci1kYXJrOiAjMDI3M2FmO1xuQGFib3V0LWV4dHJhLWRhcms6ICMyMjMwODc7XG5cbi5mbGV4IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udHdvLWNvbHVtbiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi50d28tY29sdW1uLXdpZGUge1xuICB3aWR0aDogNTUlO1xufVxuXG4udHdvLWNvbHVtbi1zbWFsbCB7XG4gIHdpZHRoOiA0NSU7XG59XG4iLCIvKiByb2JvdG8tMzAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiBcbiAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL3JvYm90by12MTktbGF0aW4tMzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBDaHJvbWUgMjYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrICovXG4gICAgICAgdXJsKCcuLi8uLi9mb250cy9yb2JvdG8tdjE5LWxhdGluLTMwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7IC8qIENocm9tZSA2KywgRmlyZWZveCAzLjYrLCBJRSA5KywgU2FmYXJpIDUuMSsgKi9cbn1cbi8qIHJvYm90by0zMDBpdGFsaWMgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IFxuICAgICAgIHVybCgnLi4vLi4vZm9udHMvcm9ib3RvLXYxOS1sYXRpbi0zMDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIENocm9tZSAyNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSsgKi9cbiAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL3JvYm90by12MTktbGF0aW4tMzAwaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTsgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqL1xufVxuLyogcm9ib3RvLXJlZ3VsYXIgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IFxuICAgICAgIHVybCgnLi4vLi4vZm9udHMvcm9ib3RvLXYxOS1sYXRpbi1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBDaHJvbWUgMjYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrICovXG4gICAgICAgdXJsKCcuLi8uLi9mb250cy9yb2JvdG8tdjE5LWxhdGluLXJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpOyAvKiBDaHJvbWUgNissIEZpcmVmb3ggMy42KywgSUUgOSssIFNhZmFyaSA1LjErICovXG59XG4vKiByb2JvdG8taXRhbGljIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiBcbiAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL3JvYm90by12MTktbGF0aW4taXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBDaHJvbWUgMjYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrICovXG4gICAgICAgdXJsKCcuLi8uLi9mb250cy9yb2JvdG8tdjE5LWxhdGluLWl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7IC8qIENocm9tZSA2KywgRmlyZWZveCAzLjYrLCBJRSA5KywgU2FmYXJpIDUuMSsgKi9cbn1cbi8qIHJvYm90by03MDBpdGFsaWMgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IFxuICAgICAgIHVybCgnLi4vLi4vZm9udHMvcm9ib3RvLXYxOS1sYXRpbi03MDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIENocm9tZSAyNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSsgKi9cbiAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL3JvYm90by12MTktbGF0aW4tNzAwaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTsgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqL1xufVxuLyogcm9ib3RvLTcwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogXG4gICAgICAgdXJsKCcuLi8uLi9mb250cy9yb2JvdG8tdjE5LWxhdGluLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogQ2hyb21lIDI2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KyAqL1xuICAgICAgIHVybCgnLi4vLi4vZm9udHMvcm9ib3RvLXYxOS1sYXRpbi03MDAud29mZicpIGZvcm1hdCgnd29mZicpOyAvKiBDaHJvbWUgNissIEZpcmVmb3ggMy42KywgSUUgOSssIFNhZmFyaSA1LjErICovXG59IiwiQGltcG9ydCAnbWxjLWZyYW1ld29yay9sZXNzL2NvbnN0YW50cyc7XG5AaW1wb3J0ICdtbGMtZnJhbWV3b3JrL2xlc3MvY29yZSc7XG5cbkBpbXBvcnQgJ21sYy1mcmFtZXdvcmsvbGVzcy9pbmZvcGFnZSc7XG5AaW1wb3J0ICd2YXJpYWJsZXMubGVzcyc7XG5AaW1wb3J0ICdyb2JvdG8ubGVzcyc7XG5cbkBpbXBvcnQgJ2xpbmVTZXR0aW5ncy5sZXNzJztcblxuQGltZzogJy4uLy4uL2ltYWdlcyc7XG5cbkB0YmltZzogJy4uLy4uL2ltYWdlcy90b29sYmFyJztcblxuQGRtaW1nOiAnLi4vLi4vaW1hZ2VzL2RyYXdpbmdtZW51JztcblxuQGtleWZyYW1lcyBtaXNzaW5nLWZlYXR1cmUge1xuICAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfVxuICAxNyUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBtYWdlbnRhOyB9XG4gIDMzJSB7IGJhY2tncm91bmQtY29sb3I6IGJsdWU7IH1cbiAgNTAlIHsgYmFja2dyb3VuZC1jb2xvcjogY3lhbjsgfVxuICA2NyUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfVxuICA4MyUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7IH1cbiAgMTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfVxufVxuLm1pc3NpbmctZmVhdHVyZSB7XG4gIGFuaW1hdGlvbjogbWlzc2luZy1mZWF0dXJlIDYwMHMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uYmV0YS10YWc6OmFmdGVyIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgY29udGVudDogXCJCRVRBXCI7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGJhY2tncm91bmQ6IEBicmFuZC1jb2xvci1kYXJrO1xuICBvcGFjaXR5OiAwLjc1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IC4yZW0gLjRlbTtcbiAgdG9wOiAuM2VtO1xuICByaWdodDogLjNlbTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbiN0b29sYmFyIHtcbiAgZmxleDogMCAwIEBUT09MQkFSX0hFSUdIVDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogQENPTE9SX1BSSU1BUllfQkFTRTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDE2cHg7XG5cbiAgLnRvb2xiYXItYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0OHB4O1xuXG4gICAgJi5iaWcge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDM2cHg7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnRvb2xiYXItYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMSA1NnB4O1xuICAgIGhlaWdodDogQFRPT0xCQVJfSEVJR0hUO1xuICAgIG1hcmdpbjogMCA0cHg7XG4gICAgbWluLXdpZHRoOiAyNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmLm5hcnJvdyB7XG4gICAgICBmbGV4LWJhc2lzOiAyNnB4O1xuXG4gICAgICAmLmxlZnQtbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgICAmLnJpZ2h0LW1hcmdpbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgICYud2lkZSB7XG4gICAgICBtaW4td2lkdGg6IDU4cHg7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi50YWxsIHtcbiAgICAgIGhlaWdodDogY2FsYyhAVE9PTEJBUl9IRUlHSFQgKyAxMnB4KTtcbiAgICAgIHRvcDogNnB4O1xuICAgIH1cbiAgfVxuXG4gIC50b29sYmFyLWRpdmlkZXIge1xuICAgIGhlaWdodDogQFRPT0xCQVJfSEVJR0hUO1xuICAgIGZsZXg6IDAgMCAycHg7XG4gICAgbWFyZ2luOiAwIDdweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogcmdiKDc3LCAxNjcsIDIxNSk7XG4gIH1cbn1cblxuI3Rvb2xiYXIgLmJ1dHRvbi1ncm91cC50YWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC8qIENvdW50ZXJhY3QgZGl2aWRlciBwYWRkaW5nLiAqL1xuICBtYXJnaW46IDAgLTdweDtcbiAgcGFkZGluZzogMCA3cHg7XG4gIGZsZXgtYmFzaXM6IDg0cHg7XG5cbiAgJiA+IC50b29sYmFyLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWluLXdpZHRoOiA1OHB4O1xuICB9XG5cbn1cblxuXG4uaW5wdXQtZmVlZGJhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHVybCgnQHtpbWd9LzQ1c3RyaXBlLnN2ZycpO1xuICB3aWR0aDogNDAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHg7XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiBAdGV4dC1idXR0b24tY29sb3ItYWN0aXZlO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsZXR0ZXItc3BhY2luZzogLjAyNWVtO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuQGtleWZyYW1lcyBwdWxzZS1mZWVkYmFjayB7XG4gIDEwJSB7XG4gICAgbGVmdDogLTE1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4cHg7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA4MCUge1xuICAgIGxlZnQ6IC0xNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOHB4O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmlucHV0LWZlZWRiYWNrLXB1bHNlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyLjVzO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2UtZmVlZGJhY2s7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5idXR0b24tZmllbGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICAuaW5wdXQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuI21vZGFsLXN0YWdpbmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jY2FudmFzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvY2FudmFzLXBhdHRlcm4ucG5nJyk7XG59XG5cbiNjYW52YXMuZHJhdy1jdXJzb3I6bm90KC5wYW4tY3Vyc29yKSB7XG4gIGN1cnNvcjogdXJsKCdAe2RtaW1nfS9jdXJzb3ItcGVuLmN1cicpLFxuICAgICAgICAgIGNyb3NzaGFpciAhaW1wb3J0YW50OyAvKiAhaW1wb3J0YW50IGdldHMgYXJvdW5kIGJ1Z2dpbmVzcyB3aXRoIEVhc2VsSlMgY3Vyc29yIHNldHRpbmcgYW5kIElFICovXG59XG5cbiNjYW52YXMuZHJhdy1jdXJzb3JbZGF0YS1kcmF3LWNvbG9yPSdCTEFDSyddOm5vdCgucGFuLWN1cnNvcikge1xuICBjdXJzb3I6IHVybCgnQHtkbWltZ30vY3Vyc29yLXBlbi1ibGFjay5jdXInKSxcbiAgICAgICAgICBjcm9zc2hhaXIgIWltcG9ydGFudDsgLyogIWltcG9ydGFudCBnZXRzIGFyb3VuZCBidWdnaW5lc3Mgd2l0aCBFYXNlbEpTIGN1cnNvciBzZXR0aW5nIGFuZCBJRSAqL1xufVxuI2NhbnZhcy5kcmF3LWN1cnNvcltkYXRhLWRyYXctY29sb3I9J0JMVUUnXTpub3QoLnBhbi1jdXJzb3IpIHtcbiAgY3Vyc29yOiB1cmwoJ0B7ZG1pbWd9L2N1cnNvci1wZW4tYmx1ZS5jdXInKSxcbiAgICAgICAgICBjcm9zc2hhaXIgIWltcG9ydGFudDsgLyogIWltcG9ydGFudCBnZXRzIGFyb3VuZCBidWdnaW5lc3Mgd2l0aCBFYXNlbEpTIGN1cnNvciBzZXR0aW5nIGFuZCBJRSAqL1xufVxuI2NhbnZhcy5kcmF3LWN1cnNvcltkYXRhLWRyYXctY29sb3I9J0dSRUVOJ106bm90KC5wYW4tY3Vyc29yKSB7XG4gIGN1cnNvcjogdXJsKCdAe2RtaW1nfS9jdXJzb3ItcGVuLWdyZWVuLmN1cicpLFxuICAgICAgICAgIGNyb3NzaGFpciAhaW1wb3J0YW50OyAvKiAhaW1wb3J0YW50IGdldHMgYXJvdW5kIGJ1Z2dpbmVzcyB3aXRoIEVhc2VsSlMgY3Vyc29yIHNldHRpbmcgYW5kIElFICovXG59XG4jY2FudmFzLmRyYXctY3Vyc29yW2RhdGEtZHJhdy1jb2xvcj0nWUVMTE9XJ106bm90KC5wYW4tY3Vyc29yKSB7XG4gIGN1cnNvcjogdXJsKCdAe2RtaW1nfS9jdXJzb3ItcGVuLXllbGxvdy5jdXInKSxcbiAgICAgICAgICBjcm9zc2hhaXIgIWltcG9ydGFudDsgLyogIWltcG9ydGFudCBnZXRzIGFyb3VuZCBidWdnaW5lc3Mgd2l0aCBFYXNlbEpTIGN1cnNvciBzZXR0aW5nIGFuZCBJRSAqL1xufVxuI2NhbnZhcy5kcmF3LWN1cnNvcltkYXRhLWRyYXctY29sb3I9J09SQU5HRSddOm5vdCgucGFuLWN1cnNvcikge1xuICBjdXJzb3I6IHVybCgnQHtkbWltZ30vY3Vyc29yLXBlbi1vcmFuZ2UuY3VyJyksXG4gICAgICAgICAgY3Jvc3NoYWlyICFpbXBvcnRhbnQ7IC8qICFpbXBvcnRhbnQgZ2V0cyBhcm91bmQgYnVnZ2luZXNzIHdpdGggRWFzZWxKUyBjdXJzb3Igc2V0dGluZyBhbmQgSUUgKi9cbn1cbiNjYW52YXMuZHJhdy1jdXJzb3JbZGF0YS1kcmF3LWNvbG9yPSdSRUQnXTpub3QoLnBhbi1jdXJzb3IpIHtcbiAgY3Vyc29yOiB1cmwoJ0B7ZG1pbWd9L2N1cnNvci1wZW4tcmVkLmN1cicpLFxuICAgICAgICAgIGNyb3NzaGFpciAhaW1wb3J0YW50OyAvKiAhaW1wb3J0YW50IGdldHMgYXJvdW5kIGJ1Z2dpbmVzcyB3aXRoIEVhc2VsSlMgY3Vyc29yIHNldHRpbmcgYW5kIElFICovXG59XG5cbiNjYW52YXMuZXJhc2UtY3Vyc29yOm5vdCgucGFuLWN1cnNvcikge1xuICBjdXJzb3I6IHVybCgnQHtkbWltZ30vZXJhc2VyLXRyYW5zcGFyZW50LmN1cicpLFxuICAgICAgICAgIGNyb3NzaGFpciAhaW1wb3J0YW50OyAvKiAhaW1wb3J0YW50IGdldHMgYXJvdW5kIGJ1Z2dpbmVzcyB3aXRoIEVhc2VsSlMgY3Vyc29yIHNldHRpbmcgYW5kIElFICovXG59XG5cbiNjYW52YXMucGFuLWN1cnNvciB7XG4gIGN1cnNvcjogZ3JhYjtcbn1cbiNjYW52YXMucGFuLWN1cnNvcjphY3RpdmUge1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4jbG9hZGluZy1zcGlubmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xufVxuXG4vKiAtLS0tLVxuVG9vbGJhciBCdXR0b25zXG4tLS0tLSAqL1xuXG4udG9vbGJhci1idXR0b24ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjRweDtcbn1cblxuI2p1bXAge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ0B7dGJpbWd9L2ljb24tanVtcEAyeC5wbmcnKTtcbn1cblxuI2p1bXAtbGFiZWxzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe3RiaW1nfS9pY29uLWxhYmVsLWF1dG9AMngucG5nJyk7XG4gICYub24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHt0YmltZ30vaWNvbi1sYWJlbC1hdXRvLW9uQDJ4LnBuZycpO1xuICB9XG59XG5cbiNsaW5lLXNldHRpbmdzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe3RiaW1nfS9pY29uLXNldC1udW1iZXJpbmdAMngucG5nJyk7XG59XG5cbiNsaW5lLW1hc2tpbmcge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ0B7dGJpbWd9L2ljb24tdGljay1jb3ZlcnNAMngucG5nJyk7XG4gICYub24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHt0YmltZ30vaWNvbi10aWNrLWNvdmVycy1vbkAyeC5wbmcnKTtcbiAgfVxufVxuXG4jdGlja21hcmsge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ0B7dGJpbWd9L2ljb24tY3VzdG9tLXRpY2tAMngucG5nJyk7XG59XG5cbiNyZXN0YXJ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe3RiaW1nfS9pY29uLXJlbG9hZEAyeC5wbmcnKTtcbn1cblxuI2R1cGxpY2F0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHt0YmltZ30vaWNvbi1kdXBsaWNhdGVAMngucG5nJyk7XG59XG5cbiNzaGFkZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHt0YmltZ30vaWNvbi1zaGFkZS5wbmcnKTtcbn1cblxuI2VxdWF0aW9uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe3RiaW1nfS9pY29uLWVxdWF0aW9uQDJ4LnBuZycpO1xuICAmLm9uIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cblxuI3RleHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ0B7dGJpbWd9L2ljb24tdGV4dEAyeC5wbmcnKTtcbiAgJi5vbiB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG59XG5cbiNkcmF3IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe3RiaW1nfS9pY29uLWRyYXdpbmdAMngucG5nJyk7XG4gICYub24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHt0YmltZ30vaWNvbi1kcmF3aW5nLW9uQDJ4LnBuZycpO1xuICB9XG59XG5cbiNzaGFkZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHt0YmltZ30vaWNvbi1zaGFkZUAyeC5wbmcnKTtcbn1cblxuI3RyYXNoIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdAe3RiaW1nfS9pY29uLXRyYXNoQDJ4LnBuZycpO1xufVxuXG4jaW5mbyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHt0YmltZ30vaWNvbi1pbmZvQDJ4LnBuZycpO1xufVxuXG4jc2F2ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQHt0YmltZ30vaWNvbi1zaGFyZUAyeC5wbmcnKTtcbn1cblxuI2NvZGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ0B7dGJpbWd9L2ljb24tc2hhcmUtY29kZUAyeC5wbmcnKTtcbn1cblxuLmxvYWRpbmcge1xuICAjdG9vbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiBIb3cgVG8gU3R5bGluZyAqL1xuLmluZm9wYWdlIC5pbmZvd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cblxuLmluZm9wYWdlIC50aXRsZWJhciB7XG4gIGZsZXg6IDAgMCA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmluZm9wYWdlIC5jb250ZW50cy13cmFwcGVyIHtcbiAgZmxleDogMSAwIDA7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuLmluZm9wYWdlIC5jb250ZW50cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5oMSwgaDIge1xuICBjb2xvcjogQGJyYW5kLWNvbG9yLWRhcms7XG59XG5cbi5pbmZvcGFnZSB7XG4gIC50aXRsZWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWNvbG9yLWRhcms7XG4gIH1cblxuICAudGl0bGUuc2VsZWN0ZWQge1xuICAgIGNvbG9yOiBAYnJhbmQtY29sb3ItZGFyaztcbiAgfVxuXG4gIC5pbmZvLXN1YmhlYWQge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxufVxuLmhvd3RvLW92ZXJ2aWV3IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICAuaW5zdHJ1Y3Rpb25zIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41ZW07XG4gICAgLyouZmxleDsqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICYubGVmdCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGltZy5sZWZ0LWVkZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgfVxuXG4gICAgaW1nLnJpZ2h0LWVkZ2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgfVxuXG4gICAgaW1nLnJpZ2h0LWNlbnRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICB9XG5cbiAgICBpbWcubGVmdC1jZW50ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1ZW07XG4gICAgICBjb2xvcjogIzQ0NDtcbiAgICAgIG1hcmdpbjowO1xuICAgIH1cbiAgfVxufVxuXG4uaG93dG8tdG9vbGJhciB7XG4gIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIG1hcmdpbi1ib3R0b206IDNlbTtcblxuICAgIHRkLCB0aCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAmLmljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgJi50b29sIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG5cbiAgICAgICYuZGVzY3JpcHRpb24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIHRoIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtY29sb3ItZGFyaztcbiAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgJi5sZWZ0LWFsaWduIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbjogMCAuMmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICB9XG4gIH1cblxuICAua2V5Ym9hcmQtc3VwcG9ydC10YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgdGQudG9vbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgfVxuICB9XG59XG5cbi5hYm91dCB7XG5cbiAgYS5hYm91dC1saW5rIHtcbiAgICBjb2xvcjogQGJyYW5kLWNvbG9yLWRhcms7XG4gIH1cblxuICAucHJpdmFjeS10ZXJtcyxcbiAgLmluZm92ZXJzaW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICM0NDQ7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IEBhYm91dC1leHRyYS1kYXJrO1xuICAgIH1cbiAgfVxufVxuXG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6NzY3cHgpIHtcblxuICAuaG93dG8tb3ZlcnZpZXcgLmluc3RydWN0aW9ucyB7XG4gICAgJi5sZWZ0LFxuICAgICYucmlnaHQge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ== */
